/** * Usage: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB * Compatibility: https://caniuse.com/#feat=indexeddb */ declare class LocalIndexedDB { private _db; private _version; private _database; private _storeName; private _openLog; /** * Constructor a new indexedDB object * @param database database name * @param version database version * @param storeName store object name * @param openLog - 是否打印 indexedDB 变化 */ constructor(database: string, version: number, storeName: string, openLog?: boolean); /** * Open the database indicated in constructor function. * This method return a Promise object which success will resolve db instance. */ open(): Promise; private getObjectStore; add(value: any, key?: string): Promise>; /** * Set a value to store object by key * @param key the key of store object * @param value the value of store object */ set(key: string, value: any): Promise>; /** * Get the value with the given key * @param key the key of store object */ get(key: string): Promise>; /** * Delete records in store with the given key * @param key the key of store object */ delete(key: string): Promise>; /** * Delete all data in store object */ clear(): Promise>; /** * Get the store object */ getStore(): IDBObjectStore | null; /** * Wrap the database request result as promise object * @param operate A function which operate store */ wrapStoreOperationPromise(operate: (store: IDBObjectStore) => IDBRequest): Promise; private log; } export default LocalIndexedDB;