Package Exports
- file-system-cache
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (file-system-cache) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
file-system-cache
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)
Retrieves the contents of a cached file.
cache.get("foo")
.then(result => /* Success */)
.catch(err => /* Fail */);
Use getSync
for a synchronous version.
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