@lifaon/rx-js-light
Version:
Blazing fast Observables
10 lines (9 loc) • 948 B
TypeScript
import { IGenericObservable, IObservable } from '../../observable/type/observable.type';
import { IObserver, IGenericObserver } from '../../observer/type/observer.type';
export interface IObserverObservablePair<GObserverValue, GObservableValue> {
readonly emit: IObserver<GObserverValue>;
readonly subscribe: IObservable<GObservableValue>;
}
export declare type IGenericObserverObservablePair = IObserverObservablePair<IGenericObserver, IGenericObservable>;
export declare type IInferObserverObservablePairGObserverValue<GObserverObservablePair extends IGenericObserverObservablePair> = GObserverObservablePair extends IObserverObservablePair<infer GObserverValue, any> ? GObserverValue : never;
export declare type IInferObserverObservablePairGObservableValue<GObserverObservablePair extends IGenericObserverObservablePair> = GObserverObservablePair extends IObserverObservablePair<any, infer GObservableValue> ? GObservableValue : never;