mapbox-gl
Version:
A WebGL interactive maps library
20 lines (16 loc) • 527 B
JavaScript
// @flow
/**
* A type used for returning and propagating errors. The first element of the union
* represents success and contains a value, and the second represents an error and
* contains an error value.
* @private
*/
export type Result<T, E> =
| {| result: 'success', value: T |}
| {| result: 'error', value: E |};
export function success<T, E>(value: T): Result<T, E> {
return { result: 'success', value };
}
export function error<T, E>(value: E): Result<T, E> {
return { result: 'error', value };
}