main
Last change
on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago |
Initial commit
|
-
Property mode
set to
100644
|
File size:
886 bytes
|
Line | |
---|
1 | "use strict";
|
---|
2 |
|
---|
3 | exports.__esModule = true;
|
---|
4 | exports.default = void 0;
|
---|
5 | var _visitor = require("./visitor.cjs");
|
---|
6 | class Visitor {
|
---|
7 | parentEdges;
|
---|
8 | parent;
|
---|
9 | constructor() {
|
---|
10 | this.parentEdges = new WeakMap();
|
---|
11 | }
|
---|
12 | ObjectElement(objectElement) {
|
---|
13 | this.parentEdges.set(objectElement, this.parent);
|
---|
14 | this.parent = objectElement;
|
---|
15 | }
|
---|
16 | ArrayElement(arrayElement) {
|
---|
17 | this.parentEdges.set(arrayElement, this.parent);
|
---|
18 | this.parent = arrayElement;
|
---|
19 | }
|
---|
20 | MemberElement(memberElement) {
|
---|
21 | this.parentEdges.set(memberElement, this.parent);
|
---|
22 | this.parent = memberElement;
|
---|
23 | }
|
---|
24 | enter(element) {
|
---|
25 | this.parentEdges.set(element, this.parent);
|
---|
26 | }
|
---|
27 | }
|
---|
28 |
|
---|
29 | // computes upwards edges from every child to its parent
|
---|
30 | const parents = element => {
|
---|
31 | const visitor = new Visitor();
|
---|
32 | (0, _visitor.visit)(element, visitor);
|
---|
33 | return visitor.parentEdges;
|
---|
34 | };
|
---|
35 | var _default = exports.default = parents; |
---|
Note:
See
TracBrowser
for help on using the repository browser.