diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-06-07 11:40:54 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-06-07 11:40:54 +0200 |
commit | b63b5574d33927436ec0584d054d3bb2e78f4597 (patch) | |
tree | 32bab15b97293f3e35c169348640ded410621bbe /lib | |
parent | 67106e86981852d2d55830a8fca494c7d33eff37 (diff) | |
download | gitbook-b63b5574d33927436ec0584d054d3bb2e78f4597.zip gitbook-b63b5574d33927436ec0584d054d3bb2e78f4597.tar.gz gitbook-b63b5574d33927436ec0584d054d3bb2e78f4597.tar.bz2 |
Only merge objects in mergeDefaults
Diffstat (limited to 'lib')
-rw-r--r-- | lib/utils/mergeDefaults.js | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/utils/mergeDefaults.js b/lib/utils/mergeDefaults.js index 8266b85..c9db640 100644 --- a/lib/utils/mergeDefaults.js +++ b/lib/utils/mergeDefaults.js @@ -1,10 +1,14 @@ var _ = require('lodash'); -module.exports = _.partialRight(_.merge, function recursiveDefaults () { +function customizer(objValue, srcValue) { // Ensure dates and arrays are not recursively merged - if (_.isArray(arguments[0]) || _.isDate(arguments[0])) { - return arguments[0]; + if (!_.isObject(objValue)) { + return objValue; } - return _.merge(arguments[0], arguments[1], recursiveDefaults); -}); + return mergeDefaults(objValue, srcValue); +} + +var mergeDefaults = _.partialRight(_.mergeWith, customizer); + +module.exports = mergeDefaults; |