fix(common): introduce isObservable method (#14067)
Closes #8848 PR Close #14067
This commit is contained in:
committed by
Miško Hevery
parent
fe441186e7
commit
ff290af38c
@@ -6,6 +6,9 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {Observable} from 'rxjs/Observable';
|
||||
import {$$observable as symbolObservable} from 'rxjs/symbol/observable';
|
||||
|
||||
/**
|
||||
* Determine if the argument is shaped like a Promise
|
||||
*/
|
||||
@@ -14,3 +17,10 @@ export function isPromise(obj: any): obj is Promise<any> {
|
||||
// It's up to the caller to ensure that obj.then conforms to the spec
|
||||
return !!obj && typeof obj.then === 'function';
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the argument is an Observable
|
||||
*/
|
||||
export function isObservable(obj: any | Observable<any>): obj is Observable<any> {
|
||||
return !!(obj && obj[symbolObservable]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user