UNPKG

@eeue56/ts-core

Version:

Core library for TypeScript inspired by Elm

12 lines (11 loc) 583 B
interface Tuple<A, B> { first: A; second: B; } export declare function pair<A, B>(first: A, second: B): Tuple<A, B>; export declare function first<A, B>(tuple: Tuple<A, B>): A; export declare function second<A, B>(tuple: Tuple<A, B>): B; export declare function mapFirst<A, B, X>(func: (val: A) => X, tuple: Tuple<A, B>): Tuple<X, B>; export declare function mapSecond<A, B, X>(func: (val: B) => X, tuple: Tuple<A, B>): Tuple<A, X>; export declare function mapBoth<A, B, X, Y>(firstFunc: (val: A) => X, secondFunc: (val: B) => Y, tuple: Tuple<A, B>): Tuple<X, Y>; export {};