first commit
This commit is contained in:
39
build/node_modules/merge-defaults/index.js
generated
vendored
Normal file
39
build/node_modules/merge-defaults/index.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
var _ = require('lodash');
|
||||
|
||||
/**
|
||||
* defaultsDeep
|
||||
*
|
||||
* Implement a deep version of `_.defaults`.
|
||||
*
|
||||
* This method is hopefully temporary, until lodash has something
|
||||
* similar that can be called in a single method. For now, it's
|
||||
* worth it to use a temporary module for readability.
|
||||
* (i.e. I know what `_.defaults` means offhand- not true for `_.partialRight`)
|
||||
*/
|
||||
|
||||
// In case the end user decided to do `_.defaults = require('merge-defaults')`,
|
||||
// before doing anything else, let's make SURE we have a reference to the original
|
||||
// `_.defaults()` method definition.
|
||||
var origLodashDefaults = _.defaults;
|
||||
|
||||
// Corrected: see https://github.com/lodash/lodash/issues/540
|
||||
module.exports = _.partialRight(_.merge, function recursiveDefaults (dest,src) {
|
||||
|
||||
// Ensure dates and arrays are not recursively merged
|
||||
if (_.isArray(arguments[0]) || _.isDate(arguments[0])) {
|
||||
return arguments[0];
|
||||
}
|
||||
return _.merge(dest, src, recursiveDefaults);
|
||||
});
|
||||
|
||||
//origLodashDefaults.apply(_, Array.prototype.slice.call(arguments));
|
||||
|
||||
// module.exports = _.partialRight(_.merge, _.defaults);
|
||||
|
||||
// module.exports = _.partialRight(_.merge, function deep(a, b) {
|
||||
// // Ensure dates and arrays are not recursively merged
|
||||
// if (_.isArray(a) || _.isDate(a)) {
|
||||
// return a;
|
||||
// }
|
||||
// else return _.merge(a, b, deep);
|
||||
// });
|
||||
Reference in New Issue
Block a user