UNPKG

@loona/react

Version:

App State Management done with GraphQL (react integration)

33 lines 1.33 kB
var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; import * as React from 'react'; import { LoonaContext } from '../context'; export function connect(factory) { return function wrapWithConnect(WrappedComponent) { var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; var displayName = "Connect(" + wrappedComponentName + ")"; function wrapWithDispatch(props, loona) { if (!loona) { throw new Error('No Loona no fun!'); } var childProps = factory(loona.dispatch.bind(loona)); return React.createElement(WrappedComponent, __assign({}, props, childProps)); } function Connect(props) { return (React.createElement(LoonaContext.Consumer, null, function (_a) { var loona = _a.loona; return wrapWithDispatch(props, loona); })); } Connect.displayName = displayName; Connect.WrappedComponent = WrappedComponent; return Connect; }; } //# sourceMappingURL=action.js.map