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))
Parameters
ti: AsyncEither<J, I>
Returns
<A, B>(ta: AsyncEither<B, A>) => AsyncEither<B | J, A | I>