All files / src/hocs connectContext.js

100% Statements 3/3
100% Branches 0/0
100% Functions 3/3
100% Lines 3/3

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                            2x           2x   2x                                  
// @flow
 
import * as React from 'react';
import RefId from 'canner-ref-id';
import {HOCContext} from './context';
import type {Query} from '../query';
import type {HOCProps, Reset} from './types';
 
type State = {
  canRender: boolean,
  refId: RefId
};
 
export default function connectContext(Com: React.ComponentType<*>) {
  return class ComponentConnectContext extends React.Component<HOCProps, State> {
    refId: RefId;
    query: Query;
    reset: Reset;
 
    render() {
      return <HOCContext.Consumer>
        {context => (
          <Com {...this.props}
            query={context.query}
            dataChanged={context.dataChanged}
            reset={context.reset}
            fetch={context.fetch}
            subscribe={context.subscribe}
            request={context.request}
            deploy={context.deploy}
            updateQuery={context.updateQuery}
            onDeploy={context.onDeploy}
            removeOnDeploy={context.removeOnDeploy}
          />
        )}
      </HOCContext.Consumer>
    }
  };
}