UNPKG

tamda

Version:

Practical functional programming library for TypeScript

16 lines (15 loc) 1.32 kB
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;