UNPKG

@shakacode/recompose

Version:

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

27 lines (26 loc) 1.16 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = require("react"); var _setDisplayName = _interopRequireDefault(require("./setDisplayName")); var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName")); var defaultProps = function defaultProps(defaults) { return function (BaseComponent) { var DefaultProps = function DefaultProps(ownerProps) { var props = (0, _extends2["default"])({}, defaults); Object.keys(ownerProps).forEach(function (key) { if (ownerProps[key] !== undefined || !(key in defaults)) { props[key] = ownerProps[key]; } }); return /*#__PURE__*/(0, _react.createElement)(BaseComponent, props); }; if (process.env.NODE_ENV !== 'production') { return (0, _setDisplayName["default"])((0, _wrapDisplayName["default"])(BaseComponent, 'defaultProps'))(DefaultProps); } return DefaultProps; }; }; var _default = exports["default"] = defaultProps;