UNPKG

serwist

Version:

A Swiss Army knife for service workers.

90 lines 2.41 kB
import type { RequestData } from "./StorableRequest.js"; export interface UnidentifiedQueueStoreEntry { requestData: RequestData; timestamp: number; id?: number; queueName?: string; metadata?: Record<string, unknown>; } export interface BackgroundSyncQueueStoreEntry extends UnidentifiedQueueStoreEntry { id: number; } /** * A class to interact directly an IndexedDB created specifically to save and * retrieve QueueStoreEntries. This class encapsulates all the schema details * to store the representation of a Queue. * * @private */ export declare class BackgroundSyncQueueDb { private _db; /** * Add QueueStoreEntry to underlying db. * * @param entry */ addEntry(entry: UnidentifiedQueueStoreEntry): Promise<void>; /** * Returns the first entry id in the ObjectStore. * * @returns */ getFirstEntryId(): Promise<number | undefined>; /** * Get all the entries filtered by index * * @param queueName * @returns */ getAllEntriesByQueueName(queueName: string): Promise<BackgroundSyncQueueStoreEntry[]>; /** * Returns the number of entries filtered by index * * @param queueName * @returns */ getEntryCountByQueueName(queueName: string): Promise<number>; /** * Deletes a single entry by id. * * @param id the id of the entry to be deleted */ deleteEntry(id: number): Promise<void>; /** * * @param queueName * @returns */ getFirstEntryByQueueName(queueName: string): Promise<BackgroundSyncQueueStoreEntry | undefined>; /** * * @param queueName * @returns */ getLastEntryByQueueName(queueName: string): Promise<BackgroundSyncQueueStoreEntry | undefined>; /** * Returns either the first or the last entries, depending on direction. * Filtered by index. * * @param direction * @param query * @returns * @private */ getEndEntryFromIndex(query: IDBKeyRange, direction: IDBCursorDirection): Promise<BackgroundSyncQueueStoreEntry | undefined>; /** * Returns an open connection to the database. * * @private */ private getDb; /** * Upgrades QueueDB * * @param db * @param oldVersion * @private */ private _upgradeDb; } //# sourceMappingURL=BackgroundSyncQueueDb.d.ts.map