Skip to content

results-ts


results-ts / AsyncResult

Interface: AsyncResult<T, E>

Defined in: async-result.ts:13

An async wrapper around Result<T, E> that is PromiseLike (so it's awaitable) but also carries all chainable Result methods.

Error behavior in async context: Methods that throw synchronously on Result (e.g. unwrap on Err, flatten on non-nested) will produce a rejected Promise.

Extends

Type Parameters

T

T

E

E

Methods

and()

and<U, E2>(res): AsyncResult<U, E | E2>

Defined in: async-result.ts:151

Returns res if the result is Ok, otherwise returns the Err value of self.

Arguments passed to and are eagerly evaluated; if you are passing the result of a function call, it is recommended to use andThen, which is lazily evaluated.

Type Parameters

U

U

E2

E2

Parameters

res

Result<U, E2>

Returns

AsyncResult<U, E | E2>


andThen()

andThen<U, F>(f): AsyncResult<U, E | F>

Defined in: async-result.ts:158

Calls f if the result is Ok, otherwise returns the Err value of self.

This function can be used for control flow based on Result values.

Type Parameters

U

U

F

F

Parameters

f

(val) => Result<U, F>

Returns

AsyncResult<U, E | F>


andThenAsync()

andThenAsync<U, F>(f): AsyncResult<U, E | F>

Defined in: async-result.ts:163

Async version of andThen. Calls an async f if the result is Ok, otherwise returns the Err value of self.

Type Parameters

U

U

F

F

Parameters

f

(val) => PromiseLike<Result<U, F>>

Returns

AsyncResult<U, E | F>


err()

err(): AsyncOption<E>

Defined in: async-result.ts:46

Converts from AsyncResult<T, E> to AsyncOption<E>.

Returns Some for Err and None for Ok.

Returns

AsyncOption<E>


expect()

expect(msg): Promise<T>

Defined in: async-result.ts:123

Returns the contained Ok value.

Parameters

msg

string

Returns

Promise<T>

Throws

Rejects with PanicError if the value is an Err, with a panic message including the passed message, and the content of the Err.


expectErr()

expectErr(msg): Promise<E>

Defined in: async-result.ts:137

Returns the contained Err value.

Parameters

msg

string

Returns

Promise<E>

Throws

Rejects with PanicError if the value is an Ok, with a panic message including the passed message, and the content of the Ok.


flatten()

flatten<U, F>(this): AsyncResult<U, E | F>

Defined in: async-result.ts:211

Converts from AsyncResult<Result<T, E>, E> to AsyncResult<T, E>.

Async note: If the inner value is not a Result, this produces a rejected Promise with FlattenError rather than a synchronous throw.

Type Parameters

U

U

F

F

Parameters

this

AsyncResult<Result<U, F>, E>

Returns

AsyncResult<U, E | F>


inspect()

inspect(f): AsyncResult<T, E>

Defined in: async-result.ts:99

Calls a function with a reference to the contained value if Ok.

Returns the original result.

Parameters

f

(val) => void

Returns

AsyncResult<T, E>


inspectAsync()

inspectAsync(f): AsyncResult<T, E>

Defined in: async-result.ts:104

Async version of inspect. Calls an async function with a reference to the contained value if Ok, then returns the original result.

Parameters

f

(val) => PromiseLike<void>

Returns

AsyncResult<T, E>


inspectErr()

inspectErr(f): AsyncResult<T, E>

Defined in: async-result.ts:111

Calls a function with a reference to the contained value if Err.

Returns the original result.

Parameters

f

(err) => void

Returns

AsyncResult<T, E>


inspectErrAsync()

inspectErrAsync(f): AsyncResult<T, E>

Defined in: async-result.ts:116

Async version of inspectErr. Calls an async function with a reference to the contained value if Err, then returns the original result.

Parameters

f

(err) => PromiseLike<void>

Returns

AsyncResult<T, E>


isErr()

isErr(): Promise<boolean>

Defined in: async-result.ts:27

Returns a Promise that resolves to true if the result is Err.

Returns

Promise<boolean>


isErrAnd()

isErrAnd(f): Promise<boolean>

Defined in: async-result.ts:32

Returns a Promise that resolves to true if the result is Err and the error inside matches a predicate.

Parameters

f

(err) => boolean

Returns

Promise<boolean>


isOk()

isOk(): Promise<boolean>

Defined in: async-result.ts:17

Returns a Promise that resolves to true if the result is Ok.

Returns

Promise<boolean>


isOkAnd()

isOkAnd(f): Promise<boolean>

Defined in: async-result.ts:22

Returns a Promise that resolves to true if the result is Ok and the value inside matches a predicate.

Parameters

f

(val) => boolean

Returns

Promise<boolean>


map()

map<U>(f): AsyncResult<U, E>

Defined in: async-result.ts:53

Maps an AsyncResult<T, E> to AsyncResult<U, E> by applying a function to a contained Ok value, leaving an Err value untouched.

This function can be used to compose the results of two functions.

Type Parameters

U

U

Parameters

f

(val) => U

Returns

AsyncResult<U, E>


mapAsync()

mapAsync<U>(f): AsyncResult<U, E>

Defined in: async-result.ts:58

Async version of map. Maps an AsyncResult<T, E> to AsyncResult<U, E> by applying an async function to a contained Ok value, leaving an Err value untouched.

Type Parameters

U

U

Parameters

f

(val) => PromiseLike<U>

Returns

AsyncResult<U, E>


mapErr()

mapErr<F>(f): AsyncResult<T, F>

Defined in: async-result.ts:87

Maps an AsyncResult<T, E> to AsyncResult<T, F> by applying a function to a contained Err value, leaving an Ok value untouched.

This function can be used to pass through a successful result while handling an error.

Type Parameters

F

F

Parameters

f

(err) => F

Returns

AsyncResult<T, F>


mapErrAsync()

mapErrAsync<F>(f): AsyncResult<T, F>

Defined in: async-result.ts:92

Async version of mapErr. Maps an AsyncResult<T, E> to AsyncResult<T, F> by applying an async function to a contained Err value, leaving an Ok value untouched.

Type Parameters

F

F

Parameters

f

(err) => PromiseLike<F>

Returns

AsyncResult<T, F>


mapOr()

mapOr<U>(fallback, f): Promise<U>

Defined in: async-result.ts:65

Returns the provided default (if Err), or applies a function to the contained value (if Ok).

Arguments passed to mapOr are eagerly evaluated; if you are passing the result of a function call, it is recommended to use mapOrElse, which is lazily evaluated.

Type Parameters

U

U

Parameters

fallback

U

f

(val) => U

Returns

Promise<U>


mapOrElse()

mapOrElse<U>(fallbackFn, f): Promise<U>

Defined in: async-result.ts:72

Maps an AsyncResult<T, E> to U by applying fallback function fallbackFn to a contained Err value, or function f to a contained Ok value.

This function can be used to unpack a successful result while handling an error.

Type Parameters

U

U

Parameters

fallbackFn

(err) => U

f

(val) => U

Returns

Promise<U>


mapOrElseAsync()

mapOrElseAsync<U>(fallbackFn, f): Promise<U>

Defined in: async-result.ts:77

Async version of mapOrElse. Maps an AsyncResult<T, E> to Promise<U> by applying async fallback function fallbackFn to a contained Err value, or async function f to a contained Ok value.

Type Parameters

U

U

Parameters

fallbackFn

(err) => PromiseLike<U>

f

(val) => PromiseLike<U>

Returns

Promise<U>


match()

match<U>(handlers): Promise<U>

Defined in: async-result.ts:224

Matches the Result with two functions, one for each variant.

Type Parameters

U

U

Parameters

handlers
Err

(err) => U

Ok

(val) => U

Returns

Promise<U>


ok()

ok(): AsyncOption<T>

Defined in: async-result.ts:39

Converts from AsyncResult<T, E> to AsyncOption<T>.

Returns Some for Ok and None for Err.

Returns

AsyncOption<T>


or()

or<T2, F>(res): AsyncResult<T | T2, F>

Defined in: async-result.ts:172

Returns res if the result is Err, otherwise returns the Ok value of self.

Arguments passed to or are eagerly evaluated; if you are passing the result of a function call, it is recommended to use orElse, which is lazily evaluated.

Type Parameters

T2

T2

F

F

Parameters

res

Result<T2, F>

Returns

AsyncResult<T | T2, F>


orElse()

orElse<T2, F>(f): AsyncResult<T | T2, F>

Defined in: async-result.ts:179

Calls f if the result is Err, otherwise returns the Ok value of self.

This function can be used for control flow based on result values.

Type Parameters

T2

T2

F

F

Parameters

f

(err) => Result<T2, F>

Returns

AsyncResult<T | T2, F>


orElseAsync()

orElseAsync<T2, F>(f): AsyncResult<T | T2, F>

Defined in: async-result.ts:184

Async version of orElse. Calls an async f if the result is Err, otherwise returns the Ok value of self.

Type Parameters

T2

T2

F

F

Parameters

f

(err) => PromiseLike<Result<T2, F>>

Returns

AsyncResult<T | T2, F>


transpose()

transpose<T, E>(this): AsyncOption<Result<T, E>>

Defined in: async-result.ts:219

Transposes an AsyncResult of an Option into an AsyncOption of a Result.

Async note: If the inner value is not an Option, this produces a rejected Promise with TransposeError rather than a synchronous throw.

Type Parameters

T

T

E

E

Parameters

this

AsyncResult<Option<T>, E>

Returns

AsyncOption<Result<T, E>>


unwrap()

unwrap(): Promise<T>

Defined in: async-result.ts:130

Returns the contained Ok value.

Returns

Promise<T>

Throws

Rejects with PanicError if the value is an Err, with a panic message provided by the Err's value.


unwrapErr()

unwrapErr(): Promise<E>

Defined in: async-result.ts:144

Returns the contained Err value.

Returns

Promise<E>

Throws

Rejects with PanicError if the value is an Ok, with a custom panic message provided by the Ok's value.


unwrapOr()

unwrapOr<T2>(fallback): Promise<T | T2>

Defined in: async-result.ts:193

Returns the contained Ok value or a provided default.

Arguments passed to unwrapOr are eagerly evaluated; if you are passing the result of a function call, it is recommended to use unwrapOrElse, which is lazily evaluated.

Type Parameters

T2

T2

Parameters

fallback

T2

Returns

Promise<T | T2>


unwrapOrElse()

unwrapOrElse<T2>(f): Promise<T | T2>

Defined in: async-result.ts:198

Returns the contained Ok value or computes it from a closure.

Type Parameters

T2

T2

Parameters

f

(err) => T2

Returns

Promise<T | T2>


unwrapOrElseAsync()

unwrapOrElseAsync<T2>(f): Promise<T | T2>

Defined in: async-result.ts:203

Async version of unwrapOrElse. Returns the contained Ok value or computes it from an async closure.

Type Parameters

T2

T2

Parameters

f

(err) => PromiseLike<T2>

Returns

Promise<T | T2>