Sha256: 546c06d728e12dbb6ba1550f132ff21bd9b7d23fec9ade68e48b418375c63438
Contents?: true
Size: 1.01 KB
Versions: 14
Compression:
Stored size: 1.01 KB
Contents
var baseCopy = require('./baseCopy'), keys = require('../object/keys'); /** * The base implementation of `_.assign` without support for argument juggling, * multiple sources, and `this` binding `customizer` functions. * * @private * @param {Object} object The destination object. * @param {Object} source The source object. * @param {Function} [customizer] The function to customize assigning values. * @returns {Object} Returns the destination object. */ function baseAssign(object, source, customizer) { var props = keys(source); if (!customizer) { return baseCopy(source, object, props); } var index = -1, length = props.length; while (++index < length) { var key = props[index], value = object[key], result = customizer(value, source[key], key, object, source); if ((result === result ? result !== value : value === value) || (typeof value == 'undefined' && !(key in object))) { object[key] = result; } } return object; } module.exports = baseAssign;
Version data entries
14 entries across 7 versions & 1 rubygems