web-push-notifications
Version:
Pushwoosh web push notifications
46 lines (45 loc) • 1.62 kB
TypeScript
import { type TIDBKeyType, type TIDBQueryValue, type TSdkStoreName } from './Storage.types';
export default class Storage {
/**
* Get database instance (uses shared connection from core/storage)
*/
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>;
}