summaryrefslogtreecommitdiff
path: root/node_modules/@sapphire/utilities/dist/lib/mergeDefault.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@sapphire/utilities/dist/lib/mergeDefault.js')
-rw-r--r--node_modules/@sapphire/utilities/dist/lib/mergeDefault.js25
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