@f/index

Generate a keyed map from a list

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@f/index
101.0.47 years ago7 years agoMinified + gzip package size for @f/index in KB

Readme

index
!Build statustravis-imagetravis-url !Git taggit-imagegit-url !NPM versionnpm-imagenpm-url !Code stylestandard-imagestandard-url
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 of list and returns a key 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