UNPKG

nochoices

Version:

Full featured implementation of options into typescript.

33 lines (32 loc) 1.32 kB
import { OptionalValue } from "./optional-value.js"; import { Option } from "./option.js"; import { Some } from "./some.js"; import { AreEqual, FlattenOption } from "./types.js"; export declare class None<T> extends OptionalValue<T> { isPresent(): boolean; isAbsent(): boolean; unwrap(): T; map<M>(_fn: (a: T) => M): Option<M>; filter(_fn: (a: T) => boolean): Option<T>; expect(err: Error): T; unwrapOr<U>(defaultValue: U): T | U; unwrapOrElse(defaultFn: () => T): T; flatten(): Option<FlattenOption<T>>; zip<U>(_another: OptionalValue<U>): Option<[T, U]>; zipWithSome<U>(_some: Some<U>): Option<[U, T]>; and<V>(_another: Option<V>): Option<V>; or(_self: Option<T>, another: Option<T>): Option<T>; xor(another: OptionalValue<T>): Option<T>; xorWithNone(): Option<T>; xorWithSome(some: Some<T>): Option<T>; andThen<U>(_fn: (t: T) => Option<U>): Option<U>; orElse(fn: () => Option<T>): Option<T>; getOrInsert(value: T): OptionalValue<T>; getOrInsertWith(fn: () => T): OptionalValue<T>; takeValue(): Option<T>; isSomeAnd(_andFn: (t: T) => boolean): boolean; ifSome(_param: (t: T) => void): void; ifNone(fn: () => void): void; toArray(): T[]; equalsWith(another: OptionalValue<T>, _equality: AreEqual<T>): boolean; }