UNPKG

@sentry/react-native

Version:
52 lines 1.98 kB
import type { Integration, ReplayRecordingMode } from '@sentry/core'; /** * Common interface for React Native Replay integrations. * * Both browser and mobile replay integrations should implement this interface * to allow user manually control the replay. */ export interface Replay extends Integration { /** * Start a replay regardless of sampling rate. Calling this will always * create a new session. Will log a message if replay is already in progress. * * Creates or loads a session, attaches listeners to varying events (DOM, * PerformanceObserver, Recording, Sentry SDK, etc) */ start(): void; /** * Start replay buffering. Buffers until `flush()` is called or, if * `replaysOnErrorSampleRate` > 0, until an error occurs. */ startBuffering(): void; /** * Currently, this needs to be manually called (e.g. for tests). Sentry SDK * does not support a teardown */ stop(): Promise<void>; /** * If not in "session" recording mode, flush event buffer which will create a new replay. * If replay is not enabled, a new session replay is started. * Unless `continueRecording` is false, the replay will continue to record and * behave as a "session"-based replay. * * Otherwise, queue up a flush. */ flush(options?: { continueRecording?: boolean; }): Promise<void>; /** * Get the current session ID. */ getReplayId(): string | undefined; /** * Get the current recording mode. This can be either `session` or `buffer`. * * `session`: Recording the whole session, sending it continuously * `buffer`: Always keeping the last 60s of recording, requires: * - having replaysOnErrorSampleRate > 0 to capture replay when an error occurs * - or calling `flush()` to send the replay */ getRecordingMode(): ReplayRecordingMode | undefined; } //# sourceMappingURL=replayInterface.d.ts.map