@beenotung/tslib
Version:
utils library in Typescript
46 lines (45 loc) • 1.17 kB
JavaScript
;
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);
}