1.0.4 • Published 8 years ago
@f/index v1.0.4
index
Generate a keyed map from a list
Installation
$ npm install @f/index
Usage
Use it to figure out what was created/removed from lists, or to test membership, etc.., e.g.
var index = require('@f/index')
var reduce = require('@f/reduce')
function removedItems (cur, prev) {
var map = index(getKey, cur)
return reduce(function (removed, item) {
if (!map[getKey(item)]) removed.push(item)
return removed
}, [], prev)
}
API
index(keyFn?, itemFn?, list)
keyFn
- Optional. Defaults to identity. A function that takes an item oflist
and returns akey
appropriate for use in an object map.itemFn
- Optional. If two arguments are passed,list
is the second argument. Transforms the value in the indexed map.list
- The list of things you want to index
Returns: An indexed map of the items in list
to their corresponding key
as returned by fn(item)
.
License
MIT