@highlight-run/rrweb 1.2.1 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/dist/plugins/console-record.js +454 -0
  2. package/dist/plugins/console-record.min.js +12 -15
  3. package/dist/plugins/console-record.min.js.map +1 -1
  4. package/dist/plugins/console-replay.js +164 -0
  5. package/dist/plugins/console-replay.min.js +5 -0
  6. package/dist/plugins/console-replay.min.js.map +1 -0
  7. package/dist/plugins/sequential-id-record.js +30 -0
  8. package/dist/plugins/sequential-id-record.min.js +2 -0
  9. package/dist/plugins/sequential-id-record.min.js.map +1 -0
  10. package/dist/plugins/sequential-id-replay.js +33 -0
  11. package/dist/plugins/sequential-id-replay.min.js +2 -0
  12. package/dist/plugins/sequential-id-replay.min.js.map +1 -0
  13. package/dist/record/rrweb-record-pack.js +664 -0
  14. package/dist/record/rrweb-record-pack.min.js +4 -0
  15. package/dist/record/rrweb-record-pack.min.js.map +1 -0
  16. package/dist/record/rrweb-record.js +3202 -0
  17. package/dist/record/rrweb-record.min.js +5 -0
  18. package/dist/record/rrweb-record.min.js.map +1 -0
  19. package/dist/replay/rrweb-replay-unpack.js +4926 -0
  20. package/dist/replay/rrweb-replay-unpack.min.js +18 -0
  21. package/dist/replay/rrweb-replay-unpack.min.js.map +1 -0
  22. package/dist/replay/rrweb-replay.js +4518 -0
  23. package/dist/replay/rrweb-replay.min.js +18 -0
  24. package/dist/replay/rrweb-replay.min.js.map +1 -0
  25. package/dist/rrweb-all.js +8889 -0
  26. package/dist/rrweb-all.min.js +29 -0
  27. package/dist/rrweb-all.min.js.map +1 -0
  28. package/dist/rrweb.js +7558 -0
  29. package/dist/rrweb.min.js +6 -17
  30. package/dist/rrweb.min.js.map +1 -1
  31. package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__auto__createBase64WorkerFactory.js +12 -0
  32. package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__auto__isNodeJS.js +7 -0
  33. package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +31 -0
  34. package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__node__WorkerClass.js +11 -0
  35. package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__node__createBase64WorkerFactory.js +18 -0
  36. package/es/rrweb/_virtual/image-bitmap-data-url-worker.js +6 -0
  37. package/es/rrweb/ext/@xstate/fsm/es/index.js +17 -0
  38. package/es/rrweb/ext/base64-arraybuffer/dist/base64-arraybuffer.es5.js +49 -0
  39. package/es/rrweb/ext/fflate/esm/browser.js +777 -0
  40. package/es/rrweb/ext/mitt/dist/mitt.es.js +63 -0
  41. package/es/rrweb/ext/tslib/tslib.es6.js +38 -0
  42. package/es/rrweb/packages/rrdom/es/virtual-dom.js +1099 -0
  43. package/es/rrweb/packages/rrweb/src/entries/all.js +13 -0
  44. package/es/rrweb/packages/rrweb/src/index.js +14 -0
  45. package/es/rrweb/packages/rrweb/src/packer/base.js +3 -0
  46. package/es/rrweb/packages/rrweb/src/packer/pack.js +9 -0
  47. package/es/rrweb/packages/rrweb/src/packer/unpack.js +29 -0
  48. package/es/rrweb/packages/rrweb/src/plugins/console/record/error-stack-parser.js +178 -0
  49. package/es/rrweb/packages/rrweb/src/plugins/console/record/index.js +115 -0
  50. package/es/rrweb/packages/rrweb/src/plugins/console/record/stringify.js +128 -0
  51. package/es/rrweb/packages/rrweb/src/plugins/console/replay/index.js +94 -0
  52. package/es/rrweb/packages/rrweb/src/plugins/sequential-id/record/index.js +22 -0
  53. package/es/rrweb/packages/rrweb/src/plugins/sequential-id/replay/index.js +28 -0
  54. package/es/rrweb/packages/rrweb/src/record/iframe-manager.js +31 -0
  55. package/es/rrweb/packages/rrweb/src/record/index.js +356 -0
  56. package/es/rrweb/packages/rrweb/src/record/mutation.js +491 -0
  57. package/es/rrweb/packages/rrweb/src/record/observer.js +590 -0
  58. package/es/rrweb/packages/rrweb/src/record/observers/canvas/2d.js +49 -0
  59. package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas-manager.js +172 -0
  60. package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas.js +25 -0
  61. package/es/rrweb/packages/rrweb/src/record/observers/canvas/serialize-args.js +123 -0
  62. package/es/rrweb/packages/rrweb/src/record/observers/canvas/webgl.js +59 -0
  63. package/es/rrweb/packages/rrweb/src/record/shadow-dom-manager.js +43 -0
  64. package/es/rrweb/packages/rrweb/src/record/stylesheet-manager.js +31 -0
  65. package/es/rrweb/packages/rrweb/src/replay/canvas/2d.js +29 -0
  66. package/es/rrweb/packages/rrweb/src/replay/canvas/deserialize-args.js +67 -0
  67. package/es/rrweb/packages/rrweb/src/replay/canvas/index.js +43 -0
  68. package/es/rrweb/packages/rrweb/src/replay/canvas/webgl.js +62 -0
  69. package/es/rrweb/packages/rrweb/src/replay/index.js +1555 -0
  70. package/es/rrweb/packages/rrweb/src/replay/machine.js +281 -0
  71. package/es/rrweb/packages/rrweb/src/replay/smoothscroll.js +219 -0
  72. package/es/rrweb/packages/rrweb/src/replay/styles/inject-style.js +8 -0
  73. package/es/rrweb/packages/rrweb/src/replay/timer.js +92 -0
  74. package/es/rrweb/packages/rrweb/src/types.js +75 -0
  75. package/es/rrweb/packages/rrweb/src/utils.js +315 -0
  76. package/es/rrweb/packages/rrweb-snapshot/es/rrweb-snapshot.js +1821 -0
  77. package/lib/plugins/console-record.js +492 -0
  78. package/lib/plugins/console-replay.js +218 -0
  79. package/lib/plugins/sequential-id-record.js +27 -0
  80. package/lib/plugins/sequential-id-replay.js +32 -0
  81. package/lib/record/rrweb-record-pack.js +787 -0
  82. package/lib/record/rrweb-record.js +3363 -0
  83. package/lib/replay/rrweb-replay-unpack.js +5075 -0
  84. package/lib/replay/rrweb-replay.js +4665 -0
  85. package/lib/rrweb-all.js +9181 -0
  86. package/lib/rrweb.js +7814 -0
  87. package/package.json +41 -42
  88. package/typings/entries/all.d.ts +6 -0
  89. package/{dist → typings}/entries/record-pack.d.ts +0 -0
  90. package/{dist → typings}/entries/replay-unpack.d.ts +0 -0
  91. package/{dist → typings}/index.d.ts +1 -2
  92. package/{dist → typings}/packer/base.d.ts +1 -1
  93. package/{dist → typings}/packer/index.d.ts +0 -0
  94. package/{dist → typings}/packer/pack.d.ts +0 -0
  95. package/{dist → typings}/packer/unpack.d.ts +0 -0
  96. package/{dist → typings}/plugins/console/record/error-stack-parser.d.ts +0 -0
  97. package/{dist → typings}/plugins/console/record/index.d.ts +4 -3
  98. package/{dist → typings}/plugins/console/record/stringify.d.ts +1 -1
  99. package/{dist → typings}/plugins/console/replay/index.d.ts +2 -2
  100. package/{dist → typings}/plugins/sequential-id/record/index.d.ts +1 -1
  101. package/{dist → typings}/plugins/sequential-id/replay/index.d.ts +1 -1
  102. package/{dist → typings}/record/iframe-manager.d.ts +3 -3
  103. package/{dist/plugins → typings}/record/index.d.ts +9 -9
  104. package/{dist → typings}/record/mutation.d.ts +6 -8
  105. package/typings/record/observer.d.ts +7 -0
  106. package/{dist/plugins → typings}/record/observers/canvas/2d.d.ts +3 -2
  107. package/{dist → typings}/record/observers/canvas/canvas-manager.d.ts +5 -2
  108. package/{dist/plugins → typings}/record/observers/canvas/canvas.d.ts +2 -2
  109. package/typings/record/observers/canvas/serialize-args.d.ts +6 -0
  110. package/{dist/plugins → typings}/record/observers/canvas/webgl.d.ts +3 -2
  111. package/typings/record/observers/canvas/webgl2.d.ts +2 -0
  112. package/typings/record/shadow-dom-manager.d.ts +22 -0
  113. package/typings/record/stylesheet-manager.d.ts +12 -0
  114. package/typings/record/workers/image-bitmap-data-url-worker.d.ts +5 -0
  115. package/{dist → typings}/replay/canvas/2d.d.ts +3 -3
  116. package/typings/replay/canvas/deserialize-args.d.ts +7 -0
  117. package/{dist/plugins → typings}/replay/canvas/index.d.ts +10 -9
  118. package/typings/replay/canvas/webgl.d.ts +9 -0
  119. package/{dist → typings}/replay/index.d.ts +7 -9
  120. package/{dist → typings}/replay/machine.d.ts +0 -0
  121. package/{dist → typings}/replay/smoothscroll.d.ts +0 -0
  122. package/{dist → typings}/replay/styles/inject-style.d.ts +0 -0
  123. package/{dist → typings}/replay/timer.d.ts +0 -0
  124. package/{dist → typings}/rrdom/index.d.ts +0 -0
  125. package/{dist → typings}/rrdom/tree-node.d.ts +0 -0
  126. package/{dist/plugins → typings}/types.d.ts +536 -509
  127. package/typings/utils.d.ts +43 -0
  128. package/CHANGELOG.md +0 -26
  129. package/README.md +0 -124
  130. package/README.zh_CN.md +0 -122
  131. package/dist/entries/all.d.ts +0 -4
  132. package/dist/index.css +0 -82
  133. package/dist/index.css.map +0 -1
  134. package/dist/index.js +0 -3
  135. package/dist/index.js.LICENSE.txt +0 -14
  136. package/dist/index.js.map +0 -1
  137. package/dist/plugins/entries/all.d.ts +0 -4
  138. package/dist/plugins/entries/record-pack.d.ts +0 -2
  139. package/dist/plugins/entries/replay-unpack.d.ts +0 -2
  140. package/dist/plugins/index.d.ts +0 -9
  141. package/dist/plugins/packer/base.d.ts +0 -7
  142. package/dist/plugins/packer/index.d.ts +0 -2
  143. package/dist/plugins/packer/pack.d.ts +0 -2
  144. package/dist/plugins/packer/unpack.d.ts +0 -2
  145. package/dist/plugins/plugins/console/record/error-stack-parser.d.ts +0 -37
  146. package/dist/plugins/plugins/console/record/index.d.ts +0 -41
  147. package/dist/plugins/plugins/console/record/stringify.d.ts +0 -2
  148. package/dist/plugins/plugins/console/replay/index.d.ts +0 -9
  149. package/dist/plugins/plugins/sequential-id/record/index.d.ts +0 -6
  150. package/dist/plugins/plugins/sequential-id/replay/index.d.ts +0 -7
  151. package/dist/plugins/record/iframe-manager.d.ts +0 -13
  152. package/dist/plugins/record/mutation.d.ts +0 -45
  153. package/dist/plugins/record/observer.d.ts +0 -11
  154. package/dist/plugins/record/observers/canvas/canvas-manager.d.ts +0 -32
  155. package/dist/plugins/record/observers/canvas/serialize-args.d.ts +0 -6
  156. package/dist/plugins/record/shadow-dom-manager.d.ts +0 -34
  157. package/dist/plugins/replay/canvas/2d.d.ts +0 -9
  158. package/dist/plugins/replay/canvas/webgl.d.ts +0 -11
  159. package/dist/plugins/replay/index.d.ts +0 -82
  160. package/dist/plugins/replay/machine.d.ts +0 -85
  161. package/dist/plugins/replay/smoothscroll.d.ts +0 -1
  162. package/dist/plugins/replay/styles/inject-style.d.ts +0 -2
  163. package/dist/plugins/replay/timer.d.ts +0 -19
  164. package/dist/plugins/replay/virtual-styles.d.ts +0 -43
  165. package/dist/plugins/rrdom/index.d.ts +0 -1
  166. package/dist/plugins/rrdom/tree-node.d.ts +0 -20
  167. package/dist/plugins/snapshot/css.d.ts +0 -92
  168. package/dist/plugins/snapshot/index.d.ts +0 -5
  169. package/dist/plugins/snapshot/rebuild.d.ts +0 -19
  170. package/dist/plugins/snapshot/snapshot.d.ts +0 -49
  171. package/dist/plugins/snapshot/types.d.ts +0 -99
  172. package/dist/plugins/snapshot/utils.d.ts +0 -11
  173. package/dist/plugins/utils.d.ts +0 -71
  174. package/dist/record/index.d.ts +0 -9
  175. package/dist/record/observer.d.ts +0 -11
  176. package/dist/record/observers/canvas/2d.d.ts +0 -2
  177. package/dist/record/observers/canvas/canvas.d.ts +0 -2
  178. package/dist/record/observers/canvas/serialize-args.d.ts +0 -6
  179. package/dist/record/observers/canvas/webgl.d.ts +0 -2
  180. package/dist/record/shadow-dom-manager.d.ts +0 -34
  181. package/dist/replay/canvas/index.d.ts +0 -9
  182. package/dist/replay/canvas/webgl.d.ts +0 -11
  183. package/dist/replay/virtual-styles.d.ts +0 -43
  184. package/dist/snapshot/css.d.ts +0 -92
  185. package/dist/snapshot/index.d.ts +0 -5
  186. package/dist/snapshot/rebuild.d.ts +0 -19
  187. package/dist/snapshot/snapshot.d.ts +0 -49
  188. package/dist/snapshot/types.d.ts +0 -99
  189. package/dist/snapshot/utils.d.ts +0 -11
  190. package/dist/types.d.ts +0 -509
  191. package/dist/utils.d.ts +0 -71
