1.0.2 • Published 4 years ago

joris-optional v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

joris-optional

A simple Optional implementation.

Install

npm install joris-optional
yarn add joris-optional

Usage

import { Optional, Some, None } from 'joris-optional';

const maybeNumber: Optional<number> = Some(4);
console.log(maybeNumber.isPresent()); // true

const maybeString: Optional<string> = maybeNumber.map((num) => num.toString());
console.log(maybeString.get()); // "4"

const empty: Optional<string> = None();
console.log(empty.getOrThrow(new Error('What are you doing?!'))); // Error: What are you doing?!
console.log(empty.isEmpty()); // true

Types

Optional<T>
    get(): T;
    getOrThrow(e: Error): T;
    orElse(t: T): T;
    orElseCall(fn: () => T): T;
    map<R>(fn: (t: T) => R): Optional<R>;
    isPresent(): boolean;
    isEmpty(): boolean;
    toString(): string;

Changelog

versionchangelog
1.0.2Fix typo in example
1.0.1Add README and make TypeScript a dev dependency only
1.0.0Initial release
1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago