ultra-design
Version:
29 lines (21 loc) • 835 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var _ = require('lodash-es');
var React = require('react');
var configProvider = require('../config-provider/config-provider.js');
function mergeProps() {
function customizer(objValue, srcValue) {
return _.isUndefined(srcValue) ? objValue : srcValue;
}
var ret = _.assign({}, arguments.length <= 0 ? undefined : arguments[0]);
for (var i = 1; i < arguments.length; i++) {
ret = _.assignWith(ret, i < 0 || arguments.length <= i ? undefined : arguments[i], customizer);
}
return ret;
}
function useMergeProps(defaultProps, props) {
var configContext = React.useContext(configProvider.ConfigContext);
return mergeProps(defaultProps, configContext, props);
}
exports.mergeProps = mergeProps;
exports.useMergeProps = useMergeProps;