@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
@@ -1,92 +0,0 @@
1
- export interface ParserOptions {
2
- silent?: boolean;
3
- source?: string;
4
- }
5
- export interface ParserError {
6
- message?: string;
7
- reason?: string;
8
- filename?: string;
9
- line?: number;
10
- column?: number;
11
- source?: string;
12
- }
13
- export interface Loc {
14
- line?: number;
15
- column?: number;
16
- }
17
- export interface Node {
18
- type?: string;
19
- parent?: Node;
20
- position?: {
21
- start?: Loc;
22
- end?: Loc;
23
- source?: string;
24
- content?: string;
25
- };
26
- }
27
- export interface Rule extends Node {
28
- selectors?: string[];
29
- declarations?: Array<Declaration | Comment>;
30
- }
31
- export interface Declaration extends Node {
32
- property?: string;
33
- value?: string;
34
- }
35
- export interface Comment extends Node {
36
- comment?: string;
37
- }
38
- export interface Charset extends Node {
39
- charset?: string;
40
- }
41
- export interface CustomMedia extends Node {
42
- name?: string;
43
- media?: string;
44
- }
45
- export interface Document extends Node {
46
- document?: string;
47
- vendor?: string;
48
- rules?: Array<Rule | Comment | AtRule>;
49
- }
50
- export interface FontFace extends Node {
51
- declarations?: Array<Declaration | Comment>;
52
- }
53
- export interface Host extends Node {
54
- rules?: Array<Rule | Comment | AtRule>;
55
- }
56
- export interface Import extends Node {
57
- import?: string;
58
- }
59
- export interface KeyFrames extends Node {
60
- name?: string;
61
- vendor?: string;
62
- keyframes?: Array<KeyFrame | Comment>;
63
- }
64
- export interface KeyFrame extends Node {
65
- values?: string[];
66
- declarations?: Array<Declaration | Comment>;
67
- }
68
- export interface Media extends Node {
69
- media?: string;
70
- rules?: Array<Rule | Comment | AtRule>;
71
- }
72
- export interface Namespace extends Node {
73
- namespace?: string;
74
- }
75
- export interface Page extends Node {
76
- selectors?: string[];
77
- declarations?: Array<Declaration | Comment>;
78
- }
79
- export interface Supports extends Node {
80
- supports?: string;
81
- rules?: Array<Rule | Comment | AtRule>;
82
- }
83
- export declare type AtRule = Charset | CustomMedia | Document | FontFace | Host | Import | KeyFrames | Media | Namespace | Page | Supports;
84
- export interface StyleRules {
85
- source?: string;
86
- rules: Array<Rule | Comment | AtRule>;
87
- parsingErrors?: ParserError[];
88
- }
89
- export interface Stylesheet extends Node {
90
- stylesheet?: StyleRules;
91
- }
92
- export declare function parse(css: string, options?: ParserOptions): Stylesheet;
@@ -1,5 +0,0 @@
1
- import snapshot, { serializeNodeWithId, transformAttribute, visitSnapshot, cleanupSnapshot, needMaskingText, IGNORED_NODE } from './snapshot';
2
- import rebuild, { buildNodeWithSN, addHoverClass, createCache } from './rebuild';
3
- export * from './types';
4
- export * from './utils';
5
- export { snapshot, serializeNodeWithId, rebuild, buildNodeWithSN, addHoverClass, createCache, transformAttribute, visitSnapshot, cleanupSnapshot, needMaskingText, IGNORED_NODE, };
@@ -1,19 +0,0 @@
1
- import { serializedNodeWithId, idNodeMap, INode, BuildCache } from './types';
2
- export declare function addHoverClass(cssText: string, cache: BuildCache): string;
3
- export declare function createCache(): BuildCache;
4
- export declare function buildNodeWithSN(n: serializedNodeWithId, options: {
5
- doc: Document;
6
- map: idNodeMap;
7
- skipChild?: boolean;
8
- hackCss: boolean;
9
- afterAppend?: (n: INode) => unknown;
10
- cache: BuildCache;
11
- }): INode | null;
12
- declare function rebuild(n: serializedNodeWithId, options: {
13
- doc: Document;
14
- onVisit?: (node: INode) => unknown;
15
- hackCss?: boolean;
16
- afterAppend?: (n: INode) => unknown;
17
- cache: BuildCache;
18
- }): [Node | null, idNodeMap];
19
- export default rebuild;
@@ -1,49 +0,0 @@
1
- import { serializedNodeWithId, INode, idNodeMap, MaskInputOptions, SlimDOMOptions, MaskTextFn, MaskInputFn, KeepIframeSrcFn } from './types';
2
- export declare const IGNORED_NODE = -2;
3
- export declare function absoluteToStylesheet(cssText: string | null, href: string): string;
4
- export declare function absoluteToDoc(doc: Document, attributeValue: string): string;
5
- export declare function transformAttribute(doc: Document, tagName: string, name: string, value: string): string;
6
- export declare function _isBlockedElement(element: HTMLElement, blockClass: string | RegExp, blockSelector: string | null): boolean;
7
- export declare function needMaskingText(node: Node | null, maskTextClass: string | RegExp, maskTextSelector: string | null): boolean;
8
- export declare function serializeNodeWithId(n: Node | INode, options: {
9
- doc: Document;
10
- map: idNodeMap;
11
- blockClass: string | RegExp;
12
- blockSelector: string | null;
13
- maskTextClass: string | RegExp;
14
- maskTextSelector: string | null;
15
- skipChild: boolean;
16
- inlineStylesheet: boolean;
17
- maskInputOptions?: MaskInputOptions;
18
- maskTextFn: MaskTextFn | undefined;
19
- maskInputFn: MaskInputFn | undefined;
20
- slimDOMOptions: SlimDOMOptions;
21
- keepIframeSrcFn?: KeepIframeSrcFn;
22
- recordCanvas?: boolean;
23
- preserveWhiteSpace?: boolean;
24
- onSerialize?: (n: INode) => unknown;
25
- onIframeLoad?: (iframeINode: INode, node: serializedNodeWithId) => unknown;
26
- iframeLoadTimeout?: number;
27
- enableStrictPrivacy: boolean;
28
- }): serializedNodeWithId | null;
29
- declare function snapshot(n: Document, options?: {
30
- blockClass?: string | RegExp;
31
- blockSelector?: string | null;
32
- maskTextClass?: string | RegExp;
33
- maskTextSelector?: string | null;
34
- inlineStylesheet?: boolean;
35
- maskAllInputs?: boolean | MaskInputOptions;
36
- maskTextFn?: MaskTextFn;
37
- maskInputFn?: MaskTextFn;
38
- slimDOM?: boolean | SlimDOMOptions;
39
- recordCanvas?: boolean;
40
- preserveWhiteSpace?: boolean;
41
- onSerialize?: (n: INode) => unknown;
42
- onIframeLoad?: (iframeINode: INode, node: serializedNodeWithId) => unknown;
43
- iframeLoadTimeout?: number;
44
- keepIframeSrcFn?: KeepIframeSrcFn;
45
- enableStrictPrivacy: boolean;
46
- }): [serializedNodeWithId | null, idNodeMap];
47
- export declare function visitSnapshot(node: serializedNodeWithId, onVisit: (node: serializedNodeWithId) => unknown): void;
48
- export declare function cleanupSnapshot(): void;
49
- export default snapshot;
@@ -1,99 +0,0 @@
1
- export declare enum NodeType {
2
- Document = 0,
3
- DocumentType = 1,
4
- Element = 2,
5
- Text = 3,
6
- CDATA = 4,
7
- Comment = 5
8
- }
9
- export declare type documentNode = {
10
- type: NodeType.Document;
11
- childNodes: serializedNodeWithId[];
12
- compatMode?: string;
13
- };
14
- export declare type documentTypeNode = {
15
- type: NodeType.DocumentType;
16
- name: string;
17
- publicId: string;
18
- systemId: string;
19
- };
20
- export declare type attributes = {
21
- [key: string]: string | number | boolean;
22
- };
23
- export declare type elementNode = {
24
- type: NodeType.Element;
25
- tagName: string;
26
- attributes: attributes;
27
- childNodes: serializedNodeWithId[];
28
- isSVG?: true;
29
- needBlock?: boolean;
30
- };
31
- export declare type textNode = {
32
- type: NodeType.Text;
33
- textContent: string;
34
- isStyle?: true;
35
- };
36
- export declare type cdataNode = {
37
- type: NodeType.CDATA;
38
- textContent: '';
39
- };
40
- export declare type commentNode = {
41
- type: NodeType.Comment;
42
- textContent: string;
43
- };
44
- export declare type serializedNode = (documentNode | documentTypeNode | elementNode | textNode | cdataNode | commentNode) & {
45
- rootId?: number;
46
- isShadowHost?: boolean;
47
- isShadow?: boolean;
48
- };
49
- export declare type serializedNodeWithId = serializedNode & {
50
- id: number;
51
- };
52
- export declare type tagMap = {
53
- [key: string]: string;
54
- };
55
- export interface INode extends Node {
56
- __sn: serializedNodeWithId;
57
- }
58
- export interface ICanvas extends HTMLCanvasElement {
59
- __context: string;
60
- }
61
- export declare type idNodeMap = {
62
- [key: number]: INode;
63
- };
64
- export declare type MaskInputOptions = Partial<{
65
- color: boolean;
66
- date: boolean;
67
- 'datetime-local': boolean;
68
- email: boolean;
69
- month: boolean;
70
- number: boolean;
71
- range: boolean;
72
- search: boolean;
73
- tel: boolean;
74
- text: boolean;
75
- time: boolean;
76
- url: boolean;
77
- week: boolean;
78
- textarea: boolean;
79
- select: boolean;
80
- password: boolean;
81
- }>;
82
- export declare type SlimDOMOptions = Partial<{
83
- script: boolean;
84
- comment: boolean;
85
- headFavicon: boolean;
86
- headWhitespace: boolean;
87
- headMetaDescKeywords: boolean;
88
- headMetaSocial: boolean;
89
- headMetaRobots: boolean;
90
- headMetaHttpEquiv: boolean;
91
- headMetaAuthorship: boolean;
92
- headMetaVerification: boolean;
93
- }>;
94
- export declare type MaskTextFn = (text: string) => string;
95
- export declare type MaskInputFn = (text: string) => string;
96
- export declare type KeepIframeSrcFn = (src: string) => boolean;
97
- export declare type BuildCache = {
98
- stylesWithHoverClass: Map<string, string>;
99
- };
@@ -1,11 +0,0 @@
1
- import { INode, MaskInputFn, MaskInputOptions } from './types';
2
- export declare function isElement(n: Node | INode): n is Element;
3
- export declare function isShadowRoot(n: Node): n is ShadowRoot;
4
- export declare function maskInputValue({ maskInputOptions, tagName, type, value, maskInputFn, }: {
5
- maskInputOptions: MaskInputOptions;
6
- tagName: string;
7
- type: string | number | boolean | null;
8
- value: string | null;
9
- maskInputFn?: MaskInputFn;
10
- }): string;
11
- export declare function is2DCanvasBlank(canvas: HTMLCanvasElement): boolean;
@@ -1,71 +0,0 @@
1
- import { Mirror, throttleOptions, listenerHandler, hookResetter, blockClass, addedNodeMutation, removedNodeMutation, textMutation, attributeMutation, mutationData, scrollData, inputData, DocumentDimension, IWindow } from './types';
2
- import { INode, serializedNodeWithId } from './snapshot';
3
- export declare function on(type: string, fn: EventListenerOrEventListenerObject, target?: Document | IWindow): listenerHandler;
4
- export declare function createMirror(): Mirror;
5
- export declare let _mirror: Mirror;
6
- export declare function throttle<T>(func: (arg: T) => void, wait: number, options?: throttleOptions): (arg: T) => void;
7
- export declare function hookSetter<T>(target: T, key: string | number | symbol, d: PropertyDescriptor, isRevoked?: boolean, win?: IWindow): hookResetter;
8
- export declare function patch(source: {
9
- [key: string]: any;
10
- }, name: string, replacement: (...args: any[]) => any): () => void;
11
- export declare function getWindowHeight(): number;
12
- export declare function getWindowWidth(): number;
13
- export declare const isCanvasNode: (node: Node | null) => boolean;
14
- export declare function isBlocked(node: Node | null, blockClass: blockClass): boolean;
15
- export declare function isIgnored(n: Node | INode): boolean;
16
- export declare function isAncestorRemoved(target: INode, mirror: Mirror): boolean;
17
- export declare function isTouchEvent(event: MouseEvent | TouchEvent): event is TouchEvent;
18
- export declare function polyfill(win?: IWindow): void;
19
- export declare type TreeNode = {
20
- id: number;
21
- mutation: addedNodeMutation;
22
- parent?: TreeNode;
23
- children: Record<number, TreeNode>;
24
- texts: textMutation[];
25
- attributes: attributeMutation[];
26
- };
27
- export declare class TreeIndex {
28
- tree: Record<number, TreeNode>;
29
- private removeNodeMutations;
30
- private textMutations;
31
- private attributeMutations;
32
- private indexes;
33
- private removeIdSet;
34
- private scrollMap;
35
- private inputMap;
36
- constructor();
37
- add(mutation: addedNodeMutation): void;
38
- remove(mutation: removedNodeMutation, mirror: Mirror): void;
39
- text(mutation: textMutation): void;
40
- attribute(mutation: attributeMutation): void;
41
- scroll(d: scrollData): void;
42
- input(d: inputData): void;
43
- flush(): {
44
- mutationData: mutationData;
45
- scrollMap: TreeIndex['scrollMap'];
46
- inputMap: TreeIndex['inputMap'];
47
- };
48
- private reset;
49
- idRemoved(id: number): boolean;
50
- }
51
- declare type ResolveTree = {
52
- value: addedNodeMutation;
53
- children: ResolveTree[];
54
- parent: ResolveTree | null;
55
- };
56
- export declare function queueToResolveTrees(queue: addedNodeMutation[]): ResolveTree[];
57
- export declare function iterateResolveTree(tree: ResolveTree, cb: (mutation: addedNodeMutation) => unknown): void;
58
- declare type HTMLIFrameINode = HTMLIFrameElement & {
59
- __sn: serializedNodeWithId;
60
- };
61
- export declare type AppendedIframe = {
62
- mutationInQueue: addedNodeMutation;
63
- builtNode: HTMLIFrameINode;
64
- };
65
- export declare function isIframeINode(node: INode | ShadowRoot): node is HTMLIFrameINode;
66
- export declare function getBaseDimension(node: Node, rootIframe: Node): DocumentDimension;
67
- export declare function hasShadowRoot<T extends Node>(n: T): n is T & {
68
- shadowRoot: ShadowRoot;
69
- };
70
- export declare function obfuscateText(text: string): string;
71
- export {};
@@ -1,9 +0,0 @@
1
- import { eventWithTime, recordOptions, listenerHandler } from '../types';
2
- declare function record<T = eventWithTime>(options?: recordOptions<T>): listenerHandler | undefined;
3
- declare namespace record {
4
- var addCustomEvent: <T>(tag: string, payload: T) => void;
5
- var freezePage: () => void;
6
- var takeFullSnapshot: (isCheckout?: boolean | undefined) => void;
7
- var mirror: import("../types").Mirror;
8
- }
9
- export default record;
@@ -1,11 +0,0 @@
1
- import { MaskInputOptions, SlimDOMOptions, MaskInputFn, MaskTextFn } from '../snapshot';
2
- import { mutationCallBack, observerParam, listenerHandler, scrollCallback, blockClass, maskTextClass, hooksParam, SamplingStrategy, Mirror } from '../types';
3
- import MutationBuffer from './mutation';
4
- import { IframeManager } from './iframe-manager';
5
- import { ShadowDomManager } from './shadow-dom-manager';
6
- import { CanvasManager } from './observers/canvas/canvas-manager';
7
- export declare const mutationBuffers: MutationBuffer[];
8
- export declare function initMutationObserver(cb: mutationCallBack, doc: Document, blockClass: blockClass, blockSelector: string | null, maskTextClass: maskTextClass, maskTextSelector: string | null, inlineStylesheet: boolean, maskInputOptions: MaskInputOptions, maskTextFn: MaskTextFn | undefined, maskInputFn: MaskInputFn | undefined, recordCanvas: boolean, slimDOMOptions: SlimDOMOptions, mirror: Mirror, iframeManager: IframeManager, shadowDomManager: ShadowDomManager, canvasManager: CanvasManager, rootEl: Node, enableStrictPrivacy: boolean): MutationObserver;
9
- export declare function initScrollObserver(cb: scrollCallback, doc: Document, mirror: Mirror, blockClass: blockClass, sampling: SamplingStrategy): listenerHandler;
10
- export declare const INPUT_TAGS: string[];
11
- export declare function initObservers(o: observerParam, hooks?: hooksParam): listenerHandler;
@@ -1,2 +0,0 @@
1
- import { blockClass, canvasManagerMutationCallback, IWindow, listenerHandler, Mirror } from '../../../types';
2
- export default function initCanvas2DMutationObserver(cb: canvasManagerMutationCallback, win: IWindow, blockClass: blockClass, mirror: Mirror): listenerHandler;
@@ -1,2 +0,0 @@
1
- import { blockClass, IWindow, listenerHandler } from '../../../types';
2
- export default function initCanvasContextObserver(win: IWindow, blockClass: blockClass): listenerHandler;
@@ -1,6 +0,0 @@
1
- import { IWindow, SerializedWebGlArg } from '../../../types';
2
- export declare function variableListFor(ctx: WebGLRenderingContext | WebGL2RenderingContext, ctor: string): any[];
3
- export declare const saveWebGLVar: (value: any, win: IWindow, ctx: WebGL2RenderingContext | WebGLRenderingContext) => number | void;
4
- export declare function serializeArg(value: any, win: IWindow, ctx: WebGL2RenderingContext | WebGLRenderingContext): SerializedWebGlArg;
5
- export declare const serializeArgs: (args: Array<any>, win: IWindow, ctx: WebGLRenderingContext | WebGL2RenderingContext) => SerializedWebGlArg[];
6
- export declare const isInstanceOfWebGLObject: (value: any, win: IWindow) => value is WebGLShader | WebGLProgram | WebGLActiveInfo | WebGLBuffer | WebGLFramebuffer | WebGLRenderbuffer | WebGLShaderPrecisionFormat | WebGLTexture | WebGLUniformLocation | WebGLVertexArrayObject;
@@ -1,2 +0,0 @@
1
- import { blockClass, canvasManagerMutationCallback, IWindow, listenerHandler, Mirror } from '../../../types';
2
- export default function initCanvasWebGLMutationObserver(cb: canvasManagerMutationCallback, win: IWindow, blockClass: blockClass, mirror: Mirror): listenerHandler;
@@ -1,34 +0,0 @@
1
- import { mutationCallBack, blockClass, maskTextClass, Mirror, scrollCallback, SamplingStrategy } from '../types';
2
- import { MaskInputOptions, SlimDOMOptions, MaskTextFn, MaskInputFn } from '../snapshot';
3
- import { IframeManager } from './iframe-manager';
4
- import { CanvasManager } from './observers/canvas/canvas-manager';
5
- declare type BypassOptions = {
6
- blockClass: blockClass;
7
- blockSelector: string | null;
8
- maskTextClass: maskTextClass;
9
- maskTextSelector: string | null;
10
- inlineStylesheet: boolean;
11
- maskInputOptions: MaskInputOptions;
12
- maskTextFn: MaskTextFn | undefined;
13
- maskInputFn: MaskInputFn | undefined;
14
- recordCanvas: boolean;
15
- sampling: SamplingStrategy;
16
- slimDOMOptions: SlimDOMOptions;
17
- iframeManager: IframeManager;
18
- canvasManager: CanvasManager;
19
- enableStrictPrivacy: boolean;
20
- };
21
- export declare class ShadowDomManager {
22
- private mutationCb;
23
- private scrollCb;
24
- private bypassOptions;
25
- private mirror;
26
- constructor(options: {
27
- mutationCb: mutationCallBack;
28
- scrollCb: scrollCallback;
29
- bypassOptions: BypassOptions;
30
- mirror: Mirror;
31
- });
32
- addShadowRoot(shadowRoot: ShadowRoot, doc: Document): void;
33
- }
34
- export {};
@@ -1,9 +0,0 @@
1
- import { Replayer } from '..';
2
- import { canvasMutationData } from '../../types';
3
- export default function canvasMutation({ event, mutation, target, imageMap, errorHandler, }: {
4
- event: Parameters<Replayer['applyIncremental']>[0];
5
- mutation: canvasMutationData;
6
- target: HTMLCanvasElement;
7
- imageMap: Replayer['imageMap'];
8
- errorHandler: Replayer['warnCanvasMutationFailed'];
9
- }): void;
@@ -1,11 +0,0 @@
1
- import { Replayer } from '../';
2
- import { CanvasContext, canvasMutationCommand, SerializedWebGlArg } from '../../types';
3
- export declare function variableListFor(ctx: WebGLRenderingContext | WebGL2RenderingContext, ctor: string): any[];
4
- export declare function deserializeArg(imageMap: Replayer['imageMap'], ctx: WebGLRenderingContext | WebGL2RenderingContext): (arg: SerializedWebGlArg) => any;
5
- export default function webglMutation({ mutation, target, type, imageMap, errorHandler, }: {
6
- mutation: canvasMutationCommand;
7
- target: HTMLCanvasElement;
8
- type: CanvasContext;
9
- imageMap: Replayer['imageMap'];
10
- errorHandler: Replayer['warnCanvasMutationFailed'];
11
- }): void;
@@ -1,43 +0,0 @@
1
- import { INode } from '../snapshot';
2
- export declare enum StyleRuleType {
3
- Insert = 0,
4
- Remove = 1,
5
- Snapshot = 2,
6
- SetProperty = 3,
7
- RemoveProperty = 4
8
- }
9
- declare type InsertRule = {
10
- cssText: string;
11
- type: StyleRuleType.Insert;
12
- index?: number | number[];
13
- };
14
- declare type RemoveRule = {
15
- type: StyleRuleType.Remove;
16
- index: number | number[];
17
- };
18
- declare type SnapshotRule = {
19
- type: StyleRuleType.Snapshot;
20
- cssTexts: string[];
21
- };
22
- declare type SetPropertyRule = {
23
- type: StyleRuleType.SetProperty;
24
- index: number[];
25
- property: string;
26
- value: string | null;
27
- priority: string | undefined;
28
- };
29
- declare type RemovePropertyRule = {
30
- type: StyleRuleType.RemoveProperty;
31
- index: number[];
32
- property: string;
33
- };
34
- export declare type VirtualStyleRules = Array<InsertRule | RemoveRule | SnapshotRule | SetPropertyRule | RemovePropertyRule>;
35
- export declare type VirtualStyleRulesMap = Map<INode, VirtualStyleRules>;
36
- export declare function getNestedRule(rules: CSSRuleList, position: number[]): CSSGroupingRule;
37
- export declare function getPositionsAndIndex(nestedIndex: number[]): {
38
- positions: number[];
39
- index: number | undefined;
40
- };
41
- export declare function applyVirtualStyleRulesToNode(storedRules: VirtualStyleRules, styleNode: HTMLStyleElement): void;
42
- export declare function storeCSSRules(parentElement: HTMLStyleElement, virtualStyleRulesMap: VirtualStyleRulesMap): void;
43
- export {};
@@ -1,92 +0,0 @@
1
- export interface ParserOptions {
2
- silent?: boolean;
3
- source?: string;
4
- }
5
- export interface ParserError {
6
- message?: string;
7
- reason?: string;
8
- filename?: string;
9
- line?: number;
10
- column?: number;
11
- source?: string;
12
- }
13
- export interface Loc {
14
- line?: number;
15
- column?: number;
16
- }
17
- export interface Node {
18
- type?: string;
19
- parent?: Node;
20
- position?: {
21
- start?: Loc;
22
- end?: Loc;
23
- source?: string;
24
- content?: string;
25
- };
26
- }
27
- export interface Rule extends Node {
28
- selectors?: string[];
29
- declarations?: Array<Declaration | Comment>;
30
- }
31
- export interface Declaration extends Node {
32
- property?: string;
33
- value?: string;
34
- }
35
- export interface Comment extends Node {
36
- comment?: string;
37
- }
38
- export interface Charset extends Node {
39
- charset?: string;
40
- }
41
- export interface CustomMedia extends Node {
42
- name?: string;
43
- media?: string;
44
- }
45
- export interface Document extends Node {
46
- document?: string;
47
- vendor?: string;
48
- rules?: Array<Rule | Comment | AtRule>;
49
- }
50
- export interface FontFace extends Node {
51
- declarations?: Array<Declaration | Comment>;
52
- }
53
- export interface Host extends Node {
54
- rules?: Array<Rule | Comment | AtRule>;
55
- }
56
- export interface Import extends Node {
57
- import?: string;
58
- }
59
- export interface KeyFrames extends Node {
60
- name?: string;
61
- vendor?: string;
62
- keyframes?: Array<KeyFrame | Comment>;
63
- }
64
- export interface KeyFrame extends Node {
65
- values?: string[];
66
- declarations?: Array<Declaration | Comment>;
67
- }
68
- export interface Media extends Node {
69
- media?: string;
70
- rules?: Array<Rule | Comment | AtRule>;
71
- }
72
- export interface Namespace extends Node {
73
- namespace?: string;
74
- }
75
- export interface Page extends Node {
76
- selectors?: string[];
77
- declarations?: Array<Declaration | Comment>;
78
- }
79
- export interface Supports extends Node {
80
- supports?: string;
81
- rules?: Array<Rule | Comment | AtRule>;
82
- }
83
- export declare type AtRule = Charset | CustomMedia | Document | FontFace | Host | Import | KeyFrames | Media | Namespace | Page | Supports;
84
- export interface StyleRules {
85
- source?: string;
86
- rules: Array<Rule | Comment | AtRule>;
87
- parsingErrors?: ParserError[];
88
- }
89
- export interface Stylesheet extends Node {
90
- stylesheet?: StyleRules;
91
- }
92
- export declare function parse(css: string, options?: ParserOptions): Stylesheet;
@@ -1,5 +0,0 @@
1
- import snapshot, { serializeNodeWithId, transformAttribute, visitSnapshot, cleanupSnapshot, needMaskingText, IGNORED_NODE } from './snapshot';
2
- import rebuild, { buildNodeWithSN, addHoverClass, createCache } from './rebuild';
3
- export * from './types';
4
- export * from './utils';
5
- export { snapshot, serializeNodeWithId, rebuild, buildNodeWithSN, addHoverClass, createCache, transformAttribute, visitSnapshot, cleanupSnapshot, needMaskingText, IGNORED_NODE, };
@@ -1,19 +0,0 @@
1
- import { serializedNodeWithId, idNodeMap, INode, BuildCache } from './types';
2
- export declare function addHoverClass(cssText: string, cache: BuildCache): string;
3
- export declare function createCache(): BuildCache;
4
- export declare function buildNodeWithSN(n: serializedNodeWithId, options: {
5
- doc: Document;
6
- map: idNodeMap;
7
- skipChild?: boolean;
8
- hackCss: boolean;
9
- afterAppend?: (n: INode) => unknown;
10
- cache: BuildCache;
11
- }): INode | null;
12
- declare function rebuild(n: serializedNodeWithId, options: {
13
- doc: Document;
14
- onVisit?: (node: INode) => unknown;
15
- hackCss?: boolean;
16
- afterAppend?: (n: INode) => unknown;
17
- cache: BuildCache;
18
- }): [Node | null, idNodeMap];
19
- export default rebuild;
@@ -1,49 +0,0 @@
1
- import { serializedNodeWithId, INode, idNodeMap, MaskInputOptions, SlimDOMOptions, MaskTextFn, MaskInputFn, KeepIframeSrcFn } from './types';
2
- export declare const IGNORED_NODE = -2;
3
- export declare function absoluteToStylesheet(cssText: string | null, href: string): string;
4
- export declare function absoluteToDoc(doc: Document, attributeValue: string): string;
5
- export declare function transformAttribute(doc: Document, tagName: string, name: string, value: string): string;
6
- export declare function _isBlockedElement(element: HTMLElement, blockClass: string | RegExp, blockSelector: string | null): boolean;
7
- export declare function needMaskingText(node: Node | null, maskTextClass: string | RegExp, maskTextSelector: string | null): boolean;
8
- export declare function serializeNodeWithId(n: Node | INode, options: {
9
- doc: Document;
10
- map: idNodeMap;
11
- blockClass: string | RegExp;
12
- blockSelector: string | null;
13
- maskTextClass: string | RegExp;
14
- maskTextSelector: string | null;
15
- skipChild: boolean;
16
- inlineStylesheet: boolean;
17
- maskInputOptions?: MaskInputOptions;
18
- maskTextFn: MaskTextFn | undefined;
19
- maskInputFn: MaskInputFn | undefined;
20
- slimDOMOptions: SlimDOMOptions;
21
- keepIframeSrcFn?: KeepIframeSrcFn;
22
- recordCanvas?: boolean;
23
- preserveWhiteSpace?: boolean;
24
- onSerialize?: (n: INode) => unknown;
25
- onIframeLoad?: (iframeINode: INode, node: serializedNodeWithId) => unknown;
26
- iframeLoadTimeout?: number;
27
- enableStrictPrivacy: boolean;
28
- }): serializedNodeWithId | null;
29
- declare function snapshot(n: Document, options?: {
30
- blockClass?: string | RegExp;
31
- blockSelector?: string | null;
32
- maskTextClass?: string | RegExp;
33
- maskTextSelector?: string | null;
34
- inlineStylesheet?: boolean;
35
- maskAllInputs?: boolean | MaskInputOptions;
36
- maskTextFn?: MaskTextFn;
37
- maskInputFn?: MaskTextFn;
38
- slimDOM?: boolean | SlimDOMOptions;
39
- recordCanvas?: boolean;
40
- preserveWhiteSpace?: boolean;
41
- onSerialize?: (n: INode) => unknown;
42
- onIframeLoad?: (iframeINode: INode, node: serializedNodeWithId) => unknown;
43
- iframeLoadTimeout?: number;
44
- keepIframeSrcFn?: KeepIframeSrcFn;
45
- enableStrictPrivacy: boolean;
46
- }): [serializedNodeWithId | null, idNodeMap];
47
- export declare function visitSnapshot(node: serializedNodeWithId, onVisit: (node: serializedNodeWithId) => unknown): void;
48
- export declare function cleanupSnapshot(): void;
49
- export default snapshot;