UNPKG

@shakacode/recompose

Version:

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

33 lines (32 loc) 1.19 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 identity = function identity(Component) { return Component; }; var branch = function branch(test, left, right) { if (right === void 0) { right = identity; } return function (BaseComponent) { var leftComponent; var rightComponent; var Branch = function Branch(props) { if (test(props)) { leftComponent = leftComponent || left(BaseComponent); return /*#__PURE__*/(0, _react.createElement)(leftComponent, props); } rightComponent = rightComponent || right(BaseComponent); return /*#__PURE__*/(0, _react.createElement)(rightComponent, props); }; if (process.env.NODE_ENV !== 'production') { return (0, _setDisplayName["default"])((0, _wrapDisplayName["default"])(BaseComponent, 'branch'))(Branch); } return Branch; }; }; var _default = exports["default"] = branch;