Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / assignIn.js
1 var copyObject = require('./_copyObject'),
2     createAssigner = require('./_createAssigner'),
3     keysIn = require('./keysIn');
4
5 /**
6  * This method is like `_.assign` except that it iterates over own and
7  * inherited source properties.
8  *
9  * **Note:** This method mutates `object`.
10  *
11  * @static
12  * @memberOf _
13  * @since 4.0.0
14  * @alias extend
15  * @category Object
16  * @param {Object} object The destination object.
17  * @param {...Object} [sources] The source objects.
18  * @returns {Object} Returns `object`.
19  * @see _.assign
20  * @example
21  *
22  * function Foo() {
23  *   this.a = 1;
24  * }
25  *
26  * function Bar() {
27  *   this.c = 3;
28  * }
29  *
30  * Foo.prototype.b = 2;
31  * Bar.prototype.d = 4;
32  *
33  * _.assignIn({ 'a': 0 }, new Foo, new Bar);
34  * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
35  */
36 var assignIn = createAssigner(function(object, source) {
37   copyObject(source, keysIn(source), object);
38 });
39
40 module.exports = assignIn;