first commit
This commit is contained in:
28
node_modules/eslint-plugin-import-x/lib/utils/deep-merge.js
generated
vendored
Normal file
28
node_modules/eslint-plugin-import-x/lib/utils/deep-merge.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
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
|
||||
Reference in New Issue
Block a user