@sapphire/utilities
Version:
Common JavaScript utilities for the Sapphire Community
21 lines (19 loc) • 824 B
JavaScript
import { __name } from '../chunk-PAWJFY3S.mjs';
import { deepClone } from './deepClone.mjs';
import { isObject } from './isObject.mjs';
function mergeDefault(base, overwrites) {
if (!overwrites) return 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(baseValue));
} else if (isObject(overwritesValueAtBaseKey)) {
Reflect.set(overwrites, baseKey, mergeDefault(baseValue != null ? baseValue : {}, overwritesValueAtBaseKey));
}
}
return overwrites;
}
__name(mergeDefault, "mergeDefault");
export { mergeDefault };
//# sourceMappingURL=mergeDefault.mjs.map
//# sourceMappingURL=mergeDefault.mjs.map