UNPKG

@eeue56/ts-core

Version:

Core library for TypeScript inspired by Elm

18 lines (17 loc) 1.06 kB
export declare type Nothing = { kind: 'Nothing'; }; export declare type Just<A> = { kind: 'Just'; value: A; }; export declare type Maybe<A> = Just<A> | Nothing; export declare function Just<A>(value: A): Maybe<A>; export declare function Nothing<A>(): Maybe<A>; export declare function isJust<A>(maybe: Maybe<A>): maybe is Just<A>; export declare function isNothing<A>(maybe: Maybe<A>): maybe is Just<A>; export declare function withDefault<A>(value: A, maybeValue: Maybe<A>): A; export declare function map<A, Value>(func: (val: A) => Value, maybeValue: Maybe<A>): Maybe<Value>; export declare function map2<A, B, Value>(func: (firstValue: A, secondValue: B) => Value, firstMaybeValue: Maybe<A>, secondMaybeValue: Maybe<B>): Maybe<Value>; export declare function map3<A, B, C, Value>(func: (firstValue: A, secondValue: B, thirdValue: C) => Value, firstMaybeValue: Maybe<A>, secondMaybeValue: Maybe<B>, thirdMaybeValue: Maybe<C>): Maybe<Value>; export declare function andThen<A, B>(func: (firstValue: A) => Maybe<B>, maybeValue: Maybe<A>): Maybe<B>;