-
Notifications
You must be signed in to change notification settings - Fork 0
Result
ghaerdi edited this page Aug 14, 2026
·
2 revisions
Result<T, E> is a discriminated union of Ok<T> and Err<E> — narrow
with isOk() / isErr() (or the match() patterns Result.ok / Result.err,
which hand the unwrapped value or error to the handler).
- Checking
- Extracting Values
- Mapping & Transformation
- Chaining & Side Effects
- Flattening & Transposing
- Pattern Matching
- Cloning
- Destructuring
- Iteration
- Static Methods
-
isOk(): ReturnstrueifOk. -
isErr(): ReturnstrueifErr. -
isOkAnd(fn): ReturnstrueifOkand the value satisfiesfn. -
isErrAnd(fn): ReturnstrueifErrand the error satisfiesfn. -
contains(value): ReturnstrueifOkand the value equalsvalue.
-
ok(): Returns theOkvalue asSome(value)orNone. -
err(): Returns theErrvalue asSome(error)orNone. -
unwrap(): Returns theOkvalue, throws ifErr. Use with caution. -
unwrapErr(): Returns theErrvalue, throws ifOk. -
expect(message): ReturnsOkvalue, throwsmessageifErr. -
expectErr(message): ReturnsErrvalue, throwsmessageifOk. -
unwrapOr(defaultValue): ReturnsOkvalue ordefaultValueifErr. -
unwrapOrElse(fn): ReturnsOkvalue or computes default usingfn(errorValue)ifErr. -
unwrapOrDefault(): ReturnsOkvalue or throws (noDefaulttrait in TypeScript).
-
map(fn): MapsOk<T>toOk<U>. LeavesErruntouched. -
mapErr(fn): MapsErr<E>toErr<F>. LeavesOkuntouched. -
mapOr(defaultValue, fn): AppliesfntoOkvalue, returnsdefaultValueifErr. -
mapOrElse(defaultFn, fn): AppliesfntoOkvalue, appliesdefaultFntoErrvalue. -
mapOrDefault(defaultValue, fn): AppliesfntoOkvalue, returnsdefaultValueifErr.
-
and(res): ReturnsresifOk, else returns self (Err). -
andThen(fn): Callsfn(okValue)ifOk, returns the resultingResult. -
or(res): ReturnsresifErr, else returns self (Ok). -
orElse(fn): Callsfn(errValue)ifErr, returns the resultingResult. -
inspect(fn): Callsfn(okValue)ifOk, returns originalResult. -
inspectErr(fn): Callsfn(errValue)ifErr, returns originalResult.
-
flatten(): ConvertsResult<Result<T, E>, E>toResult<T, E>. -
transpose(): TransposesResult<Option<T>, E>intoOption<Result<T, E>>.
-
match(matcher): Executesmatcher.Ok(value)ormatcher.Err(error), returning the result.
-
cloned(): Returns a newResultwith a deep clone of theOkvalue (usingstructuredClone).Errvalues are not cloned.
-
asTuple(): Returns[undefined, T]forOkor[E, undefined]forErr. -
asObject(): Returns{ error: undefined, value: T }forOkor{ error: E, value: undefined }forErr.
-
iter(): Returns an iterator that yields theOkvalue once, or nothing ifErr. -
[Symbol.iterator](): Iterator protocol — yields theOkvalue if it is iterable.
-
Result.from(fn, errorTransform?): Wraps a sync function that might throw. ReturnsOk(result)orErr(error). -
Result.fromAsync(fn, errorTransform?): Wraps an async function returning a Promise. ReturnsPromise<Result>. -
Result.isResult(value): Type guard, returnstrueifvalueisOkorErr.