diff options
Diffstat (limited to 'node_modules/@sapphire/utilities/dist/lib/mergeDefault.js')
-rw-r--r-- | node_modules/@sapphire/utilities/dist/lib/mergeDefault.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/node_modules/@sapphire/utilities/dist/lib/mergeDefault.js b/node_modules/@sapphire/utilities/dist/lib/mergeDefault.js new file mode 100644 index 0000000..e6cfc41 --- /dev/null +++ b/node_modules/@sapphire/utilities/dist/lib/mergeDefault.js @@ -0,0 +1,25 @@ +'use strict'; + +var deepClone_js = require('./deepClone.js'); +var isObject_js = require('./isObject.js'); + +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +function mergeDefault(base, overwrites) { + if (!overwrites) + return deepClone_js.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_js.deepClone(baseValue)); + } else if (isObject_js.isObject(overwritesValueAtBaseKey)) { + Reflect.set(overwrites, baseKey, mergeDefault(baseValue != null ? baseValue : {}, overwritesValueAtBaseKey)); + } + } + return overwrites; +} +__name(mergeDefault, "mergeDefault"); + +exports.mergeDefault = mergeDefault; +//# sourceMappingURL=out.js.map +//# sourceMappingURL=mergeDefault.js.map
\ No newline at end of file |