23 lines
626 B
JavaScript
23 lines
626 B
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
const initDefaultProps = (types, defaultProps) => {
|
|
const propTypes = _extends({}, types);
|
|
Object.keys(defaultProps).forEach(k => {
|
|
const prop = propTypes[k];
|
|
if (prop) {
|
|
if (prop.type || prop.default) {
|
|
prop.default = defaultProps[k];
|
|
} else if (prop.def) {
|
|
prop.def(defaultProps[k]);
|
|
} else {
|
|
propTypes[k] = {
|
|
type: prop,
|
|
default: defaultProps[k]
|
|
};
|
|
}
|
|
} else {
|
|
throw new Error(`not have ${k} prop`);
|
|
}
|
|
});
|
|
return propTypes;
|
|
};
|
|
export default initDefaultProps; |