Class: Result
A Result
represents success (Ok
) or failure (Err
).
The behavior of this type is checked by TypeScript at compile time, and bears no runtime overhead other than the very small cost of the container object.
Properties
err()
static
err: {<T
,E
>():Result
<T
,Unit
>; <T
,E
>(error
):Result
<T
,E
>; }
Call Signature
<
T
,E
>():Result
<T
,Unit
>
Create an instance of Err
.
const anErr = Result.err('alas, failure');
Type Parameters
T
T
= never
E
E
= unknown
Returns
Result
<T
, Unit
>
Call Signature
<
T
,E
>(error
):Result
<T
,E
>
Create an instance of Err
.
const anErr = Result.err('alas, failure');
Type Parameters
T
T
= never
E
E
= unknown
Parameters
error
E
The value to wrap in an Err
.
Returns
Result
<T
, E
>
ok()
static
ok: {():Result
<Unit
,never
>; <T
,E
>(value
):Result
<T
,E
>; }
Call Signature
():
Result
<Unit
,never
>
Create an instance of Ok
.
Note that you may explicitly pass Unit
to the ok
constructor to create a Result<Unit, E>
. However, you may not call the ok
constructor with null
or undefined
to get that result (the type system won't allow you to construct it that way). Instead, for convenience, you can simply call `Result.ok()`
, which will construct the type correctly.
Returns
Result
<Unit
, never
>
Call Signature
<
T
,E
>(value
):Result
<T
,E
>
Type Parameters
T
T
E
E
= never
Parameters
value
T
The value to wrap in an Ok
.
Returns
Result
<T
, E
>