Option/Maybe type to be used with flow.js
npm install @ekz/optionSimply get rid of all nulls in your code.
This is a clone of Scala's Option class to be used with flow.js.
``javascript
// @flow
let valueA = Option.of(null).map(x => x + 2).getOrElse(() => 0);
// valueA = 0
let valueB = Some('any object').flatMap(x => Some(${x}!!!)).getOrUndefined();
// valueB = 'any object!!!'
let valueC = Some(null).flatMap(() => Option.of(2)).map(x => x * 3).getOrElse(() => 0);
// valueC = 6
let valueD = Some(1).mapNullable(() => null).getOrReturn(-1);
// valueD = -1
Some(1).equals(Some(1))
// true
None.equals(None)
// true
Some('abc').equals(None)
// false
None.isDefined; // false
Some(1).isDefined; // true
Some(1).isEmpty; // false
Some(null).isEmpty; // false! Option
Some('foo').get(); // 'foo'
None.get(); // throws an error, use getOrElse or getOrUndefined instead
Some(3).filter(x => x % 2 === 0); // None
Some('bar').forEach(x => {
console.log(my value: ${x});`
});
* Option
* Parameters
* get
* isEmpty
* isDefined
* map
* Parameters
* mapNullable
* Parameters
* flatMap
* Parameters
* forEach
* Parameters
* filter
* Parameters
* getOrElse
* Parameters
* getOrReturn
* Parameters
* getOrUndefined
* equals
* Parameters
* toJSON
* of
* Parameters
* None
* Some
* None
* Some
* Parameters
Represents optional values. Instances of Option are either an instance of Some or the object None.
* $privateToken any
Returns the option's value.
Type: function (): A
Returns true if the option is None, false otherwise.
Type: boolean
Returns true if the option is an instance of Some, false otherwise.
Type: boolean
Returns boolean
Returns a Some containing the result of applying f to this Option's value if this Option is nonempty.
#### Parameters
* f function (A): B
Returns Option\
Like map, but if resulting value is null, then returns None.
#### Parameters
* f function (A): B?
Returns Option\
Returns the result of applying f to this Option's value if this Option is nonempty. Returns None if this Option is empty. Slightly different from map in that f is expected to return an Option (which could be None).
#### Parameters
* f function (A): Option\
Returns Option\
Apply the given procedure f to the option's value, if it is nonempty.
#### Parameters
* f function (A): any
Returns void
Returns this Option if it is nonempty and applying the predicate to this Option's value returns true.
#### Parameters
* predicate function (A): boolean
Returns Option\
Returns the option's value if the option is nonempty, otherwise return the result of evaluating other.
#### Parameters
* other function (): B
Returns (A | B)
Returns the option's value if the option is nonempty, otherwise return other.
#### Parameters
* other B
Returns (A | B)
Returns the option's value if the option is nonempty, otherwise returns undefined.
Returns (A | void)
Compares the option's value with other option's value and returns true when they match. None always matches other None.
#### Parameters
* other Option\
Returns boolean
Returns value if present, null otherwise. If value contains a method toJSON,
returns the result of method call.
Returns any
An Option factory which creates Some(x) if the argument is not null, and None if it is null.
#### Parameters
* value V??
Returns Option\
The empty None object
Type: Option\
Creates Some(x). Note that Some(null) is valid.
Type: function (value: A): Option\
The empty None object.
Type: Option\
Creates Some(x). Note that Some(null) is valid.
* value` A
Returns Option\