Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

Usage

import * as fun from "https://raw.githubusercontent.com/baetheus/fun/main/async_either.ts";

The AsyncEither datastructure represents an asynchronous operation that can fail. At its heart it is implemented as () => Promise<Either<B, A>>. This thunk makes it a performant but lazy operation at the expense of stack safety.

§Variables

ApplicableAsyncEither
BimappableAsyncEither
bind
bindTo
FailableAsyncEitherParallel
FailableAsyncEitherSequential
FlatmappableAsyncEitherParallel
FlatmappableAsyncEitherSequential
MappableAsyncEither
tap
WrappableAsyncEither

§Functions

alt

Provide an alternative for a failed computation. Useful for implementing defaults.

apply

Apply an argument to a function under the Right side.

applySequential

Sequentially apply arguments

fail

Construct an AsyncEither<B, A> from a value B.

flatmap

Chain AsyncEither based computations together in a pipeline

flatmapFirst
fromAsync

Lift an always succeeding async computation (Async) into a AsyncEither.

fromEither

Lifts an Either<B,A> into a AsyncEither<B, A>.

getCombinableAsyncEither
getInitializableAsyncEither
left

Constructs a AsyncEither from a value and wraps it in an inner Left traditionally signaling a failure.

map

Map a function over the Right side of a AsyncEither

mapSecond

Map a function over the Left side of a AsyncEither

match

Fold away the inner Either from the AsyncEither leaving us with the result of our computation in the form of a Async

recover

Chain AsyncEither based failures, Left sides, useful for recovering from error conditions.

right

Constructs a AsyncEither from a value and wraps it in an inner Right traditionally signaling a successful computation.

tryCatch

Wraps a Async of A in a try-catch block which upon failure returns B instead. Upon success returns a Right and Left for a failure.

wrap

Construct an AsyncEither<B, A> from a value A.

§Interfaces

KindAsyncEither

Specifies AsyncEither as a Higher Kinded Type, with covariant parameter A corresponding to the 0th index of any substitutions and covariant parameter B corresponding to the 1st index of any substitutions.

§Type Aliases

AsyncEither

The AsyncEither type can best be thought of as an asynchronous function that returns an Either. ie. async () => Promise<Either<B, A>>. This forms the basis of most Promise based asynchronous communication in TypeScript.