occam-dom 4.0.16 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/bin/main.js +15 -0
  2. package/example.js +37842 -0
  3. package/index.html +47 -0
  4. package/lib/constants.js +13 -0
  5. package/lib/example/utilities/token.js +28 -0
  6. package/lib/example/view/div/sizeable.js +39 -0
  7. package/lib/example/view/input/expressionString.js +142 -0
  8. package/lib/example/view/input/maximumDepth.js +143 -0
  9. package/lib/example/view/input.js +39 -0
  10. package/lib/example/view/subHeading.js +39 -0
  11. package/lib/example/view/textarea/content.js +142 -0
  12. package/lib/example/view/textarea/nodes.js +155 -0
  13. package/lib/example/view/textarea/parseTree.js +166 -0
  14. package/lib/example/view/textarea.js +39 -0
  15. package/lib/example/view.js +239 -0
  16. package/lib/example.js +19 -0
  17. package/lib/expression/bnf.js +14 -0
  18. package/lib/expression/entries.js +27 -0
  19. package/lib/expression/lexer.js +145 -0
  20. package/lib/expression/parser.js +134 -0
  21. package/lib/expression.js +113 -0
  22. package/lib/index.js +39 -0
  23. package/lib/path.js +69 -0
  24. package/lib/query.js +216 -0
  25. package/lib/ruleNames.js +54 -0
  26. package/lib/spread.js +113 -0
  27. package/lib/subExpression.js +101 -0
  28. package/lib/utilities/array.js +67 -0
  29. package/lib/utilities/node.js +334 -0
  30. package/lib/utilities/query.js +39 -0
  31. package/package.json +1 -1
  32. package/src/constants.js +3 -0
  33. package/src/example/utilities/token.js +19 -0
  34. package/src/example/view/div/sizeable.js +12 -0
  35. package/src/example/view/input/expressionString.js +33 -0
  36. package/src/example/view/input/maximumDepth.js +35 -0
  37. package/src/example/view/input.js +14 -0
  38. package/src/example/view/subHeading.js +16 -0
  39. package/src/example/view/textarea/content.js +33 -0
  40. package/src/example/view/textarea/nodes.js +55 -0
  41. package/src/example/view/textarea/parseTree.js +46 -0
  42. package/src/example/view/textarea.js +18 -0
  43. package/src/example/view.js +125 -0
  44. package/src/example.js +21 -0
  45. package/src/expression/bnf.js +63 -0
  46. package/src/expression/entries.js +18 -0
  47. package/src/expression/lexer.js +35 -0
  48. package/src/expression/parser.js +15 -0
  49. package/src/expression.js +82 -0
  50. package/src/index.js +7 -0
  51. package/src/path.js +32 -0
  52. package/src/query.js +207 -0
  53. package/src/ruleNames.js +12 -0
  54. package/src/spread.js +104 -0
  55. package/src/subExpression.js +52 -0
  56. package/src/utilities/array.js +30 -0
  57. package/src/utilities/node.js +454 -0
  58. package/src/utilities/query.js +22 -0
