UNPKG

@beenotung/tslib

Version:
46 lines (45 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PolyfillIterable = void 0; exports.polyfillIterable = polyfillIterable; class PolyfillIterable { iterable; constructor(iterable) { this.iterable = iterable; } [Symbol.iterator]() { return this.iterable[Symbol.iterator](); } map(map) { const self = this; return new PolyfillIterable({ *[Symbol.iterator]() { for (const x of self) { yield map(x); } }, }); } filter(filter) { const self = this; return new PolyfillIterable({ *[Symbol.iterator]() { for (const x of self) { if (filter(x)) { yield x; } } }, }); } toArray() { return Array.from(this.iterable); } static from(iterable) { return new PolyfillIterable(iterable); } } exports.PolyfillIterable = PolyfillIterable; function polyfillIterable(iterable) { return PolyfillIterable.from(iterable); }