Package Exports
- zwitch
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (zwitch) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
zwitch
Handle values based on a property.
Install
This package is ESM only: Node 12+ is needed to use it and it must be imported
instead of required.
npm:
npm install zwitchUse
import {zwitch} from 'zwitch'
var handle = zwitch('type', {invalid, unknown, handlers: {alpha: handleAlpha}})
handle({type: 'alpha'})
function handleAlpha() { /* … */ }Or, with a switch statement:
var field = 'type'
function handle(value) {
var fn
if (!value || typeof value !== 'object' || !(field in value)) {
fn = invalid
} else {
switch (value[field]) {
case 'alpha':
fn = handleAlpha
break
default:
fn = unknown
break
}
}
return fn.apply(this, arguments)
}
handle({type: 'alpha'})
function handleAlpha() { /* … */ }API
This package exports the following identifiers: zwitch.
There is no default export.
zwitch(key[, options])
Create a functional switch, based on a key (string).
options
Options can be omitted and added later to one.
handlers(Object.<Function>, optional) — Object mapping values to handle, stored onone.handlersinvalid(Function, optional) — Handle values withoutkey, stored onone.invalidunknown(Function, optional) — Handle values with an unhandledkey, stored onone.unknown
Returns
Function — See one.
one(value[, rest…])
Handle one value.
Based on the bound key, a respective handler will be called.
If value is not an object, or doesn’t have a key property, the special
“invalid” handler will be called.
If value has an unknown key, the special “unknown” handler will be called.
All arguments, and the context object, are passed through to the handler, and it’s result is returned.
one.handlers
Map of handlers (Object.<string, Function>).
one.invalid
Special handler called if a value doesn’t have a key property.
If not set, undefined is returned for invalid values.
one.unknown
Special handler called if a value does not have a matching
handler.
If not set, undefined is returned for unknown values.
function handler(value[, rest…])
Handle one value.
Related
mapz— Functional map