UNPKG

overmind

Version:
75 lines (74 loc) • 8.34 kB
import { OperatorContextFunction } from './internalTypes'; import { IContext, IOperator } from './types'; export declare function pipe<AI, AO = AI>(a: OperatorContextFunction<AI, AO>): IOperator<AI, AO>; export declare function pipe<A, B, C>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>): IOperator<A, C>; export declare function pipe<A, B, C, D>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>): IOperator<A, D>; export declare function pipe<A, B, C, D, E>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>): IOperator<A, E>; export declare function pipe<A, B, C, D, E, F>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>): IOperator<A, F>; export declare function pipe<A, B, C, D, E, F, G>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>): IOperator<A, G>; export declare function pipe<A, B, C, D, E, F, G, H>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>, g: OperatorContextFunction<G, H>): IOperator<A, H>; export declare function pipe<A, B, C, D, E, F, G, H, I>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>, g: OperatorContextFunction<G, H>, h: OperatorContextFunction<H, I>): IOperator<A, I>; export declare function pipe<A, B, C, D, E, F, G, H, I, J>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>, g: OperatorContextFunction<G, H>, h: OperatorContextFunction<H, I>, i: OperatorContextFunction<I, J>): IOperator<A, J>; export declare function pipe<A, B, C, D, E, F, G, H, I, J, K>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>, g: OperatorContextFunction<G, H>, h: OperatorContextFunction<H, I>, i: OperatorContextFunction<I, J>, j: OperatorContextFunction<J, K>): IOperator<A, K>; export declare function branch<AI, AO = AI>(a: OperatorContextFunction<AI, AO>): IOperator<AI, AI>; export declare function branch<A, B, C>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>): IOperator<A, A>; export declare function branch<A, B, C, D>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>): IOperator<A, A>; export declare function branch<A, B, C, D, E>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>): IOperator<A, A>; export declare function branch<A, B, C, D, E, F>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>): IOperator<A, A>; export declare function branch<A, B, C, D, E, F, G>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>): IOperator<A, A>; export declare function branch<A, B, C, D, E, F, G, H>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>, g: OperatorContextFunction<G, H>): IOperator<A, A>; export declare function branch<A, B, C, D, E, F, G, H, I>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>, g: OperatorContextFunction<G, H>, h: OperatorContextFunction<H, I>): IOperator<A, A>; export declare function branch<A, B, C, D, E, F, G, H, I, J>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>, g: OperatorContextFunction<G, H>, h: OperatorContextFunction<H, I>, i: OperatorContextFunction<I, J>): IOperator<A, A>; export declare function branch<A, B, C, D, E, F, G, H, I, J, K>(a: OperatorContextFunction<A, B>, b: OperatorContextFunction<B, C>, c: OperatorContextFunction<C, D>, d: OperatorContextFunction<D, E>, e: OperatorContextFunction<E, F>, f: OperatorContextFunction<F, G>, g: OperatorContextFunction<G, H>, h: OperatorContextFunction<H, I>, i: OperatorContextFunction<I, J>, j: OperatorContextFunction<J, K>): IOperator<A, A>; export declare function parallel<I, O1, O2>(a: OperatorContextFunction<I, O1>, b: OperatorContextFunction<I, O2>): IOperator<I, [ O1 extends Promise<infer O1R> ? O1R : O1, O2 extends Promise<infer O2R> ? O2R : O2 ]>; export declare function parallel<I, O1, O2, O3>(a: OperatorContextFunction<I, O1>, b: OperatorContextFunction<I, O2>, c: OperatorContextFunction<I, O3>): IOperator<I, [ O1 extends Promise<infer O1R> ? O1R : O1, O2 extends Promise<infer O2R> ? O2R : O2, O3 extends Promise<infer O3R> ? O3R : O3 ]>; export declare function parallel<I, O1, O2, O3, O4>(a: OperatorContextFunction<I, O1>, b: OperatorContextFunction<I, O2>, c: OperatorContextFunction<I, O3>, d: OperatorContextFunction<I, O4>): IOperator<I, [ O1 extends Promise<infer O1R> ? O1R : O1, O2 extends Promise<infer O2R> ? O2R : O2, O3 extends Promise<infer O3R> ? O3R : O3, O4 extends Promise<infer O4R> ? O4R : O4 ]>; export declare function parallel<I, O1, O2, O3, O4, O5>(a: OperatorContextFunction<I, O1>, b: OperatorContextFunction<I, O2>, c: OperatorContextFunction<I, O3>, d: OperatorContextFunction<I, O4>, e: OperatorContextFunction<I, O5>): IOperator<I, [ O1 extends Promise<infer O1R> ? O1R : O1, O2 extends Promise<infer O2R> ? O2R : O2, O3 extends Promise<infer O3R> ? O3R : O3, O4 extends Promise<infer O4R> ? O4R : O4, O5 extends Promise<infer O5R> ? O5R : O5 ]>; export declare function parallel<I, O1, O2, O3, O4, O5, O6>(a: OperatorContextFunction<I, O1>, b: OperatorContextFunction<I, O2>, c: OperatorContextFunction<I, O3>, d: OperatorContextFunction<I, O4>, e: OperatorContextFunction<I, O5>, f: OperatorContextFunction<I, O5>): IOperator<I, [ O1 extends Promise<infer O1R> ? O1R : O1, O2 extends Promise<infer O2R> ? O2R : O2, O3 extends Promise<infer O3R> ? O3R : O3, O4 extends Promise<infer O4R> ? O4R : O4, O5 extends Promise<infer O5R> ? O5R : O5, O6 extends Promise<infer O6R> ? O6R : O6 ]>; export declare function noop<T>(): IOperator<T, T>; export declare function filter<T>(operation: OperatorContextFunction<T, boolean>): IOperator<T, T>; export declare function catchError<T>(operation: OperatorContextFunction<Error, T>): IOperator<T, T>; export declare function tryCatch<T, K>(paths: { try: OperatorContextFunction<T, K>; catch: OperatorContextFunction<Error, K>; }): IOperator<T, K>; export declare function fork<T extends { [key: string]: any; }, M extends keyof T, K>(key: M, paths: { [U in T[M]]: OperatorContextFunction<T extends { [key in M]: U; } ? T : never, K>; }): IOperator<T, K>; export declare function when<T, K>(operation: OperatorContextFunction<T, boolean>, paths: { true: OperatorContextFunction<T, K>; false: OperatorContextFunction<T, K>; }): IOperator<T, K>; export declare function wait<T>(ms: number): IOperator<T, T>; export declare function debounce<T>(ms: number): IOperator<T, T>; export declare function throttle<T>(ms: number): IOperator<T, T>; export declare function waitUntil<T, C extends IContext<{}>>(operation: (state: C['state']) => boolean): IOperator<T, T>;