mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 14:37:49 +00:00
32 lines
997 B
JavaScript
32 lines
997 B
JavaScript
import apply from './_apply';
|
|
import assignInDefaults from './_assignInDefaults';
|
|
import assignInWith from './assignInWith';
|
|
import rest from './rest';
|
|
|
|
/**
|
|
* Assigns own and inherited enumerable string keyed properties of source
|
|
* objects to the destination object for all destination properties that
|
|
* resolve to `undefined`. Source objects are applied from left to right.
|
|
* Once a property is set, additional values of the same property are ignored.
|
|
*
|
|
* **Note:** This method mutates `object`.
|
|
*
|
|
* @static
|
|
* @since 0.1.0
|
|
* @memberOf _
|
|
* @category Object
|
|
* @param {Object} object The destination object.
|
|
* @param {...Object} [sources] The source objects.
|
|
* @returns {Object} Returns `object`.
|
|
* @example
|
|
*
|
|
* _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
|
|
* // => { 'user': 'barney', 'age': 36 }
|
|
*/
|
|
var defaults = rest(function(args) {
|
|
args.push(undefined, assignInDefaults);
|
|
return apply(assignInWith, undefined, args);
|
|
});
|
|
|
|
export default defaults;
|