occam-dom 5.3.84 → 5.3.85

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/node.js DELETED
@@ -1,130 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return Node;
9
- }
10
- });
11
- const _occamparsers = require("occam-parsers");
12
- const _node = /*#__PURE__*/ _interop_require_default(require("./parseTree/node"));
13
- const _constants = require("./constants");
14
- const _node1 = require("./utilities/node");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- class Node {
21
- constructor(outerNode, parentNode, childNodes){
22
- this.outerNode = outerNode;
23
- this.parentNode = parentNode;
24
- this.childNodes = childNodes;
25
- }
26
- getOuterNode() {
27
- return this.outerNode;
28
- }
29
- getParentNode() {
30
- return this.parentNode;
31
- }
32
- getChildNodes() {
33
- return this.childNodes;
34
- }
35
- setOuterNode(outerNode) {
36
- this.outerNode = outerNode;
37
- }
38
- setParentNode(parentNode) {
39
- this.parentNode = parentNode;
40
- }
41
- setChildNodes(childNodes) {
42
- const startIndex = 0, deleteCount = Infinity, addedChildNodes = childNodes; ///
43
- this.spliceChildNodes(startIndex, deleteCount, addedChildNodes);
44
- }
45
- isLessThan(node) {
46
- const nodeA = this, nodeB = node, lessThan = (0, _node1.isLessThan)(nodeA, nodeB);
47
- return lessThan;
48
- }
49
- isGreaterThan(node) {
50
- const nodeA = this, nodeB = node, greaterThan = (0, _node1.isGreaterThan)(nodeA, nodeB);
51
- return greaterThan;
52
- }
53
- isLessThanOrEqualTo(node) {
54
- const nodeA = this, nodeB = node, lessThanOrEqualTo = (0, _node1.isLessThanOrEqualTo)(nodeA, nodeB);
55
- return lessThanOrEqualTo;
56
- }
57
- isGreaterThanOrEqualTo(node) {
58
- const nodeA = this, nodeB = node, greaterThanOrEqualTo = (0, _node1.isGreaterThanOrEqualTo)(nodeA, nodeB);
59
- return greaterThanOrEqualTo;
60
- }
61
- matchOuterNode(outerNode) {
62
- const outerNodeMatches = this.outerNode === outerNode;
63
- return outerNodeMatches;
64
- }
65
- destroy() {
66
- this.forEachChildNode((childNode)=>{
67
- childNode.destroy();
68
- });
69
- this.outerNode = null;
70
- this.parentNode = null;
71
- this.childNodes = null;
72
- }
73
- asString() {
74
- let string = _constants.EMPTY_STRING;
75
- if (this.outerNode !== null) {
76
- const nodeTerminalNode = this.outerNode.isTerminalNode();
77
- if (nodeTerminalNode) {
78
- const terminalNode = this.outerNode, type = terminalNode.getType(), content = terminalNode.getContent();
79
- string = `"${content}" [${type}]`;
80
- } else {
81
- const nonTerminalNode = this.outerNode, ruleName = nonTerminalNode.getRuleName();
82
- string = ruleName; ///
83
- }
84
- }
85
- return string;
86
- }
87
- asParseTree() {
88
- const node = this, nodeParseTree = _node.default.fromNode(node), parseTree = nodeParseTree; ///
89
- return parseTree;
90
- }
91
- clone(...remainingArguments) {
92
- const Class = this.constructor, outerNode = this.outerNode, parentNode = null, childNodes = cloneChildNodes(this.childNodes), node = new Class(outerNode, parentNode, childNodes, ...remainingArguments);
93
- node.setChildNodesParentNode();
94
- return node;
95
- }
96
- static fromNothing(Class, ...remainingArguments) {
97
- if (Class === undefined) {
98
- Class = Node; ///
99
- }
100
- const outerNode = null, parentNode = null, childNodes = [], node = new Class(outerNode, parentNode, childNodes, ...remainingArguments);
101
- return node;
102
- }
103
- static fromOuterNode(Class, outerNode, ...remainingArguments) {
104
- if (outerNode === undefined) {
105
- outerNode = Class; ///
106
- Class = Node; ///
107
- }
108
- const parentNode = null, childNodes = [], node = new Class(outerNode, parentNode, childNodes, ...remainingArguments);
109
- return node;
110
- }
111
- static fromChildNodes(Class, childNodes, ...remainingArguments) {
112
- if (childNodes === undefined) {
113
- childNodes = Class; ///
114
- Class = Node; ///
115
- }
116
- const outerNode = null, parentNode = null, node = new Class(outerNode, parentNode, childNodes, ...remainingArguments);
117
- node.setChildNodesParentNode();
118
- return node;
119
- }
120
- }
121
- Object.assign(Node.prototype, _occamparsers.nodeMixins);
122
- function cloneChildNodes(childNodes) {
123
- childNodes = childNodes.map((childNode)=>{
124
- childNode = childNode.clone(); ///
125
- return childNode;
126
- });
127
- return childNodes;
128
- }
129
-
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub2RlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlTWl4aW5zIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IE5vZGVQYXJzZVRyZWUgZnJvbSBcIi4vcGFyc2VUcmVlL25vZGVcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBpc0xlc3NUaGFuLCBpc0dyZWF0ZXJUaGFuLCBpc0xlc3NUaGFuT3JFcXVhbFRvLCBpc0dyZWF0ZXJUaGFuT3JFcXVhbFRvIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9kZSB7XG4gIGNvbnN0cnVjdG9yKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcykge1xuICAgIHRoaXMub3V0ZXJOb2RlID0gb3V0ZXJOb2RlO1xuICAgIHRoaXMucGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGROb2RlcztcbiAgfVxuXG4gIGdldE91dGVyTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRlck5vZGU7XG4gIH1cblxuICBnZXRQYXJlbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE5vZGU7XG4gIH1cblxuICBnZXRDaGlsZE5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkTm9kZXM7XG4gIH1cblxuICBzZXRPdXRlck5vZGUob3V0ZXJOb2RlKSB7XG4gICAgdGhpcy5vdXRlck5vZGUgPSBvdXRlck5vZGU7XG4gIH1cblxuICBzZXRQYXJlbnROb2RlKHBhcmVudE5vZGUpIHtcbiAgICB0aGlzLnBhcmVudE5vZGUgPSBwYXJlbnROb2RlO1xuICB9XG5cbiAgc2V0Q2hpbGROb2RlcyhjaGlsZE5vZGVzKSB7XG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IDAsXG4gICAgICAgICAgZGVsZXRlQ291bnQgPSBJbmZpbml0eSxcbiAgICAgICAgICBhZGRlZENoaWxkTm9kZXMgPSBjaGlsZE5vZGVzOyAgLy8vXG5cbiAgICB0aGlzLnNwbGljZUNoaWxkTm9kZXMoc3RhcnRJbmRleCwgZGVsZXRlQ291bnQsIGFkZGVkQ2hpbGROb2Rlcyk7XG4gIH1cblxuICBpc0xlc3NUaGFuKG5vZGUpIHtcbiAgICBjb25zdCBub2RlQSA9IHRoaXMsIC8vL1xuICAgICAgICAgIG5vZGVCID0gbm9kZSwgLy8vXG4gICAgICAgICAgbGVzc1RoYW4gPSBpc0xlc3NUaGFuKG5vZGVBLCBub2RlQik7XG5cbiAgICByZXR1cm4gbGVzc1RoYW47XG4gIH1cblxuICBpc0dyZWF0ZXJUaGFuKG5vZGUpIHtcbiAgICBjb25zdCBub2RlQSA9IHRoaXMsIC8vL1xuICAgICAgICAgIG5vZGVCID0gbm9kZSwgLy8vXG4gICAgICAgICAgZ3JlYXRlclRoYW4gPSBpc0dyZWF0ZXJUaGFuKG5vZGVBLCBub2RlQik7XG5cbiAgICByZXR1cm4gZ3JlYXRlclRoYW47XG4gIH1cblxuICBpc0xlc3NUaGFuT3JFcXVhbFRvKG5vZGUpIHtcbiAgICBjb25zdCBub2RlQSA9IHRoaXMsIC8vL1xuICAgICAgICAgIG5vZGVCID0gbm9kZSwgLy8vXG4gICAgICAgICAgbGVzc1RoYW5PckVxdWFsVG8gPSBpc0xlc3NUaGFuT3JFcXVhbFRvKG5vZGVBLCBub2RlQik7XG5cbiAgICByZXR1cm4gbGVzc1RoYW5PckVxdWFsVG87XG4gIH1cblxuICBpc0dyZWF0ZXJUaGFuT3JFcXVhbFRvKG5vZGUpIHtcbiAgICBjb25zdCBub2RlQSA9IHRoaXMsIC8vL1xuICAgICAgICBub2RlQiA9IG5vZGUsIC8vL1xuICAgICAgICBncmVhdGVyVGhhbk9yRXF1YWxUbyA9IGlzR3JlYXRlclRoYW5PckVxdWFsVG8obm9kZUEsIG5vZGVCKTtcblxuICAgIHJldHVybiBncmVhdGVyVGhhbk9yRXF1YWxUbztcbiAgfVxuXG4gIG1hdGNoT3V0ZXJOb2RlKG91dGVyTm9kZSkge1xuICAgIGNvbnN0IG91dGVyTm9kZU1hdGNoZXMgPSAodGhpcy5vdXRlck5vZGUgPT09IG91dGVyTm9kZSk7XG5cbiAgICByZXR1cm4gb3V0ZXJOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb3JFYWNoQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNoaWxkTm9kZS5kZXN0cm95KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm91dGVyTm9kZSA9IG51bGw7XG4gICAgdGhpcy5wYXJlbnROb2RlID0gbnVsbDtcbiAgICB0aGlzLmNoaWxkTm9kZXMgPSBudWxsO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgbGV0IHN0cmluZyA9IEVNUFRZX1NUUklORztcblxuICAgIGlmICh0aGlzLm91dGVyTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IHRoaXMub3V0ZXJOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IHRoaXMub3V0ZXJOb2RlLFxuICAgICAgICAgICAgICB0eXBlID0gdGVybWluYWxOb2RlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICAgICAgc3RyaW5nID0gYFwiJHtjb250ZW50fVwiIFske3R5cGV9XWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSB0aGlzLm91dGVyTm9kZSxcbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgICAgICBzdHJpbmcgPSBydWxlTmFtZTsgIC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBhc1BhcnNlVHJlZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIG5vZGVQYXJzZVRyZWUgPSBOb2RlUGFyc2VUcmVlLmZyb21Ob2RlKG5vZGUpLFxuICAgICAgICAgIHBhcnNlVHJlZSA9IG5vZGVQYXJzZVRyZWU7ICAvLy9cblxuICAgIHJldHVybiBwYXJzZVRyZWU7XG4gIH1cblxuICBjbG9uZSguLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBDbGFzcyA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgb3V0ZXJOb2RlID0gdGhpcy5vdXRlck5vZGUsXG4gICAgICAgICAgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgY2hpbGROb2RlcyA9IGNsb25lQ2hpbGROb2Rlcyh0aGlzLmNoaWxkTm9kZXMpLFxuICAgICAgICAgIG5vZGUgPSBuZXcgQ2xhc3Mob3V0ZXJOb2RlLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgbm9kZS5zZXRDaGlsZE5vZGVzUGFyZW50Tm9kZSgpO1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChDbGFzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBDbGFzcyA9IE5vZGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IG91dGVyTm9kZSA9IG51bGwsXG4gICAgICAgICAgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgY2hpbGROb2RlcyA9IFtdLFxuICAgICAgICAgIG5vZGUgPSBuZXcgQ2xhc3Mob3V0ZXJOb2RlLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShDbGFzcywgb3V0ZXJOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAob3V0ZXJOb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG91dGVyTm9kZSA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gTm9kZTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgY2hpbGROb2RlcyA9IFtdLFxuICAgICAgICAgIG5vZGUgPSBuZXcgQ2xhc3Mob3V0ZXJOb2RlLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNoaWxkTm9kZXMoQ2xhc3MsIGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChjaGlsZE5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNoaWxkTm9kZXMgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IE5vZGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IG91dGVyTm9kZSA9IG51bGwsXG4gICAgICAgICAgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgbm9kZSA9IG5ldyBDbGFzcyhvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICBub2RlLnNldENoaWxkTm9kZXNQYXJlbnROb2RlKCk7XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKE5vZGUucHJvdG90eXBlLCBub2RlTWl4aW5zKTtcblxuZnVuY3Rpb24gY2xvbmVDaGlsZE5vZGVzKGNoaWxkTm9kZXMpIHtcbiAgY2hpbGROb2RlcyA9IGNoaWxkTm9kZXMubWFwKChjaGlsZE5vZGUpID0+IHsgIC8vL1xuICAgIGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5jbG9uZSgpOyAgLy8vXG5cbiAgICByZXR1cm4gY2hpbGROb2RlO1xuICB9KTtcblxuICByZXR1cm4gY2hpbGROb2Rlcztcbn1cbiJdLCJuYW1lcyI6WyJOb2RlIiwib3V0ZXJOb2RlIiwicGFyZW50Tm9kZSIsImNoaWxkTm9kZXMiLCJnZXRPdXRlck5vZGUiLCJnZXRQYXJlbnROb2RlIiwiZ2V0Q2hpbGROb2RlcyIsInNldE91dGVyTm9kZSIsInNldFBhcmVudE5vZGUiLCJzZXRDaGlsZE5vZGVzIiwic3RhcnRJbmRleCIsImRlbGV0ZUNvdW50IiwiSW5maW5pdHkiLCJhZGRlZENoaWxkTm9kZXMiLCJzcGxpY2VDaGlsZE5vZGVzIiwiaXNMZXNzVGhhbiIsIm5vZGUiLCJub2RlQSIsIm5vZGVCIiwibGVzc1RoYW4iLCJpc0dyZWF0ZXJUaGFuIiwiZ3JlYXRlclRoYW4iLCJpc0xlc3NUaGFuT3JFcXVhbFRvIiwibGVzc1RoYW5PckVxdWFsVG8iLCJpc0dyZWF0ZXJUaGFuT3JFcXVhbFRvIiwiZ3JlYXRlclRoYW5PckVxdWFsVG8iLCJtYXRjaE91dGVyTm9kZSIsIm91dGVyTm9kZU1hdGNoZXMiLCJkZXN0cm95IiwiZm9yRWFjaENoaWxkTm9kZSIsImNoaWxkTm9kZSIsImFzU3RyaW5nIiwic3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwidHlwZSIsImdldFR5cGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsIm5vblRlcm1pbmFsTm9kZSIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJhc1BhcnNlVHJlZSIsIm5vZGVQYXJzZVRyZWUiLCJOb2RlUGFyc2VUcmVlIiwiZnJvbU5vZGUiLCJwYXJzZVRyZWUiLCJjbG9uZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsIkNsYXNzIiwiY2xvbmVDaGlsZE5vZGVzIiwic2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUiLCJmcm9tTm90aGluZyIsInVuZGVmaW5lZCIsImZyb21PdXRlck5vZGUiLCJmcm9tQ2hpbGROb2RlcyIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsIm5vZGVNaXhpbnMi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
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return ChildNodesParseTree;
9
- }
10
- });
11
- const _necessary = require("necessary");
12
- const _verticalBranch = /*#__PURE__*/ _interop_require_default(require("./verticalBranch"));
13
- const _horizontalBranch = /*#__PURE__*/ _interop_require_default(require("./horizontalBranch"));
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- const { first } = _necessary.arrayUtilities;
20
- class ChildNodesParseTree extends _verticalBranch.default {
21
- static fromChildNodes(childNodes) {
22
- let childNodesParseTree = null;
23
- const childNodesLength = childNodes.length;
24
- if (childNodesLength > 0) {
25
- const childNodeParseTrees = childNodes.reduce((childNodeParseTrees, childNode)=>{
26
- const childNodeParseTree = childNode.asParseTree();
27
- childNodeParseTrees.push(childNodeParseTree);
28
- return childNodeParseTrees;
29
- }, []), childNodeParseTreesLength = childNodeParseTrees.length;
30
- if (childNodeParseTreesLength === 1) {
31
- const firstChildNodeParseTree = first(childNodeParseTrees);
32
- childNodesParseTree = firstChildNodeParseTree; ///
33
- } else {
34
- let firstVerticalBranchPosition, lastVerticalBranchPosition = 0, childNodeParseTreesWidth = 0, childNodeParseTreesDepth = 0;
35
- childNodeParseTrees.forEach((childNodeParseTree, index)=>{
36
- const childNodeParseTreeWidth = childNodeParseTree.getWidth(), childNodeParseTreeDepth = childNodeParseTree.getDepth();
37
- if (index === 0) {
38
- const firstChildNodeParseTree = childNodeParseTree, firstChildNodeParseTreeVerticalBranchPosition = firstChildNodeParseTree.getVerticalBranchPosition();
39
- firstVerticalBranchPosition = firstChildNodeParseTreeVerticalBranchPosition;
40
- }
41
- if (index === childNodeParseTreesLength - 1) {
42
- const lastChildNodeParseTree = childNodeParseTree, lastChildNodeParseTreeVerticalBranchPosition = lastChildNodeParseTree.getVerticalBranchPosition();
43
- lastVerticalBranchPosition += lastChildNodeParseTreeVerticalBranchPosition;
44
- }
45
- if (index < childNodeParseTreesLength - 1) {
46
- lastVerticalBranchPosition += childNodeParseTreeWidth;
47
- lastVerticalBranchPosition += 1;
48
- childNodeParseTreesWidth += 1;
49
- }
50
- childNodeParseTreesWidth += childNodeParseTreeWidth;
51
- childNodeParseTreesDepth = Math.max(childNodeParseTreesDepth, childNodeParseTreeDepth);
52
- });
53
- const width = lastVerticalBranchPosition - firstVerticalBranchPosition + 1, verticalBranchParseTree = _verticalBranch.default.fromWidth(width), horizontalBranchParseTree = _horizontalBranch.default.fromWidth(width), leftMarginWidth = firstVerticalBranchPosition, rightMarginWidth = childNodeParseTreesWidth - width - leftMarginWidth;
54
- verticalBranchParseTree.addLeftMargin(leftMarginWidth);
55
- verticalBranchParseTree.addRightMargin(rightMarginWidth);
56
- horizontalBranchParseTree.addLeftMargin(leftMarginWidth);
57
- horizontalBranchParseTree.addRightMargin(rightMarginWidth);
58
- const verticalBranchPosition = verticalBranchParseTree.getVerticalBranchPosition(), depth = childNodeParseTreesDepth; ///
59
- childNodesParseTree = _verticalBranch.default.fromDepthAndVerticalBranchPosition(ChildNodesParseTree, depth, verticalBranchPosition);
60
- childNodeParseTrees.forEach((childNodeParseTree, index)=>{
61
- const childNodeParseTreeDepth = childNodeParseTree.getDepth(), clonedChildNodeParseTree = childNodeParseTree.clone();
62
- if (index < childNodeParseTreesLength - 1) {
63
- const rightMarginWidth = 1;
64
- clonedChildNodeParseTree.addRightMargin(rightMarginWidth);
65
- }
66
- if (childNodeParseTreeDepth < childNodeParseTreesDepth) {
67
- const bottomMarginDepth = childNodeParseTreesDepth - childNodeParseTreeDepth;
68
- clonedChildNodeParseTree.addBottomMargin(bottomMarginDepth);
69
- }
70
- childNodesParseTree.appendToRight(clonedChildNodeParseTree);
71
- });
72
- childNodesParseTree.appendToTop(horizontalBranchParseTree);
73
- childNodesParseTree.appendToTop(verticalBranchParseTree);
74
- }
75
- }
76
- return childNodesParseTree;
77
- }
78
- }
79
-
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZVRyZWUvY2hpbGROb2Rlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSBmcm9tIFwiLi92ZXJ0aWNhbEJyYW5jaFwiO1xuaW1wb3J0IEhvcml6b250YWxCcmFuY2hQYXJzZVRyZWUgZnJvbSBcIi4vaG9yaXpvbnRhbEJyYW5jaFwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2hpbGROb2Rlc1BhcnNlVHJlZSBleHRlbmRzIFZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlIHtcbiAgc3RhdGljIGZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1BhcnNlVHJlZSA9IG51bGw7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzTGVuZ3RoID0gY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAoY2hpbGROb2Rlc0xlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZVBhcnNlVHJlZXMgPSBjaGlsZE5vZGVzLnJlZHVjZSgoY2hpbGROb2RlUGFyc2VUcmVlcywgY2hpbGROb2RlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZVBhcnNlVHJlZSA9IGNoaWxkTm9kZS5hc1BhcnNlVHJlZSgpO1xuXG4gICAgICAgICAgICAgIGNoaWxkTm9kZVBhcnNlVHJlZXMucHVzaChjaGlsZE5vZGVQYXJzZVRyZWUpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBjaGlsZE5vZGVQYXJzZVRyZWVzO1xuICAgICAgICAgICAgfSwgW10pLFxuICAgICAgICAgICAgY2hpbGROb2RlUGFyc2VUcmVlc0xlbmd0aCA9IGNoaWxkTm9kZVBhcnNlVHJlZXMubGVuZ3RoO1xuXG4gICAgICBpZiAoY2hpbGROb2RlUGFyc2VUcmVlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgICBjb25zdCBmaXJzdENoaWxkTm9kZVBhcnNlVHJlZSA9IGZpcnN0KGNoaWxkTm9kZVBhcnNlVHJlZXMpO1xuXG4gICAgICAgIGNoaWxkTm9kZXNQYXJzZVRyZWUgPSBmaXJzdENoaWxkTm9kZVBhcnNlVHJlZTsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGZpcnN0VmVydGljYWxCcmFuY2hQb3NpdGlvbixcbiAgICAgICAgICAgIGxhc3RWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gMCxcbiAgICAgICAgICAgIGNoaWxkTm9kZVBhcnNlVHJlZXNXaWR0aCA9IDAsXG4gICAgICAgICAgICBjaGlsZE5vZGVQYXJzZVRyZWVzRGVwdGggPSAwO1xuXG4gICAgICAgIGNoaWxkTm9kZVBhcnNlVHJlZXMuZm9yRWFjaCgoY2hpbGROb2RlUGFyc2VUcmVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZVBhcnNlVHJlZVdpZHRoID0gY2hpbGROb2RlUGFyc2VUcmVlLmdldFdpZHRoKCksXG4gICAgICAgICAgICAgICAgY2hpbGROb2RlUGFyc2VUcmVlRGVwdGggPSBjaGlsZE5vZGVQYXJzZVRyZWUuZ2V0RGVwdGgoKTtcblxuICAgICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RDaGlsZE5vZGVQYXJzZVRyZWUgPSBjaGlsZE5vZGVQYXJzZVRyZWUsXG4gICAgICAgICAgICAgICAgICBmaXJzdENoaWxkTm9kZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSBmaXJzdENoaWxkTm9kZVBhcnNlVHJlZS5nZXRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKCk7XG5cbiAgICAgICAgICAgIGZpcnN0VmVydGljYWxCcmFuY2hQb3NpdGlvbiA9IGZpcnN0Q2hpbGROb2RlUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaW5kZXggPT09IGNoaWxkTm9kZVBhcnNlVHJlZXNMZW5ndGggLSAxKSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0Q2hpbGROb2RlUGFyc2VUcmVlID0gY2hpbGROb2RlUGFyc2VUcmVlLFxuICAgICAgICAgICAgICAgICAgbGFzdENoaWxkTm9kZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSBsYXN0Q2hpbGROb2RlUGFyc2VUcmVlLmdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oKTtcblxuICAgICAgICAgICAgbGFzdFZlcnRpY2FsQnJhbmNoUG9zaXRpb24gKz0gbGFzdENoaWxkTm9kZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb247XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGluZGV4IDwgY2hpbGROb2RlUGFyc2VUcmVlc0xlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGxhc3RWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uICs9IGNoaWxkTm9kZVBhcnNlVHJlZVdpZHRoO1xuICAgICAgICAgICAgbGFzdFZlcnRpY2FsQnJhbmNoUG9zaXRpb24gKz0gMTtcblxuICAgICAgICAgICAgY2hpbGROb2RlUGFyc2VUcmVlc1dpZHRoICs9IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2hpbGROb2RlUGFyc2VUcmVlc1dpZHRoICs9IGNoaWxkTm9kZVBhcnNlVHJlZVdpZHRoO1xuICAgICAgICAgIGNoaWxkTm9kZVBhcnNlVHJlZXNEZXB0aCA9IE1hdGgubWF4KGNoaWxkTm9kZVBhcnNlVHJlZXNEZXB0aCwgY2hpbGROb2RlUGFyc2VUcmVlRGVwdGgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB3aWR0aCA9IGxhc3RWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIC0gZmlyc3RWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uICsgMSxcbiAgICAgICAgICAgICAgdmVydGljYWxCcmFuY2hQYXJzZVRyZWUgPSBWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZS5mcm9tV2lkdGgod2lkdGgpLFxuICAgICAgICAgICAgICBob3Jpem9udGFsQnJhbmNoUGFyc2VUcmVlID0gSG9yaXpvbnRhbEJyYW5jaFBhcnNlVHJlZS5mcm9tV2lkdGgod2lkdGgpLFxuICAgICAgICAgICAgICBsZWZ0TWFyZ2luV2lkdGggPSBmaXJzdFZlcnRpY2FsQnJhbmNoUG9zaXRpb24sXG4gICAgICAgICAgICAgIHJpZ2h0TWFyZ2luV2lkdGggPSBjaGlsZE5vZGVQYXJzZVRyZWVzV2lkdGggLSB3aWR0aCAtIGxlZnRNYXJnaW5XaWR0aDtcblxuICAgICAgICB2ZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZS5hZGRMZWZ0TWFyZ2luKGxlZnRNYXJnaW5XaWR0aCk7XG4gICAgICAgIHZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlLmFkZFJpZ2h0TWFyZ2luKHJpZ2h0TWFyZ2luV2lkdGgpO1xuICAgICAgICBob3Jpem9udGFsQnJhbmNoUGFyc2VUcmVlLmFkZExlZnRNYXJnaW4obGVmdE1hcmdpbldpZHRoKTtcbiAgICAgICAgaG9yaXpvbnRhbEJyYW5jaFBhcnNlVHJlZS5hZGRSaWdodE1hcmdpbihyaWdodE1hcmdpbldpZHRoKTtcblxuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gdmVydGljYWxCcmFuY2hQYXJzZVRyZWUuZ2V0VmVydGljYWxCcmFuY2hQb3NpdGlvbigpLFxuICAgICAgICAgICAgICBkZXB0aCA9IGNoaWxkTm9kZVBhcnNlVHJlZXNEZXB0aDsgLy8vXG5cbiAgICAgICAgY2hpbGROb2Rlc1BhcnNlVHJlZSA9IFZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlLmZyb21EZXB0aEFuZFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oQ2hpbGROb2Rlc1BhcnNlVHJlZSwgZGVwdGgsIHZlcnRpY2FsQnJhbmNoUG9zaXRpb24pO1xuXG4gICAgICAgIGNoaWxkTm9kZVBhcnNlVHJlZXMuZm9yRWFjaCgoY2hpbGROb2RlUGFyc2VUcmVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZVBhcnNlVHJlZURlcHRoID0gY2hpbGROb2RlUGFyc2VUcmVlLmdldERlcHRoKCksXG4gICAgICAgICAgICAgICAgY2xvbmVkQ2hpbGROb2RlUGFyc2VUcmVlID0gY2hpbGROb2RlUGFyc2VUcmVlLmNsb25lKCk7XG5cbiAgICAgICAgICBpZiAoaW5kZXggPCBjaGlsZE5vZGVQYXJzZVRyZWVzTGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgY29uc3QgcmlnaHRNYXJnaW5XaWR0aCA9IDE7XG5cbiAgICAgICAgICAgIGNsb25lZENoaWxkTm9kZVBhcnNlVHJlZS5hZGRSaWdodE1hcmdpbihyaWdodE1hcmdpbldpZHRoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY2hpbGROb2RlUGFyc2VUcmVlRGVwdGggPCBjaGlsZE5vZGVQYXJzZVRyZWVzRGVwdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdHRvbU1hcmdpbkRlcHRoID0gY2hpbGROb2RlUGFyc2VUcmVlc0RlcHRoIC0gY2hpbGROb2RlUGFyc2VUcmVlRGVwdGg7XG5cbiAgICAgICAgICAgIGNsb25lZENoaWxkTm9kZVBhcnNlVHJlZS5hZGRCb3R0b21NYXJnaW4oYm90dG9tTWFyZ2luRGVwdGgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNoaWxkTm9kZXNQYXJzZVRyZWUuYXBwZW5kVG9SaWdodChjbG9uZWRDaGlsZE5vZGVQYXJzZVRyZWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjaGlsZE5vZGVzUGFyc2VUcmVlLmFwcGVuZFRvVG9wKGhvcml6b250YWxCcmFuY2hQYXJzZVRyZWUpO1xuXG4gICAgICAgIGNoaWxkTm9kZXNQYXJzZVRyZWUuYXBwZW5kVG9Ub3AodmVydGljYWxCcmFuY2hQYXJzZVRyZWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjaGlsZE5vZGVzUGFyc2VUcmVlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ2hpbGROb2Rlc1BhcnNlVHJlZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSIsImZyb21DaGlsZE5vZGVzIiwiY2hpbGROb2RlcyIsImNoaWxkTm9kZXNQYXJzZVRyZWUiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiY2hpbGROb2RlUGFyc2VUcmVlcyIsInJlZHVjZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZVBhcnNlVHJlZSIsImFzUGFyc2VUcmVlIiwicHVzaCIsImNoaWxkTm9kZVBhcnNlVHJlZXNMZW5ndGgiLCJmaXJzdENoaWxkTm9kZVBhcnNlVHJlZSIsImZpcnN0VmVydGljYWxCcmFuY2hQb3NpdGlvbiIsImxhc3RWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiY2hpbGROb2RlUGFyc2VUcmVlc1dpZHRoIiwiY2hpbGROb2RlUGFyc2VUcmVlc0RlcHRoIiwiZm9yRWFjaCIsImluZGV4IiwiY2hpbGROb2RlUGFyc2VUcmVlV2lkdGgiLCJnZXRXaWR0aCIsImNoaWxkTm9kZVBhcnNlVHJlZURlcHRoIiwiZ2V0RGVwdGgiLCJmaXJzdENoaWxkTm9kZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24iLCJnZXRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwibGFzdENoaWxkTm9kZVBhcnNlVHJlZSIsImxhc3RDaGlsZE5vZGVQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiTWF0aCIsIm1heCIsIndpZHRoIiwidmVydGljYWxCcmFuY2hQYXJzZVRyZWUiLCJmcm9tV2lkdGgiLCJob3Jpem9udGFsQnJhbmNoUGFyc2VUcmVlIiwiSG9yaXpvbnRhbEJyYW5jaFBhcnNlVHJlZSIsImxlZnRNYXJnaW5XaWR0aCIsInJpZ2h0TWFyZ2luV2lkdGgiLCJhZGRMZWZ0TWFyZ2luIiwiYWRkUmlnaHRNYXJnaW4iLCJ2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiZGVwdGgiLCJmcm9tRGVwdGhBbmRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiY2xvbmVkQ2hpbGROb2RlUGFyc2VUcmVlIiwiY2xvbmUiLCJib3R0b21NYXJnaW5EZXB0aCIsImFkZEJvdHRvbU1hcmdpbiIsImFwcGVuZFRvUmlnaHQiLCJhcHBlbmRUb1RvcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFxQkE7OzsyQkFQVTt1RUFFSzt5RUFDRTs7Ozs7O0FBRXRDLE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWpCLE1BQU1GLDRCQUE0QkcsdUJBQXVCO0lBQ3RFLE9BQU9DLGVBQWVDLFVBQVUsRUFBRTtRQUNoQyxJQUFJQyxzQkFBc0I7UUFFMUIsTUFBTUMsbUJBQW1CRixXQUFXRyxNQUFNO1FBRTFDLElBQUlELG1CQUFtQixHQUFHO1lBQ3hCLE1BQU1FLHNCQUFzQkosV0FBV0ssTUFBTSxDQUFDLENBQUNELHFCQUFxQkU7Z0JBQzVELE1BQU1DLHFCQUFxQkQsVUFBVUUsV0FBVztnQkFFaERKLG9CQUFvQkssSUFBSSxDQUFDRjtnQkFFekIsT0FBT0g7WUFDVCxHQUFHLEVBQUUsR0FDTE0sNEJBQTRCTixvQkFBb0JELE1BQU07WUFFNUQsSUFBSU8sOEJBQThCLEdBQUc7Z0JBQ25DLE1BQU1DLDBCQUEwQmYsTUFBTVE7Z0JBRXRDSCxzQkFBc0JVLHlCQUEwQixHQUFHO1lBQ3JELE9BQU87Z0JBQ0wsSUFBSUMsNkJBQ0FDLDZCQUE2QixHQUM3QkMsMkJBQTJCLEdBQzNCQywyQkFBMkI7Z0JBRS9CWCxvQkFBb0JZLE9BQU8sQ0FBQyxDQUFDVCxvQkFBb0JVO29CQUMvQyxNQUFNQywwQkFBMEJYLG1CQUFtQlksUUFBUSxJQUNyREMsMEJBQTBCYixtQkFBbUJjLFFBQVE7b0JBRTNELElBQUlKLFVBQVUsR0FBRzt3QkFDZixNQUFNTiwwQkFBMEJKLG9CQUMxQmUsZ0RBQWdEWCx3QkFBd0JZLHlCQUF5Qjt3QkFFdkdYLDhCQUE4QlU7b0JBQ2hDO29CQUVBLElBQUlMLFVBQVVQLDRCQUE0QixHQUFHO3dCQUMzQyxNQUFNYyx5QkFBeUJqQixvQkFDekJrQiwrQ0FBK0NELHVCQUF1QkQseUJBQXlCO3dCQUVyR1YsOEJBQThCWTtvQkFDaEM7b0JBRUEsSUFBSVIsUUFBUVAsNEJBQTRCLEdBQUc7d0JBQ3pDRyw4QkFBOEJLO3dCQUM5QkwsOEJBQThCO3dCQUU5QkMsNEJBQTRCO29CQUM5QjtvQkFFQUEsNEJBQTRCSTtvQkFDNUJILDJCQUEyQlcsS0FBS0MsR0FBRyxDQUFDWiwwQkFBMEJLO2dCQUNoRTtnQkFFQSxNQUFNUSxRQUFRZiw2QkFBNkJELDhCQUE4QixHQUNuRWlCLDBCQUEwQi9CLHVCQUF1QixDQUFDZ0MsU0FBUyxDQUFDRixRQUM1REcsNEJBQTRCQyx5QkFBeUIsQ0FBQ0YsU0FBUyxDQUFDRixRQUNoRUssa0JBQWtCckIsNkJBQ2xCc0IsbUJBQW1CcEIsMkJBQTJCYyxRQUFRSztnQkFFNURKLHdCQUF3Qk0sYUFBYSxDQUFDRjtnQkFDdENKLHdCQUF3Qk8sY0FBYyxDQUFDRjtnQkFDdkNILDBCQUEwQkksYUFBYSxDQUFDRjtnQkFDeENGLDBCQUEwQkssY0FBYyxDQUFDRjtnQkFFekMsTUFBTUcseUJBQXlCUix3QkFBd0JOLHlCQUF5QixJQUMxRWUsUUFBUXZCLDBCQUEwQixHQUFHO2dCQUUzQ2Qsc0JBQXNCSCx1QkFBdUIsQ0FBQ3lDLGtDQUFrQyxDQUFDNUMscUJBQXFCMkMsT0FBT0Q7Z0JBRTdHakMsb0JBQW9CWSxPQUFPLENBQUMsQ0FBQ1Qsb0JBQW9CVTtvQkFDL0MsTUFBTUcsMEJBQTBCYixtQkFBbUJjLFFBQVEsSUFDckRtQiwyQkFBMkJqQyxtQkFBbUJrQyxLQUFLO29CQUV6RCxJQUFJeEIsUUFBUVAsNEJBQTRCLEdBQUc7d0JBQ3pDLE1BQU13QixtQkFBbUI7d0JBRXpCTSx5QkFBeUJKLGNBQWMsQ0FBQ0Y7b0JBQzFDO29CQUVBLElBQUlkLDBCQUEwQkwsMEJBQTBCO3dCQUN0RCxNQUFNMkIsb0JBQW9CM0IsMkJBQTJCSzt3QkFFckRvQix5QkFBeUJHLGVBQWUsQ0FBQ0Q7b0JBQzNDO29CQUVBekMsb0JBQW9CMkMsYUFBYSxDQUFDSjtnQkFDcEM7Z0JBRUF2QyxvQkFBb0I0QyxXQUFXLENBQUNkO2dCQUVoQzlCLG9CQUFvQjRDLFdBQVcsQ0FBQ2hCO1lBQ2xDO1FBQ0Y7UUFFQSxPQUFPNUI7SUFDVDtBQUNGIn0=
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return HorizontalBranchParseTree;
9
- }
10
- });
11
- const _necessary = require("necessary");
12
- const _parseTree = /*#__PURE__*/ _interop_require_default(require("../parseTree"));
13
- const _constants = require("../constants");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- const { DASH_CHARACTER } = _necessary.characters;
20
- class HorizontalBranchParseTree extends _parseTree.default {
21
- static fromWidth(width) {
22
- const string = stringFromCharactersWidth(width, DASH_CHARACTER), line = string, lines = [
23
- line
24
- ], horizontalBranchParseTree = new HorizontalBranchParseTree(lines);
25
- return horizontalBranchParseTree;
26
- }
27
- }
28
- function stringFromCharactersWidth(charactersWidth, character) {
29
- let string = _constants.EMPTY_STRING;
30
- for(let index = 0; index < charactersWidth; index++){
31
- string += character;
32
- }
33
- return string;
34
- }
35
-
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZVRyZWUvaG9yaXpvbnRhbEJyYW5jaC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgY2hhcmFjdGVycyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IFBhcnNlVHJlZSBmcm9tIFwiLi4vcGFyc2VUcmVlXCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBEQVNIX0NIQVJBQ1RFUiB9ID0gY2hhcmFjdGVycztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSG9yaXpvbnRhbEJyYW5jaFBhcnNlVHJlZSBleHRlbmRzIFBhcnNlVHJlZSB7XG4gIHN0YXRpYyBmcm9tV2lkdGgod2lkdGgpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBzdHJpbmdGcm9tQ2hhcmFjdGVyc1dpZHRoKHdpZHRoLCBEQVNIX0NIQVJBQ1RFUiksXG4gICAgICAgICAgbGluZSA9IHN0cmluZywgLy8vXG4gICAgICAgICAgbGluZXMgPSBbXG4gICAgICAgICAgICBsaW5lXG4gICAgICAgICAgXSxcbiAgICAgICAgICBob3Jpem9udGFsQnJhbmNoUGFyc2VUcmVlID0gbmV3IEhvcml6b250YWxCcmFuY2hQYXJzZVRyZWUobGluZXMpO1xuXG4gICAgcmV0dXJuIGhvcml6b250YWxCcmFuY2hQYXJzZVRyZWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbUNoYXJhY3RlcnNXaWR0aChjaGFyYWN0ZXJzV2lkdGgsIGNoYXJhY3Rlcikge1xuICBsZXQgc3RyaW5nID0gRU1QVFlfU1RSSU5HO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjaGFyYWN0ZXJzV2lkdGg7IGluZGV4KyspIHtcbiAgICBzdHJpbmcgKz0gY2hhcmFjdGVyO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJIb3Jpem9udGFsQnJhbmNoUGFyc2VUcmVlIiwiREFTSF9DSEFSQUNURVIiLCJjaGFyYWN0ZXJzIiwiUGFyc2VUcmVlIiwiZnJvbVdpZHRoIiwid2lkdGgiLCJzdHJpbmciLCJzdHJpbmdGcm9tQ2hhcmFjdGVyc1dpZHRoIiwibGluZSIsImxpbmVzIiwiaG9yaXpvbnRhbEJyYW5jaFBhcnNlVHJlZSIsImNoYXJhY3RlcnNXaWR0aCIsImNoYXJhY3RlciIsIkVNUFRZX1NUUklORyIsImluZGV4Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXFCQTs7OzJCQVJNO2tFQUVMOzJCQUVPOzs7Ozs7QUFFN0IsTUFBTSxFQUFFQyxjQUFjLEVBQUUsR0FBR0MscUJBQVU7QUFFdEIsTUFBTUYsa0NBQWtDRyxrQkFBUztJQUM5RCxPQUFPQyxVQUFVQyxLQUFLLEVBQUU7UUFDdEIsTUFBTUMsU0FBU0MsMEJBQTBCRixPQUFPSixpQkFDMUNPLE9BQU9GLFFBQ1BHLFFBQVE7WUFDTkQ7U0FDRCxFQUNERSw0QkFBNEIsSUFBSVYsMEJBQTBCUztRQUVoRSxPQUFPQztJQUNUO0FBQ0Y7QUFFQSxTQUFTSCwwQkFBMEJJLGVBQWUsRUFBRUMsU0FBUztJQUMzRCxJQUFJTixTQUFTTyx1QkFBWTtJQUV6QixJQUFLLElBQUlDLFFBQVEsR0FBR0EsUUFBUUgsaUJBQWlCRyxRQUFTO1FBQ3BEUixVQUFVTTtJQUNaO0lBRUEsT0FBT047QUFDVCJ9
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return NodeParseTree;
9
- }
10
- });
11
- const _string = /*#__PURE__*/ _interop_require_default(require("./string"));
12
- const _childNodes = /*#__PURE__*/ _interop_require_default(require("./childNodes"));
13
- const _verticalBranch = /*#__PURE__*/ _interop_require_default(require("./verticalBranch"));
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- class NodeParseTree extends _verticalBranch.default {
20
- static fromNode(node) {
21
- let nodeParseTree;
22
- const childNodes = node.getChildNodes(), stringParseTree = _string.default.fromNode(node), childNodesParseTree = _childNodes.default.fromChildNodes(childNodes);
23
- if (childNodesParseTree === null) {
24
- const ruleNameParseTreeDepth = stringParseTree.getDepth(), ruleNameParseTreeVerticalBranchPosition = stringParseTree.getVerticalBranchPosition(), verticalBranchPosition = ruleNameParseTreeVerticalBranchPosition, depth = ruleNameParseTreeDepth; ///
25
- nodeParseTree = _verticalBranch.default.fromDepthAndVerticalBranchPosition(NodeParseTree, depth, verticalBranchPosition);
26
- nodeParseTree.appendToRight(stringParseTree);
27
- } else {
28
- let ruleNameParseTreeVerticalBranchPosition = stringParseTree.getVerticalBranchPosition();
29
- const childNodesParseTreeVerticalBranchPosition = childNodesParseTree.getVerticalBranchPosition(), verticalBranchPositionsDifference = ruleNameParseTreeVerticalBranchPosition - childNodesParseTreeVerticalBranchPosition;
30
- let leftMarginWidth;
31
- if (false) {
32
- ///
33
- } else if (verticalBranchPositionsDifference < 0) {
34
- leftMarginWidth = -verticalBranchPositionsDifference;
35
- stringParseTree.addLeftMargin(leftMarginWidth);
36
- } else if (verticalBranchPositionsDifference > 0) {
37
- leftMarginWidth = +verticalBranchPositionsDifference;
38
- childNodesParseTree.addLeftMargin(leftMarginWidth);
39
- }
40
- const ruleNameParseTreeWidth = stringParseTree.getWidth(), childNodesParseTreeWidth = childNodesParseTree.getWidth(), widthsDifference = ruleNameParseTreeWidth - childNodesParseTreeWidth;
41
- let rightMarginWidth;
42
- if (false) {
43
- ///
44
- } else if (widthsDifference < 0) {
45
- rightMarginWidth = -widthsDifference;
46
- stringParseTree.addRightMargin(rightMarginWidth);
47
- } else if (widthsDifference > 0) {
48
- rightMarginWidth = +widthsDifference;
49
- childNodesParseTree.addRightMargin(rightMarginWidth);
50
- }
51
- ruleNameParseTreeVerticalBranchPosition = stringParseTree.getVerticalBranchPosition();
52
- const ruleNameParseTreeDepth = stringParseTree.getDepth(), verticalBranchPosition = ruleNameParseTreeVerticalBranchPosition, depth = ruleNameParseTreeDepth; ///
53
- nodeParseTree = _verticalBranch.default.fromDepthAndVerticalBranchPosition(NodeParseTree, depth, verticalBranchPosition);
54
- nodeParseTree.appendToRight(stringParseTree);
55
- nodeParseTree.appendToBottom(childNodesParseTree);
56
- }
57
- return nodeParseTree;
58
- }
59
- }
60
-
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZVRyZWUvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN0cmluZ1BhcnNlVHJlZSBmcm9tIFwiLi9zdHJpbmdcIjtcbmltcG9ydCBDaGlsZE5vZGVzUGFyc2VUcmVlIGZyb20gXCIuL2NoaWxkTm9kZXNcIjtcbmltcG9ydCBWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSBmcm9tIFwiLi92ZXJ0aWNhbEJyYW5jaFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb2RlUGFyc2VUcmVlIGV4dGVuZHMgVmVydGljYWxCcmFuY2hQYXJzZVRyZWUge1xuICBzdGF0aWMgZnJvbU5vZGUobm9kZSkge1xuICAgIGxldCBub2RlUGFyc2VUcmVlO1xuXG4gICAgY29uc3QgY2hpbGROb2RlcyA9IG5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHN0cmluZ1BhcnNlVHJlZSA9IFN0cmluZ1BhcnNlVHJlZS5mcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBjaGlsZE5vZGVzUGFyc2VUcmVlID0gQ2hpbGROb2Rlc1BhcnNlVHJlZS5mcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzKTtcblxuICAgIGlmIChjaGlsZE5vZGVzUGFyc2VUcmVlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBydWxlTmFtZVBhcnNlVHJlZURlcHRoID0gc3RyaW5nUGFyc2VUcmVlLmdldERlcHRoKCksXG4gICAgICAgICAgICBydWxlTmFtZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSBzdHJpbmdQYXJzZVRyZWUuZ2V0VmVydGljYWxCcmFuY2hQb3NpdGlvbigpLFxuICAgICAgICAgICAgdmVydGljYWxCcmFuY2hQb3NpdGlvbiA9IHJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiwgLy8vXG4gICAgICAgICAgICBkZXB0aCA9IHJ1bGVOYW1lUGFyc2VUcmVlRGVwdGg7IC8vL1xuXG4gICAgICBub2RlUGFyc2VUcmVlID0gVmVydGljYWxCcmFuY2hQYXJzZVRyZWUuZnJvbURlcHRoQW5kVmVydGljYWxCcmFuY2hQb3NpdGlvbihOb2RlUGFyc2VUcmVlLCBkZXB0aCwgdmVydGljYWxCcmFuY2hQb3NpdGlvbik7XG5cbiAgICAgIG5vZGVQYXJzZVRyZWUuYXBwZW5kVG9SaWdodChzdHJpbmdQYXJzZVRyZWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcnVsZU5hbWVQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gc3RyaW5nUGFyc2VUcmVlLmdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oKTtcblxuICAgICAgY29uc3QgY2hpbGROb2Rlc1BhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSBjaGlsZE5vZGVzUGFyc2VUcmVlLmdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHZlcnRpY2FsQnJhbmNoUG9zaXRpb25zRGlmZmVyZW5jZSA9IHJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiAtIGNoaWxkTm9kZXNQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uO1xuXG4gICAgICBsZXQgbGVmdE1hcmdpbldpZHRoO1xuXG4gICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgLy8vXG4gICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsQnJhbmNoUG9zaXRpb25zRGlmZmVyZW5jZSA8IDApIHtcbiAgICAgICAgbGVmdE1hcmdpbldpZHRoID0gLXZlcnRpY2FsQnJhbmNoUG9zaXRpb25zRGlmZmVyZW5jZTtcblxuICAgICAgICBzdHJpbmdQYXJzZVRyZWUuYWRkTGVmdE1hcmdpbihsZWZ0TWFyZ2luV2lkdGgpO1xuICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2UgPiAwKSB7XG4gICAgICAgIGxlZnRNYXJnaW5XaWR0aCA9ICt2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2U7XG5cbiAgICAgICAgY2hpbGROb2Rlc1BhcnNlVHJlZS5hZGRMZWZ0TWFyZ2luKGxlZnRNYXJnaW5XaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJ1bGVOYW1lUGFyc2VUcmVlV2lkdGggPSBzdHJpbmdQYXJzZVRyZWUuZ2V0V2lkdGgoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNQYXJzZVRyZWVXaWR0aCA9IGNoaWxkTm9kZXNQYXJzZVRyZWUuZ2V0V2lkdGgoKSxcbiAgICAgICAgICAgIHdpZHRoc0RpZmZlcmVuY2UgPSBydWxlTmFtZVBhcnNlVHJlZVdpZHRoIC0gY2hpbGROb2Rlc1BhcnNlVHJlZVdpZHRoO1xuXG4gICAgICBsZXQgcmlnaHRNYXJnaW5XaWR0aDtcblxuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIC8vL1xuICAgICAgfSBlbHNlIGlmICh3aWR0aHNEaWZmZXJlbmNlIDwgMCkge1xuICAgICAgICByaWdodE1hcmdpbldpZHRoID0gLXdpZHRoc0RpZmZlcmVuY2U7XG5cbiAgICAgICAgc3RyaW5nUGFyc2VUcmVlLmFkZFJpZ2h0TWFyZ2luKHJpZ2h0TWFyZ2luV2lkdGgpO1xuICAgICAgfSBlbHNlIGlmICh3aWR0aHNEaWZmZXJlbmNlID4gMCkge1xuICAgICAgICByaWdodE1hcmdpbldpZHRoID0gK3dpZHRoc0RpZmZlcmVuY2U7XG5cbiAgICAgICAgY2hpbGROb2Rlc1BhcnNlVHJlZS5hZGRSaWdodE1hcmdpbihyaWdodE1hcmdpbldpZHRoKTtcbiAgICAgIH1cblxuICAgICAgcnVsZU5hbWVQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gc3RyaW5nUGFyc2VUcmVlLmdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oKTtcblxuICAgICAgY29uc3QgcnVsZU5hbWVQYXJzZVRyZWVEZXB0aCA9IHN0cmluZ1BhcnNlVHJlZS5nZXREZXB0aCgpLFxuICAgICAgICAgICAgdmVydGljYWxCcmFuY2hQb3NpdGlvbiA9IHJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiwgLy8vXG4gICAgICAgICAgICBkZXB0aCA9IHJ1bGVOYW1lUGFyc2VUcmVlRGVwdGg7IC8vL1xuXG4gICAgICBub2RlUGFyc2VUcmVlID0gVmVydGljYWxCcmFuY2hQYXJzZVRyZWUuZnJvbURlcHRoQW5kVmVydGljYWxCcmFuY2hQb3NpdGlvbihOb2RlUGFyc2VUcmVlLCBkZXB0aCwgdmVydGljYWxCcmFuY2hQb3NpdGlvbik7XG5cbiAgICAgIG5vZGVQYXJzZVRyZWUuYXBwZW5kVG9SaWdodChzdHJpbmdQYXJzZVRyZWUpO1xuXG4gICAgICBub2RlUGFyc2VUcmVlLmFwcGVuZFRvQm90dG9tKGNoaWxkTm9kZXNQYXJzZVRyZWUpO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlUGFyc2VUcmVlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiTm9kZVBhcnNlVHJlZSIsIlZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlIiwiZnJvbU5vZGUiLCJub2RlIiwibm9kZVBhcnNlVHJlZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwic3RyaW5nUGFyc2VUcmVlIiwiU3RyaW5nUGFyc2VUcmVlIiwiY2hpbGROb2Rlc1BhcnNlVHJlZSIsIkNoaWxkTm9kZXNQYXJzZVRyZWUiLCJmcm9tQ2hpbGROb2RlcyIsInJ1bGVOYW1lUGFyc2VUcmVlRGVwdGgiLCJnZXREZXB0aCIsInJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiIsImdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24iLCJ2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiZGVwdGgiLCJmcm9tRGVwdGhBbmRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiYXBwZW5kVG9SaWdodCIsImNoaWxkTm9kZXNQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwidmVydGljYWxCcmFuY2hQb3NpdGlvbnNEaWZmZXJlbmNlIiwibGVmdE1hcmdpbldpZHRoIiwiYWRkTGVmdE1hcmdpbiIsInJ1bGVOYW1lUGFyc2VUcmVlV2lkdGgiLCJnZXRXaWR0aCIsImNoaWxkTm9kZXNQYXJzZVRyZWVXaWR0aCIsIndpZHRoc0RpZmZlcmVuY2UiLCJyaWdodE1hcmdpbldpZHRoIiwiYWRkUmlnaHRNYXJnaW4iLCJhcHBlbmRUb0JvdHRvbSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7OzsrREFKTzttRUFDSTt1RUFDSTs7Ozs7O0FBRXJCLE1BQU1BLHNCQUFzQkMsdUJBQXVCO0lBQ2hFLE9BQU9DLFNBQVNDLElBQUksRUFBRTtRQUNwQixJQUFJQztRQUVKLE1BQU1DLGFBQWFGLEtBQUtHLGFBQWEsSUFDL0JDLGtCQUFrQkMsZUFBZSxDQUFDTixRQUFRLENBQUNDLE9BQzNDTSxzQkFBc0JDLG1CQUFtQixDQUFDQyxjQUFjLENBQUNOO1FBRS9ELElBQUlJLHdCQUF3QixNQUFNO1lBQ2hDLE1BQU1HLHlCQUF5QkwsZ0JBQWdCTSxRQUFRLElBQ2pEQywwQ0FBMENQLGdCQUFnQlEseUJBQXlCLElBQ25GQyx5QkFBeUJGLHlDQUN6QkcsUUFBUUwsd0JBQXdCLEdBQUc7WUFFekNSLGdCQUFnQkgsdUJBQXVCLENBQUNpQixrQ0FBa0MsQ0FBQ2xCLGVBQWVpQixPQUFPRDtZQUVqR1osY0FBY2UsYUFBYSxDQUFDWjtRQUM5QixPQUFPO1lBQ0wsSUFBSU8sMENBQTBDUCxnQkFBZ0JRLHlCQUF5QjtZQUV2RixNQUFNSyw0Q0FBNENYLG9CQUFvQk0seUJBQXlCLElBQ3pGTSxvQ0FBb0NQLDBDQUEwQ007WUFFcEYsSUFBSUU7WUFFSixJQUFJLE9BQU87WUFDVCxHQUFHO1lBQ0wsT0FBTyxJQUFJRCxvQ0FBb0MsR0FBRztnQkFDaERDLGtCQUFrQixDQUFDRDtnQkFFbkJkLGdCQUFnQmdCLGFBQWEsQ0FBQ0Q7WUFDaEMsT0FBTyxJQUFJRCxvQ0FBb0MsR0FBRztnQkFDaERDLGtCQUFrQixDQUFDRDtnQkFFbkJaLG9CQUFvQmMsYUFBYSxDQUFDRDtZQUNwQztZQUVBLE1BQU1FLHlCQUF5QmpCLGdCQUFnQmtCLFFBQVEsSUFDakRDLDJCQUEyQmpCLG9CQUFvQmdCLFFBQVEsSUFDdkRFLG1CQUFtQkgseUJBQXlCRTtZQUVsRCxJQUFJRTtZQUVKLElBQUksT0FBTztZQUNULEdBQUc7WUFDTCxPQUFPLElBQUlELG1CQUFtQixHQUFHO2dCQUMvQkMsbUJBQW1CLENBQUNEO2dCQUVwQnBCLGdCQUFnQnNCLGNBQWMsQ0FBQ0Q7WUFDakMsT0FBTyxJQUFJRCxtQkFBbUIsR0FBRztnQkFDL0JDLG1CQUFtQixDQUFDRDtnQkFFcEJsQixvQkFBb0JvQixjQUFjLENBQUNEO1lBQ3JDO1lBRUFkLDBDQUEwQ1AsZ0JBQWdCUSx5QkFBeUI7WUFFbkYsTUFBTUgseUJBQXlCTCxnQkFBZ0JNLFFBQVEsSUFDakRHLHlCQUF5QkYseUNBQ3pCRyxRQUFRTCx3QkFBd0IsR0FBRztZQUV6Q1IsZ0JBQWdCSCx1QkFBdUIsQ0FBQ2lCLGtDQUFrQyxDQUFDbEIsZUFBZWlCLE9BQU9EO1lBRWpHWixjQUFjZSxhQUFhLENBQUNaO1lBRTVCSCxjQUFjMEIsY0FBYyxDQUFDckI7UUFDL0I7UUFFQSxPQUFPTDtJQUNUO0FBQ0YifQ==
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return StringParseTree;
9
- }
10
- });
11
- const _verticalBranch = /*#__PURE__*/ _interop_require_default(require("./verticalBranch"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- class StringParseTree extends _verticalBranch.default {
18
- static fromNode(node) {
19
- const string = node.asString(), stringLength = string.length, verticalBranchParseTreeWidth = stringLength, verticalBranchParseTree = _verticalBranch.default.fromWidth(verticalBranchParseTreeWidth), verticalBranchPosition = verticalBranchParseTree.getVerticalBranchPosition(), ruleNameParseTree = _verticalBranch.default.fromStringAndVerticalBranchPosition(StringParseTree, string, verticalBranchPosition);
20
- ruleNameParseTree.appendToTop(verticalBranchParseTree);
21
- return ruleNameParseTree;
22
- }
23
- }
24
-
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZVRyZWUvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVmVydGljYWxCcmFuY2hQYXJzZVRyZWUgZnJvbSBcIi4vdmVydGljYWxCcmFuY2hcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RyaW5nUGFyc2VUcmVlIGV4dGVuZHMgVmVydGljYWxCcmFuY2hQYXJzZVRyZWUge1xuICBzdGF0aWMgZnJvbU5vZGUobm9kZSkge1xuICAgIGNvbnN0IHN0cmluZyA9IG5vZGUuYXNTdHJpbmcoKSxcbiAgICAgICAgICBzdHJpbmdMZW5ndGggPSBzdHJpbmcubGVuZ3RoLFxuICAgICAgICAgIHZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlV2lkdGggPSBzdHJpbmdMZW5ndGgsIC8vL1xuICAgICAgICAgIHZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlID0gVmVydGljYWxCcmFuY2hQYXJzZVRyZWUuZnJvbVdpZHRoKHZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlV2lkdGgpLFxuICAgICAgICAgIHZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSB2ZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZS5nZXRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKCksXG4gICAgICAgICAgcnVsZU5hbWVQYXJzZVRyZWUgPSBWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZS5mcm9tU3RyaW5nQW5kVmVydGljYWxCcmFuY2hQb3NpdGlvbihTdHJpbmdQYXJzZVRyZWUsIHN0cmluZywgdmVydGljYWxCcmFuY2hQb3NpdGlvbik7XG5cbiAgICBydWxlTmFtZVBhcnNlVHJlZS5hcHBlbmRUb1RvcCh2ZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSk7XG5cbiAgICByZXR1cm4gcnVsZU5hbWVQYXJzZVRyZWU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTdHJpbmdQYXJzZVRyZWUiLCJWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSIsImZyb21Ob2RlIiwibm9kZSIsInN0cmluZyIsImFzU3RyaW5nIiwic3RyaW5nTGVuZ3RoIiwibGVuZ3RoIiwidmVydGljYWxCcmFuY2hQYXJzZVRyZWVXaWR0aCIsInZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlIiwiZnJvbVdpZHRoIiwidmVydGljYWxCcmFuY2hQb3NpdGlvbiIsImdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24iLCJydWxlTmFtZVBhcnNlVHJlZSIsImZyb21TdHJpbmdBbmRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiYXBwZW5kVG9Ub3AiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBcUJBOzs7dUVBRmU7Ozs7OztBQUVyQixNQUFNQSx3QkFBd0JDLHVCQUF1QjtJQUNsRSxPQUFPQyxTQUFTQyxJQUFJLEVBQUU7UUFDcEIsTUFBTUMsU0FBU0QsS0FBS0UsUUFBUSxJQUN0QkMsZUFBZUYsT0FBT0csTUFBTSxFQUM1QkMsK0JBQStCRixjQUMvQkcsMEJBQTBCUix1QkFBdUIsQ0FBQ1MsU0FBUyxDQUFDRiwrQkFDNURHLHlCQUF5QkYsd0JBQXdCRyx5QkFBeUIsSUFDMUVDLG9CQUFvQlosdUJBQXVCLENBQUNhLG1DQUFtQyxDQUFDZCxpQkFBaUJJLFFBQVFPO1FBRS9HRSxrQkFBa0JFLFdBQVcsQ0FBQ047UUFFOUIsT0FBT0k7SUFDVDtBQUNGIn0=
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return VerticalBranchParseTree;
9
- }
10
- });
11
- const _necessary = require("necessary");
12
- const _parseTree = /*#__PURE__*/ _interop_require_default(require("../parseTree"));
13
- const _constants = require("../constants");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- const { BAR_CHARACTER } = _necessary.characters;
20
- class VerticalBranchParseTree extends _parseTree.default {
21
- constructor(lines, verticalBranchPosition){
22
- super(lines);
23
- this.verticalBranchPosition = verticalBranchPosition;
24
- }
25
- getVerticalBranchPosition() {
26
- return this.verticalBranchPosition;
27
- }
28
- addLeftMargin(leftMarginWidth) {
29
- super.addLeftMargin(leftMarginWidth);
30
- this.verticalBranchPosition += leftMarginWidth; ///
31
- }
32
- static fromWidth(width) {
33
- const string = BAR_CHARACTER, verticalBranchPosition = 0, verticalBranchParseTree = VerticalBranchParseTree.fromStringAndVerticalBranchPosition(VerticalBranchParseTree, string, verticalBranchPosition), leftMarginWidth = Math.floor(width / 2), rightMarginWidth = width - leftMarginWidth - 1;
34
- verticalBranchParseTree.addLeftMargin(leftMarginWidth);
35
- verticalBranchParseTree.addRightMargin(rightMarginWidth);
36
- return verticalBranchParseTree;
37
- }
38
- static fromDepthAndVerticalBranchPosition(Class, depth, verticalBranchPosition) {
39
- const lines = linesFromDepth(depth), verticalBranchParseTree = new Class(lines, verticalBranchPosition);
40
- return verticalBranchParseTree;
41
- }
42
- static fromStringAndVerticalBranchPosition(Class, string, verticalBranchPosition) {
43
- if (verticalBranchPosition === undefined) {
44
- verticalBranchPosition = string; ///
45
- string = Class; ///
46
- Class = _parseTree.default; ///
47
- }
48
- const line = string, lines = [
49
- line
50
- ], verticalBranchParseTree = new Class(lines, verticalBranchPosition);
51
- return verticalBranchParseTree;
52
- }
53
- }
54
- function linesFromDepth(depth) {
55
- const lines = [];
56
- let index = 0;
57
- while(index < depth){
58
- lines[index++] = _constants.EMPTY_STRING;
59
- }
60
- return lines;
61
- }
62
-
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZVRyZWUvdmVydGljYWxCcmFuY2guanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGNoYXJhY3RlcnMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBQYXJzZVRyZWUgZnJvbSBcIi4uL3BhcnNlVHJlZVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgQkFSX0NIQVJBQ1RFUiB9ID0gY2hhcmFjdGVycztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVydGljYWxCcmFuY2hQYXJzZVRyZWUgZXh0ZW5kcyBQYXJzZVRyZWUge1xuICBjb25zdHJ1Y3RvcihsaW5lcywgdmVydGljYWxCcmFuY2hQb3NpdGlvbikge1xuICAgIHN1cGVyKGxpbmVzKTtcbiAgICBcbiAgICB0aGlzLnZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSB2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uO1xuICB9XG4gIFxuICBnZXRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnZlcnRpY2FsQnJhbmNoUG9zaXRpb247XG4gIH1cblxuICBhZGRMZWZ0TWFyZ2luKGxlZnRNYXJnaW5XaWR0aCkge1xuICAgIHN1cGVyLmFkZExlZnRNYXJnaW4obGVmdE1hcmdpbldpZHRoKTtcblxuICAgIHRoaXMudmVydGljYWxCcmFuY2hQb3NpdGlvbiArPSBsZWZ0TWFyZ2luV2lkdGg7IC8vL1xuICB9XG5cbiAgc3RhdGljIGZyb21XaWR0aCh3aWR0aCkge1xuICAgIGNvbnN0IHN0cmluZyA9IEJBUl9DSEFSQUNURVIsXG4gICAgICAgICAgdmVydGljYWxCcmFuY2hQb3NpdGlvbiA9IDAsXG4gICAgICAgICAgdmVydGljYWxCcmFuY2hQYXJzZVRyZWUgPSBWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZS5mcm9tU3RyaW5nQW5kVmVydGljYWxCcmFuY2hQb3NpdGlvbihWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSwgc3RyaW5nLCB2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKSxcbiAgICAgICAgICBsZWZ0TWFyZ2luV2lkdGggPSBNYXRoLmZsb29yKHdpZHRoLzIpLFxuICAgICAgICAgIHJpZ2h0TWFyZ2luV2lkdGggPSB3aWR0aCAtIGxlZnRNYXJnaW5XaWR0aCAtIDE7XG5cbiAgICB2ZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZS5hZGRMZWZ0TWFyZ2luKGxlZnRNYXJnaW5XaWR0aCk7XG4gICAgdmVydGljYWxCcmFuY2hQYXJzZVRyZWUuYWRkUmlnaHRNYXJnaW4ocmlnaHRNYXJnaW5XaWR0aCk7XG5cbiAgICByZXR1cm4gdmVydGljYWxCcmFuY2hQYXJzZVRyZWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbURlcHRoQW5kVmVydGljYWxCcmFuY2hQb3NpdGlvbihDbGFzcywgZGVwdGgsIHZlcnRpY2FsQnJhbmNoUG9zaXRpb24pIHtcbiAgICBjb25zdCBsaW5lcyA9IGxpbmVzRnJvbURlcHRoKGRlcHRoKSxcbiAgICAgICAgICB2ZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSA9IG5ldyBDbGFzcyhsaW5lcywgdmVydGljYWxCcmFuY2hQb3NpdGlvbik7XG5cbiAgICByZXR1cm4gdmVydGljYWxCcmFuY2hQYXJzZVRyZWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZ0FuZFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oQ2xhc3MsIHN0cmluZywgdmVydGljYWxCcmFuY2hQb3NpdGlvbikge1xuICAgIGlmICh2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSBzdHJpbmc7ICAvLy9cblxuICAgICAgc3RyaW5nID0gQ2xhc3M7IC8vL1xuXG4gICAgICBDbGFzcyA9IFBhcnNlVHJlZTsgIC8vL1xuICAgIH1cbiAgICBcbiAgICBjb25zdCBsaW5lID0gc3RyaW5nLCAvLy9cbiAgICAgICAgICBsaW5lcyA9IFtcbiAgICAgICAgICAgIGxpbmVcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlID0gbmV3IENsYXNzKGxpbmVzLCB2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKTtcblxuICAgIHJldHVybiB2ZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBsaW5lc0Zyb21EZXB0aChkZXB0aCkge1xuICBjb25zdCBsaW5lcyA9IFtdO1xuXG4gIGxldCBpbmRleCA9IDA7XG5cbiAgd2hpbGUgKGluZGV4IDwgZGVwdGgpIHtcbiAgICBsaW5lc1tpbmRleCsrXSA9IEVNUFRZX1NUUklORztcbiAgfVxuXG4gIHJldHVybiBsaW5lcztcbn1cbiJdLCJuYW1lcyI6WyJWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSIsIkJBUl9DSEFSQUNURVIiLCJjaGFyYWN0ZXJzIiwiUGFyc2VUcmVlIiwibGluZXMiLCJ2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiZ2V0VmVydGljYWxCcmFuY2hQb3NpdGlvbiIsImFkZExlZnRNYXJnaW4iLCJsZWZ0TWFyZ2luV2lkdGgiLCJmcm9tV2lkdGgiLCJ3aWR0aCIsInN0cmluZyIsInZlcnRpY2FsQnJhbmNoUGFyc2VUcmVlIiwiZnJvbVN0cmluZ0FuZFZlcnRpY2FsQnJhbmNoUG9zaXRpb24iLCJNYXRoIiwiZmxvb3IiLCJyaWdodE1hcmdpbldpZHRoIiwiYWRkUmlnaHRNYXJnaW4iLCJmcm9tRGVwdGhBbmRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiQ2xhc3MiLCJkZXB0aCIsImxpbmVzRnJvbURlcHRoIiwidW5kZWZpbmVkIiwibGluZSIsImluZGV4IiwiRU1QVFlfU1RSSU5HIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXFCQTs7OzJCQVJNO2tFQUVMOzJCQUVPOzs7Ozs7QUFFN0IsTUFBTSxFQUFFQyxhQUFhLEVBQUUsR0FBR0MscUJBQVU7QUFFckIsTUFBTUYsZ0NBQWdDRyxrQkFBUztJQUM1RCxZQUFZQyxLQUFLLEVBQUVDLHNCQUFzQixDQUFFO1FBQ3pDLEtBQUssQ0FBQ0Q7UUFFTixJQUFJLENBQUNDLHNCQUFzQixHQUFHQTtJQUNoQztJQUVBQyw0QkFBNEI7UUFDMUIsT0FBTyxJQUFJLENBQUNELHNCQUFzQjtJQUNwQztJQUVBRSxjQUFjQyxlQUFlLEVBQUU7UUFDN0IsS0FBSyxDQUFDRCxjQUFjQztRQUVwQixJQUFJLENBQUNILHNCQUFzQixJQUFJRyxpQkFBaUIsR0FBRztJQUNyRDtJQUVBLE9BQU9DLFVBQVVDLEtBQUssRUFBRTtRQUN0QixNQUFNQyxTQUFTVixlQUNUSSx5QkFBeUIsR0FDekJPLDBCQUEwQlosd0JBQXdCYSxtQ0FBbUMsQ0FBQ2IseUJBQXlCVyxRQUFRTix5QkFDdkhHLGtCQUFrQk0sS0FBS0MsS0FBSyxDQUFDTCxRQUFNLElBQ25DTSxtQkFBbUJOLFFBQVFGLGtCQUFrQjtRQUVuREksd0JBQXdCTCxhQUFhLENBQUNDO1FBQ3RDSSx3QkFBd0JLLGNBQWMsQ0FBQ0Q7UUFFdkMsT0FBT0o7SUFDVDtJQUVBLE9BQU9NLG1DQUFtQ0MsS0FBSyxFQUFFQyxLQUFLLEVBQUVmLHNCQUFzQixFQUFFO1FBQzlFLE1BQU1ELFFBQVFpQixlQUFlRCxRQUN2QlIsMEJBQTBCLElBQUlPLE1BQU1mLE9BQU9DO1FBRWpELE9BQU9PO0lBQ1Q7SUFFQSxPQUFPQyxvQ0FBb0NNLEtBQUssRUFBRVIsTUFBTSxFQUFFTixzQkFBc0IsRUFBRTtRQUNoRixJQUFJQSwyQkFBMkJpQixXQUFXO1lBQ3hDakIseUJBQXlCTSxRQUFTLEdBQUc7WUFFckNBLFNBQVNRLE9BQU8sR0FBRztZQUVuQkEsUUFBUWhCLGtCQUFTLEVBQUcsR0FBRztRQUN6QjtRQUVBLE1BQU1vQixPQUFPWixRQUNQUCxRQUFRO1lBQ05tQjtTQUNELEVBQ0RYLDBCQUEwQixJQUFJTyxNQUFNZixPQUFPQztRQUVqRCxPQUFPTztJQUNUO0FBQ0Y7QUFFQSxTQUFTUyxlQUFlRCxLQUFLO0lBQzNCLE1BQU1oQixRQUFRLEVBQUU7SUFFaEIsSUFBSW9CLFFBQVE7SUFFWixNQUFPQSxRQUFRSixNQUFPO1FBQ3BCaEIsS0FBSyxDQUFDb0IsUUFBUSxHQUFHQyx1QkFBWTtJQUMvQjtJQUVBLE9BQU9yQjtBQUNUIn0=
package/lib/parseTree.js DELETED
@@ -1,113 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return ParseTree;
9
- }
10
- });
11
- const _necessary = require("necessary");
12
- const _constants = require("./constants");
13
- const { last } = _necessary.arrayUtilities, { NEW_LINE_CHARACTER, SPACE_CHARACTER } = _necessary.characters;
14
- class ParseTree {
15
- constructor(lines){
16
- this.lines = lines;
17
- }
18
- clone() {
19
- const lines = this.lines.slice(), parseTree = new ParseTree(lines);
20
- return parseTree;
21
- }
22
- getWidth() {
23
- let width;
24
- let linesLength = this.lines.length;
25
- if (linesLength === 0) {
26
- width = 0;
27
- } else {
28
- const lastLine = last(this.lines), lastLineLength = lastLine.length;
29
- width = lastLineLength; ///
30
- }
31
- return width;
32
- }
33
- getDepth() {
34
- const linesLength = this.lines.length, depth = linesLength; ///
35
- return depth;
36
- }
37
- forEachLine(callback) {
38
- this.lines.forEach(callback);
39
- }
40
- appendToTop(parseTree) {
41
- parseTree.forEachLine((line)=>{
42
- this.lines.unshift(line);
43
- });
44
- }
45
- appendToLeft(parseTree) {
46
- parseTree.forEachLine((line, index)=>{
47
- this.lines[index] = line + this.lines[index];
48
- });
49
- }
50
- appendToRight(parseTree) {
51
- parseTree.forEachLine((line, index)=>{
52
- this.lines[index] = this.lines[index] + line;
53
- });
54
- }
55
- appendToBottom(parseTree) {
56
- parseTree.forEachLine((line)=>{
57
- this.lines.push(line);
58
- });
59
- }
60
- addTopMargin(topMarginDepth) {
61
- const width = this.getWidth(), topMarginWidth = width, topMarginString = marginStringFromMarginWidth(topMarginWidth);
62
- for(let index = 0; index < topMarginDepth; index++){
63
- this.lines.unshift(topMarginString);
64
- }
65
- }
66
- addLeftMargin(leftMarginWidth) {
67
- const leftMarginString = marginStringFromMarginWidth(leftMarginWidth), linesLength = this.lines.length;
68
- for(let index = 0; index < linesLength; index++){
69
- this.lines[index] = leftMarginString + this.lines[index];
70
- }
71
- }
72
- addRightMargin(rightMarginWidth) {
73
- const rightMarginString = marginStringFromMarginWidth(rightMarginWidth), linesLength = this.lines.length;
74
- for(let index = 0; index < linesLength; index++){
75
- this.lines[index] = this.lines[index] + rightMarginString;
76
- }
77
- }
78
- addBottomMargin(bottomMarginDepth) {
79
- const width = this.getWidth(), bottomMarginWidth = width, bottomMarginString = marginStringFromMarginWidth(bottomMarginWidth);
80
- for(let index = 0; index < bottomMarginDepth; index++){
81
- this.lines.push(bottomMarginString);
82
- }
83
- }
84
- popLine() {
85
- return this.lines.pop();
86
- }
87
- shiftLine() {
88
- return this.lines.shift();
89
- }
90
- pushLine(line) {
91
- this.lines.push(line);
92
- }
93
- unshiftLine(line) {
94
- this.lines.unshift(line);
95
- }
96
- asString() {
97
- const string = this.lines.reduce((string, line)=>{
98
- string += line + NEW_LINE_CHARACTER;
99
- return string;
100
- }, _constants.EMPTY_STRING);
101
- return string;
102
- }
103
- }
104
- function marginStringFromMarginWidth(marginWidth, spaceCharacter) {
105
- spaceCharacter = spaceCharacter || SPACE_CHARACTER;
106
- let marginString = _constants.EMPTY_STRING;
107
- for(let index = 0; index < marginWidth; index++){
108
- marginString += spaceCharacter;
109
- }
110
- return marginString;
111
- }
112
-
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZVRyZWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGNoYXJhY3RlcnMsIGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgTkVXX0xJTkVfQ0hBUkFDVEVSLCBTUEFDRV9DSEFSQUNURVIgfSA9IGNoYXJhY3RlcnM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcnNlVHJlZSB7XG4gIGNvbnN0cnVjdG9yKGxpbmVzKSB7XG4gICAgdGhpcy5saW5lcyA9IGxpbmVzO1xuICB9XG5cbiAgY2xvbmUoKSB7XG4gICAgY29uc3QgbGluZXMgPSB0aGlzLmxpbmVzLnNsaWNlKCksICAvLy9cbiAgICAgICAgICBwYXJzZVRyZWUgPSBuZXcgUGFyc2VUcmVlKGxpbmVzKTtcblxuICAgIHJldHVybiBwYXJzZVRyZWU7XG4gIH1cblxuICBnZXRXaWR0aCgpIHtcbiAgICBsZXQgd2lkdGg7XG5cbiAgICBsZXQgbGluZXNMZW5ndGggPSB0aGlzLmxpbmVzLmxlbmd0aDtcblxuICAgIGlmIChsaW5lc0xlbmd0aCA9PT0gMCkge1xuICAgICAgd2lkdGggPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsYXN0TGluZSA9IGxhc3QodGhpcy5saW5lcyksXG4gICAgICAgICAgICBsYXN0TGluZUxlbmd0aCA9IGxhc3RMaW5lLmxlbmd0aDtcblxuICAgICAgd2lkdGggPSBsYXN0TGluZUxlbmd0aDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgZ2V0RGVwdGgoKSB7XG4gICAgY29uc3QgbGluZXNMZW5ndGggPSB0aGlzLmxpbmVzLmxlbmd0aCxcbiAgICAgICAgICBkZXB0aCA9IGxpbmVzTGVuZ3RoOyAgLy8vXG5cbiAgICByZXR1cm4gZGVwdGg7XG4gIH1cblxuICBmb3JFYWNoTGluZShjYWxsYmFjaykge1xuICAgIHRoaXMubGluZXMuZm9yRWFjaChjYWxsYmFjayk7XG4gIH1cblxuICBhcHBlbmRUb1RvcChwYXJzZVRyZWUpIHtcbiAgICBwYXJzZVRyZWUuZm9yRWFjaExpbmUoKGxpbmUpID0+IHtcbiAgICAgIHRoaXMubGluZXMudW5zaGlmdChsaW5lKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFwcGVuZFRvTGVmdChwYXJzZVRyZWUpIHtcbiAgICBwYXJzZVRyZWUuZm9yRWFjaExpbmUoKGxpbmUsIGluZGV4KSA9PiB7XG4gICAgICB0aGlzLmxpbmVzW2luZGV4XSA9IGxpbmUgKyB0aGlzLmxpbmVzW2luZGV4XTtcbiAgICB9KTtcbiAgfVxuXG4gIGFwcGVuZFRvUmlnaHQocGFyc2VUcmVlKSB7XG4gICAgcGFyc2VUcmVlLmZvckVhY2hMaW5lKChsaW5lLCBpbmRleCkgPT4ge1xuICAgICAgdGhpcy5saW5lc1tpbmRleF0gPSB0aGlzLmxpbmVzW2luZGV4XSArIGxpbmU7XG4gICAgfSk7XG4gIH1cblxuICBhcHBlbmRUb0JvdHRvbShwYXJzZVRyZWUpIHtcbiAgICBwYXJzZVRyZWUuZm9yRWFjaExpbmUoKGxpbmUpID0+IHtcbiAgICAgIHRoaXMubGluZXMucHVzaChsaW5lKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFRvcE1hcmdpbih0b3BNYXJnaW5EZXB0aCkge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRXaWR0aCgpLFxuICAgICAgICAgIHRvcE1hcmdpbldpZHRoID0gd2lkdGgsICAvLy9cbiAgICAgICAgICB0b3BNYXJnaW5TdHJpbmcgPSBtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGgodG9wTWFyZ2luV2lkdGgpO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRvcE1hcmdpbkRlcHRoOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLmxpbmVzLnVuc2hpZnQodG9wTWFyZ2luU3RyaW5nKTtcbiAgICB9XG4gIH1cblxuICBhZGRMZWZ0TWFyZ2luKGxlZnRNYXJnaW5XaWR0aCkge1xuICAgIGNvbnN0IGxlZnRNYXJnaW5TdHJpbmcgPSBtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGgobGVmdE1hcmdpbldpZHRoKSxcbiAgICAgICAgICBsaW5lc0xlbmd0aCA9IHRoaXMubGluZXMubGVuZ3RoO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxpbmVzTGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLmxpbmVzW2luZGV4XSA9IGxlZnRNYXJnaW5TdHJpbmcgKyB0aGlzLmxpbmVzW2luZGV4XTtcbiAgICB9XG4gIH1cblxuICBhZGRSaWdodE1hcmdpbihyaWdodE1hcmdpbldpZHRoKSB7XG4gICAgY29uc3QgcmlnaHRNYXJnaW5TdHJpbmcgPSBtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGgocmlnaHRNYXJnaW5XaWR0aCksXG4gICAgICAgICAgbGluZXNMZW5ndGggPSB0aGlzLmxpbmVzLmxlbmd0aDtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lc0xlbmd0aDsgaW5kZXgrKykge1xuICAgICAgdGhpcy5saW5lc1tpbmRleF0gPSB0aGlzLmxpbmVzW2luZGV4XSArIHJpZ2h0TWFyZ2luU3RyaW5nO1xuICAgIH1cbiAgfVxuXG4gIGFkZEJvdHRvbU1hcmdpbihib3R0b21NYXJnaW5EZXB0aCkge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRXaWR0aCgpLFxuICAgICAgICAgIGJvdHRvbU1hcmdpbldpZHRoID0gd2lkdGgsICAvLy9cbiAgICAgICAgICBib3R0b21NYXJnaW5TdHJpbmcgPSBtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGgoYm90dG9tTWFyZ2luV2lkdGgpO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGJvdHRvbU1hcmdpbkRlcHRoOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLmxpbmVzLnB1c2goYm90dG9tTWFyZ2luU3RyaW5nKTtcbiAgICB9XG4gIH1cbiAgXG4gIHBvcExpbmUoKSB7IHJldHVybiB0aGlzLmxpbmVzLnBvcCgpOyB9XG4gIFxuICBzaGlmdExpbmUoKSB7IHJldHVybiB0aGlzLmxpbmVzLnNoaWZ0KCk7IH1cbiAgXG4gIHB1c2hMaW5lKGxpbmUpIHsgdGhpcy5saW5lcy5wdXNoKGxpbmUpOyB9XG4gIFxuICB1bnNoaWZ0TGluZShsaW5lKSB7IHRoaXMubGluZXMudW5zaGlmdChsaW5lKTsgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMubGluZXMucmVkdWNlKChzdHJpbmcsIGxpbmUpID0+IHtcbiAgICAgIHN0cmluZyArPSBsaW5lICsgTkVXX0xJTkVfQ0hBUkFDVEVSO1xuXG4gICAgICByZXR1cm4gc3RyaW5nO1xuICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aChtYXJnaW5XaWR0aCwgc3BhY2VDaGFyYWN0ZXIpIHtcbiAgc3BhY2VDaGFyYWN0ZXIgPSBzcGFjZUNoYXJhY3RlciB8fCBTUEFDRV9DSEFSQUNURVI7XG5cbiAgbGV0IG1hcmdpblN0cmluZyA9IEVNUFRZX1NUUklORztcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWFyZ2luV2lkdGg7IGluZGV4KyspIHtcbiAgICBtYXJnaW5TdHJpbmcgKz0gc3BhY2VDaGFyYWN0ZXI7XG4gIH1cblxuICByZXR1cm4gbWFyZ2luU3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbIlBhcnNlVHJlZSIsImxhc3QiLCJhcnJheVV0aWxpdGllcyIsIk5FV19MSU5FX0NIQVJBQ1RFUiIsIlNQQUNFX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJsaW5lcyIsImNsb25lIiwic2xpY2UiLCJwYXJzZVRyZWUiLCJnZXRXaWR0aCIsIndpZHRoIiwibGluZXNMZW5ndGgiLCJsZW5ndGgiLCJsYXN0TGluZSIsImxhc3RMaW5lTGVuZ3RoIiwiZ2V0RGVwdGgiLCJkZXB0aCIsImZvckVhY2hMaW5lIiwiY2FsbGJhY2siLCJmb3JFYWNoIiwiYXBwZW5kVG9Ub3AiLCJsaW5lIiwidW5zaGlmdCIsImFwcGVuZFRvTGVmdCIsImluZGV4IiwiYXBwZW5kVG9SaWdodCIsImFwcGVuZFRvQm90dG9tIiwicHVzaCIsImFkZFRvcE1hcmdpbiIsInRvcE1hcmdpbkRlcHRoIiwidG9wTWFyZ2luV2lkdGgiLCJ0b3BNYXJnaW5TdHJpbmciLCJtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGgiLCJhZGRMZWZ0TWFyZ2luIiwibGVmdE1hcmdpbldpZHRoIiwibGVmdE1hcmdpblN0cmluZyIsImFkZFJpZ2h0TWFyZ2luIiwicmlnaHRNYXJnaW5XaWR0aCIsInJpZ2h0TWFyZ2luU3RyaW5nIiwiYWRkQm90dG9tTWFyZ2luIiwiYm90dG9tTWFyZ2luRGVwdGgiLCJib3R0b21NYXJnaW5XaWR0aCIsImJvdHRvbU1hcmdpblN0cmluZyIsInBvcExpbmUiLCJwb3AiLCJzaGlmdExpbmUiLCJzaGlmdCIsInB1c2hMaW5lIiwidW5zaGlmdExpbmUiLCJhc1N0cmluZyIsInN0cmluZyIsInJlZHVjZSIsIkVNUFRZX1NUUklORyIsIm1hcmdpbldpZHRoIiwic3BhY2VDaGFyYWN0ZXIiLCJtYXJnaW5TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBcUJBOzs7MkJBUHNCOzJCQUVkO0FBRTdCLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLHlCQUFjLEVBQ3pCLEVBQUVDLGtCQUFrQixFQUFFQyxlQUFlLEVBQUUsR0FBR0MscUJBQVU7QUFFM0MsTUFBTUw7SUFDbkIsWUFBWU0sS0FBSyxDQUFFO1FBQ2pCLElBQUksQ0FBQ0EsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFFBQVE7UUFDTixNQUFNRCxRQUFRLElBQUksQ0FBQ0EsS0FBSyxDQUFDRSxLQUFLLElBQ3hCQyxZQUFZLElB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