react-elegant-ui
Version:
Elegant UI components, made by BEM best practices for react
22 lines (21 loc) • 623 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useMergeContext = void 0;
var _react = require("react");
var _deepMerge = require("../lib/deepMerge");
// TODO: support merge of many than 2 objects
/**
* Hook to extend context value
*
* It get value from context and merge with addon data
*/
var useMergeContext = function (context, addonData) {
var ctx = (0, _react.useContext)(context);
var result = (0, _react.useMemo)(function () {
return (0, _deepMerge.deepMerge)(ctx, addonData);
}, [ctx, addonData]);
return result;
};
exports.useMergeContext = useMergeContext;