@klayr/utils
Version:
Library containing generic utility functions for use with Klayr-related software
26 lines • 852 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeDeep = void 0;
const isIterable = (item) => typeof item === 'object' && item !== null && !Array.isArray(item) && !Buffer.isBuffer(item);
const mergeDeep = (dest, ...srcs) => {
const result = dest;
if (!isIterable(result)) {
return result;
}
for (const src of srcs) {
for (const key in src) {
if (isIterable(src[key])) {
if (!result[key]) {
result[key] = {};
}
(0, exports.mergeDeep)(result[key], src[key]);
}
else if (src[key] !== undefined && src[key] !== null) {
result[key] = src[key];
}
}
}
return result;
};
exports.mergeDeep = mergeDeep;
//# sourceMappingURL=merge_deep.js.map