antv-l7/node_modules/file-system-cache
thinkinggis f7e5376b7d fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
..
lib fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
node_modules fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
test fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
.babelrc fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
.eslintrc fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
.npmignore fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
.travis.yml fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
CHANGELOG.md fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
LICENSE fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
README.md fix(fix css): fix css png 2019-11-22 18:04:14 +08:00
package.json fix(fix css): fix css png 2019-11-22 18:04:14 +08:00

README.md

file-system-cache

Build Status

A super-fast, promise-based cache that reads and writes to the file-system.

Installation

npm install --save file-system-cache

Usage (API)

Create an instance of the cache optionally giving it a folder location to store files within.

import Cache from "file-system-cache";

const cache = Cache({
  basePath: "./.cache", // Optional. Path where cache files are stored (default).
  ns: "my-namespace" // Optional. A grouping namespace for items.
});

The optional ns ("namespace") allows for multiple groupings of files to reside within the one cache folder. When you have multiple caches with different namespaces you can re-use the same keys and they will not collide.

get(key, defaultValue)

Retrieves the contents of a cached file.

cache.get("foo")
  .then(result => /* Success */)
  .catch(err => /* Fail */);

Use getSync for a synchronous version. Pass a defaultValue parameter to have that value returned if nothing exists within the cache.

set(key, value)

Write a value to the cache.

cache.set("foo", "...value...")
  .then(result => /* Success */)

Value types are stored and respected on subsequent calls to get. For examples, passing in Object will return that in it's parsed object state.

Use setSync for a synchronous version.

remove(key)

Deletes the specified cache item from the file-system.

cache.remove("foo")
  .then(() => /* Removed */)

clear()

Clears all cached items from the file-system.

cache.clear()
  .then(() => /* All items deleted */)

save()

Saves (sets) several items to the cache in one operation.

cache.save([{ key:"one", value:"hello" }, { key:"two", value:222 }])
  .then(result => /* All items saved. */)

load()

Loads all files within the cache's namespace.

cache.load()
  .then(result => /* The complete of cached files (for the ns). */)

Test

# Run tests.
npm test

# Watch and re-run tests.
npm run tdd