|
|
hai 10 meses | |
|---|---|---|
| .. | ||
| test | hai 10 meses | |
| .npmignore | hai 10 meses | |
| LICENSE | hai 10 meses | |
| README.md | hai 10 meses | |
| index.js | hai 10 meses | |
| package.json | hai 10 meses | |
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 falsesome(value).isSome() returns truenone.isNone() returns truenone.isSome() returns falsesome(value).value() returns valuenone.value() throws an errorsome(value).map(func) returns some(func(value))none.map(func) returns noneConventionally used when func returns another option.
some(value).flatMap(func) returns func(value)none.flatMap(func) returns nonesome(value).filter(predicate) returns:
some(value) if predicate(value) === truenone if predicate(value) === falsenone.filter(predicate) returns nonesome(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 otherIf other is a function:
some(value).valueOrElse(other) returns valuenone.valueOrElse(other) returns other()If other is not a function:
some(value).valueOrElse(other) returns valuenone.valueOrElse(other) returns otheroption.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