overmind
Version:
Frictionless state management
75 lines (74 loc) • 8.34 kB
TypeScript
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>;