data-optional
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

Optional

Simple Java8-inspired monadic class to represent optional values

Installation

npm install --save data-optional

Usage

import Optional from 'data-optional';
 
const empty = Optional.empty();
const value = Optional.of( 20 );
 
empty.isPresent(); // false
value.isPresent(); // true

You can also convert nullable types into optionals.

import { Optional } from 'data-optional';
 
const empty = Optional.ofNullable( null );
const value = Optional.ofNullable( 1 );
 
empty.isPresent(); // false
value.isPresent(); // true

There are also a number of computations that can be done functionally with this module.

import { Optional } from 'data-optional';
 
value = Optional.ofNullable( 1 );
 
value = value.map( n => n * 3 ); // Optional.of( 3 )
 
value = value.flatMap( n => n % 2 === 0 ? Optional.of( n ) : Optional.empty() ); // Optional.empty()
 
value.orElse( 0 ); // 0

Package Sidebar

Install

npm i data-optional

Weekly Downloads

414

Version

0.0.2

License

ISC

Last publish

Collaborators

  • pedromsilva