@antv/layout
Version:
graph layout algorithm
50 lines (42 loc) • 1.43 kB
JavaScript
import { __require as require_apply } from './_apply.js';
var _overRest;
var hasRequired_overRest;
function require_overRest () {
if (hasRequired_overRest) return _overRest;
hasRequired_overRest = 1;
var apply = require_apply();
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeMax = 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.
*/
function overRest(func, start, transform) {
start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
return function() {
var args = arguments,
index = -1,
length = nativeMax(args.length - start, 0),
array = Array(length);
while (++index < length) {
array[index] = args[start + index];
}
index = -1;
var otherArgs = Array(start + 1);
while (++index < start) {
otherArgs[index] = args[index];
}
otherArgs[start] = transform(array);
return apply(func, this, otherArgs);
};
}
_overRest = overRest;
return _overRest;
}
export { require_overRest as __require };
//# sourceMappingURL=_overRest.js.map