npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nkeymap

v0.1.1

Published

NKeyMap is a multi-key map where each stored value can be accessed thanks to a set of distinct keys

Downloads

11

Readme

NKeyMap

NKeyMap is a multi-key map where each stored value can be accessed thanks to a set of distinct keys. NKeyMap does not duplicate values and allows you to quickly access your stored objects.

Example

// Require library
const  NKeyMap  =  require('nkeymap');

// Instanciate map
const  nKeyMap  =  new  NKeyMap();

// Push values you want to store with multiple keys for each
nKeyMap.set(['a', 'b', 'c'], 12); 
nKeyMap.set('d', 'myStoredString');
nKeyMap.set(['key1', 'f'], { myProp1: 52, myProp2: true });

// Access stored values thanks to keys
nKeyMap.get('a');       // === 12
nKeyMap.get('b');       // === 12
nKeyMap.get('c');       // === 12

nKeyMap.get('d');       // === 'myStoredString'

nKeyMap.get('key1');    // === { myProp1: 52, myProp2: true }
nKeyMap.get('f');       // === { myProp1: 52, myProp2: true }

// Get current map size
nKeyMap.size();         // === 3

// Clear values from map
nKeyMap.clean();

nKeyMap.size();         // === 0

// When removed or not existing value
nKeyMap.get('a');               // === null
nKeyMap.get('notExistskey');    // === null

Functions

constructor

Create a new multi-key map

number maxElements (optional) : Maximum length of the map. If the size of the map exceeds the fixed limit, the first added elements are removed from the map (FIFO)

By default, the map does not have a defined limit

get

Get your stored value thanks to one of the keys you had specified when you called the 'set' function

string key : One of the keys that is referred to your stored value

set

Push a new value into the map with some keys to access it later

Array<string> keys : Array of keys that will allow you to access to your value later

Object value : Value you want store into map

clean

Remove all values from the map

size

Get current count of elements available in the map