npm

Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

mapz

1.0.2 • Public • Published

mapz Build Status Coverage Status

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]}) // => ['Hi, 2', 'Hi, 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

install

npm i mapz

Downloadsweekly downloads

11,663

version

1.0.2

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability