UNPKG

@codibre/fluent-iterable

Version:

Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).

34 lines (33 loc) 1.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.fluentFor = fluentFor; const _1 = require("."); const fluent_1 = __importDefault(require("./fluent")); function internalFluentFor(start, condition, increment) { let current = start; return { [Symbol.iterator]: () => ({ next() { const done = !condition(current); const value = current; current = increment(current); return { value, done, }; }, }), }; } /** * Generates a FluentIterable that yields a for-like increment * @param start The starting number * @param condition The keep going condition * @param increment The increment. Default 1 */ function fluentFor(start, condition, increment = _1.identity) { return (0, fluent_1.default)(internalFluentFor(start, condition, increment)); }