UNPKG

nochoices

Version:

Full featured implementation of options into typescript.

34 lines (33 loc) 1.32 kB
import { OptionalValue } from "./optional-value.js"; import { Option } from "./option.js"; import { AreEqual, FlattenOption } from "./types.js"; export declare class Some<T> extends OptionalValue<T> { value: T; constructor(value: 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; 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; }