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()returns- false
- some(value).isSome()returns- true
- none.isNone()returns- true
- none.isSome()returns- false
value()
- some(value).value()returns- value
- none.value()throws an error
map(func)
- some(value).map(func)returns- some(func(value))
- none.map(func)returns- none
flatMap(func)
Conventionally used when func returns another option.
- some(value).flatMap(func)returns- func(value)
- none.flatMap(func)returns- none
filter(predicate)
- some(value).filter(predicate)returns:- some(value)if- predicate(value) === true
- noneif- predicate(value) === false
 
- none.filter(predicate)returns- none
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)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
valueOrElse(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
Functions
option.isOption(value)
- option.isOption(value)returns- trueif- valueis- option.noneor- option.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