baldrick-broth
Version:
Build automation tool and task runner
22 lines (21 loc) • 679 B
TypeScript
type Success<a> = {
status: 'success';
value: a;
};
type Failure<e> = {
status: 'failure';
error: e;
};
export type Result<a, e> = Success<a> | Failure<e>;
/**
* Return a successful response
*/
export declare const succeed: <a>(a: a) => Success<a>;
/**
* Return a failure result
*/
export declare const willFail: <e>(e: e) => Failure<e>;
export declare const withDefault: <a, e>(defaultValue: a) => (result: Result<a, e>) => a;
export declare const map1: <a, b, e>(func: (value: a) => b) => (result: Result<a, e>) => Result<b, e>;
export declare const andThen: <a, b, e>(func: (value: a) => Result<b, e>) => (result: Result<a, e>) => Result<b, e>;
export {};