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

asynchronous-map

v0.0.1

Published

Simple lookup table data store that populates asyncronously

Downloads

4

Readme

asynchronous-map

A simple key/value map, where the values are loaded asynchronously.

Backed by JS native Map and like Map, any value (both objects and primitive values) may be used as either a key or a value.

Installation

Install via npm

$ npm install asynchronous-map --save

Usage

var AsyncMap = require('asynchronous-map');

var userMap = new AsyncMap(function(key, callback) {
	// Fetch data for key asynchronously (From a database, remote API etc.)
	...
	callback(null, value);	
});


var userId1 = 'U1234';

userMap.get(userId1, function(err, value) {
	console.log(value);
});

Methods

Constructor

AsyncMap(sourcer)

Parameters

  • sourcer(key, callback) - Function that returns the value for the key via callback. The sourcer function is passed a key and a callback(err, value).

Return value

Returns a newly created AsyncMap object.

clear

Removes all elements in the Map object.

Parameters

None.

delete

removes the specified element in the Map object.

Parameters

  • key - Required. The key of the element to remove from the Map object.

Return value

Returns true if an element in the Map object existed and has been removed, or false if the element does not exist.

get

Returns a specified element from a Map object. If the value not exists in the Map, it is fetched via the sourcer.

Parameters

  • key - Required. The key of the element to remove from the Map object.
  • callback(err, value) - Required. A callback which is called with the value for the key.

Return value

Returns this to support fluent interface.

has

Checks if the key exists in the map. This does not automatically fetch the value.

Parameters

  • key - Required. The key of the element to remove from the Map object.

Return value

Returns true if an element with the specified key exists in the Map object; otherwise false.

keys

Same as Map.keys.

Parameters

  • none.

Return value

Returns a new Iterator object that contains the keys for each element in the Map object in insertion order.

set

Forces to fetch/refresh data via sourcer.

Parameters

  • key - Required. The key of the element to remove from the Map object.
  • callback(err, value) - Optional. A callback which is called with the value for the key.

Return value

Returns this to support fluent interface.

size

Calculates the number of elements in a Map object.

Parameters

None.

Return value

Returns the number of elements in a Map object.

License

MIT