ts-utls
Version:
Utilities for TypeScript library
37 lines • 1.35 kB
TypeScript
import { Either, List } from '..';
export interface Maybe<T> {
ap<V>(maybeFn: Maybe<(val: T) => V>): Maybe<V>;
bind<V>(fn: (val: T) => Maybe<V>): Maybe<V>;
flatMap<V>(fn: (val: T) => Maybe<V>): Maybe<V>;
chain<V>(fn: (val: T) => Maybe<V>): Maybe<V>;
join<V>(): Maybe<V>;
map<V>(fn: (val: T) => V): Maybe<V>;
takeLeft(m: Maybe<T>): Maybe<T>;
takeRight(m: Maybe<T>): Maybe<T>;
cata<Z>(none: () => Z, some: (val: T) => Z): Z;
filter<U extends T>(fn: (val: T) => val is U): Maybe<U>;
filter(fn: (val: T) => boolean): Maybe<T>;
fold<V>(val: V): (fn: (val: T) => V) => V;
forEach(fn: (val: T) => void): void;
getOrElse(val: T): T;
orElse(maybe: Maybe<T>): Maybe<T>;
orSome(val: T | undefined): T | undefined;
orNull(): T | null;
orUndefined(): T | undefined;
isNone(): boolean;
isSome(): boolean;
some(): T;
toArray(): Array<T>;
toEither<E>(left?: E): Either<E, T>;
toList(): List<T>;
}
export declare const Some: <T>(val: T) => Maybe<T>;
export declare const None: <T>() => Maybe<T>;
export declare const Maybe: {
fromNull: <T>(val: T | null) => Maybe<T>;
fromUndefined: <V>(val: V | undefined) => Maybe<V>;
None: <T>() => Maybe<T>;
Some: <T>(val: T) => Maybe<T>;
toList: <T>(val: Maybe<T>) => List<T>;
};
//# sourceMappingURL=maybe.d.ts.map