diff --git a/types/index.d.ts b/types/index.d.ts index df1a587..506a2b7 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1,7 +1,17 @@ declare module '@nx-js/observer-util' { - function observable(obj?: Observable): Observable + class ObservableBrand { + protected __OBSERVABLE_NOMINAL_BRAND: never; + } + + type Observed = T & ObservableBrand; + + type MonoObserved = T extends Observed + ? MonoObserved + : T; + + function observable(obj?: Observable): Observed> function isObservable(obj: object): boolean - function raw(obj: Observable): Observable + function raw(obj: Observable): Observable extends Observed ? MonoObserved : Observable; interface Scheduler { add: Function