From 363723fc84f7b8477592e0105aeb331ec9a017af Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 14 Aug 2017 05:01:11 +0200 Subject: node_modules --- node_modules/object.defaults/mutable.js | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 node_modules/object.defaults/mutable.js (limited to 'node_modules/object.defaults/mutable.js') diff --git a/node_modules/object.defaults/mutable.js b/node_modules/object.defaults/mutable.js new file mode 100644 index 000000000..fac447f6e --- /dev/null +++ b/node_modules/object.defaults/mutable.js @@ -0,0 +1,35 @@ +'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; +}; -- cgit v1.2.3