summaryrefslogtreecommitdiffstats
path: root/lib/utils/mergeDefaults.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-06-07 10:48:04 +0200
committerSamy Pessé <samypesse@gmail.com>2016-06-07 10:48:04 +0200
commitcedfa186f2142633a3e219d6713b38fda62dccab (patch)
tree360f5a40e5efaf6d6b5acc11be9abfaf71b9559a /lib/utils/mergeDefaults.js
parent80f0d1bfed75b35e68d587fc79fd22d3704acc71 (diff)
downloadgitbook-cedfa186f2142633a3e219d6713b38fda62dccab.zip
gitbook-cedfa186f2142633a3e219d6713b38fda62dccab.tar.gz
gitbook-cedfa186f2142633a3e219d6713b38fda62dccab.tar.bz2
Remove merge-defaults dependency
Diffstat (limited to 'lib/utils/mergeDefaults.js')
-rw-r--r--lib/utils/mergeDefaults.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/utils/mergeDefaults.js b/lib/utils/mergeDefaults.js
new file mode 100644
index 0000000..8266b85
--- /dev/null
+++ b/lib/utils/mergeDefaults.js
@@ -0,0 +1,10 @@
+var _ = require('lodash');
+
+module.exports = _.partialRight(_.merge, function recursiveDefaults () {
+ // Ensure dates and arrays are not recursively merged
+ if (_.isArray(arguments[0]) || _.isDate(arguments[0])) {
+ return arguments[0];
+ }
+
+ return _.merge(arguments[0], arguments[1], recursiveDefaults);
+});