UNPKG

lazzy.ts

Version:

Fast and lightweight library for lazy operations with iterable objects.

23 lines 624 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.range = void 0; const rangeDefaults = { from: 0, to: Number.MAX_SAFE_INTEGER, step: 1, }; function* range(parameters) { const { from, to, step } = Object.assign(Object.assign({}, rangeDefaults), parameters); if (step === 0) { return; } const condition = step < 0 ? ((n) => n >= to) : ((n) => n <= to); for (let n = from; condition(n); n += step) { if (!Number.isSafeInteger(n)) { return; } yield n; } } exports.range = range; //# sourceMappingURL=range.js.map