summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-06-07 12:06:29 +0200
committerSamy Pessé <samypesse@gmail.com>2016-06-07 12:06:29 +0200
commit1cc48fa314782312883af00cf64a56929b62f057 (patch)
tree5ffdc5418f1775f6e1c61d28f3e5b3f4f23e46ca /lib
parentb63b5574d33927436ec0584d054d3bb2e78f4597 (diff)
downloadgitbook-1cc48fa314782312883af00cf64a56929b62f057.zip
gitbook-1cc48fa314782312883af00cf64a56929b62f057.tar.gz
gitbook-1cc48fa314782312883af00cf64a56929b62f057.tar.bz2
Use Immutable instead of lodash for mergeDefaults
Diffstat (limited to 'lib')
-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;