@synergy-design-system/components
Version:
31 lines (28 loc) • 1.01 kB
JavaScript
import {
__spreadValues
} from "./chunk.VK2FVWOF.js";
// src/components/chart/configs/utilities.ts
var isMergeableObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
var mergeDeep = (target, source) => {
const merged = __spreadValues({}, target);
Object.entries(source).forEach(([key, sourceValue]) => {
const targetValue = merged[key];
if (Array.isArray(sourceValue)) {
merged[key] = sourceValue.slice();
return;
}
if (isMergeableObject(targetValue) && isMergeableObject(sourceValue)) {
merged[key] = mergeDeep(targetValue, sourceValue);
return;
}
merged[key] = sourceValue;
});
return merged;
};
var mergeConfigs = (...layers) => layers.reduce((acc, layer) => layer ? mergeDeep(acc, layer) : acc, {});
var compose = (...modifiers) => (config) => modifiers.reduce((acc, modifier) => mergeConfigs(acc, modifier(acc)), config);
export {
mergeConfigs,
compose
};
//# sourceMappingURL=chunk.T3OQKYCT.js.map