diff options
Diffstat (limited to 'node_modules/mixin-object/index.js')
-rw-r--r-- | node_modules/mixin-object/index.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/mixin-object/index.js b/node_modules/mixin-object/index.js new file mode 100644 index 0000000..fca0107 --- /dev/null +++ b/node_modules/mixin-object/index.js @@ -0,0 +1,36 @@ +'use strict'; + +var isObject = require('is-extendable'); +var forIn = require('for-in'); + +function mixin(target, objects) { + if (!isObject(target)) { + throw new TypeError('mixin-object expects the first argument to be an object.'); + } + var len = arguments.length, i = 0; + while (++i < len) { + var obj = arguments[i]; + if (isObject(obj)) { + forIn(obj, copy, target); + } + } + return target; +} + +/** + * copy properties from the source object to the + * target object. + * + * @param {*} `value` + * @param {String} `key` + */ + +function copy(value, key) { + this[key] = value; +} + +/** + * Expose `mixin` + */ + +module.exports = mixin;
\ No newline at end of file |