Projekt

Obecné

Profil

Stáhnout (906 Bajtů) Statistiky
| Větev: | Revize:
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;
(306-306/634)