@@ -0,0 +1,218 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var NodeType;
6
+ (function (NodeType) {
7
+ NodeType[NodeType["Document"] = 0] = "Document";
8
+ NodeType[NodeType["DocumentType"] = 1] = "DocumentType";
9
+ NodeType[NodeType["Element"] = 2] = "Element";
10
+ NodeType[NodeType["Text"] = 3] = "Text";
11
+ NodeType[NodeType["CDATA"] = 4] = "CDATA";
12
+ NodeType[NodeType["Comment"] = 5] = "Comment";
13
+ })(NodeType || (NodeType = {}));
14
+
15
+ const DEPARTED_MIRROR_ACCESS_WARNING = 'Please stop import mirror directly. Instead of that,' +
16
+ '\r\n' +
17
+ 'now you can use replayer.getMirror() to access the mirror instance of a replayer,' +
18
+ '\r\n' +
19
+ 'or you can use record.mirror to access the mirror instance during recording.';
20
+ let _mirror = {
21
+ map: {},
22
+ getId() {
23
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
24
+ return -1;
25
+ },
26
+ getNode() {
27
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
28
+ return null;
29
+ },
30
+ removeNodeFromMap() {
31
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
32
+ },
33
+ has() {
34
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
35
+ return false;
36
+ },
37
+ reset() {
38
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
39
+ },
40
+ };
41
+ if (typeof window !== 'undefined' && window.Proxy && window.Reflect) {
42
+ _mirror = new Proxy(_mirror, {
43
+ get(target, prop, receiver) {
44
+ if (prop === 'map') {
45
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
46
+ }
47
+ return Reflect.get(target, prop, receiver);
48
+ },
49
+ });
50
+ }
51
+
52
+ const PLUGIN_NAME = 'rrweb/console@1';
53
+
54
+ var EventType;
55
+ (function (EventType) {
56
+ EventType[EventType["DomContentLoaded"] = 0] = "DomContentLoaded";
57
+ EventType[EventType["Load"] = 1] = "Load";
58
+ EventType[EventType["FullSnapshot"] = 2] = "FullSnapshot";
59
+ EventType[EventType["IncrementalSnapshot"] = 3] = "IncrementalSnapshot";
60
+ EventType[EventType["Meta"] = 4] = "Meta";
61
+ EventType[EventType["Custom"] = 5] = "Custom";
62
+ EventType[EventType["Plugin"] = 6] = "Plugin";
63
+ })(EventType || (EventType = {}));
64
+ var IncrementalSource;
65
+ (function (IncrementalSource) {
66
+ IncrementalSource[IncrementalSource["Mutation"] = 0] = "Mutation";
67
+ IncrementalSource[IncrementalSource["MouseMove"] = 1] = "MouseMove";
68
+ IncrementalSource[IncrementalSource["MouseInteraction"] = 2] = "MouseInteraction";
69
+ IncrementalSource[IncrementalSource["Scroll"] = 3] = "Scroll";
70
+ IncrementalSource[IncrementalSource["ViewportResize"] = 4] = "ViewportResize";
71
+ IncrementalSource[IncrementalSource["Input"] = 5] = "Input";
72
+ IncrementalSource[IncrementalSource["TouchMove"] = 6] = "TouchMove";
73
+ IncrementalSource[IncrementalSource["MediaInteraction"] = 7] = "MediaInteraction";
74
+ IncrementalSource[IncrementalSource["StyleSheetRule"] = 8] = "StyleSheetRule";
75
+ IncrementalSource[IncrementalSource["CanvasMutation"] = 9] = "CanvasMutation";
76
+ IncrementalSource[IncrementalSource["Font"] = 10] = "Font";
77
+ IncrementalSource[IncrementalSource["Log"] = 11] = "Log";
78
+ IncrementalSource[IncrementalSource["Drag"] = 12] = "Drag";
79
+ IncrementalSource[IncrementalSource["StyleDeclaration"] = 13] = "StyleDeclaration";
80
+ })(IncrementalSource || (IncrementalSource = {}));
81
+ var MouseInteractions;
82
+ (function (MouseInteractions) {
83
+ MouseInteractions[MouseInteractions["MouseUp"] = 0] = "MouseUp";
84
+ MouseInteractions[MouseInteractions["MouseDown"] = 1] = "MouseDown";
85
+ MouseInteractions[MouseInteractions["Click"] = 2] = "Click";
86
+ MouseInteractions[MouseInteractions["ContextMenu"] = 3] = "ContextMenu";
87
+ MouseInteractions[MouseInteractions["DblClick"] = 4] = "DblClick";
88
+ MouseInteractions[MouseInteractions["Focus"] = 5] = "Focus";
89
+ MouseInteractions[MouseInteractions["Blur"] = 6] = "Blur";
90
+ MouseInteractions[MouseInteractions["TouchStart"] = 7] = "TouchStart";
91
+ MouseInteractions[MouseInteractions["TouchMove_Departed"] = 8] = "TouchMove_Departed";
92
+ MouseInteractions[MouseInteractions["TouchEnd"] = 9] = "TouchEnd";
93
+ MouseInteractions[MouseInteractions["TouchCancel"] = 10] = "TouchCancel";
94
+ })(MouseInteractions || (MouseInteractions = {}));
95
+ var CanvasContext;
96
+ (function (CanvasContext) {
97
+ CanvasContext[CanvasContext["2D"] = 0] = "2D";
98
+ CanvasContext[CanvasContext["WebGL"] = 1] = "WebGL";
99
+ CanvasContext[CanvasContext["WebGL2"] = 2] = "WebGL2";
100
+ })(CanvasContext || (CanvasContext = {}));
101
+ var MediaInteractions;
102
+ (function (MediaInteractions) {
103
+ MediaInteractions[MediaInteractions["Play"] = 0] = "Play";
104
+ MediaInteractions[MediaInteractions["Pause"] = 1] = "Pause";
105
+ MediaInteractions[MediaInteractions["Seeked"] = 2] = "Seeked";
106
+ MediaInteractions[MediaInteractions["VolumeChange"] = 3] = "VolumeChange";
107
+ })(MediaInteractions || (MediaInteractions = {}));
108
+ var ReplayerEvents;
109
+ (function (ReplayerEvents) {
110
+ ReplayerEvents["Start"] = "start";
111
+ ReplayerEvents["Pause"] = "pause";
112
+ ReplayerEvents["Resume"] = "resume";
113
+ ReplayerEvents["Resize"] = "resize";
114
+ ReplayerEvents["Finish"] = "finish";
115
+ ReplayerEvents["FullsnapshotRebuilded"] = "fullsnapshot-rebuilded";
116
+ ReplayerEvents["LoadStylesheetStart"] = "load-stylesheet-start";
117
+ ReplayerEvents["LoadStylesheetEnd"] = "load-stylesheet-end";
118
+ ReplayerEvents["SkipStart"] = "skip-start";
119
+ ReplayerEvents["SkipEnd"] = "skip-end";
120
+ ReplayerEvents["MouseInteraction"] = "mouse-interaction";
121
+ ReplayerEvents["EventCast"] = "event-cast";
122
+ ReplayerEvents["CustomEvent"] = "custom-event";
123
+ ReplayerEvents["Flush"] = "flush";
124
+ ReplayerEvents["StateChange"] = "state-change";
125
+ ReplayerEvents["PlayBack"] = "play-back";
126
+ })(ReplayerEvents || (ReplayerEvents = {}));
127
+
128
+ const ORIGINAL_ATTRIBUTE_NAME = '__rrweb_original__';
129
+ const defaultLogConfig = {
130
+ level: [
131
+ 'assert',
132
+ 'clear',
133
+ 'count',
134
+ 'countReset',
135
+ 'debug',
136
+ 'dir',
137
+ 'dirxml',
138
+ 'error',
139
+ 'group',
140
+ 'groupCollapsed',
141
+ 'groupEnd',
142
+ 'info',
143
+ 'log',
144
+ 'table',
145
+ 'time',
146
+ 'timeEnd',
147
+ 'timeLog',
148
+ 'trace',
149
+ 'warn',
150
+ ],
151
+ replayLogger: undefined,
152
+ };
153
+ class LogReplayPlugin {
154
+ constructor(config) {
155
+ this.config = Object.assign(defaultLogConfig, config);
156
+ }
157
+ getConsoleLogger() {
158
+ const replayLogger = {};
159
+ for (const level of this.config.level) {
160
+ if (level === 'trace') {
161
+ replayLogger[level] = (data) => {
162
+ const logger = console.log[ORIGINAL_ATTRIBUTE_NAME]
163
+ ? console.log[ORIGINAL_ATTRIBUTE_NAME]
164
+ : console.log;
165
+ logger(...data.payload.map((s) => JSON.parse(s)), this.formatMessage(data));
166
+ };
167
+ }
168
+ else {
169
+ replayLogger[level] = (data) => {
170
+ const logger = console[level][ORIGINAL_ATTRIBUTE_NAME]
171
+ ? console[level][ORIGINAL_ATTRIBUTE_NAME]
172
+ : console[level];
173
+ logger(...data.payload.map((s) => JSON.parse(s)), this.formatMessage(data));
174
+ };
175
+ }
176
+ }
177
+ return replayLogger;
178
+ }
179
+ formatMessage(data) {
180
+ if (data.trace.length === 0) {
181
+ return '';
182
+ }
183
+ const stackPrefix = '\n\tat ';
184
+ let result = stackPrefix;
185
+ result += data.trace.join(stackPrefix);
186
+ return result;
187
+ }
188
+ }
189
+ const getReplayConsolePlugin = (options) => {
190
+ const replayLogger = (options === null || options === void 0 ? void 0 : options.replayLogger) || new LogReplayPlugin(options).getConsoleLogger();
191
+ return {
192
+ handler(event, _isSync, context) {
193
+ let logData = null;
194
+ if (event.type === EventType.IncrementalSnapshot &&
195
+ event.data.source === IncrementalSource.Log) {
196
+ logData = event.data;
197
+ }
198
+ else if (event.type === EventType.Plugin &&
199
+ event.data.plugin === PLUGIN_NAME) {
200
+ logData = event.data.payload;
201
+ }
202
+ if (logData) {
203
+ try {
204
+ if (typeof replayLogger[logData.level] === 'function') {
205
+ replayLogger[logData.level](logData);
206
+ }
207
+ }
208
+ catch (error) {
209
+ if (context.replayer.config.showWarning) {
210
+ console.warn(error);
211
+ }
212
+ }
213
+ }
214
+ },
215
+ };
216
+ };
217
+
218
+ exports.getReplayConsolePlugin = getReplayConsolePlugin;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const defaultOptions = {
6
+ key: '_sid',
7
+ };
8
+ const PLUGIN_NAME = 'rrweb/sequential-id@1';
9
+ const getRecordSequentialIdPlugin = (options) => {
10
+ const _options = options
11
+ ? Object.assign({}, defaultOptions, options)
12
+ : defaultOptions;
13
+ let id = 0;
14
+ return {
15
+ name: PLUGIN_NAME,
16
+ eventProcessor(event) {
17
+ Object.assign(event, {
18
+ [_options.key]: ++id,
19
+ });
20
+ return event;
21
+ },
22
+ options: _options,
23
+ };
24
+ };
25
+
26
+ exports.PLUGIN_NAME = PLUGIN_NAME;
27
+ exports.getRecordSequentialIdPlugin = getRecordSequentialIdPlugin;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const defaultOptions = {
6
+ key: '_sid',
7
+ warnOnMissingId: true,
8
+ };
9
+ const getReplaySequentialIdPlugin = (options) => {
10
+ const { key, warnOnMissingId } = options
11
+ ? Object.assign({}, defaultOptions, options)
12
+ : defaultOptions;
13
+ let currentId = 1;
14
+ return {
15
+ handler(event) {
16
+ if (key in event) {
17
+ const id = event[key];
18
+ if (id !== currentId) {
19
+ console.error(`[sequential-id-plugin]: expect to get an id with value "${currentId}", but got "${id}"`);
20
+ }
21
+ else {
22
+ currentId++;
23
+ }
24
+ }
25
+ else if (warnOnMissingId) {
26
+ console.warn(`[sequential-id-plugin]: failed to get id in key: "${key}"`);
27
+ }
28
+ },
29
+ };
30
+ };
31
+
32
+ exports.getReplaySequentialIdPlugin = getReplaySequentialIdPlugin;