A browser-based cache to store, retrieve, and expire key-value pairs. Built on IndexedDB.
yarn add @internetarchive/local-cache
import { LocalCache } from '@internetarchive/local-cache';
const localCache = new LocalCache();
// set a value
await localCache.set({
key: 'foo',
value: 'bar',
ttl: 10 // in seconds
})
// get a value
let cachedValue = await localCache.get('foo');
console.debug(cachedValue) // 'bar'
// delete a value
await localCache.delete('foo');
cachedValue = await localCache.get('foo');
console.debug(cachedValue) // undefined
const localCache = new LocalCache({
namespace: 'MyCustomNamespace',
defaultTTL: 30 * 60 // 30 minutes
});
yarn start
To run a local development server that serves the basic demo located in demo/index.html
To run the suite of Web Test Runner tests, run
yarn run test
To run the tests in watch mode (for <abbr title="test driven development">TDD</abbr>, for example), run
yarn run test:watch
To scan the project for linting errors, run
yarn run lint
You can lint with ESLint and Prettier individually as well
yarn run lint:eslint
yarn run lint:prettier
To automatically fix many linting errors, run
yarn run format
You can format using ESLint and Prettier individually as well
yarn run format:eslint
yarn run format:prettier
For most of the tools, the configuration is in the package.json
to reduce the amount of files in your project.
If you customize the configuration a lot, you can consider moving them to individual files.