import { R } from "https://deno.land/x/ahh@v0.10.0/src/result/mod.ts";
Functionality for Result
.
Static Methods
Return other
if res
is Ok
, or
res
.
Examples
import { R } from "./mod.ts";
console.log(R.and(1, 2)); // 2
console.log(R.and(Error(), 2)); // Error()
console.log(R.and(2, Error())); // Error()
console.log(R.and(Error("a"), Error("b"))); // Error("a")
Returns whether res
strictly equals value
, or
false
if it is an Err
.
Examples
import { R } from "./mod.ts";
console.log(R.contains(1, 1)); // true
console.log(R.contains(1, 2)); // false
console.log(R.contains(Error(), 1)); // false
containsErr<T, E extends Error>(res: Result<T, E>, value: E): boolean
Returns whether res
strictly equals value
, or
false
if it is an Ok
.
This only checks whether res
and value
have the
same name
and message
.
Examples
import { R } from "./mod.ts";
console.log(R.containsErr(1, Error())); // false
console.log(R.containsErr(Error(), Error())); // true
console.log(R.containsErr(Error(), Error("nope"))); // false
Calls f
with res
, and returns the original
res
.
Examples
import { R } from "./mod.ts";
console.log(R.inspect(1, (i) => i + 1)); // 1
console.log(R.inspect(Error(), (i: number) => i + 1)); // Error()
inspectErr<T, E extends Error>(res: Result<T, E>, f: (_: E) => unknown): Result<T, E>
Calls f
with res
, and returns the original
res
.
Examples
import { R } from "./mod.ts";
console.log(R.inspectErr(1, () => Error("nope"))); // 1
console.log(R.inspectErr(Error(), () => Error("nope"))); // Error()
Returns whether res
is an Err
.
Examples
import { R } from "./mod.ts";
console.log(R.isErr(1)); // false
console.log(R.isErr(Error())); // true
Returns whether res
is an Ok
.
Examples
import { R } from "./mod.ts";
console.log(R.isOk(1)); // true
console.log(R.isOk(Error())); // false
Calls f
with res
, and returns the result.
Examples
import { R } from "./mod.ts";
console.log(R.map(1, (i) => i + 1)); // 2
console.log(R.map(Error(), (i: number) => i + 1)); // Error()
Calls f
with res
, and returns the result.
Examples
import { R } from "./mod.ts";
console.log(R.map(1, (_) => Error("new"))); // 1
console.log(R.map(Error(), (_) => Error("new"))); // Error("new")
Return res
if it is an Ok
, or other
.
Examples
import { R } from "./mod.ts";
console.log(R.or(1, 2)); // 1
console.log(R.or<number, Error, Error>(Error(), 2)); // 2
console.log(R.or(2, Error())); // 2
console.log(R.or(Error("a"), Error("b"))); // Error("b")
Returns res
if it is an Ok
, or throws.
Examples
import { R } from "./mod.ts";
console.log(R.unwrap(1)); // 1
R.unwrap(Error()); // throws