Skip to content

Latest commit

History

History
88 lines (65 loc) 路 2.31 KB

readme.md

File metadata and controls

88 lines (65 loc) 路 2.31 KB

keyalesce

Get the same key for the same sequence of values!

Features

  • Simple: a single function that takes an array and returns a key
  • Tiny: 580 bytes gzipped!
  • Performant: maintains a regularly pruned internal trie of the value sequences

When would I use this and how does it work?

Read my post!

Install

$ npm i keyalesce

Usage

import keyalesce from 'keyalesce'

const hangouts = new Set()

const createHangoutKey = (person1, person2) =>
  keyalesce([person1, person2].sort())
const hangOut = (person1, person2) =>
  hangouts.add(createHangoutKey(person1, person2))
const didTheyHangOut = (person1, person2) =>
  hangouts.has(createHangoutKey(person1, person2))

hangOut(`Tomer`, `Samuel`)
hangOut(`Tomer`, `Amanda`)

console.log(didTheyHangOut(`Tomer`, `Samuel`))
console.log(didTheyHangOut(`Samuel`, `Tomer`))
//=> true
//=> true

console.log(didTheyHangOut(`Tomer`, `Amanda`))
console.log(didTheyHangOut(`Amanda`, `Tomer`))
//=> true
//=> true

console.log(didTheyHangOut(`Samuel`, `Amanda`))
console.log(didTheyHangOut(`Amanda`, `Samuel`))
//=> false
//=> false

Contributing

Stars are always welcome!

For bugs and feature requests, please create an issue.

For pull requests, please read the contributing guidelines.

License

Apache License 2.0

This is not an official Google product.