ts-outcome
Version:
A small set of Typescript utils to represent success / failure in a more sane way than throwing errors
25 lines (24 loc) • 505 B
JavaScript
/**
* Creates a successful Outcome.
*/
export function makeSuccess(value) {
return { type: 'success', isSuccess: true, value };
}
/**
* Creates an error Outcome.
*/
export function makeError(error) {
return { type: 'error', isSuccess: false, error };
}
/**
* Checks if an Outcome is successful.
*/
export function isSuccess(result) {
return result.type === 'success';
}
/**
* Checks if an Outcome is an error.
*/
export function isError(result) {
return result.type === 'error';
}