Type Alias: Result<T, E>
Result<
T,E>: {ok:true;value:T; } | {error:E;ok:false; }
Defined in: src/types/result.ts:67
Result monad representing either success (Ok) or failure (Err).
Type Parameters
• T
Success value type
• E extends Error = Error
Error type (must extend Error)
Remarks
Result is a discriminated union with two variants:
{ ok: true, value: T }- Success case{ ok: false, error: E }- Error case
Use type guards (isOk, isErr) or pattern matching (if/switch on ok field) to safely access the value or error.
Example
function divide(a: number, b: number): Result<number, Error> {
if (b === 0) {
return Err(new Error('Division by zero'));
}
return Ok(a / b);
}
const result = divide(10, 2);
if (result.ok) {
console.log('Result:', result.value); // 5
} else {
console.error('Error:', result.error.message);
}