XuelesszzZ 94af2b8e7b 6-30-5 | 1 jaar geleden | |
---|---|---|
.. | ||
test | 1 jaar geleden | |
.npmignore | 1 jaar geleden | |
LICENSE | 1 jaar geleden | |
README.md | 1 jaar geleden | |
index.js | 1 jaar geleden | |
package.json | 1 jaar geleden |
An implementation of the option type, sometimes known as the maybe type.
An instance of an option type is an optional value. Either it's none
, or an
instance of Some
:
var option = require("option");
var some = option.some("Bob");
var none = option.none;
A function that returns an optional string isn't that different from a function
that returns a string or null
. The advantage over null is that options
provide a number of functions that help with manipulating optional values.
function greet(user) {
return "Hello " + user.name().valueOrElse("Anonymous");
}
some(value).isNone()
returns false
some(value).isSome()
returns true
none.isNone()
returns true
none.isSome()
returns false
some(value).value()
returns value
none.value()
throws an errorsome(value).map(func)
returns some(func(value))
none.map(func)
returns none
Conventionally used when func
returns another option.
some(value).flatMap(func)
returns func(value)
none.flatMap(func)
returns none
some(value).filter(predicate)
returns:
some(value)
if predicate(value) === true
none
if predicate(value) === false
none.filter(predicate)
returns none
some(value).toArray()
returns [some]
none.toArray()
returns []
If other
is a function (other
conventionally returning another option):
some(value).orElse(other)
returns some(value)
none.orElse(other)
returns other()
If other
is not a function (other
conventionally being another option):
some(value).orElse(other)
returns some(value)
none.orElse(other)
returns other
If other
is a function:
some(value).valueOrElse(other)
returns value
none.valueOrElse(other)
returns other()
If other
is not a function:
some(value).valueOrElse(other)
returns value
none.valueOrElse(other)
returns other
option.isOption(value)
returns true
if value
is option.none
or option.some(x)
.value
is null
or undefined
, option.fromNullable(value)
returns option.none
.option.some(value)
.
For instance, option.fromNullable(5)
returns option.some(5)
.npm install option