1 var copyObject = require('./internal/copyObject'),
2 createAssigner = require('./internal/createAssigner'),
3 keysIn = require('./keysIn');
6 * This method is like `_.assign` except that it iterates over own and
7 * inherited source properties.
9 * **Note:** This method mutates `object`.
15 * @param {Object} object The destination object.
16 * @param {...Object} [sources] The source objects.
17 * @returns {Object} Returns `object`.
28 * Foo.prototype.c = 3;
29 * Bar.prototype.e = 5;
31 * _.assignIn({ 'a': 1 }, new Foo, new Bar);
32 * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 }
34 var assignIn = createAssigner(function(object, source) {
35 copyObject(source, keysIn(source), object);
38 module.exports = assignIn;