Urara-Blog/node_modules/.pnpm-store/v3/files/35/1630d9e5804802361ed4f9a2f134180a6b1ce68f87309114fc990fcfde06036287f7bc6393288f11456a165e4281ca92b0d4b90590c49917f81603f1413b87
2022-08-14 01:14:53 +08:00

40 lines
906 B
Text

var copyObject = require('./_copyObject'),
createAssigner = require('./_createAssigner'),
keysIn = require('./keysIn');
/**
* This method is like `_.assign` except that it iterates over own and
* inherited source properties.
*
* **Note:** This method mutates `object`.
*
* @static
* @memberOf _
* @since 4.0.0
* @alias extend
* @category Object
* @param {Object} object The destination object.
* @param {...Object} [sources] The source objects.
* @returns {Object} Returns `object`.
* @see _.assign
* @example
*
* function Foo() {
* this.a = 1;
* }
*
* function Bar() {
* this.c = 3;
* }
*
* Foo.prototype.b = 2;
* Bar.prototype.d = 4;
*
* _.assignIn({ 'a': 0 }, new Foo, new Bar);
* // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
*/
var assignIn = createAssigner(function(object, source) {
copyObject(source, keysIn(source), object);
});
module.exports = assignIn;