UNPKG

web-push-notifications

Version:
64 lines (63 loc) 1.98 kB
import { type TIDBKeyType, type TIDBQueryValue, type TSdkStoreName } from './Storage.types'; export default class Storage { db: Promise<IDBDatabase>; /** * Change database version handler * @param db * @param event */ private dbVersionChangeHandler; /** * Success database request handler * @param resolve * @param event */ private dbRequestSuccessHandler; /** * Need upgrade database version handler * @param event */ private dbRequestUpgradeNeededHandler; /** * Open db */ getDB(): Promise<IDBDatabase>; /** * https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/put * @param storeName * @param data * @param key */ put(storeName: TSdkStoreName, data: any, key?: string): Promise<TIDBKeyType>; /** * https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/delete * @param storeName * @param key */ delete(storeName: TSdkStoreName, key: string | number): Promise<void>; /** * https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/get * @param storeName * @param key * @param defaultValue */ get<Response, D>(storeName: TSdkStoreName, key: TIDBKeyType, defaultValue?: D): Promise<Response | D>; /** * https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/getAll * @param storeName */ getAll<Response>(storeName: TSdkStoreName): Promise<Array<Response>>; /** * https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/count * @param storeName * @param query */ count(storeName: TSdkStoreName, query?: IDBKeyRange): Promise<number>; /** * https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex/count * @param storeName * @param indexName * @param key */ countByIndex(storeName: TSdkStoreName, indexName: string, key?: TIDBQueryValue): Promise<number>; }