UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

16 lines (15 loc) 1.44 kB
import { IGenericObserverPipe } from '../../../observer/pipes/type/observer-pipe.type'; import { IGenericObserver } from '../../../observer/type/observer.type'; import { IInferComposeNowReturn } from '../../../misc/functional/compose/types/infer-compose-now-return.type'; import { IComposeConstraint } from '../../../misc/functional/compose/types/compose-constraint.type'; import { IComposeNowValueConstraint } from '../../../misc/functional/compose/types/compose-now-value-constraint.type'; export declare type IObserverComposeConstraint<// generics GFunctions extends readonly IGenericObserverPipe[]> = IComposeConstraint<GFunctions, any, IGenericObserverPipe>; declare type IGenericObserverConstraint<GValue> = GValue extends IGenericObserver ? GValue : never; export declare type IObserverComposeValueConstraint<// generics GFunctions extends readonly IGenericObserverPipe[]> = IGenericObserverConstraint<IComposeNowValueConstraint<GFunctions, IGenericObserverPipe>>; export declare type IObserverComposeReturn<// generics GFunctions extends readonly IGenericObserverPipe[], GObserver extends IGenericObserver> = IInferComposeNowReturn<GFunctions, GObserver>; export declare function composeObserver<// generics GFunctions extends IObserverComposeConstraint<GFunctions>, GObserver extends IObserverComposeValueConstraint<GFunctions>>(fns: GFunctions, Observer: GObserver): IObserverComposeReturn<GFunctions, GObserver>; export {};