From ec81e1920c855d04cf292bec20f77bea160c62c3 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 7 Dec 2022 18:21:47 +0100 Subject: [PATCH 1/2] fix(replay): Add missing rrweb type declarations --- packages/replay/src/rrweb-types.ts | 38 ++++++++++++++++++++++++++++++ packages/replay/src/types.ts | 4 ++-- 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 packages/replay/src/rrweb-types.ts diff --git a/packages/replay/src/rrweb-types.ts b/packages/replay/src/rrweb-types.ts new file mode 100644 index 000000000000..1c6ee198eb33 --- /dev/null +++ b/packages/replay/src/rrweb-types.ts @@ -0,0 +1,38 @@ +/* eslint-disable @typescript-eslint/naming-convention */ + +type blockClass = string | RegExp; +type maskTextClass = string | RegExp; + +enum EventType { + DomContentLoaded = 0, + Load = 1, + FullSnapshot = 2, + IncrementalSnapshot = 3, + Meta = 4, + Custom = 5, + Plugin = 6, +} + +/** + * This is a partial copy of rrweb's eventWithTime type which only contains the properties + * we specifcally need in the SDK. + */ +export type eventWithTime = { + type: EventType; + data: unknown; + timestamp: number; + delay?: number; +}; + +/** + * This is a partial copy of rrweb's recording options which only contains the properties + * we specifically us in the SDK. Users can specify additional properties, hence we add the + * Record union type. + */ +export type recordOptions = { + maskAllInputs?: boolean; + blockClass?: blockClass; + ignoreClass?: string; + maskTextClass?: maskTextClass; + blockSelector?: string; +} & Record; diff --git a/packages/replay/src/types.ts b/packages/replay/src/types.ts index 702a7b5d798f..adf8eed9c9b9 100644 --- a/packages/replay/src/types.ts +++ b/packages/replay/src/types.ts @@ -1,7 +1,7 @@ -import type { eventWithTime, recordOptions } from 'rrweb/typings/types'; +import type { eventWithTime, recordOptions } from './rrweb-types'; export type RecordingEvent = eventWithTime; -export type RecordingOptions = recordOptions; +export type RecordingOptions = recordOptions; export type RecordedEvents = Uint8Array | string; From 5e57422b51ff0eeb3c72cc7678d04282e782a3db Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 7 Dec 2022 18:34:49 +0100 Subject: [PATCH 2/2] move and rename rrweb types file --- packages/replay/src/types.ts | 2 +- packages/replay/src/{rrweb-types.ts => types/rrweb.ts} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename packages/replay/src/{rrweb-types.ts => types/rrweb.ts} (100%) diff --git a/packages/replay/src/types.ts b/packages/replay/src/types.ts index adf8eed9c9b9..a3d9cafde299 100644 --- a/packages/replay/src/types.ts +++ b/packages/replay/src/types.ts @@ -1,4 +1,4 @@ -import type { eventWithTime, recordOptions } from './rrweb-types'; +import type { eventWithTime, recordOptions } from './types/rrweb'; export type RecordingEvent = eventWithTime; export type RecordingOptions = recordOptions; diff --git a/packages/replay/src/rrweb-types.ts b/packages/replay/src/types/rrweb.ts similarity index 100% rename from packages/replay/src/rrweb-types.ts rename to packages/replay/src/types/rrweb.ts