varbaseRest=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. */functioncreateAssigner(assigner){returnbaseRest(function(object,sources){varindex=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined,guard=length>2?sources[2]:undefined;customizer=(assigner.length>3&&typeofcustomizer=='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){varsource=sources[index];if(source){assigner(object,source,index,customizer);}}returnobject;});}module.exports=createAssigner;