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

Failable

import type { Failable } from "https://github.gh-proxy.cn/raw.githubusercontent.com/baetheus/fun/main/failable.ts";

A Failable structure is a Flatmappable that allows for alternative instances, failures, and recovery.

interface Failable <U extends Kind> extends Flatmappable<U>, Hold<U> {
readonly alt: <A, B = never, C = never, D = unknown, E = unknown>(second: $<U, [A, B, C], [D], [E]>) => (first: $<U, [A, B, C], [D], [E]>) => $<U, [A, B, C], [D], [E]>;
readonly fail: <A = never, B = never, C = never, D = unknown, E = unknown>(value: B) => $<U, [A, B, C], [D], [E]>;
readonly recover: <B, I, J = never, K = never, L = unknown, M = unknown>(fbti: (b: B) => $<U, [I, J, K], [L], [M]>) => <A = never, C = never>(ua: $<U, [A, B, C], [L], [M]>) => $<U, [A | I, J, C | K], [L], [M]>;
}

§Type Parameters

§
U extends Kind
[src]

§Extends

§Properties

§
readonly alt: <A, B = never, C = never, D = unknown, E = unknown>(second: $<U, [A, B, C], [D], [E]>) => (first: $<U, [A, B, C], [D], [E]>) => $<U, [A, B, C], [D], [E]>
[src]
§
readonly fail: <A = never, B = never, C = never, D = unknown, E = unknown>(value: B) => $<U, [A, B, C], [D], [E]>
[src]
§
readonly recover: <B, I, J = never, K = never, L = unknown, M = unknown>(fbti: (b: B) => $<U, [I, J, K], [L], [M]>) => <A = never, C = never>(ua: $<U, [A, B, C], [L], [M]>) => $<U, [A | I, J, C | K], [L], [M]>
[src]