-
Notifications
You must be signed in to change notification settings - Fork 72
/
filter.ts
32 lines (28 loc) · 917 Bytes
/
filter.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { AsyncIterableX } from '../../asynciterable/asynciterablex';
import { filter } from '../../asynciterable/filter';
/**
* @ignore
*/
export function filterProto<T, S extends T>(
this: AsyncIterableX<T>,
predicate: (value: T, index: number) => value is S,
thisArg?: any
): AsyncIterableX<S>;
export function filterProto<TSource>(
this: AsyncIterableX<TSource>,
predicate: (value: TSource, index: number) => boolean | Promise<boolean>,
thisArg?: any
): AsyncIterableX<TSource>;
export function filterProto<TSource>(
this: AsyncIterableX<TSource>,
predicate: (value: TSource, index: number) => boolean | Promise<boolean>,
thisArg?: any
): AsyncIterableX<TSource> {
return filter<TSource>(this, predicate, thisArg);
}
AsyncIterableX.prototype.filter = filterProto;
declare module '../../asynciterable/asynciterablex' {
interface AsyncIterableX<T> {
filter: typeof filterProto;
}
}