varapply=require('./_apply');/* Built-in method references for those with the same name as other `lodash` methods. */varnativeMax=Math.max;/** * A specialized version of `baseRest` which transforms the rest array. * * @private * @param {Function} func The function to apply a rest parameter to. * @param {number} [start=func.length-1] The start position of the rest parameter. * @param {Function} transform The rest array transform. * @returns {Function} Returns the new function. */functionoverRest(func,start,transform){start=nativeMax(start===undefined?(func.length-1):start,0);returnfunction(){varargs=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);while(++index<length){array[index]=args[start+index];}index=-1;varotherArgs=Array(start+1);while(++index<start){otherArgs[index]=args[index];}otherArgs[start]=transform(array);returnapply(func,this,otherArgs);};}module.exports=overRest;