UNPKG

@shakacode/recompose

Version:

A React utility belt for function components and higher-order components

30 lines (29 loc) 1.28 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _react = require("react"); var _setDisplayName = _interopRequireDefault(require("./setDisplayName")); var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName")); var _contextStore = require("./utils/contextStore"); var withContext = function withContext(childContextTypes, getChildContext) { return function (BaseComponent) { var contextKeys = Object.keys(childContextTypes); var WithContext = function WithContext(props) { var contextValues = getChildContext(props); var element = /*#__PURE__*/(0, _react.createElement)(BaseComponent, props); contextKeys.forEach(function (key) { var Ctx = (0, _contextStore.getOrCreateContext)(key); element = /*#__PURE__*/(0, _react.createElement)(Ctx.Provider, { value: contextValues[key] }, element); }); return element; }; if (process.env.NODE_ENV !== 'production') { return (0, _setDisplayName["default"])((0, _wrapDisplayName["default"])(BaseComponent, 'withContext'))(WithContext); } return WithContext; }; }; var _default = exports["default"] = withContext;