type-plus
Version:
Provides additional types for TypeScript.
21 lines • 634 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.reduceWhile = void 0;
/**
* 🦴 *utilities*
*
* `reduce()` with predicate for early termination.
* A simple version of the same function in the `ramda` package.
*/
function reduceWhile(predicate, callbackfn, initialValue, array) {
let acc = initialValue;
for (let i = 0; i < array.length; i++) {
const value = array[i];
if (!predicate(acc, value))
return acc;
acc = callbackfn(acc, value, i, array);
}
return acc;
}
exports.reduceWhile = reduceWhile;
//# sourceMappingURL=reduce_while.js.map