@ubio/webvision 2.0.0 → 2.1.0
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.
- package/build/page.mjs +134 -97
- package/out/page/frame.d.ts +22 -0
- package/out/page/frame.js +69 -0
- package/out/page/frame.js.map +1 -0
- package/out/page/index.d.ts +3 -1
- package/out/page/index.js +3 -1
- package/out/page/index.js.map +1 -1
- package/out/page/parser.d.ts +0 -7
- package/out/page/parser.js.map +1 -1
- package/out/page/snapshot.d.ts +10 -0
- package/out/page/snapshot.js +31 -0
- package/out/page/snapshot.js.map +1 -0
- package/out/page/tree.d.ts +22 -0
- package/out/page/tree.js +59 -0
- package/out/page/tree.js.map +1 -0
- package/out/page/util.d.ts +1 -4
- package/out/page/util.js +0 -19
- package/out/page/util.js.map +1 -1
- package/package.json +1 -1
- package/out/page/view.d.ts +0 -30
- package/out/page/view.js +0 -103
- package/out/page/view.js.map +0 -1
package/build/page.mjs
CHANGED
@@ -224,25 +224,6 @@ function checkOccluded(element, gridSize = 8) {
|
|
224
224
|
}
|
225
225
|
|
226
226
|
// src/page/util.ts
|
227
|
-
function findFrameTreeByRef(frameTrees, ref) {
|
228
|
-
for (const frameTree of frameTrees) {
|
229
|
-
if (ref >= frameTree.refRange[0] && ref <= frameTree.refRange[1]) {
|
230
|
-
return frameTree;
|
231
|
-
}
|
232
|
-
}
|
233
|
-
return null;
|
234
|
-
}
|
235
|
-
function findParentFrameTree(frameTrees, frameTree) {
|
236
|
-
const { iframeRef } = frameTree;
|
237
|
-
if (iframeRef == null) {
|
238
|
-
return null;
|
239
|
-
}
|
240
|
-
return findFrameTreeByRef(frameTrees, iframeRef);
|
241
|
-
}
|
242
|
-
function checkFrameOmitted(frameTrees, frameTree) {
|
243
|
-
const parentFrameTree = findParentFrameTree(frameTrees, frameTree);
|
244
|
-
return parentFrameTree?.isOmitted ?? false;
|
245
|
-
}
|
246
227
|
function isContainerNode(vxNode) {
|
247
228
|
const children = vxNode.children ?? [];
|
248
229
|
const hasTextChildren = children.some((child) => !child.tagName);
|
@@ -688,131 +669,186 @@ function renderTagLine(vxNode, options) {
|
|
688
669
|
return htmlStyle ? `<${components.join(" ")}>` : components.join("");
|
689
670
|
}
|
690
671
|
|
691
|
-
// src/page/
|
692
|
-
var
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
672
|
+
// src/page/snapshot.ts
|
673
|
+
var VX_DOM_SYMBOL = Symbol("vx:dom");
|
674
|
+
var VX_TREE_SYMBOL = Symbol("vx:tree");
|
675
|
+
function captureSnapshot(options = {}) {
|
676
|
+
const parser = new VxTreeParser(options);
|
677
|
+
const vxNodes = parser.getNodes();
|
678
|
+
const domMap = parser.getDomMap();
|
679
|
+
const vxTree = new VxTreeView(vxNodes);
|
680
|
+
globalThis[VX_DOM_SYMBOL] = domMap;
|
681
|
+
globalThis[VX_TREE_SYMBOL] = vxTree;
|
682
|
+
return {
|
683
|
+
nodes: vxNodes,
|
684
|
+
refRange: parser.getRefRange()
|
685
|
+
};
|
686
|
+
}
|
687
|
+
function getSnapshot() {
|
688
|
+
const vxTree = globalThis[VX_TREE_SYMBOL];
|
689
|
+
if (!vxTree) {
|
690
|
+
throw new Error("[VX] Snapshot not found");
|
700
691
|
}
|
701
|
-
|
702
|
-
|
692
|
+
return vxTree;
|
693
|
+
}
|
694
|
+
function resolveDomNode(ref) {
|
695
|
+
const domMap = globalThis[VX_DOM_SYMBOL];
|
696
|
+
if (!domMap) {
|
697
|
+
return null;
|
703
698
|
}
|
704
|
-
|
705
|
-
|
699
|
+
return domMap.get(ref) ?? null;
|
700
|
+
}
|
701
|
+
|
702
|
+
// src/page/tree.ts
|
703
|
+
var VxTreeView = class {
|
704
|
+
constructor(nodes) {
|
705
|
+
this.nodes = nodes;
|
706
|
+
this.refMap = /* @__PURE__ */ new Map();
|
707
|
+
this.buildRefMap(nodes);
|
706
708
|
}
|
707
|
-
|
708
|
-
const
|
709
|
-
|
710
|
-
throw new Error(`Frame tree not found for [frameId=${frameId}]`);
|
709
|
+
*traverse() {
|
710
|
+
for (const vxNode of this.nodes) {
|
711
|
+
yield* traverseVxNode(vxNode, 0);
|
711
712
|
}
|
712
|
-
return vxTreeView;
|
713
713
|
}
|
714
|
-
|
715
|
-
const
|
716
|
-
(
|
717
|
-
|
718
|
-
if (!frameTree) {
|
719
|
-
return null;
|
714
|
+
buildRefMap(nodes) {
|
715
|
+
for (const node of nodes) {
|
716
|
+
this.refMap.set(node.ref, node);
|
717
|
+
this.buildRefMap(node.children ?? []);
|
720
718
|
}
|
721
|
-
return this.vxTreeViewMap.get(frameTree.frameId) ?? null;
|
722
719
|
}
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
720
|
+
findNode(ref) {
|
721
|
+
return this.refMap.get(ref) ?? null;
|
722
|
+
}
|
723
|
+
render(options = {}) {
|
724
|
+
return this.nodes.map((node) => {
|
725
|
+
return renderVxNode(node, options);
|
726
|
+
}).join("\n");
|
727
|
+
}
|
728
|
+
highlight(options = {}) {
|
729
|
+
if (options.clearOverlay) {
|
730
|
+
clearOverlay();
|
731
|
+
}
|
732
|
+
const leafOnly = !options.includeAll;
|
733
|
+
const refs = this.collectRefs(leafOnly, options.filterRefs);
|
734
|
+
for (const ref of refs) {
|
735
|
+
const el = resolveDomNode(ref);
|
736
|
+
if (el instanceof Element) {
|
737
|
+
highlightEl(el);
|
738
|
+
}
|
727
739
|
}
|
728
|
-
return
|
740
|
+
return refs;
|
729
741
|
}
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
742
|
+
collectRefs(leafOnly = true, filterRefs) {
|
743
|
+
const refs = [];
|
744
|
+
for (const { vxNode } of this.traverse()) {
|
745
|
+
if (leafOnly && isContainerNode(vxNode)) {
|
746
|
+
continue;
|
747
|
+
}
|
748
|
+
if (filterRefs && !filterRefs.includes(vxNode.ref)) {
|
749
|
+
continue;
|
750
|
+
}
|
751
|
+
refs.push(vxNode.ref);
|
752
|
+
}
|
753
|
+
return refs;
|
736
754
|
}
|
737
755
|
};
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
this.
|
743
|
-
this.
|
756
|
+
|
757
|
+
// src/page/frame.ts
|
758
|
+
var VxPageView = class {
|
759
|
+
constructor(vxFrames) {
|
760
|
+
this.vxFrames = vxFrames;
|
761
|
+
this.vxFrameMap = /* @__PURE__ */ new Map();
|
762
|
+
this.vxTreeMap = /* @__PURE__ */ new Map();
|
763
|
+
for (const frame of vxFrames) {
|
764
|
+
this.vxFrameMap.set(frame.frameId, frame);
|
765
|
+
this.vxTreeMap.set(frame.frameId, new VxTreeView(frame.nodes));
|
766
|
+
}
|
744
767
|
}
|
745
|
-
|
746
|
-
return this.
|
768
|
+
findFrameByFrameId(frameId) {
|
769
|
+
return this.vxFrameMap.get(frameId) ?? null;
|
747
770
|
}
|
748
|
-
|
749
|
-
|
771
|
+
getFrameByFrameId(frameId) {
|
772
|
+
const vxFrame = this.vxFrameMap.get(frameId);
|
773
|
+
if (vxFrame == null) {
|
774
|
+
throw new Error(`[VX] Frame not found for [frameId=${frameId}]`);
|
775
|
+
}
|
776
|
+
return vxFrame;
|
750
777
|
}
|
751
|
-
|
752
|
-
|
778
|
+
findFrameByRef(ref) {
|
779
|
+
const vxFrame = this.vxFrames.find(
|
780
|
+
(frame) => ref >= frame.refRange[0] && ref <= frame.refRange[1]
|
781
|
+
);
|
782
|
+
if (!vxFrame) {
|
783
|
+
return null;
|
784
|
+
}
|
785
|
+
return this.vxFrameMap.get(vxFrame.frameId) ?? null;
|
753
786
|
}
|
754
|
-
|
755
|
-
|
756
|
-
|
787
|
+
getFrameByRef(ref) {
|
788
|
+
const vxFrame = this.findFrameByRef(ref);
|
789
|
+
if (vxFrame == null) {
|
790
|
+
throw new Error(`[VX] Frame not found for [ref=${ref}]`);
|
757
791
|
}
|
792
|
+
return vxFrame;
|
758
793
|
}
|
759
|
-
|
760
|
-
const
|
794
|
+
findParentFrame(frameId) {
|
795
|
+
const frame = this.getFrameByFrameId(frameId);
|
796
|
+
const iframeRef = frame?.iframeRef;
|
761
797
|
if (iframeRef == null) {
|
762
798
|
return null;
|
763
799
|
}
|
764
|
-
return this.
|
800
|
+
return this.findFrameByRef(iframeRef);
|
765
801
|
}
|
766
|
-
isFrameShown() {
|
767
|
-
const
|
768
|
-
|
769
|
-
|
770
|
-
return true;
|
802
|
+
isFrameShown(frameId) {
|
803
|
+
const frame = this.getFrameByFrameId(frameId);
|
804
|
+
if (!frame) {
|
805
|
+
return false;
|
771
806
|
}
|
772
|
-
const
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
const refs = [];
|
777
|
-
for (const { vxNode } of this.traverse()) {
|
778
|
-
if (leafOnly && isContainerNode(vxNode)) {
|
779
|
-
continue;
|
780
|
-
}
|
781
|
-
refs.push(vxNode.ref);
|
807
|
+
const parentFrame = this.findParentFrame(frameId);
|
808
|
+
const { iframeRef } = frame;
|
809
|
+
if (parentFrame == null || iframeRef == null) {
|
810
|
+
return true;
|
782
811
|
}
|
783
|
-
|
812
|
+
const vxTree = this.vxTreeMap.get(frameId);
|
813
|
+
const existsInParent = !!vxTree?.findNode(iframeRef);
|
814
|
+
return existsInParent ? this.isFrameShown(parentFrame.frameId) : false;
|
784
815
|
}
|
785
|
-
|
786
|
-
|
787
|
-
this.
|
788
|
-
|
789
|
-
|
816
|
+
renderAll(options) {
|
817
|
+
return this.vxFrames.map((frame) => {
|
818
|
+
const vxTree = this.vxTreeMap.get(frame.frameId);
|
819
|
+
const rendered = vxTree?.render(options);
|
820
|
+
return [
|
821
|
+
`FRAME ${frame.frameId}`,
|
822
|
+
rendered
|
823
|
+
].join("\n\n");
|
824
|
+
}).join("\n\n");
|
790
825
|
}
|
791
826
|
};
|
792
827
|
export {
|
793
828
|
Counter,
|
794
829
|
INTERACTIVE_ROLES,
|
795
830
|
INTERACTIVE_TAGS,
|
831
|
+
VX_DOM_SYMBOL,
|
796
832
|
VX_IGNORE_SYMBOL,
|
797
833
|
VX_IGNORE_TAGS,
|
798
834
|
VX_LABEL_ATTRS,
|
799
835
|
VX_NODE_SYMBOL,
|
800
836
|
VX_SRC_ATTRS,
|
801
837
|
VX_TAG_PREFERENCE,
|
838
|
+
VX_TREE_SYMBOL,
|
802
839
|
VX_VALUE_ATTRS,
|
803
840
|
VxPageView,
|
804
841
|
VxTreeParser,
|
805
842
|
VxTreeView,
|
806
|
-
|
843
|
+
captureSnapshot,
|
807
844
|
checkOccluded,
|
808
845
|
clearOverlay,
|
809
846
|
containsSelector,
|
810
847
|
escapeAttribute,
|
811
|
-
findFrameTreeByRef,
|
812
|
-
findParentFrameTree,
|
813
848
|
fixZIndex,
|
814
849
|
getNormalizedText,
|
815
850
|
getOffsetTop,
|
851
|
+
getSnapshot,
|
816
852
|
getViewportSize,
|
817
853
|
hasVisibleArea,
|
818
854
|
highlightEl,
|
@@ -827,6 +863,7 @@ export {
|
|
827
863
|
normalizeText,
|
828
864
|
probeViewport,
|
829
865
|
renderVxNode,
|
866
|
+
resolveDomNode,
|
830
867
|
showPoint,
|
831
868
|
traverseVxNode,
|
832
869
|
truncateAttrValue
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { VxNode } from './parser.js';
|
2
|
+
import { VxRenderOptions } from './render.js';
|
3
|
+
export interface VxFrame {
|
4
|
+
frameId: number;
|
5
|
+
iframeRef?: number;
|
6
|
+
refRange: [number, number];
|
7
|
+
nodes: VxNode[];
|
8
|
+
isOmitted?: boolean;
|
9
|
+
}
|
10
|
+
export declare class VxPageView<T extends VxFrame> {
|
11
|
+
readonly vxFrames: T[];
|
12
|
+
private vxFrameMap;
|
13
|
+
private vxTreeMap;
|
14
|
+
constructor(vxFrames: T[]);
|
15
|
+
findFrameByFrameId(frameId: number): T | null;
|
16
|
+
getFrameByFrameId(frameId: number): T;
|
17
|
+
findFrameByRef(ref: number): T | null;
|
18
|
+
getFrameByRef(ref: number): T;
|
19
|
+
findParentFrame(frameId: number): T | null;
|
20
|
+
isFrameShown(frameId: number): boolean;
|
21
|
+
renderAll(options: VxRenderOptions): string;
|
22
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import { VxTreeView } from './tree.js';
|
2
|
+
export class VxPageView {
|
3
|
+
constructor(vxFrames) {
|
4
|
+
this.vxFrames = vxFrames;
|
5
|
+
this.vxFrameMap = new Map();
|
6
|
+
this.vxTreeMap = new Map();
|
7
|
+
for (const frame of vxFrames) {
|
8
|
+
this.vxFrameMap.set(frame.frameId, frame);
|
9
|
+
this.vxTreeMap.set(frame.frameId, new VxTreeView(frame.nodes));
|
10
|
+
}
|
11
|
+
}
|
12
|
+
findFrameByFrameId(frameId) {
|
13
|
+
return this.vxFrameMap.get(frameId) ?? null;
|
14
|
+
}
|
15
|
+
getFrameByFrameId(frameId) {
|
16
|
+
const vxFrame = this.vxFrameMap.get(frameId);
|
17
|
+
if (vxFrame == null) {
|
18
|
+
throw new Error(`[VX] Frame not found for [frameId=${frameId}]`);
|
19
|
+
}
|
20
|
+
return vxFrame;
|
21
|
+
}
|
22
|
+
findFrameByRef(ref) {
|
23
|
+
const vxFrame = this.vxFrames.find(frame => ref >= frame.refRange[0] && ref <= frame.refRange[1]);
|
24
|
+
if (!vxFrame) {
|
25
|
+
return null;
|
26
|
+
}
|
27
|
+
return this.vxFrameMap.get(vxFrame.frameId) ?? null;
|
28
|
+
}
|
29
|
+
getFrameByRef(ref) {
|
30
|
+
const vxFrame = this.findFrameByRef(ref);
|
31
|
+
if (vxFrame == null) {
|
32
|
+
throw new Error(`[VX] Frame not found for [ref=${ref}]`);
|
33
|
+
}
|
34
|
+
return vxFrame;
|
35
|
+
}
|
36
|
+
findParentFrame(frameId) {
|
37
|
+
const frame = this.getFrameByFrameId(frameId);
|
38
|
+
const iframeRef = frame?.iframeRef;
|
39
|
+
if (iframeRef == null) {
|
40
|
+
return null;
|
41
|
+
}
|
42
|
+
return this.findFrameByRef(iframeRef);
|
43
|
+
}
|
44
|
+
isFrameShown(frameId) {
|
45
|
+
const frame = this.getFrameByFrameId(frameId);
|
46
|
+
if (!frame) {
|
47
|
+
return false;
|
48
|
+
}
|
49
|
+
const parentFrame = this.findParentFrame(frameId);
|
50
|
+
const { iframeRef } = frame;
|
51
|
+
if (parentFrame == null || iframeRef == null) {
|
52
|
+
return true;
|
53
|
+
}
|
54
|
+
const vxTree = this.vxTreeMap.get(frameId);
|
55
|
+
const existsInParent = !!vxTree?.findNode(iframeRef);
|
56
|
+
return existsInParent ? this.isFrameShown(parentFrame.frameId) : false;
|
57
|
+
}
|
58
|
+
renderAll(options) {
|
59
|
+
return this.vxFrames.map(frame => {
|
60
|
+
const vxTree = this.vxTreeMap.get(frame.frameId);
|
61
|
+
const rendered = vxTree?.render(options);
|
62
|
+
return [
|
63
|
+
`FRAME ${frame.frameId}`,
|
64
|
+
rendered,
|
65
|
+
].join('\n\n');
|
66
|
+
}).join('\n\n');
|
67
|
+
}
|
68
|
+
}
|
69
|
+
//# sourceMappingURL=frame.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/page/frame.ts"],"names":[],"mappings":"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"}
|
package/out/page/index.d.ts
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
export * from './counter.js';
|
2
2
|
export * from './dom.js';
|
3
|
+
export * from './frame.js';
|
3
4
|
export * from './overlay.js';
|
4
5
|
export * from './parser.js';
|
5
6
|
export * from './probe.js';
|
6
7
|
export * from './render.js';
|
8
|
+
export * from './snapshot.js';
|
7
9
|
export * from './traverse.js';
|
10
|
+
export * from './tree.js';
|
8
11
|
export * from './util.js';
|
9
|
-
export * from './view.js';
|
package/out/page/index.js
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
export * from './counter.js';
|
2
2
|
export * from './dom.js';
|
3
|
+
export * from './frame.js';
|
3
4
|
export * from './overlay.js';
|
4
5
|
export * from './parser.js';
|
5
6
|
export * from './probe.js';
|
6
7
|
export * from './render.js';
|
8
|
+
export * from './snapshot.js';
|
7
9
|
export * from './traverse.js';
|
10
|
+
export * from './tree.js';
|
8
11
|
export * from './util.js';
|
9
|
-
export * from './view.js';
|
10
12
|
//# sourceMappingURL=index.js.map
|
package/out/page/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
package/out/page/parser.d.ts
CHANGED
@@ -6,13 +6,6 @@ export declare const VX_VALUE_ATTRS: string[];
|
|
6
6
|
export declare const VX_SRC_ATTRS: string[];
|
7
7
|
export declare const VX_TAG_PREFERENCE: string[];
|
8
8
|
export type VxDomNode = Element | Text;
|
9
|
-
export interface FrameVxTree {
|
10
|
-
frameId: number;
|
11
|
-
iframeRef?: number;
|
12
|
-
refRange: [number, number];
|
13
|
-
nodes: VxNode[];
|
14
|
-
isOmitted?: boolean;
|
15
|
-
}
|
16
9
|
export interface VxNode {
|
17
10
|
ref: number;
|
18
11
|
tagName?: string;
|
package/out/page/parser.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/page/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAY,MAAM,UAAU,CAAC;AAC3L,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO;IACtE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAClC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAClC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO;IAChE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ;IACrE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY;IACxD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC3C,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;CAC/B,CAAC;AAEF,MAAM,gBAAgB,GAAG,mDAAmD,CAAC;
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/page/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAY,MAAM,UAAU,CAAC;AAC3L,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO;IACtE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAClC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAClC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO;IAChE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ;IACrE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY;IACxD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC3C,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;CAC/B,CAAC;AAEF,MAAM,gBAAgB,GAAG,mDAAmD,CAAC;AAgC7E,MAAM,OAAO,YAAY;IASrB,YAAmB,UAAyB,EAAE;QAA3B,YAAO,GAAP,OAAO,CAAoB;QAHtC,kBAAa,GAAc,EAAE,CAAC;QAC9B,cAAS,GAAG,IAAI,GAAG,EAAgB,CAAC;QAGxC,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,eAAe,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEO,aAAa;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAE,CAAC;IAC3D,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEO,SAAS,CAAC,IAAU,EAAE,MAAqB;QAC/C,IAAK,IAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YACvB,0DAA0D;YAC1D,yEAAyE;YACzE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACvB,WAAW;oBACX,cAAc,EAAE,MAAM,EAAE,cAAc;oBACtC,iBAAiB,EAAE,MAAM,EAAE,iBAAiB;oBAC5C,UAAU,EAAE,MAAM,EAAE,UAAU;iBACjC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC9B,kBAAkB,CAAC,IAAmB,CAAC,CAAC;YAC5C,CAAC;YACD,SAAS,CAAC,IAAmB,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,EAAW;QAC5B,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAC7B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;YACjC,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC3C,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;iBAC9B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;iBACvC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;YAClC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC;YAChC,iBAAiB,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;YACzD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;SACvC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;aAC9B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAC5B,6FAA6F;QAC7F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,QAAQ,CAAC,IAAU,EAAE,IAAyB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,MAAM,GAAW;YACnB,GAAG,IAAI;YACP,GAAG;SACN,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAY,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,MAAqB;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,6BAA6B;QAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,0DAA0D;QAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC9B,iCAAiC;QACjC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAEO,mBAAmB,CAAC,MAAc,EAAE,KAAa;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC;YACvB,GAAG,MAAM;YACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;SACjC,CAAC,CAAC;IACP,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,KAAa;QACtD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;gBAChC,GAAG,MAAM,CAAC,UAAU;gBACpB,GAAG,MAAM,CAAC,UAAU;gBACpB,GAAG,MAAM,CAAC,QAAQ;aACrB,CAAC,CAAC,MAAM,CAAC;YACV,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC/B,GAAG,KAAK,CAAC,UAAU;gBACnB,GAAG,KAAK,CAAC,UAAU;gBACnB,GAAG,KAAK,CAAC,QAAQ;aACpB,CAAC,CAAC,MAAM,CAAC;YACV,OAAO,eAAe,GAAG,cAAc,CAAC;QAC5C,CAAC;QACD,OAAO,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,SAAS,CAAC,CAAC;IAC7E,CAAC;IAEO,aAAa,CAAC,CAAS,EAAE,CAAS;QACtC,OAAO;YACH,GAAG,CAAC;YACJ,GAAG,CAAC;YACJ,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE;YAChD,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE;YAChD,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE;SAC7C,CAAC;IACN,CAAC;IAEO,UAAU,CAAC,MAAc;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACrC,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;aACnE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,WAAW,IAAI,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC;IACjD,CAAC;IAEO,UAAU,CAAC,EAAW;QAC1B,uDAAuD;QACvD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,EAAW;QACjC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,EAAW;QACjC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,KAAK,GAAI,EAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,EAAW;QAC/B,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,iBAAiB,CAAE,EAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { VxTreeOptions } from './parser.js';
|
2
|
+
import { VxTreeView } from './tree.js';
|
3
|
+
export declare const VX_DOM_SYMBOL: unique symbol;
|
4
|
+
export declare const VX_TREE_SYMBOL: unique symbol;
|
5
|
+
export declare function captureSnapshot(options?: VxTreeOptions): {
|
6
|
+
nodes: import("./parser.js").VxNode[];
|
7
|
+
refRange: [number, number];
|
8
|
+
};
|
9
|
+
export declare function getSnapshot(): VxTreeView;
|
10
|
+
export declare function resolveDomNode(ref: number): Node | null;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { VxTreeParser } from './parser.js';
|
2
|
+
import { VxTreeView } from './tree.js';
|
3
|
+
export const VX_DOM_SYMBOL = Symbol('vx:dom');
|
4
|
+
export const VX_TREE_SYMBOL = Symbol('vx:tree');
|
5
|
+
export function captureSnapshot(options = {}) {
|
6
|
+
const parser = new VxTreeParser(options);
|
7
|
+
const vxNodes = parser.getNodes();
|
8
|
+
const domMap = parser.getDomMap();
|
9
|
+
const vxTree = new VxTreeView(vxNodes);
|
10
|
+
globalThis[VX_DOM_SYMBOL] = domMap;
|
11
|
+
globalThis[VX_TREE_SYMBOL] = vxTree;
|
12
|
+
return {
|
13
|
+
nodes: vxNodes,
|
14
|
+
refRange: parser.getRefRange(),
|
15
|
+
};
|
16
|
+
}
|
17
|
+
export function getSnapshot() {
|
18
|
+
const vxTree = globalThis[VX_TREE_SYMBOL];
|
19
|
+
if (!vxTree) {
|
20
|
+
throw new Error('[VX] Snapshot not found');
|
21
|
+
}
|
22
|
+
return vxTree;
|
23
|
+
}
|
24
|
+
export function resolveDomNode(ref) {
|
25
|
+
const domMap = globalThis[VX_DOM_SYMBOL];
|
26
|
+
if (!domMap) {
|
27
|
+
return null;
|
28
|
+
}
|
29
|
+
return domMap.get(ref) ?? null;
|
30
|
+
}
|
31
|
+
//# sourceMappingURL=snapshot.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/page/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAEhD,MAAM,UAAU,eAAe,CAAC,UAAyB,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACtC,UAAkB,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;IAC3C,UAAkB,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;IAC7C,OAAO;QACH,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;KACjC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,MAAM,MAAM,GAAI,UAAkB,CAAC,cAAc,CAAe,CAAC;IACjE,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,MAAM,MAAM,GAAI,UAAkB,CAAC,aAAa,CAAsB,CAAC;IACvE,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { VxNode } from './parser.js';
|
2
|
+
import { VxRenderOptions } from './render.js';
|
3
|
+
export interface VxHighlightOptions {
|
4
|
+
highlight?: boolean;
|
5
|
+
clearOverlay?: boolean;
|
6
|
+
includeAll?: boolean;
|
7
|
+
filterRefs?: number[];
|
8
|
+
}
|
9
|
+
export declare class VxTreeView {
|
10
|
+
readonly nodes: VxNode[];
|
11
|
+
private refMap;
|
12
|
+
constructor(nodes: VxNode[]);
|
13
|
+
traverse(): IterableIterator<{
|
14
|
+
vxNode: VxNode;
|
15
|
+
depth: number;
|
16
|
+
}>;
|
17
|
+
private buildRefMap;
|
18
|
+
findNode(ref: number): VxNode | null;
|
19
|
+
render(options?: VxRenderOptions): string;
|
20
|
+
highlight(options?: VxHighlightOptions): number[];
|
21
|
+
collectRefs(leafOnly?: boolean, filterRefs?: number[]): number[];
|
22
|
+
}
|
package/out/page/tree.js
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
import { clearOverlay, highlightEl } from './overlay.js';
|
2
|
+
import { renderVxNode } from './render.js';
|
3
|
+
import { resolveDomNode } from './snapshot.js';
|
4
|
+
import { traverseVxNode } from './traverse.js';
|
5
|
+
import { isContainerNode } from './util.js';
|
6
|
+
export class VxTreeView {
|
7
|
+
constructor(nodes) {
|
8
|
+
this.nodes = nodes;
|
9
|
+
this.refMap = new Map();
|
10
|
+
this.buildRefMap(nodes);
|
11
|
+
}
|
12
|
+
*traverse() {
|
13
|
+
for (const vxNode of this.nodes) {
|
14
|
+
yield* traverseVxNode(vxNode, 0);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
buildRefMap(nodes) {
|
18
|
+
for (const node of nodes) {
|
19
|
+
this.refMap.set(node.ref, node);
|
20
|
+
this.buildRefMap(node.children ?? []);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
findNode(ref) {
|
24
|
+
return this.refMap.get(ref) ?? null;
|
25
|
+
}
|
26
|
+
render(options = {}) {
|
27
|
+
return this.nodes.map(node => {
|
28
|
+
return renderVxNode(node, options);
|
29
|
+
}).join('\n');
|
30
|
+
}
|
31
|
+
highlight(options = {}) {
|
32
|
+
if (options.clearOverlay) {
|
33
|
+
clearOverlay();
|
34
|
+
}
|
35
|
+
const leafOnly = !options.includeAll;
|
36
|
+
const refs = this.collectRefs(leafOnly, options.filterRefs);
|
37
|
+
for (const ref of refs) {
|
38
|
+
const el = resolveDomNode(ref);
|
39
|
+
if (el instanceof Element) {
|
40
|
+
highlightEl(el);
|
41
|
+
}
|
42
|
+
}
|
43
|
+
return refs;
|
44
|
+
}
|
45
|
+
collectRefs(leafOnly = true, filterRefs) {
|
46
|
+
const refs = [];
|
47
|
+
for (const { vxNode } of this.traverse()) {
|
48
|
+
if (leafOnly && isContainerNode(vxNode)) {
|
49
|
+
continue;
|
50
|
+
}
|
51
|
+
if (filterRefs && !filterRefs.includes(vxNode.ref)) {
|
52
|
+
continue;
|
53
|
+
}
|
54
|
+
refs.push(vxNode.ref);
|
55
|
+
}
|
56
|
+
return refs;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
//# sourceMappingURL=tree.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/page/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAmB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAS5C,MAAM,OAAO,UAAU;IAInB,YAAqB,KAAe;QAAf,UAAK,GAAL,KAAK,CAAU;QAF5B,WAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAGvC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,CAAC,QAAQ;QACL,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,KAAe;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,UAA2B,EAAE;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,UAA8B,EAAE;QACtC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,EAAE,YAAY,OAAO,EAAE,CAAC;gBACxB,WAAW,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAQ,GAAG,IAAI,EAAE,UAAqB;QAC9C,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACvC,IAAI,QAAQ,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,SAAS;YACb,CAAC;YACD,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,SAAS;YACb,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ"}
|
package/out/page/util.d.ts
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
import {
|
2
|
-
export declare function findFrameTreeByRef(frameTrees: FrameVxTree[], ref: number): FrameVxTree | null;
|
3
|
-
export declare function findParentFrameTree(frameTrees: FrameVxTree[], frameTree: FrameVxTree): FrameVxTree | null;
|
4
|
-
export declare function checkFrameOmitted(frameTrees: FrameVxTree[], frameTree: FrameVxTree): boolean;
|
1
|
+
import { VxNode } from './parser.js';
|
5
2
|
export declare function isContainerNode(vxNode: VxNode): boolean;
|
6
3
|
export declare function isObjectEmpty(obj: Record<string, any>): boolean;
|
package/out/page/util.js
CHANGED
@@ -1,22 +1,3 @@
|
|
1
|
-
export function findFrameTreeByRef(frameTrees, ref) {
|
2
|
-
for (const frameTree of frameTrees) {
|
3
|
-
if (ref >= frameTree.refRange[0] && ref <= frameTree.refRange[1]) {
|
4
|
-
return frameTree;
|
5
|
-
}
|
6
|
-
}
|
7
|
-
return null;
|
8
|
-
}
|
9
|
-
export function findParentFrameTree(frameTrees, frameTree) {
|
10
|
-
const { iframeRef } = frameTree;
|
11
|
-
if (iframeRef == null) {
|
12
|
-
return null;
|
13
|
-
}
|
14
|
-
return findFrameTreeByRef(frameTrees, iframeRef);
|
15
|
-
}
|
16
|
-
export function checkFrameOmitted(frameTrees, frameTree) {
|
17
|
-
const parentFrameTree = findParentFrameTree(frameTrees, frameTree);
|
18
|
-
return parentFrameTree?.isOmitted ?? false;
|
19
|
-
}
|
20
1
|
export function isContainerNode(vxNode) {
|
21
2
|
const children = vxNode.children ?? [];
|
22
3
|
const hasTextChildren = children.some(child => !child.tagName);
|
package/out/page/util.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/page/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/page/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,MAAc;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/D,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAwB;IAClD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC"}
|
package/package.json
CHANGED
package/out/page/view.d.ts
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
import { FrameVxTree, VxNode } from './parser.js';
|
2
|
-
import { VxRenderOptions } from './render.js';
|
3
|
-
export declare class VxPageView<T extends FrameVxTree> {
|
4
|
-
readonly frameTrees: T[];
|
5
|
-
private vxTreeViewMap;
|
6
|
-
constructor(frameTrees: T[]);
|
7
|
-
get vxTrees(): VxTreeView<T>[];
|
8
|
-
findTreeByFrameId(frameId: number): VxTreeView<T> | null;
|
9
|
-
getTreeByFrameId(frameId: number): VxTreeView<T> | null;
|
10
|
-
findTreeByRef(ref: number): VxTreeView<T> | null;
|
11
|
-
getTreeByRef(ref: number): VxTreeView<T>;
|
12
|
-
renderAll(options: VxRenderOptions): string;
|
13
|
-
}
|
14
|
-
export declare class VxTreeView<T extends FrameVxTree> {
|
15
|
-
readonly vxPage: VxPageView<T>;
|
16
|
-
readonly vxTree: T;
|
17
|
-
private refMap;
|
18
|
-
constructor(vxPage: VxPageView<T>, vxTree: T);
|
19
|
-
get frameId(): number;
|
20
|
-
get refRange(): [number, number];
|
21
|
-
findNode(ref: number): VxNode | null;
|
22
|
-
traverse(): IterableIterator<{
|
23
|
-
vxNode: VxNode;
|
24
|
-
depth: number;
|
25
|
-
}>;
|
26
|
-
findParentTree(): VxTreeView<T> | null;
|
27
|
-
isFrameShown(): boolean;
|
28
|
-
collectRefs(leafOnly?: boolean): number[];
|
29
|
-
private buildRefMap;
|
30
|
-
}
|
package/out/page/view.js
DELETED
@@ -1,103 +0,0 @@
|
|
1
|
-
import { renderVxNode } from './render.js';
|
2
|
-
import { traverseVxNode } from './traverse.js';
|
3
|
-
import { isContainerNode } from './util.js';
|
4
|
-
export class VxPageView {
|
5
|
-
constructor(frameTrees) {
|
6
|
-
this.frameTrees = frameTrees;
|
7
|
-
this.vxTreeViewMap = new Map();
|
8
|
-
for (const frameTree of frameTrees) {
|
9
|
-
const vxTreeView = new VxTreeView(this, frameTree);
|
10
|
-
this.vxTreeViewMap.set(frameTree.frameId, vxTreeView);
|
11
|
-
}
|
12
|
-
}
|
13
|
-
get vxTrees() {
|
14
|
-
return Array.from(this.vxTreeViewMap.values());
|
15
|
-
}
|
16
|
-
findTreeByFrameId(frameId) {
|
17
|
-
return this.vxTreeViewMap.get(frameId) ?? null;
|
18
|
-
}
|
19
|
-
getTreeByFrameId(frameId) {
|
20
|
-
const vxTreeView = this.vxTreeViewMap.get(frameId);
|
21
|
-
if (vxTreeView == null) {
|
22
|
-
throw new Error(`Frame tree not found for [frameId=${frameId}]`);
|
23
|
-
}
|
24
|
-
return vxTreeView;
|
25
|
-
}
|
26
|
-
findTreeByRef(ref) {
|
27
|
-
const frameTree = this.frameTrees.find(tree => ref >= tree.refRange[0] && ref <= tree.refRange[1]);
|
28
|
-
if (!frameTree) {
|
29
|
-
return null;
|
30
|
-
}
|
31
|
-
return this.vxTreeViewMap.get(frameTree.frameId) ?? null;
|
32
|
-
}
|
33
|
-
getTreeByRef(ref) {
|
34
|
-
const vxTreeView = this.findTreeByRef(ref);
|
35
|
-
if (vxTreeView == null) {
|
36
|
-
throw new Error(`Frame tree not found for [ref=${ref}]`);
|
37
|
-
}
|
38
|
-
return vxTreeView;
|
39
|
-
}
|
40
|
-
renderAll(options) {
|
41
|
-
// TODO display frames
|
42
|
-
return this.frameTrees.map(frameTree => {
|
43
|
-
return frameTree.nodes.map(node => {
|
44
|
-
return renderVxNode(node, options);
|
45
|
-
}).join('\n');
|
46
|
-
}).join('\n\n');
|
47
|
-
}
|
48
|
-
}
|
49
|
-
export class VxTreeView {
|
50
|
-
constructor(vxPage, vxTree) {
|
51
|
-
this.vxPage = vxPage;
|
52
|
-
this.vxTree = vxTree;
|
53
|
-
this.refMap = new Map();
|
54
|
-
this.buildRefMap(vxTree.nodes);
|
55
|
-
}
|
56
|
-
get frameId() {
|
57
|
-
return this.vxTree.frameId;
|
58
|
-
}
|
59
|
-
get refRange() {
|
60
|
-
return this.vxTree.refRange;
|
61
|
-
}
|
62
|
-
findNode(ref) {
|
63
|
-
return this.refMap.get(ref) ?? null;
|
64
|
-
}
|
65
|
-
*traverse() {
|
66
|
-
for (const vxNode of this.vxTree.nodes) {
|
67
|
-
yield* traverseVxNode(vxNode, 0);
|
68
|
-
}
|
69
|
-
}
|
70
|
-
findParentTree() {
|
71
|
-
const { iframeRef } = this.vxTree;
|
72
|
-
if (iframeRef == null) {
|
73
|
-
return null;
|
74
|
-
}
|
75
|
-
return this.vxPage.findTreeByRef(iframeRef);
|
76
|
-
}
|
77
|
-
isFrameShown() {
|
78
|
-
const parentTree = this.findParentTree();
|
79
|
-
const { iframeRef } = this.vxTree;
|
80
|
-
if (parentTree == null || iframeRef == null) {
|
81
|
-
return true;
|
82
|
-
}
|
83
|
-
const existsInParent = !!parentTree.findNode(iframeRef);
|
84
|
-
return existsInParent ? parentTree.isFrameShown() : false;
|
85
|
-
}
|
86
|
-
collectRefs(leafOnly = true) {
|
87
|
-
const refs = [];
|
88
|
-
for (const { vxNode } of this.traverse()) {
|
89
|
-
if (leafOnly && isContainerNode(vxNode)) {
|
90
|
-
continue;
|
91
|
-
}
|
92
|
-
refs.push(vxNode.ref);
|
93
|
-
}
|
94
|
-
return refs;
|
95
|
-
}
|
96
|
-
buildRefMap(nodes) {
|
97
|
-
for (const node of nodes) {
|
98
|
-
this.refMap.set(node.ref, node);
|
99
|
-
this.buildRefMap(node.children ?? []);
|
100
|
-
}
|
101
|
-
}
|
102
|
-
}
|
103
|
-
//# sourceMappingURL=view.js.map
|
package/out/page/view.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/page/view.ts"],"names":[],"mappings":"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"}
|