Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | 27x 27x 27x 126x 27x 157x 27x 196x 27x 55x 55x 55x 55x 55x 55x 51x 51x 4x 3x 3x 1x 1x 54x 27x 176x 176x 176x 27x 2x 2x 27x 2x 27x | import * as React from 'react'; const invariant = require('invariant'); import { OperationVariables } from './types'; import { DocumentType, IDocumentDefinition } from './parser'; export const defaultMapPropsToOptions = () => ({}); export const defaultMapResultToProps: <P>(props: P) => P = props => props; export const defaultMapPropsToSkip = () => false; export function getDisplayName<P>(WrappedComponent: React.ComponentType<P>) { return WrappedComponent.displayName || WrappedComponent.name || 'Component'; } export function calculateVariablesFromProps<TProps>( operation: IDocumentDefinition, props: TProps, graphQLDisplayName: string, wrapperName: string, ) { let variables: OperationVariables = {}; for (let { variable, type } of operation.variables) { Iif (!variable.name || !variable.name.value) continue; const variableName = variable.name.value; const variableProp = (props as any)[variableName]; if (typeof variableProp !== 'undefined') { variables[variableName] = variableProp; continue; } // allow optional props if (type.kind !== 'NonNullType') { variables[variableName] = null; continue; } Iif (operation.type === DocumentType.Mutation) return; invariant( typeof variableProp !== 'undefined', `The operation '${operation.name}' wrapping '${wrapperName}' ` + `is expecting a variable: '${variable.name.value}' but it was not found in the props ` + `passed to '${graphQLDisplayName}'`, ); } return variables; } export type RefSetter<TChildProps> = (ref: React.ComponentClass<TChildProps>) => void | void; // base class for hocs to easily manage refs export class GraphQLBase<TProps, TChildProps, TState = any> extends React.Component< TProps, TState > { public withRef: boolean = false; // wrapped instance private wrappedInstance?: React.ComponentClass<TChildProps>; constructor(props: TProps) { super(props); this.setWrappedInstance = this.setWrappedInstance.bind(this); } getWrappedInstance() { invariant( this.withRef, `To access the wrapped instance, you need to specify ` + `{ withRef: true } in the options`, ); return this.wrappedInstance; } setWrappedInstance(ref: React.ComponentClass<TChildProps>) { this.wrappedInstance = ref; } } |