Comparing version 4.6.5 to 4.6.6
{ | ||
"name": "enmap", | ||
"version": "4.6.5", | ||
"version": "4.6.6", | ||
"description": "A simple database wrapper to make sqlite database interactions much easier for beginners, with additional array helper methods.", | ||
@@ -5,0 +5,0 @@ "types": "index.d.ts", |
@@ -551,2 +551,3 @@ // Lodash should probably be a core lib but hey, it's useful! | ||
if (_.isNil(defaultValue)) throw new Err(`No default value provided on ensure method for "${key}" in "${this.name}"`, 'EnmapArgumentError'); | ||
const clonedValue = this[_clone](defaultValue); | ||
if (!_.isNil(path)) { | ||
@@ -560,4 +561,4 @@ this[_check](key, ['Object'], path); | ||
if (this.ensureProps && _.isObject(super.get(key))) { | ||
if (!_.isObject(defaultValue)) throw new Err(`Default value for "${key}" in enmap "${this.name}" must be an object when merging with an object value.`, 'EnmapArgumentError'); | ||
const merged = Object.assign(defaultValue, super.get(key)); | ||
if (!_.isObject(clonedValue)) throw new Err(`Default value for "${key}" in enmap "${this.name}" must be an object when merging with an object value.`, 'EnmapArgumentError'); | ||
const merged = Object.assign(clonedValue, super.get(key)); | ||
super.set(key, merged); | ||
@@ -567,4 +568,4 @@ return merged; | ||
if (super.has(key)) return super.get(key); | ||
this.set(key, defaultValue); | ||
return defaultValue; | ||
this.set(key, clonedValue); | ||
return clonedValue; | ||
} | ||
@@ -571,0 +572,0 @@ |
155136
2298