discord.js-pages
Version:
Dynamic pages pagination module for discord.js
43 lines (35 loc) • 965 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.mergeDeep = mergeDeep;
var _isObject = require("./isObject");
function mergeDeep(target, ...sources) {
if (!sources.length) {
return target;
}
const source = sources.shift();
if ((0, _isObject.isObject)(target) && (0, _isObject.isObject)(source)) {
for (const key in source) {
const targetField = target[key];
const sourceField = source[key];
if ((0, _isObject.isObject)(sourceField)) {
if (!targetField) {
Object.assign(target, {
[key]: {}
});
}
mergeDeep(target[key], sourceField);
} else if (Array.isArray(sourceField)) {
Object.assign(target, {
[key]: [...(targetField || []), ...sourceField]
});
} else {
Object.assign(target, {
[key]: sourceField
});
}
}
}
return mergeDeep(target, ...sources);
}