UNPKG

@reactivex/ix-esnext-esm

Version:

The Interactive Extensions for JavaScript

25 lines (23 loc) 693 B
import { IterableX } from '../iterablex'; import { bindCallback } from '../../util/bindcallback'; export class FilterIterable extends IterableX { constructor(source, predicate) { super(); this._source = source; this._predicate = predicate; } *[Symbol.iterator]() { let i = 0; for (const item of this._source) { if (this._predicate(item, i++)) { yield item; } } } } export function filter(predicate, thisArg) { return function filterOperatorFunction(source) { return new FilterIterable(source, bindCallback(predicate, thisArg, 2)); }; } //# sourceMappingURL=filter.mjs.map