ChatGPT-Next-Web/app/utils/merge.ts

14 lines
413 B
TypeScript

export function merge(target: any, source: any) {
Object.keys(source).forEach((key) => {
if (
source.hasOwnProperty(key) // Check if the property is not inherited
&& source[key]
&& typeof source[key] === 'object' || key === '__proto__' || key === 'constructor'
) {
merge((target[key] = target[key] || {}), source[key]);
return;
}
target[key] = source[key];
});
}