@blakewatson/datastore
Version:
Save data to IndexedDB using localStorage APIs.
44 lines • 1.37 kB
TypeScript
/**
* @typedef {Object} SetupDbOptions
* @property {string} name
* @property {number} [version]
* @property {string[] | string} [storesToCreate]
* @property {(db: IDBDatabase, stores: DataStore[]) => void} [onUpgradeNeeded]
*/
export default class DataStore {
/**
* Create a new database with one or more stores.
* @param {SetupDbOptions} options
*/
static setupDb(options: SetupDbOptions): Promise<any>;
/**
* @param {string} dbName
* @param {string} storeName
*/
constructor(dbName?: string, storeName?: string);
/** @type {string | null} */
dbName: string | null;
/** @type {string | null} */
storeName: string | null;
getDb(): Promise<any>;
/** @param {string | number} key */
getItem(key: string | number): Promise<any>;
/**
* @param {string | number} key
* @param {any} value
*/
setItem(key: string | number, value: any): Promise<void>;
/** @param {string | number} key */
removeItem(key: string | number): Promise<void>;
keys(): Promise<any>;
count(): Promise<any>;
length(): Promise<any>;
clear(): Promise<void>;
}
export type SetupDbOptions = {
name: string;
version?: number;
storesToCreate?: string[] | string;
onUpgradeNeeded?: (db: IDBDatabase, stores: DataStore[]) => void;
};
//# sourceMappingURL=DataStore.d.ts.map