summaryrefslogtreecommitdiffstats
path: root/lib/utils/mergeDefaults.js
blob: 8266b854d2b6aff371ededea57f14c8cfcc0f534 (plain)
1
2
3
4
5
6
7
8
9
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);
});