mirror of
https://github.com/atlanticbiomedical/biomedjs.git
synced 2025-07-02 00:47:26 -04:00
33 lines
956 B
JavaScript
33 lines
956 B
JavaScript
![]() |
var assign = require('./assign'),
|
||
|
assignDefaults = require('../internal/assignDefaults'),
|
||
|
restParam = require('../function/restParam');
|
||
|
|
||
|
/**
|
||
|
* Assigns own enumerable properties of source object(s) to the destination
|
||
|
* object for all destination properties that resolve to `undefined`. Once a
|
||
|
* property is set, additional values of the same property are ignored.
|
||
|
*
|
||
|
* **Note:** This method mutates `object`.
|
||
|
*
|
||
|
* @static
|
||
|
* @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 = restParam(function(args) {
|
||
|
var object = args[0];
|
||
|
if (object == null) {
|
||
|
return object;
|
||
|
}
|
||
|
args.push(assignDefaults);
|
||
|
return assign.apply(undefined, args);
|
||
|
});
|
||
|
|
||
|
module.exports = defaults;
|