package/lib/query.js ADDED
@@ -0,0 +1,216 @@
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 Query;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _expression = /*#__PURE__*/ _interop_require_default(require("./expression"));
13
+ var _array = require("./utilities/array");
14
+ function _class_call_check(instance, Constructor) {
15
+ if (!(instance instanceof Constructor)) {
16
+ throw new TypeError("Cannot call a class as a function");
17
+ }
18
+ }
19
+ function _defineProperties(target, props) {
20
+ for(var i = 0; i < props.length; i++){
21
+ var descriptor = props[i];
22
+ descriptor.enumerable = descriptor.enumerable || false;
23
+ descriptor.configurable = true;
24
+ if ("value" in descriptor) descriptor.writable = true;
25
+ Object.defineProperty(target, descriptor.key, descriptor);
26
+ }
27
+ }
28
+ function _create_class(Constructor, protoProps, staticProps) {
29
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
+ if (staticProps) _defineProperties(Constructor, staticProps);
31
+ return Constructor;
32
+ }
33
+ function _interop_require_default(obj) {
34
+ return obj && obj.__esModule ? obj : {
35
+ default: obj
36
+ };
37
+ }
38
+ var WILDCARD_CHARACTER = _necessary.characters.WILDCARD_CHARACTER;
39
+ var Query = /*#__PURE__*/ function() {
40
+ function Query(spread, subQuery, ruleNames, tokenTypes, maximumDepth, infiniteDescent, intermediateNodes) {
41
+ _class_call_check(this, Query);
42
+ this.spread = spread;
43
+ this.subQuery = subQuery;
44
+ this.ruleNames = ruleNames;
45
+ this.tokenTypes = tokenTypes;
46
+ this.maximumDepth = maximumDepth;
47
+ this.infiniteDescent = infiniteDescent;
48
+ this.intermediateNodes = intermediateNodes;
49
+ }
50
+ _create_class(Query, [
51
+ {
52
+ key: "getSpread",
53
+ value: function getSpread() {
54
+ return this.sprea;
55
+ }
56
+ },
57
+ {
58
+ key: "getSubQuery",
59
+ value: function getSubQuery() {
60
+ return this.subQuery;
61
+ }
62
+ },
63
+ {
64
+ key: "getRuleNames",
65
+ value: function getRuleNames() {
66
+ return this.ruleNames;
67
+ }
68
+ },
69
+ {
70
+ key: "getTokenTypes",
71
+ value: function getTokenTypes() {
72
+ return this.tokenTypes;
73
+ }
74
+ },
75
+ {
76
+ key: "getMaximumDepth",
77
+ value: function getMaximumDepth() {
78
+ return this.maximumDepth;
79
+ }
80
+ },
81
+ {
82
+ key: "isInfiniteDescent",
83
+ value: function isInfiniteDescent() {
84
+ return this.infiniteDescent;
85
+ }
86
+ },
87
+ {
88
+ key: "getIntermediateNodes",
89
+ value: function getIntermediateNodes() {
90
+ return this.intermediateNodes;
91
+ }
92
+ },
93
+ {
94
+ key: "execute",
95
+ value: function execute(node) {
96
+ var depth = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, maximumDepth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.maximumDepth;
97
+ var nodes = [];
98
+ this.clear();
99
+ this.find(node, depth, maximumDepth);
100
+ this.apply(nodes, depth, maximumDepth);
101
+ return nodes;
102
+ }
103
+ },
104
+ {
105
+ key: "clear",
106
+ value: function clear() {
107
+ (0, _array.clear)(this.intermediateNodes);
108
+ }
109
+ },
110
+ {
111
+ key: "find",
112
+ value: function find(node, depth, maximumDepth) {
113
+ var _this = this;
114
+ if (depth > maximumDepth) {
115
+ return;
116
+ }
117
+ var nodeTerminalNode = node.isTerminalNode(), nodeNonTerminalNode = !nodeTerminalNode;
118
+ var found;
119
+ if (nodeTerminalNode) {
120
+ var terminalNode = node, types = this.tokenTypes, type = terminalNode.getType();
121
+ found = (0, _array.includes)(types, type, WILDCARD_CHARACTER);
122
+ }
123
+ if (nodeNonTerminalNode) {
124
+ var nonTerminalNode = node, ruleName = nonTerminalNode.getRuleName();
125
+ found = (0, _array.includes)(this.ruleNames, ruleName, WILDCARD_CHARACTER);
126
+ }
127
+ if (found) {
128
+ var intermediateNode = node; ///
129
+ this.intermediateNodes.push(intermediateNode);
130
+ }
131
+ if (this.infiniteDescent) {
132
+ if (nodeNonTerminalNode) {
133
+ depth++;
134
+ var nonTerminalNode1 = node; ///
135
+ nonTerminalNode1.forEachChildNode(function(childNode) {
136
+ _this.find(childNode, depth, maximumDepth);
137
+ });
138
+ }
139
+ }
140
+ }
141
+ },
142
+ {
143
+ key: "apply",
144
+ value: function apply(nodes, depth, maximumDepth) {
145
+ var _this = this;
146
+ this.spread.adjustNodes(this.intermediateNodes);
147
+ if (this.subQuery === null) {
148
+ (0, _array.push)(nodes, this.intermediateNodes);
149
+ } else {
150
+ this.intermediateNodes.forEach(function(intermediateNode) {
151
+ var intermediateNodeNonTerminalNode = intermediateNode.isNonTerminalNode();
152
+ if (intermediateNodeNonTerminalNode) {
153
+ depth++;
154
+ var nonTerminalNode = intermediateNode; ///
155
+ _this.subQuery.clear();
156
+ nonTerminalNode.forEachChildNode(function(childNode) {
157
+ _this.subQuery.find(childNode, depth, maximumDepth);
158
+ });
159
+ _this.subQuery.apply(nodes, depth, maximumDepth);
160
+ }
161
+ });
162
+ }
163
+ }
164
+ }
165
+ ], [
166
+ {
167
+ key: "fromExpression",
168
+ value: function fromExpression(expression) {
169
+ var maximumDepth = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Infinity;
170
+ var spread = expression.getSpread(), subQuery = subQueryFromExpression(expression), ruleNames = expression.getRuleNames(), tokenTypes = expression.getTokenTypes(), infiniteDescent = expression.isInfiniteDescent(), intermediateNodes = [], query = new Query(spread, subQuery, ruleNames, tokenTypes, maximumDepth, infiniteDescent, intermediateNodes);
171
+ return query;
172
+ }
173
+ },
174
+ {
175
+ key: "fromSubExpression",
176
+ value: function fromSubExpression(subExpression) {
177
+ var spread = subExpression.getSpread(), subQuery = subQueryFromSubExpression(subExpression), ruleNames = subExpression.getRuleNames(), tokenTypes = subExpression.getTokenTypes(), maximumDepth = Infinity, infiniteDescent = subExpression.isInfiniteDescent(), intermediateNodes = [], query = new Query(spread, subQuery, ruleNames, tokenTypes, maximumDepth, infiniteDescent, intermediateNodes);
178
+ return query;
179
+ }
180
+ },
181
+ {
182
+ key: "fromExpressionString",
183
+ value: function fromExpressionString(expressionString) {
184
+ var maximumDepth = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Infinity;
185
+ var query = null;
186
+ var expression = _expression.default.fromExpressionString(expressionString);
187
+ if (expression !== null) {
188
+ var spread = expression.getSpread(), subQuery = subQueryFromExpression(expression), ruleNames = expression.getRuleNames(), tokenTypes = expression.getTokenTypes(), infiniteDescent = expression.isInfiniteDescent(), intermediateNodes = [];
189
+ query = new Query(spread, subQuery, ruleNames, tokenTypes, maximumDepth, infiniteDescent, intermediateNodes);
190
+ }
191
+ return query;
192
+ }
193
+ }
194
+ ]);
195
+ return Query;
196
+ }();
197
+ function subQueryFromExpression(expression) {
198
+ var subQuery = null;
199
+ var subExpression = expression.getSubExpression();
200
+ if (subExpression !== null) {
201
+ var query = Query.fromSubExpression(subExpression);
202
+ subQuery = query; ///
203
+ }
204
+ return subQuery;
205
+ }
206
+ function subQueryFromSubExpression(subExpression) {
207
+ var subQuery = null;
208
+ subExpression = subExpression.getSubExpression(); ///
209
+ if (subExpression !== null) {
210
+ var query = Query.fromSubExpression(subExpression);
211
+ subQuery = query; ///
212
+ }
213
+ return subQuery;
214
+ }
215
+
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgY2hhcmFjdGVycyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4cHJlc3Npb24gZnJvbSBcIi4vZXhwcmVzc2lvblwiO1xuXG5pbXBvcnQgeyBwdXNoLCBjbGVhciwgaW5jbHVkZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuY29uc3QgeyBXSUxEQ0FSRF9DSEFSQUNURVIgfSA9IGNoYXJhY3RlcnM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFF1ZXJ5IHtcbiAgY29uc3RydWN0b3Ioc3ByZWFkLCBzdWJRdWVyeSwgcnVsZU5hbWVzLCB0b2tlblR5cGVzLCBtYXhpbXVtRGVwdGgsIGluZmluaXRlRGVzY2VudCwgaW50ZXJtZWRpYXRlTm9kZXMpIHtcbiAgICB0aGlzLnNwcmVhZCA9IHNwcmVhZDtcbiAgICB0aGlzLnN1YlF1ZXJ5ID0gc3ViUXVlcnk7XG4gICAgdGhpcy5ydWxlTmFtZXMgPSBydWxlTmFtZXM7XG4gICAgdGhpcy50b2tlblR5cGVzID0gdG9rZW5UeXBlcztcbiAgICB0aGlzLm1heGltdW1EZXB0aCA9IG1heGltdW1EZXB0aDtcbiAgICB0aGlzLmluZmluaXRlRGVzY2VudCA9IGluZmluaXRlRGVzY2VudDtcbiAgICB0aGlzLmludGVybWVkaWF0ZU5vZGVzID0gaW50ZXJtZWRpYXRlTm9kZXM7XG4gIH1cblxuICBnZXRTcHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ByZWE7XG4gIH1cblxuICBnZXRTdWJRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJRdWVyeTtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lcygpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTmFtZXM7XG4gIH1cblxuICBnZXRUb2tlblR5cGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuVHlwZXM7XG4gIH1cblxuICBnZXRNYXhpbXVtRGVwdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF4aW11bURlcHRoO1xuICB9XG5cbiAgaXNJbmZpbml0ZURlc2NlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5maW5pdGVEZXNjZW50O1xuICB9XG5cbiAgZ2V0SW50ZXJtZWRpYXRlTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJtZWRpYXRlTm9kZXM7XG4gIH1cblxuICBleGVjdXRlKG5vZGUsIGRlcHRoID0gMCwgbWF4aW11bURlcHRoID0gdGhpcy5tYXhpbXVtRGVwdGgpIHtcbiAgICBjb25zdCBub2RlcyA9IFtdO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy5maW5kKG5vZGUsIGRlcHRoLCBtYXhpbXVtRGVwdGgpO1xuXG4gICAgdGhpcy5hcHBseShub2RlcywgZGVwdGgsIG1heGltdW1EZXB0aCk7XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBjbGVhcih0aGlzLmludGVybWVkaWF0ZU5vZGVzKTtcbiAgfVxuXG4gIGZpbmQobm9kZSwgZGVwdGgsIG1heGltdW1EZXB0aCkge1xuICAgIGlmIChkZXB0aCA+IG1heGltdW1EZXB0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZU5vblRlcm1pbmFsTm9kZSA9ICFub2RlVGVybWluYWxOb2RlO1xuXG4gICAgbGV0IGZvdW5kO1xuXG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIHR5cGVzID0gdGhpcy50b2tlblR5cGVzLCAgLy8vXG4gICAgICAgICAgICB0eXBlID0gdGVybWluYWxOb2RlLmdldFR5cGUoKTtcblxuICAgICAgZm91bmQgPSBpbmNsdWRlcyh0eXBlcywgdHlwZSwgV0lMRENBUkRfQ0hBUkFDVEVSKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgICBmb3VuZCA9IGluY2x1ZGVzKHRoaXMucnVsZU5hbWVzLCBydWxlTmFtZSwgV0lMRENBUkRfQ0hBUkFDVEVSKTtcbiAgICB9XG5cbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIGNvbnN0IGludGVybWVkaWF0ZU5vZGUgPSBub2RlOyAvLy9cblxuICAgICAgdGhpcy5pbnRlcm1lZGlhdGVOb2Rlcy5wdXNoKGludGVybWVkaWF0ZU5vZGUpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluZmluaXRlRGVzY2VudCkge1xuICAgICAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgZGVwdGgrKztcblxuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAvLy9cblxuICAgICAgICBub25UZXJtaW5hbE5vZGUuZm9yRWFjaENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICAgICAgdGhpcy5maW5kKGNoaWxkTm9kZSwgZGVwdGgsIG1heGltdW1EZXB0aCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFwcGx5KG5vZGVzLCBkZXB0aCwgbWF4aW11bURlcHRoKSB7XG4gICAgdGhpcy5zcHJlYWQuYWRqdXN0Tm9kZXModGhpcy5pbnRlcm1lZGlhdGVOb2Rlcyk7XG5cbiAgICBpZiAodGhpcy5zdWJRdWVyeSA9PT0gbnVsbCkge1xuICAgICAgcHVzaChub2RlcywgdGhpcy5pbnRlcm1lZGlhdGVOb2Rlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW50ZXJtZWRpYXRlTm9kZXMuZm9yRWFjaCgoaW50ZXJtZWRpYXRlTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBpbnRlcm1lZGlhdGVOb2RlTm9uVGVybWluYWxOb2RlID0gaW50ZXJtZWRpYXRlTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICAgIGlmIChpbnRlcm1lZGlhdGVOb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgICAgZGVwdGgrKztcblxuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGludGVybWVkaWF0ZU5vZGU7IC8vL1xuXG4gICAgICAgICAgdGhpcy5zdWJRdWVyeS5jbGVhcigpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlLmZvckVhY2hDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJRdWVyeS5maW5kKGNoaWxkTm9kZSwgZGVwdGgsIG1heGltdW1EZXB0aCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnN1YlF1ZXJ5LmFwcGx5KG5vZGVzLCBkZXB0aCwgbWF4aW11bURlcHRoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24sIG1heGltdW1EZXB0aCA9IEluZmluaXR5KSB7XG4gICAgY29uc3Qgc3ByZWFkID0gZXhwcmVzc2lvbi5nZXRTcHJlYWQoKSxcbiAgICAgICAgICBzdWJRdWVyeSA9IHN1YlF1ZXJ5RnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbiksXG4gICAgICAgICAgcnVsZU5hbWVzID0gZXhwcmVzc2lvbi5nZXRSdWxlTmFtZXMoKSxcbiAgICAgICAgICB0b2tlblR5cGVzID0gZXhwcmVzc2lvbi5nZXRUb2tlblR5cGVzKCksXG4gICAgICAgICAgaW5maW5pdGVEZXNjZW50ID0gZXhwcmVzc2lvbi5pc0luZmluaXRlRGVzY2VudCgpLFxuICAgICAgICAgIGludGVybWVkaWF0ZU5vZGVzID0gW10sXG4gICAgICAgICAgcXVlcnkgPSBuZXcgUXVlcnkoc3ByZWFkLCBzdWJRdWVyeSwgcnVsZU5hbWVzLCB0b2tlblR5cGVzLCBtYXhpbXVtRGVwdGgsIGluZmluaXRlRGVzY2VudCwgaW50ZXJtZWRpYXRlTm9kZXMpO1xuXG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgc3RhdGljIGZyb21TdWJFeHByZXNzaW9uKHN1YkV4cHJlc3Npb24pIHtcbiAgICBjb25zdCBzcHJlYWQgPSBzdWJFeHByZXNzaW9uLmdldFNwcmVhZCgpLFxuICAgICAgICAgIHN1YlF1ZXJ5ID0gc3ViUXVlcnlGcm9tU3ViRXhwcmVzc2lvbihzdWJFeHByZXNzaW9uKSxcbiAgICAgICAgICBydWxlTmFtZXMgPSBzdWJFeHByZXNzaW9uLmdldFJ1bGVOYW1lcygpLFxuICAgICAgICAgIHRva2VuVHlwZXMgPSBzdWJFeHByZXNzaW9uLmdldFRva2VuVHlwZXMoKSxcbiAgICAgICAgICBtYXhpbXVtRGVwdGggPSBJbmZpbml0eSxcbiAgICAgICAgICBpbmZpbml0ZURlc2NlbnQgPSBzdWJFeHByZXNzaW9uLmlzSW5maW5pdGVEZXNjZW50KCksXG4gICAgICAgICAgaW50ZXJtZWRpYXRlTm9kZXMgPSBbXSxcbiAgICAgICAgICBxdWVyeSA9IG5ldyBRdWVyeShzcHJlYWQsIHN1YlF1ZXJ5LCBydWxlTmFtZXMsIHRva2VuVHlwZXMsIG1heGltdW1EZXB0aCwgaW5maW5pdGVEZXNjZW50LCBpbnRlcm1lZGlhdGVOb2Rlcyk7XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZywgbWF4aW11bURlcHRoID0gSW5maW5pdHkpIHtcbiAgICBsZXQgcXVlcnkgPSBudWxsO1xuXG4gICAgY29uc3QgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZyk7XG5cbiAgICBpZiAoZXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3ByZWFkID0gZXhwcmVzc2lvbi5nZXRTcHJlYWQoKSxcbiAgICAgICAgICAgIHN1YlF1ZXJ5ID0gc3ViUXVlcnlGcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lcyA9IGV4cHJlc3Npb24uZ2V0UnVsZU5hbWVzKCksXG4gICAgICAgICAgICB0b2tlblR5cGVzID0gZXhwcmVzc2lvbi5nZXRUb2tlblR5cGVzKCksXG4gICAgICAgICAgICBpbmZpbml0ZURlc2NlbnQgPSBleHByZXNzaW9uLmlzSW5maW5pdGVEZXNjZW50KCksXG4gICAgICAgICAgICBpbnRlcm1lZGlhdGVOb2RlcyA9IFtdO1xuXG4gICAgICBxdWVyeSA9IG5ldyBRdWVyeShzcHJlYWQsIHN1YlF1ZXJ5LCBydWxlTmFtZXMsIHRva2VuVHlwZXMsIG1heGltdW1EZXB0aCwgaW5maW5pdGVEZXNjZW50LCBpbnRlcm1lZGlhdGVOb2Rlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG59XG5cbmZ1bmN0aW9uIHN1YlF1ZXJ5RnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbikge1xuICBsZXQgc3ViUXVlcnkgPSBudWxsO1xuXG4gIGNvbnN0IHN1YkV4cHJlc3Npb24gPSBleHByZXNzaW9uLmdldFN1YkV4cHJlc3Npb24oKTtcblxuICBpZiAoc3ViRXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbVN1YkV4cHJlc3Npb24oc3ViRXhwcmVzc2lvbik7XG5cbiAgICBzdWJRdWVyeSA9IHF1ZXJ5OyAvLy9cbiAgfVxuXG4gIHJldHVybiBzdWJRdWVyeTtcbn1cblxuZnVuY3Rpb24gc3ViUXVlcnlGcm9tU3ViRXhwcmVzc2lvbihzdWJFeHByZXNzaW9uKSB7XG4gIGxldCBzdWJRdWVyeSA9IG51bGw7XG5cbiAgc3ViRXhwcmVzc2lvbiA9IHN1YkV4cHJlc3Npb24uZ2V0U3ViRXhwcmVzc2lvbigpOyAvLy9cblxuICBpZiAoc3ViRXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbVN1YkV4cHJlc3Npb24oc3ViRXhwcmVzc2lvbik7XG5cbiAgICBzdWJRdWVyeSA9IHF1ZXJ5OyAvLy9cbiAgfVxuXG4gIHJldHVybiBzdWJRdWVyeTtcbn1cbiJdLCJuYW1lcyI6WyJRdWVyeSIsIldJTERDQVJEX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJzcHJlYWQiLCJzdWJRdWVyeSIsInJ1bGVOYW1lcyIsInRva2VuVHlwZXMiLCJtYXhpbXVtRGVwdGgiLCJpbmZpbml0ZURlc2NlbnQiLCJpbnRlcm1lZGlhdGVOb2RlcyIsImdldFNwcmVhZCIsInNwcmVhIiwiZ2V0U3ViUXVlcnkiLCJnZXRSdWxlTmFtZXMiLCJnZXRUb2tlblR5cGVzIiwiZ2V0TWF4aW11bURlcHRoIiwiaXNJbmZpbml0ZURlc2NlbnQiLCJnZXRJbnRlcm1lZGlhdGVOb2RlcyIsImV4ZWN1dGUiLCJub2RlIiwiZGVwdGgiLCJub2RlcyIsImNsZWFyIiwiZmluZCIsImFwcGx5Iiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwibm9kZU5vblRlcm1pbmFsTm9kZSIsImZvdW5kIiwidGVybWluYWxOb2RlIiwidHlwZXMiLCJ0eXBlIiwiZ2V0VHlwZSIsImluY2x1ZGVzIiwibm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImludGVybWVkaWF0ZU5vZGUiLCJwdXNoIiwiZm9yRWFjaENoaWxkTm9kZSIsImNoaWxkTm9kZSIsImFkanVzdE5vZGVzIiwiZm9yRWFjaCIsImludGVybWVkaWF0ZU5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsImZyb21FeHByZXNzaW9uIiwiZXhwcmVzc2lvbiIsIkluZmluaXR5Iiwic3ViUXVlcnlGcm9tRXhwcmVzc2lvbiIsInF1ZXJ5IiwiZnJvbVN1YkV4cHJlc3Npb24iLCJzdWJFeHByZXNzaW9uIiwic3ViUXVlcnlGcm9tU3ViRXhwcmVzc2lvbiIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwiZXhwcmVzc2lvblN0cmlu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
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ END_INDEX_RULE_NAME: function() {
13
+ return END_INDEX_RULE_NAME;
14
+ },
15
+ ERROR_RULE_NAME: function() {
16
+ return ERROR_RULE_NAME;
17
+ },
18
+ INDEX_RULE_NAME: function() {
19
+ return INDEX_RULE_NAME;
20
+ },
21
+ INFINITE_DESCENT_RULE_NAME: function() {
22
+ return INFINITE_DESCENT_RULE_NAME;
23
+ },
24
+ RULE_NAME_RULE_NAME: function() {
25
+ return RULE_NAME_RULE_NAME;
26
+ },
27
+ SPREAD_RULE_NAME: function() {
28
+ return SPREAD_RULE_NAME;
29
+ },
30
+ START_INDEX_RULE_NAME: function() {
31
+ return START_INDEX_RULE_NAME;
32
+ },
33
+ SUB_EXPRESSION_RULE_NAME: function() {
34
+ return SUB_EXPRESSION_RULE_NAME;
35
+ },
36
+ TOKEN_TYPE_RULE_NAME: function() {
37
+ return TOKEN_TYPE_RULE_NAME;
38
+ },
39
+ UNIQUE_RULE_NAME: function() {
40
+ return UNIQUE_RULE_NAME;
41
+ }
42
+ });
43
+ var ERROR_RULE_NAME = "error";
44
+ var INDEX_RULE_NAME = "index";
45
+ var UNIQUE_RULE_NAME = "unique";
46
+ var SPREAD_RULE_NAME = "spread";
47
+ var END_INDEX_RULE_NAME = "endIndex";
48
+ var RULE_NAME_RULE_NAME = "ruleName";
49
+ var TOKEN_TYPE_RULE_NAME = "tokenType";
50
+ var START_INDEX_RULE_NAME = "startIndex";
51
+ var SUB_EXPRESSION_RULE_NAME = "subExpression";
52
+ var INFINITE_DESCENT_RULE_NAME = "infiniteDescent";
53
+
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9SVUxFX05BTUUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgSU5ERVhfUlVMRV9OQU1FID0gXCJpbmRleFwiO1xuZXhwb3J0IGNvbnN0IFVOSVFVRV9SVUxFX05BTUUgPSBcInVuaXF1ZVwiO1xuZXhwb3J0IGNvbnN0IFNQUkVBRF9SVUxFX05BTUUgPSBcInNwcmVhZFwiO1xuZXhwb3J0IGNvbnN0IEVORF9JTkRFWF9SVUxFX05BTUUgPSBcImVuZEluZGV4XCI7XG5leHBvcnQgY29uc3QgUlVMRV9OQU1FX1JVTEVfTkFNRSA9IFwicnVsZU5hbWVcIjtcbmV4cG9ydCBjb25zdCBUT0tFTl9UWVBFX1JVTEVfTkFNRSA9IFwidG9rZW5UeXBlXCI7XG5leHBvcnQgY29uc3QgU1RBUlRfSU5ERVhfUlVMRV9OQU1FID0gXCJzdGFydEluZGV4XCI7XG5leHBvcnQgY29uc3QgU1VCX0VYUFJFU1NJT05fUlVMRV9OQU1FID0gXCJzdWJFeHByZXNzaW9uXCI7XG5leHBvcnQgY29uc3QgSU5GSU5JVEVfREVTQ0VOVF9SVUxFX05BTUUgPSBcImluZmluaXRlRGVzY2VudFwiO1xuIl0sIm5hbWVzIjpbIkVORF9JTkRFWF9SVUxFX05BTUUiLCJFUlJPUl9SVUxFX05BTUUiLCJJTkRFWF9SVUxFX05BTUUiLCJJTkZJTklURV9ERVNDRU5UX1JVTEVfTkFNRSIsIlJVTEVfTkFNRV9SVUxFX05BTUUiLCJTUFJFQURfUlVMRV9OQU1FIiwiU1RBUlRfSU5ERVhfUlVMRV9OQU1FIiwiU1VCX0VYUFJFU1NJT05fUlVMRV9OQU1FIiwiVE9LRU5fVFlQRV9SVUxFX05BTUUiLCJVTklRVUVfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFNYUEsbUJBQW1CO2VBQW5CQTs7SUFKQUMsZUFBZTtlQUFmQTs7SUFDQUMsZUFBZTtlQUFmQTs7SUFRQUMsMEJBQTBCO2VBQTFCQTs7SUFKQUMsbUJBQW1CO2VBQW5CQTs7SUFGQUMsZ0JBQWdCO2VBQWhCQTs7SUFJQUMscUJBQXFCO2VBQXJCQTs7SUFDQUMsd0JBQXdCO2VBQXhCQTs7SUFGQUMsb0JBQW9CO2VBQXBCQTs7SUFKQUMsZ0JBQWdCO2VBQWhCQTs7O0FBRk4sSUFBTVIsa0JBQWtCO0FBQ3hCLElBQU1DLGtCQUFrQjtBQUN4QixJQUFNTyxtQkFBbUI7QUFDekIsSUFBTUosbUJBQW1CO0FBQ3pCLElBQU1MLHNCQUFzQjtBQUM1QixJQUFNSSxzQkFBc0I7QUFDNUIsSUFBTUksdUJBQXVCO0FBQzdCLElBQU1GLHdCQUF3QjtBQUM5QixJQUFNQywyQkFBMkI7QUFDakMsSUFBTUosNkJBQTZCIn0=
package/lib/spread.js ADDED
@@ -0,0 +1,113 @@
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 Spread;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _array = require("./utilities/array");
13
+ var _node = require("./utilities/node");
14
+ function _class_call_check(instance, Constructor) {
15
+ if (!(instance instanceof Constructor)) {
16
+ throw new TypeError("Cannot call a class as a function");
17
+ }
18
+ }
19
+ function _defineProperties(target, props) {
20
+ for(var i = 0; i < props.length; i++){
21
+ var descriptor = props[i];
22
+ descriptor.enumerable = descriptor.enumerable || false;
23
+ descriptor.configurable = true;
24
+ if ("value" in descriptor) descriptor.writable = true;
25
+ Object.defineProperty(target, descriptor.key, descriptor);
26
+ }
27
+ }
28
+ function _create_class(Constructor, protoProps, staticProps) {
29
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
+ if (staticProps) _defineProperties(Constructor, staticProps);
31
+ return Constructor;
32
+ }
33
+ var EXCLAMATION_MARK_CHARACTER = _necessary.characters.EXCLAMATION_MARK_CHARACTER;
34
+ var Spread = /*#__PURE__*/ function() {
35
+ function Spread(startIndex, endIndex, unique) {
36
+ _class_call_check(this, Spread);
37
+ this.startIndex = startIndex;
38
+ this.endIndex = endIndex;
39
+ this.unique = unique;
40
+ }
41
+ _create_class(Spread, [
42
+ {
43
+ key: "adjustNodes",
44
+ value: function adjustNodes(nodes) {
45
+ if (this.unique) {
46
+ var nodesLength = nodes.length;
47
+ if (nodesLength > 1) {
48
+ (0, _array.clear)(nodes);
49
+ }
50
+ } else {
51
+ (0, _array.trim)(nodes, this.startIndex, this.endIndex);
52
+ }
53
+ }
54
+ }
55
+ ], [
56
+ {
57
+ key: "fromNothing",
58
+ value: function fromNothing() {
59
+ var startIndex = 0, endIndex = Infinity, unique = false, spread = new Spread(startIndex, endIndex, unique);
60
+ return spread;
61
+ }
62
+ },
63
+ {
64
+ key: "fromSpreadNode",
65
+ value: function fromSpreadNode(spreadNode) {
66
+ var startIndex = 0, endIndex = Infinity, unique = false;
67
+ if (spreadNode !== null) {
68
+ var index = (0, _node.indexFromSpreadNode)(spreadNode);
69
+ if (index !== null) {
70
+ startIndex = index; ///
71
+ endIndex = index; ///
72
+ } else {
73
+ startIndex = (0, _node.startIndexFromSpreadNode)(spreadNode);
74
+ endIndex = (0, _node.endIndexFromSpreadNode)(spreadNode);
75
+ }
76
+ unique = (0, _node.uniqueFromSpreadNode)(spreadNode);
77
+ }
78
+ var spread = new Spread(startIndex, endIndex, unique);
79
+ return spread;
80
+ }
81
+ },
82
+ {
83
+ key: "fromSpreadExpression",
84
+ value: function fromSpreadExpression(spreadExpression) {
85
+ var startIndex = 0, endIndex = Infinity, unique = false;
86
+ if (spreadExpression !== null) {
87
+ if (spreadExpression === EXCLAMATION_MARK_CHARACTER) {
88
+ unique = true;
89
+ } else {
90
+ var regExp = /\[(-?\d+)?(\.\.\.)?(-?\d+)?]/, matches = spreadExpression.match(regExp), secondMatch = (0, _array.second)(matches) || null, thirdMatch = (0, _array.third)(matches) || null, fourthMatch = (0, _array.fourth)(matches) || null;
91
+ if (secondMatch !== null) {
92
+ startIndex = parseInt(secondMatch);
93
+ if (thirdMatch === null) {
94
+ endIndex = startIndex; ///
95
+ }
96
+ }
97
+ if (fourthMatch !== null) {
98
+ endIndex = parseInt(fourthMatch);
99
+ if (thirdMatch === null) {
100
+ startIndex = endIndex; ///
101
+ }
102
+ }
103
+ }
104
+ }
105
+ var spread = new Spread(startIndex, endIndex, unique);
106
+ return spread;
107
+ }
108
+ }
109
+ ]);
110
+ return Spread;
111
+ }();
112
+
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcHJlYWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGNoYXJhY3RlcnMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IGNsZWFyLCB0cmltLCBzZWNvbmQsIHRoaXJkLCBmb3VydGggfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IGluZGV4RnJvbVNwcmVhZE5vZGUsXG4gICAgICAgICB1bmlxdWVGcm9tU3ByZWFkTm9kZSxcbiAgICAgICAgIGVuZEluZGV4RnJvbVNwcmVhZE5vZGUsXG4gICAgICAgICBzdGFydEluZGV4RnJvbVNwcmVhZE5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5jb25zdCB7IEVYQ0xBTUFUSU9OX01BUktfQ0hBUkFDVEVSIH0gPSBjaGFyYWN0ZXJzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTcHJlYWQge1xuICBjb25zdHJ1Y3RvcihzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKSB7XG4gICAgdGhpcy5zdGFydEluZGV4ID0gc3RhcnRJbmRleDtcbiAgICB0aGlzLmVuZEluZGV4ID0gZW5kSW5kZXg7XG4gICAgdGhpcy51bmlxdWUgPSB1bmlxdWU7XG4gIH1cblxuICBhZGp1c3ROb2Rlcyhub2Rlcykge1xuICAgIGlmICh0aGlzLnVuaXF1ZSkge1xuICAgICAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGg7XG5cbiAgICAgIGlmIChub2Rlc0xlbmd0aCA+IDEpIHtcbiAgICAgICAgY2xlYXIobm9kZXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cmltKG5vZGVzLCB0aGlzLnN0YXJ0SW5kZXgsIHRoaXMuZW5kSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBzdGFydEluZGV4ID0gMCxcbiAgICAgICAgICBlbmRJbmRleCA9IEluZmluaXR5LFxuICAgICAgICAgIHVuaXF1ZSA9IGZhbHNlLFxuICAgICAgICAgIHNwcmVhZCA9IG5ldyBTcHJlYWQoc3RhcnRJbmRleCwgZW5kSW5kZXgsIHVuaXF1ZSk7XG5cbiAgICByZXR1cm4gc3ByZWFkO1xuICB9XG5cbiAgc3RhdGljIGZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpIHtcbiAgICBsZXQgc3RhcnRJbmRleCA9IDAsXG4gICAgICAgIGVuZEluZGV4ID0gSW5maW5pdHksXG4gICAgICAgIHVuaXF1ZSA9IGZhbHNlO1xuXG4gICAgaWYgKHNwcmVhZE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gaW5kZXhGcm9tU3ByZWFkTm9kZShzcHJlYWROb2RlKTtcblxuICAgICAgaWYgKGluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIHN0YXJ0SW5kZXggPSBpbmRleDsgLy8vXG5cbiAgICAgICAgZW5kSW5kZXggPSBpbmRleDsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydEluZGV4ID0gc3RhcnRJbmRleEZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpO1xuXG4gICAgICAgIGVuZEluZGV4ID0gZW5kSW5kZXhGcm9tU3ByZWFkTm9kZShzcHJlYWROb2RlKTtcbiAgICAgIH1cblxuICAgICAgdW5pcXVlID0gdW5pcXVlRnJvbVNwcmVhZE5vZGUoc3ByZWFkTm9kZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ByZWFkID0gbmV3IFNwcmVhZChzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKTtcblxuICAgIHJldHVybiBzcHJlYWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVNwcmVhZEV4cHJlc3Npb24oc3ByZWFkRXhwcmVzc2lvbikge1xuICAgIGxldCBzdGFydEluZGV4ID0gMCxcbiAgICAgICAgZW5kSW5kZXggPSBJbmZpbml0eSxcbiAgICAgICAgdW5pcXVlID0gZmFsc2U7XG5cbiAgICBpZiAoc3ByZWFkRXhwcmVzc2lvbiAhPT0gbnVsbCkge1xuICAgICAgaWYgKHNwcmVhZEV4cHJlc3Npb24gPT09IEVYQ0xBTUFUSU9OX01BUktfQ0hBUkFDVEVSKSB7XG4gICAgICAgIHVuaXF1ZSA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZWdFeHAgPSAvXFxbKC0/XFxkKyk/KFxcLlxcLlxcLik/KC0/XFxkKyk/XS8sXG4gICAgICAgICAgICAgIG1hdGNoZXMgPSBzcHJlYWRFeHByZXNzaW9uLm1hdGNoKHJlZ0V4cCksXG4gICAgICAgICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpIHx8IG51bGwsXG4gICAgICAgICAgICAgIHRoaXJkTWF0Y2ggPSB0aGlyZChtYXRjaGVzKSB8fCBudWxsLFxuICAgICAgICAgICAgICBmb3VydGhNYXRjaCA9IGZvdXJ0aChtYXRjaGVzKSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChzZWNvbmRNYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICAgIHN0YXJ0SW5kZXggPSBwYXJzZUludChzZWNvbmRNYXRjaCk7XG5cbiAgICAgICAgICBpZiAodGhpcmRNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgZW5kSW5kZXggPSBzdGFydEluZGV4OyAgLy8vXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvdXJ0aE1hdGNoICE9PSBudWxsKSB7XG4gICAgICAgICAgZW5kSW5kZXggPSBwYXJzZUludChmb3VydGhNYXRjaCk7XG5cbiAgICAgICAgICBpZiAodGhpcmRNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IGVuZEluZGV4OyAgLy8vXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc3ByZWFkID0gbmV3IFNwcmVhZChzdGFydEluZGV4LCBlbmRJbmRleCwgdW5pcXVlKTtcblxuICAgIHJldHVybiBzcHJlYWQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTcHJlYWQiLCJFWENMQU1BVElPTl9NQVJLX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJ1bmlxdWUiLCJhZGp1c3ROb2RlcyIsIm5vZGVzIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJjbGVhciIsInRyaW0iLCJmcm9tTm90aGluZyIsIkluZmluaXR5Iiwic3ByZWFkIiwiZnJvbVNwcmVhZE5vZGUiLCJzcHJlYWROb2RlIiwiaW5kZXgiLCJpbmRleEZyb21TcHJlYWROb2RlIiwic3RhcnRJbmRleEZyb21TcHJlYWROb2RlIiwiZW5kSW5kZXhGcm9tU3ByZWFkTm9kZSIsInVuaXF1ZUZyb21TcHJlYWROb2RlIiwiZnJvbVNwcmVhZEV4cHJlc3Npb24iLCJzcHJlYWRFeHByZXNzaW9uIiwicmVnRXhwIiwibWF0Y2hlcyIsIm1hdGNoIiwic2Vjb25kTWF0Y2giLCJzZWNvbmQiLCJ0aGlyZE1hdGNoIiwidGhpcmQiLCJmb3VydGhNYXRjaCIsImZvdXJ0aCIsInBhcnNlSW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVlxQkE7Ozt5QkFWTTtxQkFFd0I7b0JBSVY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLElBQU0sQUFBRUMsNkJBQStCQyxxQkFBVSxDQUF6Q0Q7QUFFTyxJQUFBLEFBQU1ELHVCQUFOO2FBQU1BLE9BQ1BHLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxNQUFNO2dDQURyQkw7UUFFakIsSUFBSSxDQUFDRyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7O2tCQUpHTDs7WUFPbkJNLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZQyxLQUFLO2dCQUNmLElBQUksSUFBSSxDQUFDRixNQUFNLEVBQUU7b0JBQ2YsSUFBTUcsY0FBY0QsTUFBTUUsTUFBTTtvQkFFaEMsSUFBSUQsY0FBYyxHQUFHO3dCQUNuQkUsSUFBQUEsWUFBSyxFQUFDSDtvQkFDUjtnQkFDRixPQUFPO29CQUNMSSxJQUFBQSxXQUFJLEVBQUNKLE9BQU8sSUFBSSxDQUFDSixVQUFVLEVBQUUsSUFBSSxDQUFDQyxRQUFRO2dCQUM1QztZQUNGOzs7O1lBRU9RLEtBQUFBO21CQUFQLFNBQU9BO2dCQUNMLElBQU1ULGFBQWEsR0FDYkMsV0FBV1MsVUFDWFIsU0FBUyxPQUNUUyxTQUFTLElBdkJFZCxPQXVCU0csWUFBWUMsVUFBVUM7Z0JBRWhELE9BQU9TO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxlQUFlQyxVQUFVO2dCQUM5QixJQUFJYixhQUFhLEdBQ2JDLFdBQVdTLFVBQ1hSLFNBQVM7Z0JBRWIsSUFBSVcsZUFBZSxNQUFNO29CQUN2QixJQUFNQyxRQUFRQyxJQUFBQSx5QkFBbUIsRUFBQ0Y7b0JBRWxDLElBQUlDLFVBQVUsTUFBTTt3QkFDbEJkLGFBQWFjLE9BQU8sR0FBRzt3QkFFdkJiLFdBQVdhLE9BQU8sR0FBRztvQkFDdkIsT0FBTzt3QkFDTGQsYUFBYWdCLElBQUFBLDhCQUF3QixFQUFDSDt3QkFFdENaLFdBQVdnQixJQUFBQSw0QkFBc0IsRUFBQ0o7b0JBQ3BDO29CQUVBWCxTQUFTZ0IsSUFBQUEsMEJBQW9CLEVBQUNMO2dCQUNoQztnQkFFQSxJQUFNRixTQUFTLElBakRFZCxPQWlEU0csWUFBWUMsVUFBVUM7Z0JBRWhELE9BQU9TO1lBQ1Q7OztZQUVPUSxLQUFBQTttQkFBUCxTQUFPQSxxQkFBcUJDLGdCQUFnQjtnQkFDMUMsSUFBSXBCLGFBQWEsR0FDYkMsV0FBV1MsVUFDWFIsU0FBUztnQkFFYixJQUFJa0IscUJBQXFCLE1BQU07b0JBQzdCLElBQUlBLHFCQUFxQnRCLDRCQUE0Qjt3QkFDbkRJLFNBQVM7b0JBQ1gsT0FBTzt3QkFDTCxJQUFNbUIsU0FBUyxnQ0FDVEMsVUFBVUYsaUJBQWlCRyxLQUFLLENBQUNGLFNBQ2pDRyxjQUFjQyxJQUFBQSxhQUFNLEVBQUNILFlBQVksTUFDakNJLGFBQWFDLElBQUFBLFlBQUssRUFBQ0wsWUFBWSxNQUMvQk0sY0FBY0MsSUFBQUEsYUFBTSxFQUFDUCxZQUFZO3dCQUV2QyxJQUFJRSxnQkFBZ0IsTUFBTTs0QkFDeEJ4QixhQUFhOEIsU0FBU047NEJBRXRCLElBQUlFLGVBQWUsTUFBTTtnQ0FDdkJ6QixXQUFXRCxZQUFhLEdBQUc7NEJBQzdCO3dCQUNGO3dCQUVBLElBQUk0QixnQkFBZ0IsTUFBTTs0QkFDeEIzQixXQUFXNkIsU0FBU0Y7NEJBRXBCLElBQUlGLGVBQWUsTUFBTTtnQ0FDdkIxQixhQUFhQyxVQUFXLEdBQUc7NEJBQzdCO3dCQUNGO29CQUNGO2dCQUNGO2dCQUVBLElBQU1VLFNBQVMsSUF2RkVkLE9BdUZTRyxZQUFZQyxVQUFVQztnQkFFaEQsT0FBT1M7WUFDVDs7O1dBMUZtQmQifQ==
@@ -0,0 +1,101 @@
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 SubExpression;
9
+ }
10
+ });
11
+ var _path = /*#__PURE__*/ _interop_require_default(require("./path"));
12
+ var _spread = /*#__PURE__*/ _interop_require_default(require("./spread"));
13
+ var _node = require("./utilities/node");
14
+ function _class_call_check(instance, Constructor) {
15
+ if (!(instance instanceof Constructor)) {
16
+ throw new TypeError("Cannot call a class as a function");
17
+ }
18
+ }
19
+ function _defineProperties(target, props) {
20
+ for(var i = 0; i < props.length; i++){
21
+ var descriptor = props[i];
22
+ descriptor.enumerable = descriptor.enumerable || false;
23
+ descriptor.configurable = true;
24
+ if ("value" in descriptor) descriptor.writable = true;
25
+ Object.defineProperty(target, descriptor.key, descriptor);
26
+ }
27
+ }
28
+ function _create_class(Constructor, protoProps, staticProps) {
29
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
+ if (staticProps) _defineProperties(Constructor, staticProps);
31
+ return Constructor;
32
+ }
33
+ function _interop_require_default(obj) {
34
+ return obj && obj.__esModule ? obj : {
35
+ default: obj
36
+ };
37
+ }
38
+ var SubExpression = /*#__PURE__*/ function() {
39
+ function SubExpression(path, spread, subExpression) {
40
+ _class_call_check(this, SubExpression);
41
+ this.path = path;
42
+ this.spread = spread;
43
+ this.subExpression = subExpression;
44
+ }
45
+ _create_class(SubExpression, [
46
+ {
47
+ key: "getPath",
48
+ value: function getPath() {
49
+ return this.path;
50
+ }
51
+ },
52
+ {
53
+ key: "getSpread",
54
+ value: function getSpread() {
55
+ return this.spread;
56
+ }
57
+ },
58
+ {
59
+ key: "getSubExpression",
60
+ value: function getSubExpression() {
61
+ return this.subExpression;
62
+ }
63
+ },
64
+ {
65
+ key: "getRuleNames",
66
+ value: function getRuleNames() {
67
+ return this.path.getRuleNames();
68
+ }
69
+ },
70
+ {
71
+ key: "getTokenTypes",
72
+ value: function getTokenTypes() {
73
+ return this.path.getTokenTypes();
74
+ }
75
+ },
76
+ {
77
+ key: "isInfiniteDescent",
78
+ value: function isInfiniteDescent() {
79
+ return this.path.isInfiniteDescent();
80
+ }
81
+ }
82
+ ], [
83
+ {
84
+ key: "fromSubExpressionNode",
85
+ value: function fromSubExpressionNode(subExpressionNode) {
86
+ var subExpression = null;
87
+ if (subExpressionNode !== null) {
88
+ var pathNode = (0, _node.pathNodeFromSubExpressionNode)(subExpressionNode), spreadNode = (0, _node.spreadNodeFromSubExpressionNode)(subExpressionNode);
89
+ subExpressionNode = (0, _node.subExpressionNodeFromSubExpressionNode)(subExpressionNode); ///
90
+ var path = _path.default.fromPathNode(pathNode), spread = _spread.default.fromSpreadNode(spreadNode);
91
+ subExpression = SubExpression.fromSubExpressionNode(subExpressionNode);
92
+ subExpression = new SubExpression(path, spread, subExpression); ///
93
+ }
94
+ return subExpression;
95
+ }
96
+ }
97
+ ]);
98
+ return SubExpression;
99
+ }();
100
+
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJFeHByZXNzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGF0aCBmcm9tIFwiLi9wYXRoXCI7XG5pbXBvcnQgU3ByZWFkIGZyb20gXCIuL3NwcmVhZFwiO1xuXG5pbXBvcnQgeyBwYXRoTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSwgc3ByZWFkTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSwgc3ViRXhwcmVzc2lvbk5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJFeHByZXNzaW9uIHtcbiAgY29uc3RydWN0b3IocGF0aCwgc3ByZWFkLCBzdWJFeHByZXNzaW9uKSB7XG4gICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICB0aGlzLnNwcmVhZCA9IHNwcmVhZDtcbiAgICB0aGlzLnN1YkV4cHJlc3Npb24gPSBzdWJFeHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0UGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXRoO1xuICB9XG5cbiAgZ2V0U3ByZWFkKCkge1xuICAgIHJldHVybiB0aGlzLnNwcmVhZDtcbiAgfVxuXG4gIGdldFN1YkV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lcygpIHsgcmV0dXJuIHRoaXMucGF0aC5nZXRSdWxlTmFtZXMoKTsgfVxuXG4gIGdldFRva2VuVHlwZXMoKSB7IHJldHVybiB0aGlzLnBhdGguZ2V0VG9rZW5UeXBlcygpOyB9XG5cbiAgaXNJbmZpbml0ZURlc2NlbnQoKSB7IHJldHVybiB0aGlzLnBhdGguaXNJbmZpbml0ZURlc2NlbnQoKTsgfVxuXG4gIHN0YXRpYyBmcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpIHtcbiAgICBsZXQgc3ViRXhwcmVzc2lvbiA9IG51bGw7XG5cbiAgICBpZiAoc3ViRXhwcmVzc2lvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBhdGhOb2RlID0gcGF0aE5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpLFxuICAgICAgICAgICAgc3ByZWFkTm9kZSA9IHNwcmVhZE5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uTm9kZSA9IHN1YkV4cHJlc3Npb25Ob2RlRnJvbVN1YkV4cHJlc3Npb25Ob2RlKHN1YkV4cHJlc3Npb25Ob2RlKTsgIC8vL1xuXG4gICAgICBjb25zdCBwYXRoID0gUGF0aC5mcm9tUGF0aE5vZGUocGF0aE5vZGUpLFxuICAgICAgICAgICAgc3ByZWFkID0gU3ByZWFkLmZyb21TcHJlYWROb2RlKHNwcmVhZE5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uID0gU3ViRXhwcmVzc2lvbi5mcm9tU3ViRXhwcmVzc2lvbk5vZGUoc3ViRXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgICBzdWJFeHByZXNzaW9uID0gbmV3IFN1YkV4cHJlc3Npb24ocGF0aCwgc3ByZWFkLCBzdWJFeHByZXNzaW9uKTsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YkV4cHJlc3Npb247XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTdWJFeHByZXNzaW9uIiwicGF0aCIsInNwcmVhZCIsInN1YkV4cHJlc3Npb24iLCJnZXRQYXRoIiwiZ2V0U3ByZWFkIiwiZ2V0U3ViRXhwcmVzc2lvbiIsImdldFJ1bGVOYW1lcyIsImdldFRva2VuVHlwZXMiLCJpc0luZmluaXRlRGVzY2VudCIsImZyb21TdWJFeHByZXNzaW9uTm9kZSIsInN1YkV4cHJlc3Npb25Ob2RlIiwicGF0aE5vZGUiLCJwYXRoTm9kZUZyb21TdWJFeHByZXNzaW9uTm9kZSIsInNwcmVhZE5vZGUiLCJzcHJlYWROb2RlRnJvbVN1YkV4cHJlc3Npb25Ob2RlIiwic3ViRXhwcmVzc2lvbk5vZGVGcm9tU3ViRXhwcmVzc2lvbk5vZGUiLCJQYXRoIiwiZnJvbVBhdGhOb2RlIiwiU3ByZWFkIiwiZnJvbVNwcmVhZE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7OzJEQUxKOzZEQUNFO29CQUVvRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4RyxJQUFBLEFBQU1BLDhCQUFOO2FBQU1BLGNBQ1BDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxhQUFhO2dDQURwQkg7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxhQUFhLEdBQUdBOztrQkFKSkg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILGFBQWE7WUFDM0I7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQWlCLE9BQU8sSUFBSSxDQUFDTixJQUFJLENBQUNNLFlBQVk7WUFBSTs7O1lBRWxEQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQWtCLE9BQU8sSUFBSSxDQUFDUCxJQUFJLENBQUNPLGFBQWE7WUFBSTs7O1lBRXBEQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQXNCLE9BQU8sSUFBSSxDQUFDUixJQUFJLENBQUNRLGlCQUFpQjtZQUFJOzs7O1lBRXJEQyxLQUFBQTttQkFBUCxTQUFPQSxzQkFBc0JDLGlCQUFpQjtnQkFDNUMsSUFBSVIsZ0JBQWdCO2dCQUVwQixJQUFJUSxzQkFBc0IsTUFBTTtvQkFDOUIsSUFBTUMsV0FBV0MsSUFBQUEsbUNBQTZCLEVBQUNGLG9CQUN6Q0csYUFBYUMsSUFBQUEscUNBQStCLEVBQUNKO29CQUVuREEsb0JBQW9CSyxJQUFBQSw0Q0FBc0MsRUFBQ0wsb0JBQXFCLEdBQUc7b0JBRW5GLElBQU1WLE9BQU9nQixhQUFJLENBQUNDLFlBQVksQ0FBQ04sV0FDekJWLFNBQVNpQixlQUFNLENBQUNDLGNBQWMsQ0FBQ047b0JBRXJDWCxnQkFBZ0JILEFBckNEQSxjQXFDZVUscUJBQXFCLENBQUNDO29CQUVwRFIsZ0JBQWdCLElBdkNESCxjQXVDbUJDLE1BQU1DLFFBQVFDLGdCQUFnQixHQUFHO2dCQUNyRTtnQkFFQSxPQUFPQTtZQUNUOzs7V0EzQ21CSCJ9
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ clear: function() {
13
+ return clear;
14
+ },
15
+ fifth: function() {
16
+ return fifth;
17
+ },
18
+ first: function() {
19
+ return first;
20
+ },
21
+ fourth: function() {
22
+ return fourth;
23
+ },
24
+ includes: function() {
25
+ return includes;
26
+ },
27
+ last: function() {
28
+ return last;
29
+ },
30
+ push: function() {
31
+ return push;
32
+ },
33
+ second: function() {
34
+ return second;
35
+ },
36
+ third: function() {
37
+ return third;
38
+ },
39
+ trim: function() {
40
+ return trim;
41
+ }
42
+ });
43
+ var _necessary = require("necessary");
44
+ var clear = _necessary.arrayUtilities.clear, push = _necessary.arrayUtilities.push, first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second, third = _necessary.arrayUtilities.third, fourth = _necessary.arrayUtilities.fourth, fifth = _necessary.arrayUtilities.fifth, last = _necessary.arrayUtilities.last;
45
+ function trim(array, startIndex, endIndex) {
46
+ if (startIndex < 0) {
47
+ var length = array.length; ///
48
+ startIndex = length + startIndex; ///
49
+ endIndex = length + endIndex; ///
50
+ }
51
+ if (endIndex !== Infinity) {
52
+ var start = endIndex + 1;
53
+ array.splice(start);
54
+ }
55
+ var start1 = 0, deleteCount = startIndex; ///
56
+ array.splice(start1, deleteCount);
57
+ }
58
+ function includes(array) {
59
+ for(var _len = arguments.length, elements = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
60
+ elements[_key - 1] = arguments[_key];
61
+ }
62
+ return elements.some(function(element) {
63
+ return array.includes(element);
64
+ });
65
+ }
66
+
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5leHBvcnQgY29uc3QgeyBjbGVhciwgcHVzaCwgZmlyc3QsIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCwgZmlmdGgsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJpbShhcnJheSwgc3RhcnRJbmRleCwgZW5kSW5kZXgpIHtcbiAgaWYgKHN0YXJ0SW5kZXggPCAwKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoOyAvLy9cblxuICAgIHN0YXJ0SW5kZXggPSBsZW5ndGggKyBzdGFydEluZGV4OyAvLy9cblxuICAgIGVuZEluZGV4ID0gbGVuZ3RoICsgZW5kSW5kZXg7IC8vL1xuICB9XG5cbiAgaWYgKGVuZEluZGV4ICE9PSBJbmZpbml0eSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gZW5kSW5kZXggKyAxO1xuXG4gICAgYXJyYXkuc3BsaWNlKHN0YXJ0KTtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0ID0gMCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBzdGFydEluZGV4OyAvLy9cblxuICBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluY2x1ZGVzKGFycmF5LCAuLi5lbGVtZW50cykge1xuICByZXR1cm4gZWxlbWVudHMuc29tZSgoZWxlbWVudCkgPT4gYXJyYXkuaW5jbHVkZXMoZWxlbWVudCkpO1xufVxuIl0sIm5hbWVzIjpbImNsZWFyIiwiZmlmdGgiLCJmaXJzdCIsImZvdXJ0aCIsImluY2x1ZGVzIiwibGFzdCIsInB1c2giLCJzZWNvbmQiLCJ0aGlyZCIsInRyaW0iLCJhcnJheVV0aWxpdGllcyIsImFycmF5Iiwic3RhcnRJbmRleCIsImVuZEluZGV4IiwibGVuZ3RoIiwiSW5maW5pdHkiLCJzdGFydCIsInNwbGljZSIsImRlbGV0ZUNvdW50IiwiZWxlbWVudHMiLCJzb21lIiwiZWxlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSWVBLEtBQUs7ZUFBTEE7O0lBQTJDQyxLQUFLO2VBQUxBOztJQUE5QkMsS0FBSztlQUFMQTs7SUFBc0JDLE1BQU07ZUFBTkE7O0lBdUJsQ0MsUUFBUTtlQUFSQTs7SUF2QmlEQyxJQUFJO2VBQUpBOztJQUEzQ0MsSUFBSTtlQUFKQTs7SUFBYUMsTUFBTTtlQUFOQTs7SUFBUUMsS0FBSztlQUFMQTs7SUFFM0JDLElBQUk7ZUFBSkE7Ozt5QkFKZTtBQUV4QixJQUFRVCxRQUEyRFUseUJBQWMsQ0FBekVWLE9BQU9NLE9BQW9ESSx5QkFBYyxDQUFsRUosTUFBTUosUUFBOENRLHlCQUFjLENBQTVEUixPQUFPSyxTQUF1Q0cseUJBQWMsQ0FBckRILFFBQVFDLFFBQStCRSx5QkFBYyxDQUE3Q0YsT0FBT0wsU0FBd0JPLHlCQUFjLENBQXRDUCxRQUFRRixRQUFnQlMseUJBQWMsQ0FBOUJULE9BQU9JLE9BQVNLLHlCQUFjLENBQXZCTDtBQUUxRCxTQUFTSSxLQUFLRSxLQUFLLEVBQUVDLFVBQVUsRUFBRUMsUUFBUTtJQUM5QyxJQUFJRCxhQUFhLEdBQUc7UUFDbEIsSUFBTUUsU0FBU0gsTUFBTUcsTUFBTSxFQUFFLEdBQUc7UUFFaENGLGFBQWFFLFNBQVNGLFlBQVksR0FBRztRQUVyQ0MsV0FBV0MsU0FBU0QsVUFBVSxHQUFHO0lBQ25DO0lBRUEsSUFBSUEsYUFBYUUsVUFBVTtRQUN6QixJQUFNQyxRQUFRSCxXQUFXO1FBRXpCRixNQUFNTSxNQUFNLENBQUNEO0lBQ2Y7SUFFQSxJQUFNQSxTQUFRLEdBQ1JFLGNBQWNOLFlBQVksR0FBRztJQUVuQ0QsTUFBTU0sTUFBTSxDQUFDRCxRQUFPRTtBQUN0QjtBQUVPLFNBQVNkLFNBQVNPLEtBQUs7SUFBRSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR1EsV0FBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtRQUFHQSxTQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBVzs7SUFDekMsT0FBT0EsU0FBU0MsSUFBSSxDQUFDLFNBQUNDO2VBQVlWLE1BQU1QLFFBQVEsQ0FBQ2lCOztBQUNuRCJ9