UNPKG

apollo-mobx

Version:

HOC for querying graphql server

57 lines (56 loc) 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var mobx_react_1 = require("mobx-react"); var React = require("react"); function shallowCompare(a, b) { if (!a && !b) { return true; } if ((a && !b) || (!a && b)) { return false; } var ka = 0; var kb = 0; for (var _i = 0, _a = Object.getOwnPropertyNames(a); _i < _a.length; _i++) { var key = _a[_i]; if (a[key] !== b[key]) { return false; } ka++; } for (var _b = 0, _c = Object.getOwnPropertyNames(b); _b < _c.length; _b++) { var key = _c[_b]; kb++; } return ka === kb; } exports.shallowCompare = shallowCompare; function compose() { var funcs = []; for (var _i = 0; _i < arguments.length; _i++) { funcs[_i] = arguments[_i]; } if (funcs.length === 0) { return function (arg) { return arg; }; } if (funcs.length === 1) { return funcs[0]; } return funcs.reduce(function (a, b) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return a(b.apply(void 0, args)); }; }); } exports.compose = compose; function connectProps(mapStateToProps) { return function wrapWithConnect(WrappedComponent) { var func = function (props) { return React.createElement(WrappedComponent, tslib_1.__assign({}, props, mapStateToProps(props))); }; func.displayName = "Connect(" + (WrappedComponent.displayName || 'Component') + ")"; return mobx_react_1.observer(func); }; } exports.connectProps = connectProps;