LendAndRegret/node_modules/es-toolkit/dist/compat/function/rearg.js
2026-05-02 17:27:43 +08:00

19 lines
543 B
JavaScript

'use strict';
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const flatten = require('../array/flatten.js');
function rearg(func, ...indices) {
const flattenIndices = flatten.flatten(indices);
return function (...args) {
const reorderedArgs = flattenIndices.map(i => args[i]).slice(0, args.length);
for (let i = reorderedArgs.length; i < args.length; i++) {
reorderedArgs.push(args[i]);
}
return func.apply(this, reorderedArgs);
};
}
exports.rearg = rearg;