UNPKG

streams

Version:

A lazy streams library for functional composition in JavaScript.

33 lines 2.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.iteratorRange = iteratorRange; function iteratorRange(start, end, options) { const { step = Math.sign(end - start), inclusive = false } = typeof options === "undefined" ? { step: Math.sign(end - start) } : typeof options === "number" ? { step: options } : options; if (end != start) { if (Math.sign(step) != Math.sign(end - start)) { throw new TypeError("step must be in the direction from start to end"); } } function* rangeSource() { if (step == 0 && inclusive) { yield end; return; } const withinRange = end > start || step > 0 ? inclusive ? (i) => i <= end : (i) => i < end : inclusive ? (i) => i >= end : (i) => i > end; for (let i = start; withinRange(i); i += step) { yield i; } } return rangeSource(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc291cmNlcy9yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNDQXNDQztBQXRDRCxTQUFnQixhQUFhLENBQzNCLEtBQWEsRUFDYixHQUFXLEVBQ1gsT0FBeUQ7SUFFekQsTUFBTSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxTQUFTLEdBQUcsS0FBSyxFQUFFLEdBQ3hELE9BQU8sT0FBTyxLQUFLLFdBQVc7UUFDNUIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxFQUFFO1FBQ2xDLENBQUMsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQzNCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDbkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNoQixJQUFJLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksU0FBUyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBQyxXQUFXO1FBQ25CLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixNQUFNLEdBQUcsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQ2YsR0FBRyxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQztZQUNyQixDQUFDLENBQUMsU0FBUztnQkFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHO2dCQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHO1lBQ2xCLENBQUMsQ0FBQyxTQUFTO2dCQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUc7Z0JBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUV2QixLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLFdBQVcsRUFBRSxDQUFDO0FBQ3ZCLENBQUMifQ==