creature-cache
TypeScript icon, indicating that this package has built-in type declarations

0.1.13 • Public • Published

🧟‍♂️ creature-cache

npm NPM npm Coveralls github CircleCI Snyk Vulnerabilities for GitHub Repo

An in-memory cache that can be restored/rehydrated (brought back to life) via a string or array to rebuild the cache Map.

This is particularly handy for frameworks that can generate a cache server-side, and would want to reflect that same cache client-side. For example, anything built in Next or React that is rendered server-side.

I realized I was using the same/similar cache instance in react-contentful, react-request-block, and a new package that I am currently writing, so it just made sense to make this its own package.

Install

Via npm

npm install --save creature-cache

Via Yarn

yarn add creature-cache

How to use

There really isn’t anything too magical about this package. Just a Map instance with a bit of an interface around it to handle initializing, accessing and extracting the current cached values.

Initialization

Intializing a new creature-cache instance is pretty straight forward. Just create your new instance, and optionally include a cache value to rehydrate the cache with.

The cache can be an Array, Object, or a string that can converted back into an object. Internally, this package uses flatted to parse the string and build the internal Map instance.

import Cache from 'creature-cache';
 
const cache = new Cache();
 
... [go nuts]
 

Methods

  • clear(): Cache - Clear the internal cache Map and return a reference back to Cache instance so methods can be chained.

  • extract(): Array - Extract the internal cache Map as an array.

  • has(key): boolean - Check to see if the cache has an instance for the key provided.

  • read(key): any - Read the cached value associated to the provided key.

  • restore(cache): Cache - In the event you want to restore a cache after an instance has been initialized, call this.

  • write(key, value): Cache - Write a cache value to the associated key.

License

MIT © Ryan Hefner

Package Sidebar

Install

npm i creature-cache

Weekly Downloads

6

Version

0.1.13

License

MIT

Unpacked Size

19.8 kB

Total Files

12

Last publish

Collaborators

  • ryanhefner