tamda
Version:
Practical functional programming library for TypeScript
16 lines (15 loc) • 1.32 kB
TypeScript
export declare type Nullary<A> = () => A;
export declare type Unary<A, B> = (a: A) => B;
export declare type Binary<A, B, C> = (a: A, b: B) => C;
export declare type Ternary<A, B, C, D> = (a: A, b: B, c: C) => D;
export declare type Quaternary<A, B, C, D, E> = (a: A, b: B, c: C, d: D) => E;
export declare type Quinary<A, B, C, D, E, F> = (a: A, b: B, c: C, d: D, e: E) => F;
export declare type Senary<A, B, C, D, E, F, G> = (a: A, b: B, c: C, d: D, e: E, f: F) => G;
export declare type Septenary<A, B, C, D, E, F, G, H> = (a: A, b: B, c: C, d: D, e: E, f: F, g: G) => H;
export declare type Octonary<A, B, C, D, E, F, G, H, I> = (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) => I;
export declare type Novenary<A, B, C, D, E, F, G, H, I, J> = (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) => J;
export declare type Denary<A, B, C, D, E, F, G, H, I, J, K> = (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) => K;
export declare type Mapper<T, R> = (item: T, index: number, array: T[]) => R;
export declare type Predicate<T> = (item: T, index: number, array: T[]) => boolean;
export declare type Reducer<T, A> = (accumulator: A, item: T, index: number, array: T[]) => A;
export declare type ReducePredicate<T, A> = (accumulator: A, item: T, index: number, array: T[]) => boolean;