Skip to content

Commit 68b7922

Browse files
committed
feat(filter): support type guards without casting
1 parent bf3c043 commit 68b7922

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/operator/filter.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ import { TeardownLogic } from '../Subscription';
4444
* @owner Observable
4545
*/
4646
/* tslint:disable:max-line-length */
47-
export function filter<T>(this: Observable<T>, predicate: (value: T, index: number) => boolean, thisArg?: any): Observable<T>;
48-
export function filter<T, S extends T>(this: Observable<T>, predicate: (value: T, index: number) => value is S, thisArg?: any): Observable<S>;
49-
/* tslint:disable:max-line-length */
47+
export function filter<T, S extends T>(this: Observable<T>,
48+
predicate: ((value: T, index: number) => boolean) |
49+
((value: T, index: number) => value is S),
50+
thisArg?: any): Observable<S>;
5051
export function filter<T>(this: Observable<T>, predicate: (value: T, index: number) => boolean,
5152
thisArg?: any): Observable<T> {
5253
return this.lift(new FilterOperator(predicate, thisArg));

0 commit comments

Comments
 (0)