UNPKG

1.47 kBTypeScriptView Raw
1import type { Envelope, InternalBaseTransportOptions, Transport } from '@sentry/types';
2export declare const MIN_DELAY = 100;
3export declare const START_DELAY = 5000;
4export interface OfflineStore {
5 push(env: Envelope): Promise<void>;
6 unshift(env: Envelope): Promise<void>;
7 shift(): Promise<Envelope | undefined>;
8}
9export type CreateOfflineStore = (options: OfflineTransportOptions) => OfflineStore;
10export interface OfflineTransportOptions extends InternalBaseTransportOptions {
11 /**
12 * A function that creates the offline store instance.
13 */
14 createStore?: CreateOfflineStore;
15 /**
16 * Flush the offline store shortly after startup.
17 *
18 * Defaults: false
19 */
20 flushAtStartup?: boolean;
21 /**
22 * Called before an event is stored.
23 *
24 * Return false to drop the envelope rather than store it.
25 *
26 * @param envelope The envelope that failed to send.
27 * @param error The error that occurred.
28 * @param retryDelay The current retry delay in milliseconds.
29 */
30 shouldStore?: (envelope: Envelope, error: Error, retryDelay: number) => boolean | Promise<boolean>;
31}
32/**
33 * Wraps a transport and stores and retries events when they fail to send.
34 *
35 * @param createTransport The transport to wrap.
36 */
37export declare function makeOfflineTransport<TO>(createTransport: (options: TO) => Transport): (options: TO & OfflineTransportOptions) => Transport;
38//# sourceMappingURL=offline.d.ts.map
\No newline at end of file