@piotr-cz/redux-persist-idb-storage
Version:
Redux Persist adapter for IndexedDB storage
52 lines (51 loc) • 1.27 kB
TypeScript
/**
* Thin wrapper around idb to use as redux-persist storage using single object store for all data
* @see https://github.com/jakearchibald/idb
* Must implement methods:
* - getItem(key)
* - setItem(key, item)
* - removeItem(key)
* - getAllKeys() required for Redux Persit v4
*/
import { UpgradeDB, ObjectStore } from 'idb';
export default function createIdbStorage(definedOptions?: {
name?: string;
storeName?: string;
version?: number;
upgradeCallback?: (upgradeDB: UpgradeDB) => ObjectStore<any, string>;
}): {
/**
* Get
* @param {string} key
* @return {Promise}
*/
getItem(key: string): Promise<any>;
/**
* Set
* @param {string} key
* @param {any} item
* @return {Promise}
*/
setItem(key: string, item: any): Promise<void>;
/**
* Remove
* @param {string} key
* @return {Promise}
*/
removeItem(key: string): Promise<void>;
/**
* Get all keys
* @return {Promise}
*/
getAllKeys(): Promise<string[]>;
/**
* Get all data
* @return {Promise}
*/
getAll(): Promise<any[]>;
/**
* Clear storage
* @return {Promise}
*/
clear(): Promise<void>;
};