@razorpay/blade
Version:
The Design System that powers Razorpay
41 lines (37 loc) • 1.91 kB
JavaScript
import _defineProperty from '@babel/runtime/helpers/defineProperty';
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable @typescript-eslint/explicit-function-return-type */
/**
* Merges two sets of props.
*
* modified from: https://github.com/ariakit/ariakit/blob/f152585bbb698412ced42bcfa059038ef9d40100/packages/ariakit-react-core/src/utils/misc.ts#L48
*/
var mergeProps = function mergeProps(base, overrides) {
var props = _objectSpread({}, base);
var _loop = function _loop() {
if (!overrides.hasOwnProperty(key)) return 0; // continue
var overrideValue = overrides[key];
if (typeof overrideValue === 'function') {
var baseValue = base[key];
if (typeof baseValue === 'function') {
// @ts-expect-error no overlap
props[key] = function () {
overrideValue.apply(void 0, arguments);
baseValue.apply(void 0, arguments);
};
return 0; // continue
}
}
props[key] = overrideValue;
},
_ret;
for (var key in overrides) {
_ret = _loop();
if (_ret === 0) continue;
}
return props;
};
export { mergeProps };
//# sourceMappingURL=mergeProps.js.map