initDefaultProps.js 874 B

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  8. const initDefaultProps = (types, defaultProps) => {
  9. const propTypes = (0, _extends2.default)({}, types);
  10. Object.keys(defaultProps).forEach(k => {
  11. const prop = propTypes[k];
  12. if (prop) {
  13. if (prop.type || prop.default) {
  14. prop.default = defaultProps[k];
  15. } else if (prop.def) {
  16. prop.def(defaultProps[k]);
  17. } else {
  18. propTypes[k] = {
  19. type: prop,
  20. default: defaultProps[k]
  21. };
  22. }
  23. } else {
  24. throw new Error(`not have ${k} prop`);
  25. }
  26. });
  27. return propTypes;
  28. };
  29. var _default = exports.default = initDefaultProps;