switch-fn
v1.0.2
Published
Write a functional switch statement.
Downloads
29
Readme
switch-fn
Write a functional switch statement.
Install
$ npm install --save switch-fn
Usage
var Switch = require('switch-fn')
var fn = Switch({
a: actionA,
b: actionB,
default: defaultAction
})
var result = fn('a') // => calls actionA with 'a' and gives back actionA's return value
API
Switch(cases)
-> function
cases
Required
Type: object
An object, with keys being the 'cases' to match against and values being the function to call in each case.
If no case matching the input is found and a 'default' case is given, it will be used.
More Examples
As part of a data pipeline
var pipe = require('value-pipe')
var Switch = require('switch-fn')
var onStatus = pipe(getStatus, Switch({
active: actOnActive,
inactive: actOnInactive,
pending: actOnPending
}))
var result = onStatus(user)
function getStatus (user) {
return user.status
}
Pass in an array for numbers only
var Switch = require('switch-fn')
var fn = Switch([onZero, onOne])
fn(0)
Fibonacci
var fib = Switch({
0: (n) => n,
1: (n) => n,
default: (n) => fib(n - 1) + fib(n - 2)
});
fib(10) // => 55
License
MIT © Andrew Joslin