Skip to main content
Module

x/fun/async_either.ts>alt

A collection of algebraic data types, lenses, and schemables based on a light weight higher kinded type implementation. Written for deno.
Latest
function alt
import { alt } from "https://deno.land/x/fun@v2.0.0/async_either.ts";

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

import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
import * as TE from "./async_either.ts";
import * as E from "./either.ts";
import { pipe } from "./fn.ts";

const ta = pipe(
  TE.fail(1),
  TE.alt(TE.wrap(2)),
)

assertEquals(await ta(), E.right(2))

Returns

<A, B>(ta: AsyncEither<B, A>) => AsyncEither<B | J, A | I>