mapz

Functional map with sugar.
Installation
npm:
npm install mapz
Usage
var mapz = require('mapz')
var map = mapz(fn, {key: 'children', gapless: true})
map({children: [1, 2, 3]})
function fn(value) {
return value > 1 ? 'Hi, ' + value + '.' : null
}
API
mapz(fn[, options])
Functional map with sugar (functional, as values are provided as a
parameter, instead of context object).
Wraps the supplied fn
, which handles one value, so that it
accepts multiple values, invoking fn
for each and returning all
results.
If options
is a string, it’s treated as {key: options}
.
options.gapless
Whether to filter out null
and undefined
results boolean
,
default: false
.
options.indices
Whether to invoke fn
with the index of the value in its context
(boolean
, default: true
);
options.key
If a key (string
, optional) is given, and an object supplied to the
wrapped fn
, values at that object’s key
property are mapped and
the object, instead of the values, is given to fn
as a last
parameter. If a key is given and an array is passed to the wrapped
fn
, no value is given to fn
as a last parameter.
Returns
Function
— See map(values)
map(values)
Invoke the bound fn
for all values. If a key
is bound,
values
can be an object. See options.key
for more info.
Returns
Array.<*>
— Values returned by fn
. If gapless
is true
, null
or undefined
results are not returned by map
.
fn(value[, index], parent?)
Handle one value. If indices
is false
, no index parameter is
passed. If key
is set and an array is given, no parent
is passed.
Returns
*
— Any value.
Related
zwitch
— Handle values based on a property
License
MIT © Titus Wormer