composeProps.js 1.1 KB

1234567891011121314151617181920212223242526
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  8. function composeProps(originProps, patchProps, isAll) {
  9. var composedProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originProps), isAll ? patchProps : {});
  10. Object.keys(patchProps).forEach(function (key) {
  11. var func = patchProps[key];
  12. if (typeof func === 'function') {
  13. composedProps[key] = function () {
  14. var _originProps$key;
  15. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  16. args[_key] = arguments[_key];
  17. }
  18. func.apply(void 0, args);
  19. return (_originProps$key = originProps[key]) === null || _originProps$key === void 0 ? void 0 : _originProps$key.call.apply(_originProps$key, [originProps].concat(args));
  20. };
  21. }
  22. });
  23. return composedProps;
  24. }
  25. var _default = exports.default = composeProps;