You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 years ago | |
|---|---|---|
| .. | ||
| test | 2 years ago | |
| .npmignore | 2 years ago | |
| LICENSE | 2 years ago | |
| README.md | 2 years ago | |
| index.js | 2 years ago | |
| package.json | 2 years ago | |
README.md
options for node.js
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");
}
Methods
isNone() and isSome()
some(value).isNone()returnsfalsesome(value).isSome()returnstruenone.isNone()returnstruenone.isSome()returnsfalse
value()
some(value).value()returnsvaluenone.value()throws an error
map(func)
some(value).map(func)returnssome(func(value))none.map(func)returnsnone
flatMap(func)
Conventionally used when func returns another option.
some(value).flatMap(func)returnsfunc(value)none.flatMap(func)returnsnone
filter(predicate)
some(value).filter(predicate)returns:some(value)ifpredicate(value) === truenoneifpredicate(value) === false
none.filter(predicate)returnsnone
toArray()
some(value).toArray()returns[some]none.toArray()returns[]
orElse(other)
If other is a function (other conventionally returning another option):
some(value).orElse(other)returnssome(value)none.orElse(other)returnsother()
If other is not a function (other conventionally being another option):
some(value).orElse(other)returnssome(value)none.orElse(other)returnsother
valueOrElse(other)
If other is a function:
some(value).valueOrElse(other)returnsvaluenone.valueOrElse(other)returnsother()
If other is not a function:
some(value).valueOrElse(other)returnsvaluenone.valueOrElse(other)returnsother
Functions
option.isOption(value)
option.isOption(value)returnstrueifvalueisoption.noneoroption.some(x).
option.fromNullable(value)
- If
valueisnullorundefined,option.fromNullable(value)returnsoption.none. - Otherwise, returns
option.some(value). For instance,option.fromNullable(5)returnsoption.some(5).
Installation
npm install option