UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

12 lines (11 loc) 655 B
import { IObserver } from '../../type/observer.type'; /** * Receives data, performs some operation on it, and may emits same or other data * => PUSH destination (return) and PUSH source (emit) */ export interface IObserverPipe<GIn, GOut> { (emit: IObserver<GOut>): IObserver<GIn>; } export declare type IGenericObserverPipe = IObserverPipe<any, any>; export declare type IInferObserverPipeGIn<GObserver extends IGenericObserverPipe> = GObserver extends IObserverPipe<infer GIn, any> ? GIn : never; export declare type IInferObserverPipeGOut<GObserver extends IGenericObserverPipe> = GObserver extends IObserverPipe<any, infer GOut> ? GOut : never;