summaryrefslogtreecommitdiffstats
path: root/lib/utils
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils')
-rw-r--r--lib/utils/mergeDefaults.js20
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/utils/mergeDefaults.js b/lib/utils/mergeDefaults.js
index c9db640..47a374b 100644
--- a/lib/utils/mergeDefaults.js
+++ b/lib/utils/mergeDefaults.js
@@ -1,14 +1,16 @@
-var _ = require('lodash');
+var Immutable = require('immutable');
-function customizer(objValue, srcValue) {
- // Ensure dates and arrays are not recursively merged
- if (!_.isObject(objValue)) {
- return objValue;
- }
+/**
+ * Merge
+ * @param {Object|Map} obj
+ * @param {Object|Map} src
+ * @return {Object}
+ */
+function mergeDefaults(obj, src) {
+ var objValue = Immutable.fromJS(obj);
+ var srcValue = Immutable.fromJS(src);
- return mergeDefaults(objValue, srcValue);
+ return srcValue.mergeDeep(objValue).toJS();
}
-var mergeDefaults = _.partialRight(_.mergeWith, customizer);
-
module.exports = mergeDefaults;