| 123456789101112131415161718192021222324252627282930313233343536 |
- '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;
|