frontend/.pnpm-store/v3/files/bd/80d981ed3417541f81869547359a10b08ab2cd71350e2d19223aa2149b3aa84cda37986f131b24b79143189e090dfbeba26b8d5b8e24310236b8aa62b9ab4f

17 lines
542 B
Plaintext

import { isPlainObject } from "is-plain-object";
export function mergeDeep(defaults, options) {
const result = Object.assign({}, defaults);
Object.keys(options).forEach((key) => {
if (isPlainObject(options[key])) {
if (!(key in defaults))
Object.assign(result, { [key]: options[key] });
else
result[key] = mergeDeep(defaults[key], options[key]);
}
else {
Object.assign(result, { [key]: options[key] });
}
});
return result;
}