@codibre/fluent-iterable
Version:
Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).
17 lines (16 loc) • 613 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.caseCheckRecipe = caseCheckRecipe;
const prepare_1 = require("../types-internal/prepare");
const utils_1 = require("../utils");
function caseCheckRecipe(ifTrue, ifFalse, defaultPredicate, predicateTransform = utils_1.identity) {
return function (givenPredicate = defaultPredicate) {
const predicate = predicateTransform((0, prepare_1.prepare)(givenPredicate));
for (const t of this) {
if (predicate(t)) {
return ifTrue(t);
}
}
return ifFalse;
};
}