MultiLoader-Template/node_modules/es-toolkit/dist/function/partial.mjs
3944Realms 768f38fc97 feat: 可使用的构建模板
修改了脚本,使其可以推给Maven仓库
2026-05-03 13:02:19 +08:00

22 lines
804 B
JavaScript

function partial(func, ...partialArgs) {
return partialImpl(func, placeholderSymbol, ...partialArgs);
}
function partialImpl(func, placeholder, ...partialArgs) {
const partialed = function (...providedArgs) {
let providedArgsIndex = 0;
const substitutedArgs = partialArgs
.slice()
.map(arg => (arg === placeholder ? providedArgs[providedArgsIndex++] : arg));
const remainingArgs = providedArgs.slice(providedArgsIndex);
return func.apply(this, substitutedArgs.concat(remainingArgs));
};
if (func.prototype) {
partialed.prototype = Object.create(func.prototype);
}
return partialed;
}
const placeholderSymbol = Symbol('partial.placeholder');
partial.placeholder = placeholderSymbol;
export { partial, partialImpl };