occam-languages 2.1.6 → 2.1.8
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/lib/pass/continuation.js +15 -10
- package/lib/pass/continuationZip.js +16 -10
- package/lib/pass/simple.js +12 -7
- package/package.json +1 -1
- package/src/pass/continuation.js +18 -10
- package/src/pass/continuationZip.js +21 -12
- package/src/pass/simple.js +15 -8
package/lib/pass/continuation.js
CHANGED
|
@@ -49,17 +49,22 @@ class ContinuationPass {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
];
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return;
|
|
52
|
+
let node;
|
|
53
|
+
const map = maps.find((map)=>{
|
|
54
|
+
const { nodeQuery } = map;
|
|
55
|
+
node = nodeQuery(nonTerminalNode);
|
|
56
|
+
if (node !== null) {
|
|
57
|
+
return true;
|
|
59
58
|
}
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
}) || null;
|
|
60
|
+
if (map === null) {
|
|
61
|
+
const visited = false;
|
|
62
|
+
continuation(visited);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const { run } = map;
|
|
66
|
+
run(node, ...remainingArguments, continuation);
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
69
|
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXNzL2NvbnRpbnVhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc29tZSwgZXZlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuaW1wb3J0IHsgbm9uVGVybWluYWxOb2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Bhc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uUGFzcyB7XG4gIHJ1bihub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICB0aGlzLnZpc2l0Tm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH1cblxuICBkZXNjZW5kKGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIGV2ZXJ5KGNoaWxkTm9kZXMsIChjaGlsZE5vZGUsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHRoaXMudmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9LCBjb250aW51YXRpb24pO1xuICB9XG5cbiAgdmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgICAgdGhpcy52aXNpdFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICB0aGlzLnZpc2l0Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHZpc2l0VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgdmlzaXRlZCA9IHRydWUsXG4gICAgICAgICAgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgY29udGludWF0aW9uKHZpc2l0ZWQpO1xuICB9XG5cbiAgdmlzaXROb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICBsZXQgeyBtYXBzIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgbWFwcyA9IFsgLy8vXG4gICAgICAuLi5tYXBzLFxuICAgICAge1xuICAgICAgICBub2RlUXVlcnk6IG5vblRlcm1pbmFsTm9kZVF1ZXJ5LFxuICAgICAgICBydW46IChub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpID0+
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXNzL2NvbnRpbnVhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc29tZSwgZXZlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuaW1wb3J0IHsgbm9uVGVybWluYWxOb2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Bhc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uUGFzcyB7XG4gIHJ1bihub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICB0aGlzLnZpc2l0Tm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH1cblxuICBkZXNjZW5kKGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIGV2ZXJ5KGNoaWxkTm9kZXMsIChjaGlsZE5vZGUsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHRoaXMudmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9LCBjb250aW51YXRpb24pO1xuICB9XG5cbiAgdmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgICAgdGhpcy52aXNpdFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICB0aGlzLnZpc2l0Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHZpc2l0VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgdmlzaXRlZCA9IHRydWUsXG4gICAgICAgICAgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgY29udGludWF0aW9uKHZpc2l0ZWQpO1xuICB9XG5cbiAgdmlzaXROb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICBsZXQgeyBtYXBzIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgbWFwcyA9IFsgLy8vXG4gICAgICAuLi5tYXBzLFxuICAgICAge1xuICAgICAgICBub2RlUXVlcnk6IG5vblRlcm1pbmFsTm9kZVF1ZXJ5LFxuICAgICAgICBydW46IChub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpID0+IHtcbiAgICAgICAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgICAgICAgICB0aGlzLmRlc2NlbmQoY2hpbGROb2RlcywgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcblxuICAgIGxldCBub2RlO1xuXG4gICAgY29uc3QgbWFwID0gbWFwcy5maW5kKChtYXApID0+IHtcbiAgICAgIGNvbnN0IHsgbm9kZVF1ZXJ5IH0gPSBtYXA7XG5cbiAgICAgIG5vZGUgPSBub2RlUXVlcnkobm9uVGVybWluYWxOb2RlKTtcblxuICAgICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChtYXAgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZpc2l0ZWQgPSBmYWxzZTtcblxuICAgICAgY29udGludWF0aW9uKHZpc2l0ZWQpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBydW4gfSA9IG1hcDtcblxuICAgIHJ1bihub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb250aW51YXRpb25QYXNzIiwicnVuIiwibm9kZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImNvbnRpbnVhdGlvbiIsInBvcCIsInZpc2l0Tm9kZSIsImRlc2NlbmQiLCJjaGlsZE5vZGVzIiwiZXZlcnkiLCJjaGlsZE5vZGUiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJ2aXNpdFRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsInZpc2l0Tm9uVGVybWluYWxOb2RlIiwidmlzaXRlZCIsIm1hcHMiLCJub2RlUXVlcnkiLCJub25UZXJtaW5hbE5vZGVRdWVyeSIsImdldENoaWxkTm9kZXMiLCJtYXAiLCJmaW5kIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXFCQTs7OzhCQUhPO3NCQUNTO0FBRXRCLE1BQU1BO0lBQ25CQyxJQUFJQyxJQUFJLEVBQUUsR0FBR0Msa0JBQWtCLEVBQUU7UUFDL0IsTUFBTUMsZUFBZUQsbUJBQW1CRSxHQUFHO1FBRTNDLElBQUksQ0FBQ0MsU0FBUyxDQUFDSixTQUFTQyxvQkFBb0JDO0lBQzlDO0lBRUFHLFFBQVFDLFVBQVUsRUFBRSxHQUFHTCxrQkFBa0IsRUFBRTtRQUN6QyxNQUFNQyxlQUFlRCxtQkFBbUJFLEdBQUc7UUFFM0NJLElBQUFBLG1CQUFLLEVBQUNELFlBQVksQ0FBQ0UsV0FBV047WUFDNUIsTUFBTUYsT0FBT1EsV0FBVyxHQUFHO1lBRTNCLElBQUksQ0FBQ0osU0FBUyxDQUFDSixTQUFTQyxvQkFBb0JDO1FBQzlDLEdBQUdBO0lBQ0w7SUFFQUUsVUFBVUosSUFBSSxFQUFFLEdBQUdDLGtCQUFrQixFQUFFO1FBQ3JDLE1BQU1DLGVBQWVELG1CQUFtQkUsR0FBRyxJQUNyQ00sbUJBQW1CVCxLQUFLVSxjQUFjO1FBRTVDLElBQUlELGtCQUFrQjtZQUNwQixNQUFNRSxlQUFlWCxNQUFPLEdBQUc7WUFFL0IsSUFBSSxDQUFDWSxpQkFBaUIsQ0FBQ0QsaUJBQWlCVixvQkFBb0JDO1FBQzlELE9BQU87WUFDTCxNQUFNVyxrQkFBa0JiLE1BQU8sR0FBRztZQUVsQyxJQUFJLENBQUNjLG9CQUFvQixDQUFDRCxvQkFBb0JaLG9CQUFvQkM7UUFDcEU7SUFDRjtJQUVBVSxrQkFBa0JELFlBQVksRUFBRSxHQUFHVixrQkFBa0IsRUFBRTtRQUNyRCxNQUFNYyxVQUFVLE1BQ1ZiLGVBQWVELG1CQUFtQkUsR0FBRztRQUUzQ0QsYUFBYWE7SUFDZjtJQUVBRCxxQkFBcUJELGVBQWUsRUFBRSxHQUFHWixrQkFBa0IsRUFBRTtRQUMzRCxNQUFNQyxlQUFlRCxtQkFBbUJFLEdBQUc7UUFFM0MsSUFBSSxFQUFFYSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVztRQUUvQkEsT0FBTztlQUNGQTtZQUNIO2dCQUNFQyxXQUFXQywwQkFBb0I7Z0JBQy9CbkIsS0FBSyxDQUFDQyxNQUFNLEdBQUdDO29CQUNiLE1BQU1DLGVBQWVELG1CQUFtQkUsR0FBRyxJQUNyQ0csYUFBYU8sZ0JBQWdCTSxhQUFhO29CQUVoRCxJQUFJLENBQUNkLE9BQU8sQ0FBQ0MsZUFBZUwsb0JBQW9CQztnQkFDbEQ7WUFDRjtTQUNEO1FBRUQsSUFBSUY7UUFFSixNQUFNb0IsTUFBTUosS0FBS0ssSUFBSSxDQUFDLENBQUNEO1lBQ3JCLE1BQU0sRUFBRUgsU0FBUyxFQUFFLEdBQUdHO1lBRXRCcEIsT0FBT2lCLFVBQVVKO1lBRWpCLElBQUliLFNBQVMsTUFBTTtnQkFDakIsT0FBTztZQUNUO1FBQ0YsTUFBTTtRQUVOLElBQUlvQixRQUFRLE1BQU07WUFDaEIsTUFBTUwsVUFBVTtZQUVoQmIsYUFBYWE7WUFFYjtRQUNGO1FBRUEsTUFBTSxFQUFFaEIsR0FBRyxFQUFFLEdBQUdxQjtRQUVoQnJCLElBQUlDLFNBQVNDLG9CQUFvQkM7SUFDbkM7QUFDRiJ9
|
|
@@ -68,17 +68,23 @@ class ContinuationZipPass {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
];
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return;
|
|
71
|
+
let generalNode, specificNode;
|
|
72
|
+
const map = maps.find((map)=>{
|
|
73
|
+
const { generalNodeQuery, specificNodeQuery } = map;
|
|
74
|
+
generalNode = generalNodeQuery(generalNonTerminalNode);
|
|
75
|
+
specificNode = specificNodeQuery(specificNonTerminalNode);
|
|
76
|
+
if (generalNode !== null && specificNode !== null) {
|
|
77
|
+
return true;
|
|
78
78
|
}
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
}) || null;
|
|
80
|
+
if (map === null) {
|
|
81
|
+
const visited = false;
|
|
82
|
+
continuation(visited);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const { run } = map;
|
|
86
|
+
run(generalNode, specificNode, ...remainingArguments, continuation);
|
|
81
87
|
}
|
|
82
88
|
}
|
|
83
89
|
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXNzL2NvbnRpbnVhdGlvblppcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc29tZSwgZXZlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuaW1wb3J0IHsgbm9uVGVybWluYWxOb2RlUXVlcnksIGFyZUNoaWxkTm9kZXNDb25ncnVlbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Bhc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uWmlwUGFzcyB7XG4gIHJ1bihnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICB0aGlzLnZpc2l0Tm9kZShnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH1cblxuICBkZXNjZW5kKGdlbmVyYWxDaGlsZE5vZGVzLCBzcGVjaWZpY0NoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBjaGlsZE5vZGVzQ29uZ3J1ZW50ID0gYXJlQ2hpbGROb2Rlc0NvbmdydWVudChnZW5lcmFsQ2hpbGROb2Rlcywgc3BlY2lmaWNDaGlsZE5vZGVzKTtcblxuICAgIGlmICghY2hpbGROb2Rlc0NvbmdydWVudCkge1xuICAgICAgY29uc3QgZGVzY2VuZGVkID0gZmFsc2U7XG5cbiAgICAgIGNvbnRpbnVhdGlvbihkZXNjZW5kZWQpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluZGV4ID0gLTE7XG5cbiAgICBldmVyeShnZW5lcmFsQ2hpbGROb2RlcywgKGdlbmVyYWxDaGlsZE5vZGUsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgaW5kZXgrKztcblxuICAgICAgY29uc3Qgc3BlY2lmaWNDaGlsZE5vZGUgPSBzcGVjaWZpY0NoaWxkTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgc3BlY2lmaWNOb2RlID0gc3BlY2lmaWNDaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgZ2VuZXJhbE5vZGUgPSBnZW5lcmFsQ2hpbGROb2RlOyAvLy9cblxuICAgICAgdGhpcy52aXNpdE5vZGUoZ2VuZXJhbE5vZGUsIHNwZWNpZmljTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICAgIH0sIGNvbnRpbnVhdGlvbik7XG4gIH1cblxuICB2aXNpdE5vZGUoZ2VuZXJhbE5vZGUsIHNwZWNpZmljTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgIGdlbmVyYWxOb2RlVGVybWluYWxOb2RlID0gZ2VuZXJhbE5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBzcGVjaWZpY05vZGVUZXJtaW5hbE5vZGUgPSBzcGVjaWZpY05vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBnZW5lcmFsTm9kZU5vblRlcm1pbmFsTm9kZSA9IGdlbmVyYWxOb2RlLmlzTm9uVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgc3BlY2lmaWNOb2RlTm9uVGVybWluYWxOb2RlID0gc3BlY2lmaWNOb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAoZ2VuZXJhbE5vZGVUZXJtaW5hbE5vZGUgJiYgc3BlY2lmaWNOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBnZW5lcmFsVGVybWluYWxOb2RlID0gZ2VuZXJhbE5vZGUsICAvLy9cbiAgICAgICAgICAgIHNwZWNpZmljVGVybWluYWxOb2RlID0gc3BlY2lmaWNOb2RlOyAgLy8vXG5cbiAgICAgIHRoaXMudmlzaXRUZXJtaW5hbE5vZGUoZ2VuZXJhbFRlcm1pbmFsTm9kZSwgc3BlY2lmaWNUZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKGdlbmVyYWxOb2RlTm9uVGVybWluYWxOb2RlICYmIHNwZWNpZmljTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSA9IGdlbmVyYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSA9IHNwZWNpZmljTm9kZTsgLy8vXG5cbiAgICAgIHRoaXMudmlzaXROb25UZXJtaW5hbE5vZGUoZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSwgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmlzaXRlZCA9IGZhbHNlO1xuXG4gICAgICBjb250aW51YXRpb24odmlzaXRlZCk7XG4gICAgfVxuICB9XG5cbiAgdmlzaXRUZXJtaW5hbE5vZGUoZ2VuZXJhbFRlcm1pbmFsTm9kZSwgc3BlY2lmaWNUZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykgeyAvLy9cbiAgICBjb25zdCB2aXNpdGVkID0gdHJ1ZSxcbiAgICAgICAgICBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICBjb250aW51YXRpb24odmlzaXRlZCk7XG4gIH1cblxuICB2aXNpdE5vblRlcm1pbmFsTm9kZShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgbGV0IHsgbWFwcyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIG1hcHMgPSBbIC8vL1xuICAgICAgLi4ubWFwcyxcbiAgICAgIHtcbiAgICAgICAgZ2VuZXJhbE5vZGVRdWVyeTogbm9uVGVybWluYWxOb2RlUXVlcnksXG4gICAgICAgIHNwZWNpZmljTm9kZVF1ZXJ5OiBub25UZXJtaW5hbE5vZGVRdWVyeSxcbiAgICAgICAgcnVuOiAoZ2VuZXJhbE5vZGUsIHNwZWNpZmljTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgICAgICAgIGdlbmVyYWxOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgICAgICAgICAgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IHNwZWNpZmljTm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gICAgICAgICAgaWYgKGdlbmVyYWxOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSAhPT0gc3BlY2lmaWNOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSkge1xuICAgICAgICAgICAgY29uc3QgdmlzaXRlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBjb250aW51YXRpb24odmlzaXRlZCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBnZW5lcmFsTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICAgIHNwZWNpZmljTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IHNwZWNpZmljTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICBnZW5lcmFsQ2hpbGROb2RlcyA9IGdlbmVyYWxOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgICBzcGVjaWZpY0NoaWxkTm9kZXMgPSBzcGVjaWZpY05vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXM7IC8vL1xuXG4gICAgICAgICAgdGhpcy5kZXNjZW5kKGdlbmVyYWxDaGlsZE5vZGVzLCBzcGVjaWZpY0NoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF1cblxuICAgIHNvbWUobWFwcywgKG1hcCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICBjb25zdCB7IGdlbmVyYWxOb2RlUXVlcnksIHNwZWNpZmljTm9kZVF1ZXJ5LCBydW4gfSA9IG1hcDtcblxuICAgICAgY29uc3QgZ2VuZXJhbE5vZGUgPSBnZW5lcmFsTm9kZVF1ZXJ5KGdlbmVyYWxOb25UZXJtaW5hbE5vZGUpLCAgLy8vXG4gICAgICAgICAgICBzcGVjaWZpY05vZGUgPSBzcGVjaWZpY05vZGVRdWVyeShzcGVjaWZpY05vblRlcm1pbmFsTm9kZSk7ICAvLy9cblxuICAgICAgaWYgKChnZW5lcmFsTm9kZSA9PT0gbnVsbCkgfHwgKHNwZWNpZmljTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgY29uc3QgdmlzaXRlZCA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnRpbnVhdGlvbih2aXNpdGVkKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJ1bihnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gICAgfSwgY29udGludWF0aW9uKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbnRpbnVhdGlvblppcFBhc3MiLCJydW4iLCJnZW5lcmFsTm9kZSIsInNwZWNpZmljTm9kZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImNvbnRpbnVhdGlvbiIsInBvcCIsInZpc2l0Tm9kZSIsImRlc2NlbmQiLCJnZW5lcmFsQ2hpbGROb2RlcyIsInNwZWNpZmljQ2hpbGROb2RlcyIsImNoaWxkTm9kZXNDb25ncnVlbnQiLCJhcmVDaGlsZE5vZGVzQ29uZ3J1ZW50IiwiZGVzY2VuZGVkIiwiaW5kZXgiLCJldmVyeSIsImdlbmVyYWxDaGlsZE5vZGUiLCJzcGVjaWZpY0NoaWxkTm9kZSIsImdlbmVyYWxOb2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJzcGVjaWZpY05vZGVUZXJtaW5hbE5vZGUiLCJnZW5lcmFsTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwic3BlY2lmaWNOb2RlTm9uVGVybWluYWxOb2RlIiwiZ2VuZXJhbFRlcm1pbmFsTm9kZSIsInNwZWNpZmljVGVybWluYWxOb2RlIiwidmlzaXRUZXJtaW5hbE5vZGUiLCJnZW5lcmFsTm9uVGVybWluYWxOb2RlIiwic3BlY2lmaWNOb25UZXJtaW5hbE5vZGUiLCJ2aXNpdE5vblRlcm1pbmFsTm9kZSIsInZpc2l0ZWQiLCJtYXBzIiwiZ2VuZXJhbE5vZGVRdWVyeSIsIm5vblRlcm1pbmFsTm9kZVF1ZXJ5Iiwic3BlY2lmaWNOb2RlUXVlcnkiLCJnZW5lcmFsTm9uVGVybWluYWxOb2RlUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInNwZWNpZmljTm9uVGVybWluYWxOb2RlUnVsZU5hbWUiLCJnZW5lcmFsTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJzcGVjaWZpY05vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMiLCJzb21lIiwibWFwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXFCQTs7OzhCQUhPO3NCQUNpQztBQUU5QyxNQUFNQTtJQUNuQkMsSUFBSUMsV0FBVyxFQUFFQyxZQUFZLEVBQUUsR0FBR0Msa0JBQWtCLEVBQUU7UUFDcEQsTUFBTUMsZUFBZUQsbUJBQW1CRSxHQUFHO1FBRTND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
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXNzL2NvbnRpbnVhdGlvblppcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc29tZSwgZXZlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuaW1wb3J0IHsgbm9uVGVybWluYWxOb2RlUXVlcnksIGFyZUNoaWxkTm9kZXNDb25ncnVlbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Bhc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uWmlwUGFzcyB7XG4gIHJ1bihnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICB0aGlzLnZpc2l0Tm9kZShnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH1cblxuICBkZXNjZW5kKGdlbmVyYWxDaGlsZE5vZGVzLCBzcGVjaWZpY0NoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBjaGlsZE5vZGVzQ29uZ3J1ZW50ID0gYXJlQ2hpbGROb2Rlc0NvbmdydWVudChnZW5lcmFsQ2hpbGROb2Rlcywgc3BlY2lmaWNDaGlsZE5vZGVzKTtcblxuICAgIGlmICghY2hpbGROb2Rlc0NvbmdydWVudCkge1xuICAgICAgY29uc3QgZGVzY2VuZGVkID0gZmFsc2U7XG5cbiAgICAgIGNvbnRpbnVhdGlvbihkZXNjZW5kZWQpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluZGV4ID0gLTE7XG5cbiAgICBldmVyeShnZW5lcmFsQ2hpbGROb2RlcywgKGdlbmVyYWxDaGlsZE5vZGUsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgaW5kZXgrKztcblxuICAgICAgY29uc3Qgc3BlY2lmaWNDaGlsZE5vZGUgPSBzcGVjaWZpY0NoaWxkTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgc3BlY2lmaWNOb2RlID0gc3BlY2lmaWNDaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgZ2VuZXJhbE5vZGUgPSBnZW5lcmFsQ2hpbGROb2RlOyAvLy9cblxuICAgICAgdGhpcy52aXNpdE5vZGUoZ2VuZXJhbE5vZGUsIHNwZWNpZmljTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICAgIH0sIGNvbnRpbnVhdGlvbik7XG4gIH1cblxuICB2aXNpdE5vZGUoZ2VuZXJhbE5vZGUsIHNwZWNpZmljTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgIGdlbmVyYWxOb2RlVGVybWluYWxOb2RlID0gZ2VuZXJhbE5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBzcGVjaWZpY05vZGVUZXJtaW5hbE5vZGUgPSBzcGVjaWZpY05vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBnZW5lcmFsTm9kZU5vblRlcm1pbmFsTm9kZSA9IGdlbmVyYWxOb2RlLmlzTm9uVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgc3BlY2lmaWNOb2RlTm9uVGVybWluYWxOb2RlID0gc3BlY2lmaWNOb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAoZ2VuZXJhbE5vZGVUZXJtaW5hbE5vZGUgJiYgc3BlY2lmaWNOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBnZW5lcmFsVGVybWluYWxOb2RlID0gZ2VuZXJhbE5vZGUsICAvLy9cbiAgICAgICAgICAgIHNwZWNpZmljVGVybWluYWxOb2RlID0gc3BlY2lmaWNOb2RlOyAgLy8vXG5cbiAgICAgIHRoaXMudmlzaXRUZXJtaW5hbE5vZGUoZ2VuZXJhbFRlcm1pbmFsTm9kZSwgc3BlY2lmaWNUZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKGdlbmVyYWxOb2RlTm9uVGVybWluYWxOb2RlICYmIHNwZWNpZmljTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSA9IGdlbmVyYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSA9IHNwZWNpZmljTm9kZTsgLy8vXG5cbiAgICAgIHRoaXMudmlzaXROb25UZXJtaW5hbE5vZGUoZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSwgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmlzaXRlZCA9IGZhbHNlO1xuXG4gICAgICBjb250aW51YXRpb24odmlzaXRlZCk7XG4gICAgfVxuICB9XG5cbiAgdmlzaXRUZXJtaW5hbE5vZGUoZ2VuZXJhbFRlcm1pbmFsTm9kZSwgc3BlY2lmaWNUZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykgeyAvLy9cbiAgICBjb25zdCB2aXNpdGVkID0gdHJ1ZSxcbiAgICAgICAgICBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICBjb250aW51YXRpb24odmlzaXRlZCk7XG4gIH1cblxuICB2aXNpdE5vblRlcm1pbmFsTm9kZShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgbGV0IHsgbWFwcyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIG1hcHMgPSBbIC8vL1xuICAgICAgLi4ubWFwcyxcbiAgICAgIHtcbiAgICAgICAgZ2VuZXJhbE5vZGVRdWVyeTogbm9uVGVybWluYWxOb2RlUXVlcnksXG4gICAgICAgIHNwZWNpZmljTm9kZVF1ZXJ5OiBub25UZXJtaW5hbE5vZGVRdWVyeSxcbiAgICAgICAgcnVuOiAoZ2VuZXJhbE5vZGUsIHNwZWNpZmljTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgICAgICAgIGdlbmVyYWxOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgICAgICAgICAgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IHNwZWNpZmljTm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gICAgICAgICAgaWYgKGdlbmVyYWxOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSAhPT0gc3BlY2lmaWNOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSkge1xuICAgICAgICAgICAgY29uc3QgdmlzaXRlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBjb250aW51YXRpb24odmlzaXRlZCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBnZW5lcmFsTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICAgIHNwZWNpZmljTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IHNwZWNpZmljTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICBnZW5lcmFsQ2hpbGROb2RlcyA9IGdlbmVyYWxOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgICBzcGVjaWZpY0NoaWxkTm9kZXMgPSBzcGVjaWZpY05vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXM7IC8vL1xuXG4gICAgICAgICAgdGhpcy5kZXNjZW5kKGdlbmVyYWxDaGlsZE5vZGVzLCBzcGVjaWZpY0NoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG5cbiAgICBsZXQgZ2VuZXJhbE5vZGUsXG4gICAgICAgIHNwZWNpZmljTm9kZTtcblxuICAgIGNvbnN0IG1hcCA9IG1hcHMuZmluZCgobWFwKSA9PiB7XG4gICAgICBjb25zdCB7IGdlbmVyYWxOb2RlUXVlcnksIHNwZWNpZmljTm9kZVF1ZXJ5IH0gPSBtYXA7XG5cbiAgICAgIGdlbmVyYWxOb2RlID0gZ2VuZXJhbE5vZGVRdWVyeShnZW5lcmFsTm9uVGVybWluYWxOb2RlKTtcbiAgICAgIHNwZWNpZmljTm9kZSA9IHNwZWNpZmljTm9kZVF1ZXJ5KHNwZWNpZmljTm9uVGVybWluYWxOb2RlKTtcblxuICAgICAgaWYgKChnZW5lcmFsTm9kZSAhPT0gbnVsbCkgJiYgKHNwZWNpZmljTm9kZSAhPT0gbnVsbCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChtYXAgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZpc2l0ZWQgPSBmYWxzZTtcblxuICAgICAgY29udGludWF0aW9uKHZpc2l0ZWQpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBydW4gfSA9IG1hcDtcblxuICAgIHJ1bihnZW5lcmFsTm9kZSwgc3BlY2lmaWNOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb250aW51YXRpb25aaXBQYXNzIiwicnVuIiwiZ2VuZXJhbE5vZGUiLCJzcGVjaWZpY05vZGUiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJjb250aW51YXRpb24iLCJwb3AiLCJ2aXNpdE5vZGUiLCJkZXNjZW5kIiwiZ2VuZXJhbENoaWxkTm9kZXMiLCJzcGVjaWZpY0NoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQ29uZ3J1ZW50IiwiYXJlQ2hpbGROb2Rlc0NvbmdydWVudCIsImRlc2NlbmRlZCIsImluZGV4IiwiZXZlcnkiLCJnZW5lcmFsQ2hpbGROb2RlIiwic3BlY2lmaWNDaGlsZE5vZGUiLCJnZW5lcmFsTm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwic3BlY2lmaWNOb2RlVGVybWluYWxOb2RlIiwiZ2VuZXJhbE5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsInNwZWNpZmljTm9kZU5vblRlcm1pbmFsTm9kZSIsImdlbmVyYWxUZXJtaW5hbE5vZGUiLCJzcGVjaWZpY1Rlcm1pbmFsTm9kZSIsInZpc2l0VGVybWluYWxOb2RlIiwiZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSIsInNwZWNpZmljTm9uVGVybWluYWxOb2RlIiwidmlzaXROb25UZXJtaW5hbE5vZGUiLCJ2aXNpdGVkIiwibWFwcyIsImdlbmVyYWxOb2RlUXVlcnkiLCJub25UZXJtaW5hbE5vZGVRdWVyeSIsInNwZWNpZmljTm9kZVF1ZXJ5IiwiZ2VuZXJhbE5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJzcGVjaWZpY05vblRlcm1pbmFsTm9kZVJ1bGVOYW1lIiwiZ2VuZXJhbE5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwic3BlY2lmaWNOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzIiwibWFwIiwiZmluZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUFxQkE7Ozs4QkFITztzQkFDaUM7QUFFOUMsTUFBTUE7SUFDbkJDLElBQUlDLFdBQVcsRUFBRUMsWUFBWSxFQUFFLEdBQUdDLGtCQUFrQixFQUFFO1FBQ3BELE1BQU1DLGVBQWVELG1CQUFtQkUsR0FBRztRQUUzQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0wsYUFBYUMsaUJBQWlCQyxvQkFBb0JDO0lBQ25FO0lBRUFHLFFBQVFDLGlCQUFpQixFQUFFQyxrQkFBa0IsRUFBRSxHQUFHTixrQkFBa0IsRUFBRTtRQUNwRSxNQUFNQyxlQUFlRCxtQkFBbUJFLEdBQUcsSUFDckNLLHNCQUFzQkMsSUFBQUEsNEJBQXNCLEVBQUNILG1CQUFtQkM7UUFFdEUsSUFBSSxDQUFDQyxxQkFBcUI7WUFDeEIsTUFBTUUsWUFBWTtZQUVsQlIsYUFBYVE7WUFFYjtRQUNGO1FBRUEsSUFBSUMsUUFBUSxDQUFDO1FBRWJDLElBQUFBLG1CQUFLLEVBQUNOLG1CQUFtQixDQUFDTyxrQkFBa0JYO1lBQzFDUztZQUVBLE1BQU1HLG9CQUFvQlAsa0JBQWtCLENBQUNJLE1BQU0sRUFDN0NYLGVBQWVjLG1CQUNmZixjQUFjYyxrQkFBa0IsR0FBRztZQUV6QyxJQUFJLENBQUNULFNBQVMsQ0FBQ0wsYUFBYUMsaUJBQWlCQyxvQkFBb0JDO1FBQ25FLEdBQUdBO0lBQ0w7SUFFQUUsVUFBVUwsV0FBVyxFQUFFQyxZQUFZLEVBQUUsR0FBR0Msa0JBQWtCLEVBQUU7UUFDMUQsTUFBTUMsZUFBZUQsbUJBQW1CRSxHQUFHLElBQ3JDWSwwQkFBMEJoQixZQUFZaUIsY0FBYyxJQUNwREMsMkJBQTJCakIsYUFBYWdCLGNBQWMsSUFDdERFLDZCQUE2Qm5CLFlBQVlvQixpQkFBaUIsSUFDMURDLDhCQUE4QnBCLGFBQWFtQixpQkFBaUI7UUFFbEUsSUFBSSxPQUFPO1FBQ1QsR0FBRztRQUNMLE9BQU8sSUFBSUosMkJBQTJCRSwwQkFBMEI7WUFDOUQsTUFBTUksc0JBQXNCdEIsYUFDdEJ1Qix1QkFBdUJ0QixjQUFlLEdBQUc7WUFFL0MsSUFBSSxDQUFDdUIsaUJBQWlCLENBQUNGLHFCQUFxQkMseUJBQXlCckIsb0JBQW9CQztRQUMzRixPQUFPLElBQUlnQiw4QkFBOEJFLDZCQUE2QjtZQUNwRSxNQUFNSSx5QkFBeUJ6QixhQUN6QjBCLDBCQUEwQnpCLGNBQWMsR0FBRztZQUVqRCxJQUFJLENBQUMwQixvQkFBb0IsQ0FBQ0Ysd0JBQXdCQyw0QkFBNEJ4QixvQkFBb0JDO1FBQ3BHLE9BQU87WUFDTCxNQUFNeUIsVUFBVTtZQUVoQnpCLGFBQWF5QjtRQUNmO0lBQ0Y7SUFFQUosa0JBQWtCRixtQkFBbUIsRUFBRUMsb0JBQW9CLEVBQUUsR0FBR3JCLGtCQUFrQixFQUFFO1FBQ2xGLE1BQU0wQixVQUFVLE1BQ1Z6QixlQUFlRCxtQkFBbUJFLEdBQUc7UUFFM0NELGFBQWF5QjtJQUNmO0lBRUFELHFCQUFxQkYsc0JBQXNCLEVBQUVDLHVCQUF1QixFQUFFLEdBQUd4QixrQkFBa0IsRUFBRTtRQUMzRixNQUFNQyxlQUFlRCxtQkFBbUJFLEdBQUc7UUFFM0MsSUFBSSxFQUFFeUIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVc7UUFFL0JBLE9BQU87ZUFDRkE7WUFDSDtnQkFDRUMsa0JBQWtCQywwQkFBb0I7Z0JBQ3RDQyxtQkFBbUJELDBCQUFvQjtnQkFDdkNoQyxLQUFLLENBQUNDLGFBQWFDLGNBQWMsR0FBR0M7b0JBQ2xDLE1BQU1DLGVBQWVELG1CQUFtQkUsR0FBRyxJQUNyQzZCLGlDQUFpQ1IsdUJBQXVCUyxXQUFXLElBQ25FQyxrQ0FBa0NULHdCQUF3QlEsV0FBVyxJQUFJLEdBQUc7b0JBRWxGLElBQUlELG1DQUFtQ0UsaUNBQWlDO3dCQUN0RSxNQUFNUCxVQUFVO3dCQUVoQnpCLGFBQWF5Qjt3QkFFYjtvQkFDRjtvQkFFQSxNQUFNUSxtQ0FBbUNYLHVCQUF1QlksYUFBYSxJQUN2RUMsb0NBQW9DWix3QkFBd0JXLGFBQWEsSUFDekU5QixvQkFBb0I2QixrQ0FDcEI1QixxQkFBcUI4QixtQ0FBbUMsR0FBRztvQkFFakUsSUFBSSxDQUFDaEMsT0FBTyxDQUFDQyxtQkFBbUJDLHVCQUF1Qk4sb0JBQW9CQztnQkFDN0U7WUFDRjtTQUNEO1FBRUQsSUFBSUgsYUFDQUM7UUFFSixNQUFNc0MsTUFBTVYsS0FBS1csSUFBSSxDQUFDLENBQUNEO1lBQ3JCLE1BQU0sRUFBRVQsZ0JBQWdCLEVBQUVFLGlCQUFpQixFQUFFLEdBQUdPO1lBRWhEdkMsY0FBYzhCLGlCQUFpQkw7WUFDL0J4QixlQUFlK0Isa0JBQWtCTjtZQUVqQyxJQUFJLEFBQUMxQixnQkFBZ0IsUUFBVUMsaUJBQWlCLE1BQU87Z0JBQ3JELE9BQU87WUFDVDtRQUNGLE1BQU07UUFFTixJQUFJc0MsUUFBUSxNQUFNO1lBQ2hCLE1BQU1YLFVBQVU7WUFFaEJ6QixhQUFheUI7WUFFYjtRQUNGO1FBRUEsTUFBTSxFQUFFN0IsR0FBRyxFQUFFLEdBQUd3QztRQUVoQnhDLElBQUlDLGFBQWFDLGlCQUFpQkMsb0JBQW9CQztJQUN4RDtBQUNGIn0=
|
package/lib/pass/simple.js
CHANGED
|
@@ -62,17 +62,22 @@ class SimplePass {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
];
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const
|
|
65
|
+
let node;
|
|
66
|
+
const map = maps.find((map)=>{
|
|
67
|
+
const { nodeQuery } = map;
|
|
68
|
+
node = nodeQuery(nonTerminalNode);
|
|
68
69
|
if (node !== null) {
|
|
69
|
-
const success = run(node, ...remainingArguments);
|
|
70
|
-
visited = success;
|
|
71
70
|
return true;
|
|
72
71
|
}
|
|
73
|
-
});
|
|
72
|
+
}) || null;
|
|
73
|
+
if (map !== null) {
|
|
74
|
+
const { run } = map, success = run(node, ...remainingArguments);
|
|
75
|
+
if (success) {
|
|
76
|
+
visited = true;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
74
79
|
return visited;
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXNzL3NpbXBsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9uVGVybWluYWxOb2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Bhc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2ltcGxlUGFzcyB7XG4gIHJ1bihub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgc3VjY2VzcztcblxuICAgIGNvbnN0IHZpc2l0ZWQgPSB0aGlzLnZpc2l0Tm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgc3VjY2VzcyA9IHZpc2l0ZWQ7ICAvLy9cblxuICAgIHJldHVybiBzdWNjZXNzO1xuICB9XG5cbiAgZGVzY2VuZChjaGlsZE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgZGVzY2VuZGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB2aXNpdGVkID0gY2hpbGROb2Rlcy5ldmVyeSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBub2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgIHZpc2l0ZWQgPSB0aGlzLnZpc2l0Tm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICBpZiAodmlzaXRlZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh2aXNpdGVkKSB7XG4gICAgICBkZXNjZW5kZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBkZXNjZW5kZWQ7XG4gIH1cblxuICB2aXNpdE5vZGUobm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IHZpc2l0ZWQ7XG5cbiAgICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgICAgdmlzaXRlZCA9IHRoaXMudmlzaXRUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICAgIHZpc2l0ZWQgPSB0aGlzLnZpc2l0Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmlzaXRlZDtcbiAgfVxuXG4gIHZpc2l0VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgdmlzaXRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gdmlzaXRlZDtcbiAgfVxuXG4gIHZpc2l0Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IHZpc2l0ZWQgPSBmYWxzZTtcblxuICAgIGxldCB7IG1hcHMgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICBtYXBzID0gWyAvLy9cbiAgICAgIC4uLm1hcHMsXG4gICAgICB7XG4gICAgICAgIG5vZGVRdWVyeTogbm9uVGVybWluYWxOb2RlUXVlcnksXG4gICAgICAgIHJ1bjogKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykgPT4ge1xuICAgICAgICAgIGxldCB2aXNpdGVkID0gZmFsc2U7XG5cbiAgICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSwgLy8vXG4gICAgICAgICAgICAgICAgZGVzY2VuZGVkID0gdGhpcy5kZXNjZW5kKGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgICBpZiAoZGVzY2VuZGVkKSB7XG4gICAgICAgICAgICB2aXNpdGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdmlzaXRlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG5cbiAgICBsZXQgbm9kZTtcblxuICAgIGNvbnN0IG1hcCA9IG1hcHMuZmluZCgobWFwKSA9PiB7XG4gICAgICBjb25zdCB7IG5vZGVRdWVyeSB9ID0gbWFwO1xuXG4gICAgICBub2RlID0gbm9kZVF1ZXJ5KG5vblRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG5cbiAgICBpZiAobWFwICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IHJ1biB9ID0gbWFwLFxuICAgICAgICAgICAgc3VjY2VzcyA9IHJ1bihub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICB2aXNpdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmlzaXRlZDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNpbXBsZVBhc3MiLCJydW4iLCJub2RlIiwicmVtYWluaW5nQXJndW1lbnRzIiwic3VjY2VzcyIsInZpc2l0ZWQiLCJ2aXNpdE5vZGUiLCJkZXNjZW5kIiwiY2hpbGROb2RlcyIsImRlc2NlbmRlZCIsImV2ZXJ5IiwiY2hpbGROb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwidmlzaXRUZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJ2aXNpdE5vblRlcm1pbmFsTm9kZSIsIm1hcHMiLCJub2RlUXVlcnkiLCJub25UZXJtaW5hbE5vZGVRdWVyeSIsImdldENoaWxkTm9kZXMiLCJtYXAiLCJmaW5kIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7O3NCQUZnQjtBQUV0QixNQUFNQTtJQUNuQkMsSUFBSUMsSUFBSSxFQUFFLEdBQUdDLGtCQUFrQixFQUFFO1FBQy9CLElBQUlDO1FBRUosTUFBTUMsVUFBVSxJQUFJLENBQUNDLFNBQVMsQ0FBQ0osU0FBU0M7UUFFeENDLFVBQVVDLFNBQVUsR0FBRztRQUV2QixPQUFPRDtJQUNUO0lBRUFHLFFBQVFDLFVBQVUsRUFBRSxHQUFHTCxrQkFBa0IsRUFBRTtRQUN6QyxJQUFJTSxZQUFZO1FBRWhCLE1BQU1KLFVBQVVHLFdBQVdFLEtBQUssQ0FBQyxDQUFDQztZQUNoQyxNQUFNVCxPQUFPUyxXQUNQTixVQUFVLElBQUksQ0FBQ0MsU0FBUyxDQUFDSixTQUFTQztZQUV4QyxJQUFJRSxTQUFTO2dCQUNYLE9BQU87WUFDVDtRQUNGO1FBRUEsSUFBSUEsU0FBUztZQUNYSSxZQUFZO1FBQ2Q7UUFFQSxPQUFPQTtJQUNUO0lBRUFILFVBQVVKLElBQUksRUFBRSxHQUFHQyxrQkFBa0IsRUFBRTtRQUNyQyxJQUFJRTtRQUVKLE1BQU1PLG1CQUFtQlYsS0FBS1csY0FBYztRQUU1QyxJQUFJRCxrQkFBa0I7WUFDcEIsTUFBTUUsZUFBZVosTUFBTyxHQUFHO1lBRS9CRyxVQUFVLElBQUksQ0FBQ1UsaUJBQWlCLENBQUNELGlCQUFpQlg7UUFDcEQsT0FBTztZQUNMLE1BQU1hLGtCQUFrQmQsTUFBTyxHQUFHO1lBRWxDRyxVQUFVLElBQUksQ0FBQ1ksb0JBQW9CLENBQUNELG9CQUFvQmI7UUFDMUQ7UUFFQSxPQUFPRTtJQUNUO0lBRUFVLGtCQUFrQkQsWUFBWSxFQUFFLEdBQUdYLGtCQUFrQixFQUFFO1FBQ3JELE1BQU1FLFVBQVU7UUFFaEIsT0FBT0E7SUFDVDtJQUVBWSxxQkFBcUJELGVBQWUsRUFBRSxHQUFHYixrQkFBa0IsRUFBRTtRQUMzRCxJQUFJRSxVQUFVO1FBRWQsSUFBSSxFQUFFYSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVztRQUUvQkEsT0FBTztlQUNGQTtZQUNIO2dCQUNFQyxXQUFXQywwQkFBb0I7Z0JBQy9CbkIsS0FBSyxDQUFDQyxNQUFNLEdBQUdDO29CQUNiLElBQUlFLFVBQVU7b0JBRWQsTUFBTUcsYUFBYVEsZ0JBQWdCSyxhQUFhLElBQzFDWixZQUFZLElBQUksQ0FBQ0YsT0FBTyxDQUFDQyxlQUFlTDtvQkFFOUMsSUFBSU0sV0FBVzt3QkFDYkosVUFBVTtvQkFDWjtvQkFFQSxPQUFPQTtnQkFDVDtZQUNGO1NBQ0Q7UUFFRCxJQUFJSDtRQUVKLE1BQU1vQixNQUFNSixLQUFLSyxJQUFJLENBQUMsQ0FBQ0Q7WUFDckIsTUFBTSxFQUFFSCxTQUFTLEVBQUUsR0FBR0c7WUFFdEJwQixPQUFPaUIsVUFBVUg7WUFFakIsSUFBSWQsU0FBUyxNQUFNO2dCQUNqQixPQUFPO1lBQ1Q7UUFDRixNQUFNO1FBRU4sSUFBSW9CLFFBQVEsTUFBTTtZQUNoQixNQUFNLEVBQUVyQixHQUFHLEVBQUUsR0FBR3FCLEtBQ1ZsQixVQUFVSCxJQUFJQyxTQUFTQztZQUU3QixJQUFJQyxTQUFTO2dCQUNYQyxVQUFVO1lBQ1o7UUFDRjtRQUVBLE9BQU9BO0lBQ1Q7QUFDRiJ9
|
package/package.json
CHANGED
package/src/pass/continuation.js
CHANGED
|
@@ -60,20 +60,28 @@ export default class ContinuationPass {
|
|
|
60
60
|
}
|
|
61
61
|
];
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
const { nodeQuery, run } = map;
|
|
63
|
+
let node;
|
|
65
64
|
|
|
66
|
-
|
|
65
|
+
const map = maps.find((map) => {
|
|
66
|
+
const { nodeQuery } = map;
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
const visited = false;
|
|
68
|
+
node = nodeQuery(nonTerminalNode);
|
|
70
69
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return;
|
|
70
|
+
if (node !== null) {
|
|
71
|
+
return true;
|
|
74
72
|
}
|
|
73
|
+
}) || null;
|
|
75
74
|
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
if (map === null) {
|
|
76
|
+
const visited = false;
|
|
77
|
+
|
|
78
|
+
continuation(visited);
|
|
79
|
+
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const { run } = map;
|
|
84
|
+
|
|
85
|
+
run(node, ...remainingArguments, continuation);
|
|
78
86
|
}
|
|
79
87
|
}
|
|
@@ -99,23 +99,32 @@ export default class ContinuationZipPass {
|
|
|
99
99
|
this.descend(generalChildNodes, specificChildNodes, ...remainingArguments, continuation);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
]
|
|
102
|
+
];
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
let generalNode,
|
|
105
|
+
specificNode;
|
|
106
106
|
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
const map = maps.find((map) => {
|
|
108
|
+
const { generalNodeQuery, specificNodeQuery } = map;
|
|
109
109
|
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
generalNode = generalNodeQuery(generalNonTerminalNode);
|
|
111
|
+
specificNode = specificNodeQuery(specificNonTerminalNode);
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return;
|
|
113
|
+
if ((generalNode !== null) && (specificNode !== null)) {
|
|
114
|
+
return true;
|
|
116
115
|
}
|
|
116
|
+
}) || null;
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
if (map === null) {
|
|
119
|
+
const visited = false;
|
|
120
|
+
|
|
121
|
+
continuation(visited);
|
|
122
|
+
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const { run } = map;
|
|
127
|
+
|
|
128
|
+
run(generalNode, specificNode, ...remainingArguments, continuation);
|
|
120
129
|
}
|
|
121
130
|
}
|
package/src/pass/simple.js
CHANGED
|
@@ -78,21 +78,28 @@ export default class SimplePass {
|
|
|
78
78
|
return visited;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
]
|
|
81
|
+
];
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
const { nodeQuery, run } = map;
|
|
83
|
+
let node;
|
|
85
84
|
|
|
86
|
-
|
|
85
|
+
const map = maps.find((map) => {
|
|
86
|
+
const { nodeQuery } = map;
|
|
87
|
+
|
|
88
|
+
node = nodeQuery(nonTerminalNode);
|
|
87
89
|
|
|
88
90
|
if (node !== null) {
|
|
89
|
-
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
}) || null;
|
|
90
94
|
|
|
91
|
-
|
|
95
|
+
if (map !== null) {
|
|
96
|
+
const { run } = map,
|
|
97
|
+
success = run(node, ...remainingArguments);
|
|
92
98
|
|
|
93
|
-
|
|
99
|
+
if (success) {
|
|
100
|
+
visited = true;
|
|
94
101
|
}
|
|
95
|
-
}
|
|
102
|
+
}
|
|
96
103
|
|
|
97
104
|
return visited;
|
|
98
105
|
}
|