import { IterableX } from '../../iterable/iterablex.js'; import { filter } from '../../iterable/operators/filter.js'; /** * @ignore */ export function filterProto( this: IterableX, predicate: (value: T, index: number) => value is S, thisArg?: any ): IterableX; export function filterProto( this: IterableX, predicate: (value: T, index: number) => boolean, thisArg?: any ): IterableX; export function filterProto( this: IterableX, predicate: (value: T, index: number) => boolean, thisArg?: any ): IterableX { return filter(predicate, thisArg)(this); } IterableX.prototype.filter = filterProto; declare module '../../iterable/iterablex' { interface IterableX { filter: typeof filterProto; } }