Skip to content
type Result<T, E> =
| {
ok: true;
value: T;
}
| {
errors: E;
ok: false;
};

A tagged union representing either a successful value or one or more errors.

Use Result.ok(value) and Result.err(errors) to construct instances. Discriminate with if (result.ok).

Infrastructure errors (wallet not connected, RPC failures, user rejection) are NOT represented as Result.err — they throw. Only user-input validation errors flow through Result.err.

Type Parameters

Type ParameterDefault type
T-
EValidationIssue[]

Example

const result = validateAddress(raw);
if (!result.ok) {
console.error(result.errors);
return;
}
useAddress(result.value);