1234567891011121314151617181920212223242526272829303132333435 |
- 'use strict';
-
- var each = require('array-each');
- var slice = require('array-slice');
- var forOwn = require('for-own');
- var isObject = require('isobject');
-
- /**
- * Extends the `target` object with properties of one or
- * more additional `objects`
- *
- * @name .defaults
- * @param {Object} `target` The target object. Pass an empty object to shallow clone.
- * @param {Object} `objects`
- * @return {Object}
- * @api public
- */
-
- module.exports = function defaults(target, objects) {
- if (target == null) {
- return {};
- }
-
- each(slice(arguments, 1), function(obj) {
- if (isObject(obj)) {
- forOwn(obj, function(val, key) {
- if (target[key] == null) {
- target[key] = val;
- }
- });
- }
- });
-
- return target;
- };
|