typescript-nullsafe
Version:
18 lines (17 loc) • 800 B
TypeScript
export declare class Optional<T> {
private readonly value;
private constructor();
filter(filter: (value: T) => boolean): Optional<T>;
flatMap<S>(mapper: (value: T) => Optional<S>): Optional<S>;
map<S>(mapper: (value: T) => S): Optional<S>;
get(): T;
ifPresent(consumer: (value: T) => void): void;
isPresent(): boolean;
isEmpty(): boolean;
orElse<R extends T | null | undefined>(defaultValue: R): T | R;
orElseGet<R extends T | null | undefined>(provider: () => R): T | R;
ifPresentOrElse(consumer: (value: T) => void, orElseConsumer: () => void): void;
static ofNullable<T>(data: T | undefined | null): Optional<T>;
static of<T>(data: T extends null | undefined ? never : T): Optional<T>;
static empty<T>(): Optional<T>;
}