Driver name: localstorage or sessionstorage
Store data in localStorage or sessionStorage
import { createStorage } from "unstorage";
import localStorageDriver from "unstorage/drivers/localstorage";
const storage = createStorage({
driver: localStorageDriver({ base: "app:" }),
});
Options:
base: Add base to all keys to avoid collisionstorage: (optional) provide localStorage or sessionStorage compatible object.windowKey: (optional) Can be "localStorage" (default) or "sessionStorage"window: (optional) provide window objectStore key-value in IndexedDB.
Driver name: indexeddb
To use it, you will need to install idb-keyval in your project:
npm i idb-keyval
yarn add idb-keyval
pnpm i idb-keyval
bun i idb-keyval
deno i npm:idb-keyval
Usage:
import { createStorage } from "unstorage";
import indexedDbDriver from "unstorage/drivers/indexedb";
const storage = createStorage({
driver: indexedDbDriver({ base: "app:" }),
});
JSON.stringify the value before passing to IndexedDB. If you want objects to be stored "as-is", you can use storage.setItemRaw.Options:
base: Add ${base}: to all keys to avoid collisiondbName: Custom name for database. Defaults to keyval-storestoreName: Custom name for store. Defaults to keyval