@beenotung/tslib
Version:
utils library in Typescript
20 lines (19 loc) • 644 B
TypeScript
/**
* Created by beenotung on 3/8/17.
*/
export interface Either<L, R> {
isLeft: boolean;
isRight: boolean;
getLeft(): L;
getRight(): R;
mmap<L2, R2>(fl: (l: L) => L2, fr: (r: R) => R2): Either<L2, R2>;
mapLeft<L2>(f: (l: L) => L2): Either<L2, R>;
mapRight<R2>(f: (r: R) => R2): Either<L, R2>;
bindLeft<L2>(f: (l: L) => Either<L2, R>): Either<L2, R>;
bindRight<R2>(f: (r: R) => Either<L, R2>): Either<L, R2>;
}
export declare function right<L, R>(r: R): Either<L, R>;
export declare function left<L, R>(l: L): Either<L, R>;
export declare namespace Either {
function get<A>(either: Either<A, A>): A;
}