Skip to content

Dryboard is an async, future-enabled memory key store.

License

Notifications You must be signed in to change notification settings

jasonsantos/dryboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dryboard

Dryboard is an async, future-enabled memory key store.

Installation

using NPM

npm install dryboard --save

using Yarn

yarn add dryboard

Usage

Trivial

const dryboard = require("dryboard").configureDryboard();

dryboard.set("pi", "3.14159265");

const pi = await dryboard.get("pi"); //Without await, this returns a Promise so

console.log(pi); // 3.14159265 this would be a Promise if you don't use await

Less Trivial

const dryboard = require("dryboard").configureDryboard();

setTimeout(() => dryboard.set("pi", "3.14159265"), 3000);

const pi = await dryboard.get("pi"); // waits until resolved

console.log(pi); // 3.14159265

Slightly Less Trivial

const dryboard = require("dryboard").configureDryboard();

const allFetches = fetchAllItemsAndDependencies();
Promise.all(
  allFetches.map(promise =>
    promise.then(item => dryboard.set(item.id, item)).then(async item => ({
      ...item,
      parent: await dryboard.get(item.parentId)
    }))
  )
);

API

configureDryboard(preExistingValues = {})

Returns a new dryboard instance.

preExistingValues is an object that will provide initial values. gets will be resolved immediately if found in this object.

dryboard.get(key, fallbackValue)

Returns a promise to the value of key in the cache.

If key is undefined, this method will return the fallbackValue.

dryboard.set(key, value)

Resolves the promise to the value of key in the cache.

License

MIT © Jason Santos

About

Dryboard is an async, future-enabled memory key store.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published