UNPKG

@modern-js/runtime-utils

Version:

A Progressive React Framework for modern web development.

30 lines (29 loc) 636 B
function isObject(obj) { return obj && typeof obj === "object" && !Array.isArray(obj); } function merge(target, ...sources) { if (!sources.length) { return target; } const source = sources.shift(); if (isObject(target) && isObject(source)) { for (const key in source) { if (isObject(source[key])) { if (!target[key]) { Object.assign(target, { [key]: {} }); } merge(target[key], source[key]); } else { Object.assign(target, { [key]: source[key] }); } } } return merge(target, ...sources); } export { merge };