Files
NapCatQQ/.pnpm-store/v3/files/7d/0afb5d18d8ce8761add15344e87071f5cdfcbb17afbf0144578ee8d39a86e40abdfbcd5df5a9c582f73cb1d86bb9561af91e1272445a90b047c7121015286d
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

28 lines
959 B
Plaintext

export function isObjectNotArray(obj) {
return typeof obj === 'object' && obj != null && !Array.isArray(obj);
}
export function deepMerge(first = {}, second = {}) {
const keys = new Set([...Object.keys(first), ...Object.keys(second)]);
return Object.fromEntries([...keys].map(key => {
const firstHasKey = key in first;
const secondHasKey = key in second;
const firstValue = first[key];
const secondValue = second[key];
let value;
if (firstHasKey && secondHasKey) {
value =
isObjectNotArray(firstValue) && isObjectNotArray(secondValue)
? deepMerge(firstValue, secondValue)
:
secondValue;
}
else if (firstHasKey) {
value = firstValue;
}
else {
value = secondValue;
}
return [key, value];
}));
}
//# sourceMappingURL=deep-merge.js.map