nochoices
Version:
Full featured implementation of options into typescript.
33 lines (32 loc) • 1.32 kB
TypeScript
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;
}