@sapphire/utilities
Version:
Common JavaScript utilities for the Sapphire Community
24 lines (21 loc) • 979 B
JavaScript
;
var deepClone_cjs = require('./deepClone.cjs');
var isObject_cjs = require('./isObject.cjs');
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
function mergeDefault(base, overwrites) {
if (!overwrites) return deepClone_cjs.deepClone(base);
for (const [baseKey, baseValue] of Object.entries(base)) {
const overwritesValueAtBaseKey = Reflect.get(overwrites, baseKey);
if (typeof overwritesValueAtBaseKey === "undefined") {
Reflect.set(overwrites, baseKey, deepClone_cjs.deepClone(baseValue));
} else if (isObject_cjs.isObject(overwritesValueAtBaseKey)) {
Reflect.set(overwrites, baseKey, mergeDefault(baseValue != null ? baseValue : {}, overwritesValueAtBaseKey));
}
}
return overwrites;
}
__name(mergeDefault, "mergeDefault");
exports.mergeDefault = mergeDefault;
//# sourceMappingURL=mergeDefault.cjs.map
//# sourceMappingURL=mergeDefault.cjs.map