UNPKG

1.55 kBTypeScriptView Raw
1import type { OfflineTransportOptions } from '@sentry/core';
2import type { InternalBaseTransportOptions, Transport } from '@sentry/types';
3import type { TextDecoderInternal } from '@sentry/utils';
4type Store = <T>(callback: (store: IDBObjectStore) => T | PromiseLike<T>) => Promise<T>;
5/** Create or open an IndexedDb store */
6export declare function createStore(dbName: string, storeName: string): Store;
7/** Insert into the store */
8export declare function insert(store: Store, value: Uint8Array | string, maxQueueSize: number): Promise<void>;
9/** Pop the oldest value from the store */
10export declare function pop(store: Store): Promise<Uint8Array | string | undefined>;
11export interface BrowserOfflineTransportOptions extends OfflineTransportOptions {
12 /**
13 * Name of indexedDb database to store envelopes in
14 * Default: 'sentry-offline'
15 */
16 dbName?: string;
17 /**
18 * Name of indexedDb object store to store envelopes in
19 * Default: 'queue'
20 */
21 storeName?: string;
22 /**
23 * Maximum number of envelopes to store
24 * Default: 30
25 */
26 maxQueueSize?: number;
27 /**
28 * Only required for testing on node.js
29 * @ignore
30 */
31 textDecoder?: TextDecoderInternal;
32}
33/**
34 * Creates a transport that uses IndexedDb to store events when offline.
35 */
36export declare function makeBrowserOfflineTransport<T extends InternalBaseTransportOptions>(createTransport: (options: T) => Transport): (options: T & BrowserOfflineTransportOptions) => Transport;
37export {};
38//# sourceMappingURL=offline.d.ts.map
\No newline at end of file