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

27 lines
761 B
JavaScript

import { iteratee } from './iteratee.mjs';
import { isFunction } from '../../predicate/isFunction.mjs';
function cond(pairs) {
const length = pairs.length;
const processedPairs = pairs.map(pair => {
const predicate = pair[0];
const func = pair[1];
if (!isFunction(func)) {
throw new TypeError('Expected a function');
}
return [iteratee(predicate), func];
});
return function (...args) {
for (let i = 0; i < length; i++) {
const pair = processedPairs[i];
const predicate = pair[0];
const func = pair[1];
if (predicate.apply(this, args)) {
return func.apply(this, args);
}
}
};
}
export { cond };