deno.land / x / lodash@4.17.19 / npm-package / _createAssigner.js
1234567891011121314151617181920212223242526272829303132333435363738var baseRest = require('./_baseRest'), isIterateeCall = require('./_isIterateeCall');
/** * Creates a function like `_.assign`. * * @private * @param {Function} assigner The function to assign values. * @returns {Function} Returns the new assigner function. */function createAssigner(assigner) { return baseRest(function(object, sources) { var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined, guard = length > 2 ? sources[2] : undefined;
customizer = (assigner.length > 3 && typeof customizer == 'function') ? (length--, customizer) : undefined;
if (guard && isIterateeCall(sources[0], sources[1], guard)) { customizer = length < 3 ? undefined : customizer; length = 1; } object = Object(object); while (++index < length) { var source = sources[index]; if (source) { assigner(object, source, index, customizer); } } return object; });}
module.exports = createAssigner;
Version Info
External Dependencies