Skip to main content
Module

x/ahh/mod.ts>O

Idiomatic type-safety structures for TypeScript.
Go to Latest
class O
Re-export
import { O } from "https://deno.land/x/ahh@v0.9.1/mod.ts";

Functionality for Option.

Static Methods

contains<T>(o: Option<T>, v: T): boolean

Returns whether the contained Some value strictly equals v.

Examples

import { O, None } from "./mod.ts";

console.log(O.contains(1, 1)); // true
console.log(O.contains(1, 2)); // false
console.log(O.contains(None, 1)); // false
expect<T>(o: Option<T>, message: string): o extends Some<T> ? T : never

Returns the contained Some value.

Throws if the Option is a None with the provided message.

Examples

import { O, None } from "./mod.ts";

console.log(O.expect(1, "returns")); // 1
O.expect(None, "throws"); // throws
isNone<T>(o: Option<T>): o is None

Returns whether an Option is a None.

Examples

import { O, None } from "./mod.ts";

console.log(O.isNone(1)); // false
console.log(O.isNone(None)); // true
isSome<T>(o: Option<T>): o is Some<T>

Returns whether an Option is a Some.

Examples

import { O, None } from "./mod.ts";

console.log(O.isSome(1)); // true
console.log(O.isSome(None)); // false
map<T, U>(o: Option<T>, f: (_: T) => U): Option<U>

Maps the contained Some value with f, otherwise None.

Examples

import { O, Some, None } from "./mod.ts";

console.log(O.map(1, (i) => i + 1)); // 2
console.log(O.map<number, number>(None, (i) => i + 1)); // undefined
unwrap<T>(o: Option<T>): o extends Some<T> ? T : never

Returns the contained Some value.

Throws if the Option is a None.

Examples

import { O, None } from "./mod.ts";

console.log(O.unwrap(1)); // 1
O.unwrap(None); // throws
unwrapOr<T>(o: Option<T>, default_: T): T

Returns the contained Some value or the provided default.

Examples

import { O, None } from "./mod.ts";

console.log(O.unwrapOr(1, 5)); // 1
console.log(O.unwrapOr(None, 5)); // 5