occam-custom-grammars 5.0.1229 → 5.0.1231
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/example.js +206 -182
- package/lib/constants.js +5 -1
- package/lib/customGrammar/combined.js +29 -18
- package/lib/customGrammar/default.js +3 -3
- package/lib/example/customGrammar/userDefined1.js +2 -2
- package/lib/example/view.js +29 -27
- package/lib/utilities/validate.js +107 -0
- package/lib/utilities/vocabulary.js +8 -37
- package/package.json +1 -1
- package/src/constants.js +3 -0
- package/src/customGrammar/combined.js +42 -26
- package/src/customGrammar/default.js +2 -2
- package/src/example/customGrammar/userDefined1.js +1 -5
- package/src/example/view.js +8 -8
- package/src/utilities/{bnf.js → validate.js} +66 -10
- package/src/utilities/vocabulary.js +5 -40
- package/lib/utilities/bnf.js +0 -66
package/lib/constants.js
CHANGED
|
@@ -26,13 +26,17 @@ _export(exports, {
|
|
|
26
26
|
},
|
|
27
27
|
get VERTICAL_BAR () {
|
|
28
28
|
return VERTICAL_BAR;
|
|
29
|
+
},
|
|
30
|
+
get VERTICAL_SPACE () {
|
|
31
|
+
return VERTICAL_SPACE;
|
|
29
32
|
}
|
|
30
33
|
});
|
|
31
34
|
var EMPTY_STRING = "";
|
|
32
35
|
var VERTICAL_BAR = "|";
|
|
36
|
+
var VERTICAL_SPACE = "\n\n";
|
|
33
37
|
var UNASSIGNED_TYPE = "unassigned";
|
|
34
38
|
var STUFF_RULE_NAME = "stuff";
|
|
35
39
|
var NONSENSE_RULE_NAME = "nonsense";
|
|
36
40
|
var UNDERSCORE_CHARACTER = "_";
|
|
37
41
|
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IFZFUlRJQ0FMX0JBUiA9IFwifFwiO1xuZXhwb3J0IGNvbnN0IFZFUlRJQ0FMX1NQQUNFID0gYFxuXG5gXG5leHBvcnQgY29uc3QgVU5BU1NJR05FRF9UWVBFID0gXCJ1bmFzc2lnbmVkXCI7XG5leHBvcnQgY29uc3QgU1RVRkZfUlVMRV9OQU1FID0gXCJzdHVmZlwiO1xuZXhwb3J0IGNvbnN0IE5PTlNFTlNFX1JVTEVfTkFNRSA9IFwibm9uc2Vuc2VcIjtcbmV4cG9ydCBjb25zdCBVTkRFUlNDT1JFX0NIQVJBQ1RFUiA9IFwiX1wiO1xuIl0sIm5hbWVzIjpbIkVNUFRZX1NUUklORyIsIk5PTlNFTlNFX1JVTEVfTkFNRSIsIlNUVUZGX1JVTEVfTkFNRSIsIlVOQVNTSUdORURfVFlQRSIsIlVOREVSU0NPUkVfQ0hBUkFDVEVSIiwiVkVSVElDQUxfQkFSIiwiVkVSVElDQUxfU1BBQ0UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUVhQTtlQUFBQTs7UUFPQUM7ZUFBQUE7O1FBREFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFHQUM7ZUFBQUE7O1FBUEFDO2VBQUFBOztRQUNBQztlQUFBQTs7O0FBRk4sSUFBTU4sZUFBZTtBQUNyQixJQUFNSyxlQUFlO0FBQ3JCLElBQU1DLGlCQUFrQjtBQUd4QixJQUFNSCxrQkFBa0I7QUFDeEIsSUFBTUQsa0JBQWtCO0FBQ3hCLElBQU1ELHFCQUFxQjtBQUMzQixJQUFNRyx1QkFBdUIifQ==
|
|
@@ -9,13 +9,14 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _necessary = require("necessary");
|
|
12
|
+
var _occamlexers = require("occam-lexers");
|
|
12
13
|
var _occamparsers = require("occam-parsers");
|
|
13
14
|
var _occamgrammarutilities = require("occam-grammar-utilities");
|
|
14
15
|
var _default = /*#__PURE__*/ _interop_require_default(require("../customGrammar/default"));
|
|
15
|
-
var
|
|
16
|
+
var _vocabulary = require("../utilities/vocabulary");
|
|
16
17
|
var _constants = require("../constants");
|
|
18
|
+
var _validate = require("../utilities/validate");
|
|
17
19
|
var _ruleNames = require("../ruleNames");
|
|
18
|
-
var _vocabulary = require("../utilities/vocabulary");
|
|
19
20
|
var _vocabularyNames = require("../vocabularyNames");
|
|
20
21
|
function _array_like_to_array(arr, len) {
|
|
21
22
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -79,7 +80,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
79
80
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
80
81
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
81
82
|
}
|
|
82
|
-
var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, unshift = _necessary.arrayUtilities.unshift, backwardsForEach = _necessary.arrayUtilities.backwardsForEach;
|
|
83
|
+
var opaque = _occamlexers.specialSymbols.opaque, rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, unshift = _necessary.arrayUtilities.unshift, forwardsForEach = _necessary.arrayUtilities.forwardsForEach, backwardsForEach = _necessary.arrayUtilities.backwardsForEach;
|
|
83
84
|
var CombinedCustomGrammar = /*#__PURE__*/ function() {
|
|
84
85
|
function CombinedCustomGrammar(rules, entries) {
|
|
85
86
|
_class_call_check(this, CombinedCustomGrammar);
|
|
@@ -145,8 +146,18 @@ function rulesFromCustomGrammars(customGrammars) {
|
|
|
145
146
|
], bnfs = ruleNames.map(function(ruleName) {
|
|
146
147
|
var bnf = bnfFromCustomGrammars(customGrammars, ruleName);
|
|
147
148
|
return bnf;
|
|
148
|
-
}), bnf = bnfs.join(_constants.
|
|
149
|
+
}), bnf = bnfs.join(_constants.VERTICAL_SPACE), rules = rulesFromBNF(bnf);
|
|
149
150
|
combineRules(rules);
|
|
151
|
+
var opacity = opaque; ///
|
|
152
|
+
ruleNames.forEach(function(ruleName) {
|
|
153
|
+
var rule = rules.find(function(rule) {
|
|
154
|
+
var name = rule.getName();
|
|
155
|
+
if (name === ruleName) {
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
rule.setOpacity(opacity);
|
|
160
|
+
});
|
|
150
161
|
return rules;
|
|
151
162
|
}
|
|
152
163
|
function entriesFromCustomGrammars(customGrammars) {
|
|
@@ -159,30 +170,30 @@ function entriesFromCustomGrammars(customGrammars) {
|
|
|
159
170
|
});
|
|
160
171
|
return entries;
|
|
161
172
|
}
|
|
162
|
-
function bnfFromCustomGrammars(customGrammars, ruleName) {
|
|
163
|
-
var bnfs = [];
|
|
164
|
-
backwardsForEach(customGrammars, function(customGrammar) {
|
|
165
|
-
var bnf = customGrammar.getBNF(ruleName), customGrammarDefaultCustomGrammar = customGrammar.isDefaultCustomGrammar();
|
|
166
|
-
if (!customGrammarDefaultCustomGrammar) {
|
|
167
|
-
(0, _bnf.validateBNF)(bnf, ruleName);
|
|
168
|
-
}
|
|
169
|
-
bnfs.push(bnf);
|
|
170
|
-
});
|
|
171
|
-
var bnf = bnfs.join(_constants.EMPTY_STRING);
|
|
172
|
-
return bnf;
|
|
173
|
-
}
|
|
174
173
|
function entryFromCustomGrammars(customGrammars, vocabularyName) {
|
|
175
174
|
var expressions = [];
|
|
176
175
|
backwardsForEach(customGrammars, function(customGrammar) {
|
|
177
176
|
var vocabulary = customGrammar.getVocabulary(vocabularyName), customGrammarDefaultCustomGrammar = customGrammar.isDefaultCustomGrammar();
|
|
178
177
|
if (!customGrammarDefaultCustomGrammar) {
|
|
179
|
-
(0,
|
|
178
|
+
(0, _validate.validateVocabulary)(vocabulary);
|
|
180
179
|
}
|
|
181
180
|
(0, _vocabulary.expressionsFromVocabulary)(vocabulary, expressions);
|
|
182
181
|
});
|
|
183
182
|
var pattern = expressions.join(_constants.VERTICAL_BAR), entryName = vocabularyName, entryValue = "^(?:".concat(pattern, ")"), entry = _define_property({}, entryName, entryValue);
|
|
184
183
|
return entry;
|
|
185
184
|
}
|
|
185
|
+
function bnfFromCustomGrammars(customGrammars, ruleName) {
|
|
186
|
+
var bnfs = [];
|
|
187
|
+
forwardsForEach(customGrammars, function(customGrammar) {
|
|
188
|
+
var bnf = customGrammar.getBNF(ruleName), customGrammarDefaultCustomGrammar = customGrammar.isDefaultCustomGrammar();
|
|
189
|
+
if (!customGrammarDefaultCustomGrammar) {
|
|
190
|
+
(0, _validate.validateBNF)(bnf, ruleName);
|
|
191
|
+
}
|
|
192
|
+
bnfs.push(bnf);
|
|
193
|
+
});
|
|
194
|
+
var bnf = bnfs.join(_constants.VERTICAL_SPACE);
|
|
195
|
+
return bnf;
|
|
196
|
+
}
|
|
186
197
|
function combineRules(rules) {
|
|
187
198
|
var outerIndex = 0, length = rules.length;
|
|
188
199
|
while(outerIndex < length){
|
|
@@ -205,4 +216,4 @@ function combineRules(rules) {
|
|
|
205
216
|
}
|
|
206
217
|
}
|
|
207
218
|
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyL2NvbWJpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCBkZWZhdWx0Q3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9kZWZhdWx0XCI7XG5cbmltcG9ydCB7IHZhbGlkYXRlQk5GIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ibmZcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORywgVkVSVElDQUxfQkFSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyB2YWxpZGF0ZVZvY2FidWxhcnksIGV4cHJlc3Npb25zRnJvbVZvY2FidWxhcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZvY2FidWxhcnlcIjtcbmltcG9ydCB7IFRZUEVfVk9DQUJVTEFSWV9OQU1FLCBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FIH0gZnJvbSBcIi4uL3ZvY2FidWxhcnlOYW1lc1wiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiB9ID0gcGFyc2VyVXRpbGl0aWVzLFxuICAgICAgeyB1bnNoaWZ0LCBiYWNrd2FyZHNGb3JFYWNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tYmluZWRDdXN0b21HcmFtbWFyIHtcbiAgY29uc3RydWN0b3IocnVsZXMsIGVudHJpZXMpIHtcbiAgICB0aGlzLnJ1bGVzID0gcnVsZXM7XG4gICAgdGhpcy5lbnRyaWVzID0gZW50cmllcztcbiAgfVxuICBcbiAgZ2V0UnVsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZXM7XG4gIH1cblxuICBnZXRFbnRyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXM7XG4gIH1cblxuICBwb3N0UHJvY2VzcyhydWxlcykge1xuICAgIHJ1bGVzID0gWyAvLy9cbiAgICAgIC4uLnJ1bGVzLFxuICAgICAgLi4udGhpcy5ydWxlc1xuICAgIF07XG5cbiAgICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoaW5jbHVkZURlZmF1bHQgPSB0cnVlKSB7XG4gICAgbGV0IGN1c3RvbUdyYW1tYXJzID0gW107XG5cbiAgICBpZiAoaW5jbHVkZURlZmF1bHQpIHtcbiAgICAgIGN1c3RvbUdyYW1tYXJzID0gWyBkZWZhdWx0Q3VzdG9tR3JhbW1hciwgLi4uY3VzdG9tR3JhbW1hcnMgXTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IG5ldyBDb21iaW5lZEN1c3RvbUdyYW1tYXIocnVsZXMsIGVudHJpZXMpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIGluY2x1ZGVEZWZhdWx0ID0gdHJ1ZSkge1xuICAgIGlmIChpbmNsdWRlRGVmYXVsdCkge1xuICAgICAgY3VzdG9tR3JhbW1hcnMgPSBbIGRlZmF1bHRDdXN0b21HcmFtbWFyLCAuLi5jdXN0b21HcmFtbWFycyBdOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzKSxcbiAgICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gbmV3IENvbWJpbmVkQ3VzdG9tR3JhbW1hcihydWxlcywgZW50cmllcyk7XG4gICAgXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBydWxlc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycykge1xuICBjb25zdCBydWxlTmFtZXMgPSBbXG4gICAgICAgICAgVEVSTV9SVUxFX05BTUUsXG4gICAgICAgICAgU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgXSxcbiAgICAgICAgYm5mcyA9IHJ1bGVOYW1lcy5tYXAoKHJ1bGVOYW1lKSA9PiB7XG4gICAgICAgICAgY29uc3QgYm5mID0gYm5mRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzLCBydWxlTmFtZSk7XG5cbiAgICAgICAgICByZXR1cm4gYm5mO1xuICAgICAgICB9KSxcbiAgICAgICAgYm5mID0gYm5mcy5qb2luKEVNUFRZX1NUUklORyksXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZik7XG5cbiAgY29tYmluZVJ1bGVzKHJ1bGVzKVxuXG4gIHJldHVybiBydWxlcztcbn1cblxuZnVuY3Rpb24gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycykge1xuICBjb25zdCB2b2NhYnVsYXJ5TmFtZXMgPSBbXG4gICAgICAgICAgVFlQRV9WT0NBQlVMQVJZX05BTUUsXG4gICAgICAgICAgU1lNQk9MX1ZPQ0FCVUxBUllfTkFNRVxuICAgICAgICBdLFxuICAgICAgICBlbnRyaWVzID0gdm9jYWJ1bGFyeU5hbWVzLm1hcCgodm9jYWJ1bGFyeU5hbWUpID0+IHtcbiAgICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJ5RnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzLCB2b2NhYnVsYXJ5TmFtZSk7XG5cbiAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBlbnRyaWVzO1xufVxuXG5mdW5jdGlvbiBibmZGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHJ1bGVOYW1lKSB7XG4gIGNvbnN0IGJuZnMgPSBbXTtcblxuICBiYWNrd2FyZHNGb3JFYWNoKGN1c3RvbUdyYW1tYXJzLCAoY3VzdG9tR3JhbW1hcikgPT4ge1xuICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKHJ1bGVOYW1lKSxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyRGVmYXVsdEN1c3RvbUdyYW1tYXIgPSBjdXN0b21HcmFtbWFyLmlzRGVmYXVsdEN1c3RvbUdyYW1tYXIoKTtcblxuICAgIGlmICghY3VzdG9tR3JhbW1hckRlZmF1bHRDdXN0b21HcmFtbWFyKSB7XG4gICAgICB2YWxpZGF0ZUJORihibmYsIHJ1bGVOYW1lKTtcbiAgICB9XG5cbiAgICBibmZzLnB1c2goYm5mKTtcbiAgfSk7XG5cbiAgY29uc3QgYm5mID0gYm5mcy5qb2luKEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIGJuZjtcbn1cblxuZnVuY3Rpb24gZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHZvY2FidWxhcnlOYW1lKSB7XG4gIGNvbnN0IGV4cHJlc3Npb25zID0gW107XG5cbiAgYmFja3dhcmRzRm9yRWFjaChjdXN0b21HcmFtbWFycywgKGN1c3RvbUdyYW1tYXIpID0+IHtcbiAgICBjb25zdCB2b2NhYnVsYXJ5ID0gY3VzdG9tR3JhbW1hci5nZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lKSxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyRGVmYXVsdEN1c3RvbUdyYW1tYXIgPSBjdXN0b21HcmFtbWFyLmlzRGVmYXVsdEN1c3RvbUdyYW1tYXIoKTtcblxuICAgIGlmICghY3VzdG9tR3JhbW1hckRlZmF1bHRDdXN0b21HcmFtbWFyKSB7XG4gICAgICB2YWxpZGF0ZVZvY2FidWxhcnkodm9jYWJ1bGFyeSk7XG4gICAgfVxuXG4gICAgZXhwcmVzc2lvbnNGcm9tVm9jYWJ1bGFyeSh2b2NhYnVsYXJ5LCBleHByZXNzaW9ucyk7XG4gIH0pO1xuXG4gIGNvbnN0IHBhdHRlcm4gPSBleHByZXNzaW9ucy5qb2luKFZFUlRJQ0FMX0JBUiksXG4gICAgICAgIGVudHJ5TmFtZSA9IHZvY2FidWxhcnlOYW1lLCAgLy8vXG4gICAgICAgIGVudHJ5VmFsdWUgPSBgXig/OiR7cGF0dGVybn0pYCxcbiAgICAgICAgZW50cnkgPSB7XG4gICAgICAgICAgW2VudHJ5TmFtZV06IGVudHJ5VmFsdWVcbiAgICAgICAgfTtcblxuICByZXR1cm4gZW50cnk7XG59XG5cbmZ1bmN0aW9uIGNvbWJpbmVSdWxlcyhydWxlcykge1xuICBsZXQgb3V0ZXJJbmRleCA9IDAsXG4gICAgICBsZW5ndGggPSBydWxlcy5sZW5ndGg7XG5cbiAgd2hpbGUgKG91dGVySW5kZXggPCBsZW5ndGgpIHtcbiAgICBjb25zdCBvdXRlclJ1bGUgPSBydWxlc1tvdXRlckluZGV4XSxcbiAgICAgICAgICBvdXRlclJ1bGVOYW1lID0gb3V0ZXJSdWxlLmdldE5hbWUoKTtcblxuICAgIGxldCBpbm5lckluZGV4ID0gb3V0ZXJJbmRleCArIDE7XG5cbiAgICB3aGlsZSAoaW5uZXJJbmRleCA8IGxlbmd0aCkge1xuICAgICAgY29uc3QgaW5uZXJSdWxlID0gcnVsZXNbaW5uZXJJbmRleF0sXG4gICAgICAgICAgICBpbm5lclJ1bGVOYW1lID0gaW5uZXJSdWxlLmdldE5hbWUoKTtcblxuICAgICAgaWYgKGlubmVyUnVsZU5hbWUgPT09IG91dGVyUnVsZU5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5uZXJSdWxlRGVmaW5pdGlvbnMgPSBpbm5lclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKSxcbiAgICAgICAgICAgICAgb3V0ZXJSdWxlRGVmaW5pdGlvbnMgPSBvdXRlclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKTtcblxuICAgICAgICB1bnNoaWZ0KG91dGVyUnVsZURlZmluaXRpb25zLCBpbm5lclJ1bGVEZWZpbml0aW9ucyk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbm5lckluZGV4LCAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgICAgIHJ1bGVzLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpO1xuXG4gICAgICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlubmVySW5kZXgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvdXRlckluZGV4Kys7XG5cbiAgICBsZW5ndGggPSBydWxlcy5sZW5ndGg7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJ1bnNoaWZ0IiwiYXJyYXlVdGlsaXRpZXMiLCJiYWNrd2FyZHNGb3JFYWNoIiwicnVsZXMiLCJlbnRyaWVzIiwiZ2V0UnVsZXMiLCJnZXRFbnRyaWVzIiwicG9zdFByb2Nlc3MiLCJlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIiwiZnJvbU5vdGhpbmciLCJpbmNsdWRlRGVmYXVsdCIsImN1c3RvbUdyYW1tYXJzIiwiZGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJydWxlc0Zyb21DdXN0b21HcmFtbWFycyIsImVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tQ3VzdG9tR3JhbW1hcnMiLCJydWxlTmFtZXMiLCJURVJNX1JVTEVfTkFNRSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJibmZzIiwibWFwIiwicnVsZU5hbWUiLCJibmYiLCJibmZGcm9tQ3VzdG9tR3JhbW1hcnMiLCJqb2luIiwiRU1QVFlfU1RSSU5HIiwiY29tYmluZVJ1bGVzIiwidm9jYWJ1bGFyeU5hbWVzIiwiVFlQRV9WT0NBQlVMQVJZX05BTUUiLCJTWU1CT0xfVk9DQUJVTEFSWV9OQU1FIiwidm9jYWJ1bGFyeU5hbWUiLCJlbnRyeSIsImVudHJ5RnJvbUN1c3RvbUdyYW1tYXJzIiwiY3VzdG9tR3JhbW1hciIsImdldEJORiIsImN1c3RvbUdyYW1tYXJEZWZhdWx0Q3VzdG9tR3JhbW1hciIsImlzRGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJ2YWxpZGF0ZUJORiIsInB1c2giLCJleHByZXNzaW9ucyIsInZvY2FidWxhcnkiLCJnZXRWb2NhYnVsYXJ5IiwidmFsaWRhdGVWb2NhYnVsYXJ5IiwiZXhwcmVzc2lvbnNGcm9tVm9jYWJ1bGFyeSIsInBhdHRlcm4iLCJWRVJUSUNBTF9CQVIiLCJlbnRyeU5hbWUiLCJlbnRyeVZhbHVlIiwib3V0ZXJJbmRleCIsImxlbmd0aCIsIm91dGVyUnVsZSIsIm91dGVyUnVsZU5hbWUiLCJnZXROYW1lIiwiaW5uZXJJbmRleCIsImlubmVyUnVsZSIsImlubmVyUnVsZU5hbWUiLCJpbm5lclJ1bGVEZWZpbml0aW9ucyIsImdldERlZmluaXRpb25zIiwib3V0ZXJSdWxlRGVmaW5pdGlvbnMiLCJzdGFydCIsImRlbGV0ZUNvdW50Iiwic3BsaWNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWlCcUJBOzs7eUJBZlU7NEJBQ0M7cUNBQ087OERBRU47bUJBRUw7eUJBQ2U7eUJBQ1M7MEJBQ1U7K0JBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3RCxJQUFNLEFBQUVDLGVBQWlCQyw2QkFBZSxDQUFoQ0QsY0FDQUUsVUFBOEJDLHlCQUFjLENBQTVDRCxTQUFTRSxtQkFBcUJELHlCQUFjLENBQW5DQztBQUVGLElBQUEsQUFBTUwsc0NBQU47YUFBTUEsc0JBQ1BNLEtBQUssRUFBRUMsT0FBTztnQ0FEUFA7UUFFakIsSUFBSSxD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
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyL2NvbWJpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IHNwZWNpYWxTeW1ib2xzIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24gfSBmcm9tIFwib2NjYW0tZ3JhbW1hci11dGlsaXRpZXNcIjtcblxuaW1wb3J0IGRlZmF1bHRDdXN0b21HcmFtbWFyIGZyb20gXCIuLi9jdXN0b21HcmFtbWFyL2RlZmF1bHRcIjtcblxuaW1wb3J0IHsgZXhwcmVzc2lvbnNGcm9tVm9jYWJ1bGFyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvdm9jYWJ1bGFyeVwiO1xuaW1wb3J0IHsgVkVSVElDQUxfQkFSLCBWRVJUSUNBTF9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHZhbGlkYXRlQk5GLCB2YWxpZGF0ZVZvY2FidWxhcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbGlkYXRlXCI7XG5pbXBvcnQgeyBURVJNX1JVTEVfTkFNRSwgU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IFRZUEVfVk9DQUJVTEFSWV9OQU1FLCBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FIH0gZnJvbSBcIi4uL3ZvY2FidWxhcnlOYW1lc1wiO1xuXG5jb25zdCB7IG9wYXF1ZSAgfSA9IHNwZWNpYWxTeW1ib2xzLFxuICAgICAgeyBydWxlc0Zyb21CTkYgfSA9IHBhcnNlclV0aWxpdGllcyxcbiAgICAgIHsgdW5zaGlmdCwgZm9yd2FyZHNGb3JFYWNoLCBiYWNrd2FyZHNGb3JFYWNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tYmluZWRDdXN0b21HcmFtbWFyIHtcbiAgY29uc3RydWN0b3IocnVsZXMsIGVudHJpZXMpIHtcbiAgICB0aGlzLnJ1bGVzID0gcnVsZXM7XG4gICAgdGhpcy5lbnRyaWVzID0gZW50cmllcztcbiAgfVxuICBcbiAgZ2V0UnVsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZXM7XG4gIH1cblxuICBnZXRFbnRyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXM7XG4gIH1cblxuICBwb3N0UHJvY2VzcyhydWxlcykge1xuICAgIHJ1bGVzID0gWyAvLy9cbiAgICAgIC4uLnJ1bGVzLFxuICAgICAgLi4udGhpcy5ydWxlc1xuICAgIF07XG5cbiAgICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoaW5jbHVkZURlZmF1bHQgPSB0cnVlKSB7XG4gICAgbGV0IGN1c3RvbUdyYW1tYXJzID0gW107XG5cbiAgICBpZiAoaW5jbHVkZURlZmF1bHQpIHtcbiAgICAgIGN1c3RvbUdyYW1tYXJzID0gWyBkZWZhdWx0Q3VzdG9tR3JhbW1hciwgLi4uY3VzdG9tR3JhbW1hcnMgXTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IG5ldyBDb21iaW5lZEN1c3RvbUdyYW1tYXIocnVsZXMsIGVudHJpZXMpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIGluY2x1ZGVEZWZhdWx0ID0gdHJ1ZSkge1xuICAgIGlmIChpbmNsdWRlRGVmYXVsdCkge1xuICAgICAgY3VzdG9tR3JhbW1hcnMgPSBbIGRlZmF1bHRDdXN0b21HcmFtbWFyLCAuLi5jdXN0b21HcmFtbWFycyBdOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzKSxcbiAgICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gbmV3IENvbWJpbmVkQ3VzdG9tR3JhbW1hcihydWxlcywgZW50cmllcyk7XG4gICAgXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBydWxlc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycykge1xuICBjb25zdCBydWxlTmFtZXMgPSBbXG4gICAgICAgICAgVEVSTV9SVUxFX05BTUUsXG4gICAgICAgICAgU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgXSxcbiAgICAgICAgYm5mcyA9IHJ1bGVOYW1lcy5tYXAoKHJ1bGVOYW1lKSA9PiB7XG4gICAgICAgICAgY29uc3QgYm5mID0gYm5mRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzLCBydWxlTmFtZSk7XG5cbiAgICAgICAgICByZXR1cm4gYm5mO1xuICAgICAgICB9KSxcbiAgICAgICAgYm5mID0gYm5mcy5qb2luKFZFUlRJQ0FMX1NQQUNFKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBjb21iaW5lUnVsZXMocnVsZXMpO1xuXG4gIGNvbnN0IG9wYWNpdHkgPSBvcGFxdWU7IC8vL1xuXG4gIHJ1bGVOYW1lcy5mb3JFYWNoKChydWxlTmFtZSkgPT4ge1xuICAgIGNvbnN0IHJ1bGUgPSBydWxlcy5maW5kKChydWxlKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gcnVsZS5nZXROYW1lKCk7XG5cbiAgICAgIGlmIChuYW1lID09PSBydWxlTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJ1bGUuc2V0T3BhY2l0eShvcGFjaXR5KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJ1bGVzO1xufVxuXG5mdW5jdGlvbiBlbnRyaWVzRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzKSB7XG4gIGNvbnN0IHZvY2FidWxhcnlOYW1lcyA9IFtcbiAgICAgICAgICBUWVBFX1ZPQ0FCVUxBUllfTkFNRSxcbiAgICAgICAgICBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FXG4gICAgICAgIF0sXG4gICAgICAgIGVudHJpZXMgPSB2b2NhYnVsYXJ5TmFtZXMubWFwKCh2b2NhYnVsYXJ5TmFtZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHZvY2FidWxhcnlOYW1lKTtcblxuICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGVudHJpZXM7XG59XG5cbmZ1bmN0aW9uIGVudHJ5RnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzLCB2b2NhYnVsYXJ5TmFtZSkge1xuICBjb25zdCBleHByZXNzaW9ucyA9IFtdO1xuXG4gIGJhY2t3YXJkc0ZvckVhY2goY3VzdG9tR3JhbW1hcnMsIChjdXN0b21HcmFtbWFyKSA9PiB7XG4gICAgY29uc3Qgdm9jYWJ1bGFyeSA9IGN1c3RvbUdyYW1tYXIuZ2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSksXG4gICAgICAgICAgY3VzdG9tR3JhbW1hckRlZmF1bHRDdXN0b21HcmFtbWFyID0gY3VzdG9tR3JhbW1hci5pc0RlZmF1bHRDdXN0b21HcmFtbWFyKCk7XG5cbiAgICBpZiAoIWN1c3RvbUdyYW1tYXJEZWZhdWx0Q3VzdG9tR3JhbW1hcikge1xuICAgICAgdmFsaWRhdGVWb2NhYnVsYXJ5KHZvY2FidWxhcnkpO1xuICAgIH1cblxuICAgIGV4cHJlc3Npb25zRnJvbVZvY2FidWxhcnkodm9jYWJ1bGFyeSwgZXhwcmVzc2lvbnMpO1xuICB9KTtcblxuICBjb25zdCBwYXR0ZXJuID0gZXhwcmVzc2lvbnMuam9pbihWRVJUSUNBTF9CQVIpLFxuICAgICAgICBlbnRyeU5hbWUgPSB2b2NhYnVsYXJ5TmFtZSwgIC8vL1xuICAgICAgICBlbnRyeVZhbHVlID0gYF4oPzoke3BhdHRlcm59KWAsXG4gICAgICAgIGVudHJ5ID0ge1xuICAgICAgICAgIFtlbnRyeU5hbWVdOiBlbnRyeVZhbHVlXG4gICAgICAgIH07XG5cbiAgcmV0dXJuIGVudHJ5O1xufVxuXG5mdW5jdGlvbiBibmZGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHJ1bGVOYW1lKSB7XG4gIGNvbnN0IGJuZnMgPSBbXTtcblxuICBmb3J3YXJkc0ZvckVhY2goY3VzdG9tR3JhbW1hcnMsIChjdXN0b21HcmFtbWFyKSA9PiB7XG4gICAgY29uc3QgYm5mID0gY3VzdG9tR3JhbW1hci5nZXRCTkYocnVsZU5hbWUpLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXJEZWZhdWx0Q3VzdG9tR3JhbW1hciA9IGN1c3RvbUdyYW1tYXIuaXNEZWZhdWx0Q3VzdG9tR3JhbW1hcigpO1xuXG4gICAgaWYgKCFjdXN0b21HcmFtbWFyRGVmYXVsdEN1c3RvbUdyYW1tYXIpIHtcbiAgICAgIHZhbGlkYXRlQk5GKGJuZiwgcnVsZU5hbWUpO1xuICAgIH1cblxuICAgIGJuZnMucHVzaChibmYpO1xuICB9KTtcblxuICBjb25zdCBibmYgPSBibmZzLmpvaW4oVkVSVElDQUxfU1BBQ0UpO1xuXG4gIHJldHVybiBibmY7XG59XG5cbmZ1bmN0aW9uIGNvbWJpbmVSdWxlcyhydWxlcykge1xuICBsZXQgb3V0ZXJJbmRleCA9IDAsXG4gICAgICBsZW5ndGggPSBydWxlcy5sZW5ndGg7XG5cbiAgd2hpbGUgKG91dGVySW5kZXggPCBsZW5ndGgpIHtcbiAgICBjb25zdCBvdXRlclJ1bGUgPSBydWxlc1tvdXRlckluZGV4XSxcbiAgICAgICAgICBvdXRlclJ1bGVOYW1lID0gb3V0ZXJSdWxlLmdldE5hbWUoKTtcblxuICAgIGxldCBpbm5lckluZGV4ID0gb3V0ZXJJbmRleCArIDE7XG5cbiAgICB3aGlsZSAoaW5uZXJJbmRleCA8IGxlbmd0aCkge1xuICAgICAgY29uc3QgaW5uZXJSdWxlID0gcnVsZXNbaW5uZXJJbmRleF0sXG4gICAgICAgICAgICBpbm5lclJ1bGVOYW1lID0gaW5uZXJSdWxlLmdldE5hbWUoKTtcblxuICAgICAgaWYgKGlubmVyUnVsZU5hbWUgPT09IG91dGVyUnVsZU5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5uZXJSdWxlRGVmaW5pdGlvbnMgPSBpbm5lclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKSxcbiAgICAgICAgICAgICAgb3V0ZXJSdWxlRGVmaW5pdGlvbnMgPSBvdXRlclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKTtcblxuICAgICAgICB1bnNoaWZ0KG91dGVyUnVsZURlZmluaXRpb25zLCBpbm5lclJ1bGVEZWZpbml0aW9ucyk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbm5lckluZGV4LCAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgICAgIHJ1bGVzLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpO1xuXG4gICAgICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlubmVySW5kZXgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvdXRlckluZGV4Kys7XG5cbiAgICBsZW5ndGggPSBydWxlcy5sZW5ndGg7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJvcGFxdWUiLCJzcGVjaWFsU3ltYm9scyIsInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsInVuc2hpZnQiLCJhcnJheVV0aWxpdGllcyIsImZvcndhcmRzRm9yRWFjaCIsImJhY2t3YXJkc0ZvckVhY2giLCJydWxlcyIsImVudHJpZXMiLCJnZXRSdWxlcyIsImdldEVudHJpZXMiLCJwb3N0UHJvY2VzcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iLCJmcm9tTm90aGluZyIsImluY2x1ZGVEZWZhdWx0IiwiY3VzdG9tR3JhbW1hcnMiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzIiwiZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21DdXN0b21HcmFtbWFycyIsInJ1bGVOYW1lcyIsIlRFUk1fUlVMRV9OQU1FIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsImJuZnMiLCJtYXAiLCJydWxlTmFtZSIsImJuZiIsImJuZkZyb21DdXN0b21HcmFtbWFycyIsImpvaW4iLCJWRVJUSUNBTF9TUEFDRSIsImNvbWJpbmVSdWxlcyIsIm9wYWNpdHkiLCJmb3JFYWNoIiwicnVsZSIsImZpbmQiLCJuYW1lIiwiZ2V0TmFtZSIsInNldE9wYWNpdHkiLCJ2b2NhYnVsYXJ5TmFtZXMiLCJUWVBFX1ZPQ0FCVUxBUllfTkFNRSIsIlNZTUJPTF9WT0NBQlVMQVJZX05BTUUiLCJ2b2NhYnVsYXJ5TmFtZSIsImVudHJ5IiwiZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMiLCJleHByZXNzaW9ucyIsImN1c3RvbUdyYW1tYXIiLCJ2b2NhYnVsYXJ5IiwiZ2V0Vm9jYWJ1bGFyeSIsImN1c3RvbUdyYW1tYXJEZWZhdWx0Q3VzdG9tR3JhbW1hciIsImlzRGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJ2YWxpZGF0ZVZvY2FidWxhcnkiLCJleHByZXNzaW9uc0Zyb21Wb2NhYnVsYXJ5IiwicGF0dGVybiIsIlZFUlRJQ0FMX0JBUiIsImVudHJ5TmFtZSIsImVudHJ5VmFsdWUiLCJnZXRCTkYiLCJ2YWxpZGF0ZUJORiIsInB1c2giLCJvdXRlckluZGV4IiwibGVuZ3RoIiwib3V0ZXJSdWxlIiwib3V0ZXJSdWxlTmFtZSIsImlubmVySW5kZXgiLCJpbm5lclJ1bGUiLCJpbm5lclJ1bGVOYW1lIiwiaW5uZXJSdWxlRGVmaW5pdGlvbnMiLCJnZXREZWZpbml0aW9ucyIsIm91dGVyUnVsZURlZmluaXRpb25zIiwic3RhcnQiLCJkZWxldGVDb3VudCIsInNwbGljZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFtQnFCQTs7O3lCQWpCVTsyQkFDQTs0QkFDQztxQ0FDTzs4REFFTjswQkFFUzt5QkFDRzt3QkFDRzt5QkFDSTsrQkFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdELElBQU0sQUFBRUMsU0FBWUMsMkJBQWMsQ0FBMUJELFFBQ0YsQUFBRUUsZUFBaUJDLDZCQUFlLENBQWhDRCxjQUNBRSxVQUErQ0MseUJBQWMsQ0FBN0RELFNBQVNFLGtCQUFzQ0QseUJBQWMsQ0FBcERDLGlCQUFpQkMsbUJBQXFCRix5QkFBYyxDQUFuQ0U7QUFFbkIsSUFBQSxBQUFNUixzQ0FBTjthQUFNQSxzQkFDUFMsS0FBSyxFQUFFQyxPQUFPO2dDQURQVjtRQUVqQixJQUFJLENBQUNTLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE9BQU8sR0FBR0E7O2tCQUhFVjs7WUFNbkJXLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsS0FBSztZQUNuQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsT0FBTztZQUNyQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZSixLQUFLO2dCQUNmQSxRQUFRLEFBQ04scUJBQUdBLGNBQ0gscUJBQUcsSUFBSSxDQUFDQSxLQUFLO2dCQUdmQSxRQUFRSyxJQUFBQSw2Q0FBc0IsRUFBQ0wsUUFBUyxHQUFHO2dCQUUzQyxPQUFPQTtZQUNUOzs7O1lBRU9NLEtBQUFBO21CQUFQLFNBQU9BO29CQUFZQyxp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
|
|
@@ -32,8 +32,8 @@ function _interop_require_default(obj) {
|
|
|
32
32
|
default: obj
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
var termBNF = 'term
|
|
36
|
-
var statementBNF = 'statement
|
|
35
|
+
var termBNF = 'term ::= "(" argument ")"\n\n | variable \n \n ;';
|
|
36
|
+
var statementBNF = 'statement ::= "(" metaArgument ")" \n \n | equality\n\n | judgement\n\n | typeAssertion \n \n | definedAssertion \n\n | containedAssertion \n \n | satisfiesAssertion\n\n | subproofAssertion \n\n | propertyAssertion \n\n | metavariable ( frameSubstitution | termSubstitution )?\n\n ;\n\nequality ::= term "=" term ;\n\njudgement ::= frame "|-" declaration ;\n\ntypeAssertion ::= term ":" type ;\n\ndefinedAssertion ::= ( frame | term ) "is" ( "defined" | "undefined" );\n\ncontainedAssertion ::= ( frame | term ) "is" ( "present" | "missing" ) "in" statement ;\n\nsatisfiesAssertion ::= signature "satisfies" metavariable ; \n\nsubproofAssertion ::= "[" statement ( "," statement )* "]" "..." statement ;\n\npropertyAssertion ::= term "is" ( "a" | "an" ) propertyRelation ;\n\npropertyRelation ::= property "of" term ;\n\nframe ::= "[" ( ( declaration | metavariable ) ( "," ( declaration | metavariable ) )* )? "]" ;\n \ndeclaration ::= metavariable "::" statement ;\n\ntermSubstitution ::= "[" term "for" term "]";\n\nframeSubstitution ::= "[" frame "for" frame "]";\n\nstatementSubstitution ::= "[" statement "for" statement "]";\n\nreferenceSubstitution ::= "[" reference "for" reference "]";';
|
|
37
37
|
var typeVocabulary = "_\n";
|
|
38
38
|
var symbolVocabulary = "";
|
|
39
39
|
var name = _grammarNames.DEFAULT_CUSTOM_GRAMMAR_NAME, json = {
|
|
@@ -46,4 +46,4 @@ var name = _grammarNames.DEFAULT_CUSTOM_GRAMMAR_NAME, json = {
|
|
|
46
46
|
var defaultCustomGrammar = _customGrammar.default.fromJSON(json);
|
|
47
47
|
var _default = defaultCustomGrammar;
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyL2RlZmF1bHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDdXN0b21HcmFtbWFyIGZyb20gXCIuLi9jdXN0b21HcmFtbWFyXCI7XG5cbmltcG9ydCB7IERFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRSB9IGZyb20gXCIuLi9ncmFtbWFyTmFtZXNcIjtcblxuZXhwb3J0IGNvbnN0IHRlcm1CTkYgPSBgdGVybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCIoXCIgYXJndW1lbnQgXCIpXCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtgO1xuXG5leHBvcnQgY29uc3Qgc3RhdGVtZW50Qk5GID0gYHN0YXRlbWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiKFwiIG1ldGFBcmd1bWVudCBcIilcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBlcXVhbGl0eVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBqdWRnZW1lbnRcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdHlwZUFzc2VydGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBkZWZpbmVkQXNzZXJ0aW9uICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29udGFpbmVkQXNzZXJ0aW9uICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc2F0aXNmaWVzQXNzZXJ0aW9uXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHN1YnByb29mQXNzZXJ0aW9uICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHByb3BlcnR5QXNzZXJ0aW9uICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YXZhcmlhYmxlICggZnJhbWVTdWJzdGl0dXRpb24gfCB0ZXJtU3Vic3RpdHV0aW9uICk/XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZXF1YWxpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgdGVybSBcIj1cIiB0ZXJtIDtcblxuanVkZ2VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgZnJhbWUgXCJ8LVwiIGRlY2xhcmF0aW9uIDtcblxudHlwZUFzc2VydGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgdGVybSBcIjpcIiB0eXBlIDtcblxuZGVmaW5lZEFzc2VydGlvbiAgICAgICAgICAgICAgICAgICAgIDo6PSAgKCBmcmFtZSB8IHRlcm0gKSBcImlzXCIgKCBcImRlZmluZWRcIiB8IFwidW5kZWZpbmVkXCIgKTtcblxuY29udGFpbmVkQXNzZXJ0aW9uICAgICAgICAgICAgICAgICAgIDo6PSAgKCBmcmFtZSB8IHRlcm0gKSBcImlzXCIgKCBcInByZXNlbnRcIiB8IFwibWlzc2luZ1wiICkgXCJpblwiIHN0YXRlbWVudCA7XG5cbnNhdGlzZmllc0Fzc2VydGlvbiAgICAgICAgICAgICAgICAgICA6Oj0gIHNpZ25hdHVyZSBcInNhdGlzZmllc1wiIG1ldGF2YXJpYWJsZSA7ICBcblxuc3VicHJvb2ZBc3NlcnRpb24gICAgICAgICAgICAgICAgICAgIDo6PSAgXCJbXCIgc3RhdGVtZW50ICggXCIsXCIgc3RhdGVtZW50ICkqIFwiXVwiIFwiLi4uXCIgc3RhdGVtZW50IDtcblxucHJvcGVydHlBc3NlcnRpb24gICAgICAgICAgICAgICAgICAgIDo6PSAgdGVybSBcImlzXCIgKCBcImFcIiB8IFwiYW5cIiApIHByb3BlcnR5UmVsYXRpb24gO1xuXG5wcm9wZXJ0eVJlbGF0aW9uICAgICAgICAgICAgICAgICAgICAgOjo9ICBwcm9wZXJ0eSBcIm9mXCIgdGVybSA7XG5cbmZyYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiW1wiICggKCBkZWNsYXJhdGlvbiB8IG1ldGF2YXJpYWJsZSApICggXCIsXCIgKCBkZWNsYXJhdGlvbiB8IG1ldGF2YXJpYWJsZSApICkqICk/IFwiXVwiIDtcbiBcbmRlY2xhcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSBcIjo6XCIgc3RhdGVtZW50IDtcblxudGVybVN1YnN0aXR1dGlvbiAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJbXCIgdGVybSBcImZvclwiIHRlcm0gXCJdXCI7XG5cbmZyYW1lU3Vic3RpdHV0aW9uICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiW1wiIGZyYW1lIFwiZm9yXCIgZnJhbWUgXCJdXCI7XG5cbnN0YXRlbWVudFN1YnN0aXR1dGlvbiAgICAgICAgICAgICAgICA6Oj0gIFwiW1wiIHN0YXRlbWVudCBcImZvclwiIHN0YXRlbWVudCBcIl1cIjtcblxucmVmZXJlbmNlU3Vic3RpdHV0aW9uICAgICAgICAgICAgICAgIDo6PSAgXCJbXCIgcmVmZXJlbmNlIFwiZm9yXCIgcmVmZXJlbmNlIFwiXVwiO2A7XG5cbmV4cG9ydCBjb25zdCB0eXBlVm9jYWJ1bGFyeSA9IGBfXG5gO1xuXG5leHBvcnQgY29uc3Qgc3ltYm9sVm9jYWJ1bGFyeSA9IFwiXCI7XG5cbmNvbnN0IG5hbWUgPSBERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUsXG4gICAgICBqc29uID0ge1xuICAgICAgICBuYW1lLFxuICAgICAgICB0ZXJtQk5GLFxuICAgICAgICBzdGF0ZW1lbnRCTkYsXG4gICAgICAgIHR5cGVWb2NhYnVsYXJ5LFxuICAgICAgICBzeW1ib2xWb2NhYnVsYXJ5XG4gICAgICB9O1xuXG5jb25zdCBkZWZhdWx0Q3VzdG9tR3JhbW1hciA9IEN1c3RvbUdyYW1tYXIuZnJvbUpTT04oanNvbik7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmF1bHRDdXN0b21HcmFtbWFyO1xuIl0sIm5hbWVzIjpbInN0YXRlbWVudEJORiIsInN5bWJvbFZvY2FidWxhcnkiLCJ0ZXJtQk5GIiwidHlwZVZvY2FidWxhcnkiLCJuYW1lIiwiREVGQVVMVF9DVVNUT01fR1JBTU1BUl9OQU1FIiwianNvbiIsImRlZmF1bHRDdXN0b21HcmFtbWFyIiwiQ3VzdG9tR3JhbW1hciIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFnRkE7ZUFBQTs7UUFwRWFBO2VBQUFBOztRQXVEQUM7ZUFBQUE7O1FBN0RBQztlQUFBQTs7UUEwREFDO2VBQUFBOzs7b0VBOURhOzRCQUVrQjs7Ozs7O0FBRXJDLElBQU1ELFVBQVc7QUFNakIsSUFBTUYsZUFBZ0I7QUFvRHRCLElBQU1HLGlCQUFrQjtBQUd4QixJQUFNRixtQkFBbUI7QUFFaEMsSUFBTUcsT0FBT0MseUNBQTJCLEVBQ2xDQyxPQUFPO0lBQ0xGLE1BQUFBO0lBQ0FGLFNBQUFBO0lBQ0FGLGNBQUFBO0lBQ0FHLGdCQUFBQTtJQUNBRixrQkFBQUE7QUFDRjtBQUVOLElBQU1NLHVCQUF1QkMsc0JBQWEsQ0FBQ0MsUUFBUSxDQUFDSDtJQUVwRCxXQUFlQyJ9
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _index = require("../../index");
|
|
12
12
|
var _grammarNames = require("../grammarNames");
|
|
13
|
-
var name = _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_1, termBNF =
|
|
13
|
+
var name = _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_1, termBNF = "", statementBNF = "", typeVocabulary = "", symbolVocabulary = "", json = {
|
|
14
14
|
name: name,
|
|
15
15
|
termBNF: termBNF,
|
|
16
16
|
statementBNF: statementBNF,
|
|
@@ -19,4 +19,4 @@ var name = _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_1, termBNF = '\n\n
|
|
|
19
19
|
}, userDefinedCustomGrammar1 = _index.CustomGrammar.fromJSON(json);
|
|
20
20
|
var _default = userDefinedCustomGrammar1;
|
|
21
21
|
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2N1c3RvbUdyYW1tYXIvdXNlckRlZmluZWQxLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDdXN0b21HcmFtbWFyIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7IC8vL1xuXG5pbXBvcnQgeyBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xIH0gZnJvbSBcIi4uL2dyYW1tYXJOYW1lc1wiO1xuXG5jb25zdCBuYW1lID0gVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMSxcbiAgICAgIHRlcm1CTkYgPSBcIlwiLFxuICAgICAgc3RhdGVtZW50Qk5GID0gXCJcIixcbiAgICAgIHR5cGVWb2NhYnVsYXJ5ID0gXCJcIixcbiAgICAgIHN5bWJvbFZvY2FidWxhcnkgPSBcIlwiLFxuICAgICAganNvbiA9IHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgdGVybUJORixcbiAgICAgICAgc3RhdGVtZW50Qk5GLFxuICAgICAgICB0eXBlVm9jYWJ1bGFyeSxcbiAgICAgICAgc3ltYm9sVm9jYWJ1bGFyeVxuICAgICAgfSxcbiAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEgPSBDdXN0b21HcmFtbWFyLmZyb21KU09OKGpzb24pO1xuXG5leHBvcnQgZGVmYXVsdCB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxO1xuIl0sIm5hbWVzIjpbIm5hbWUiLCJVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xIiwidGVybUJORiIsInN0YXRlbWVudEJORiIsInR5cGVWb2NhYnVsYXJ5Iiwic3ltYm9sVm9jYWJ1bGFyeSIsImpzb24iLCJ1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxIiwiQ3VzdG9tR3JhbW1hciIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUFBOzs7cUJBbEI4Qjs0QkFFcUI7QUFFbkQsSUFBTUEsT0FBT0MsZ0RBQWtDLEVBQ3pDQyxVQUFVLElBQ1ZDLGVBQWUsSUFDZkMsaUJBQWlCLElBQ2pCQyxtQkFBbUIsSUFDbkJDLE9BQU87SUFDTE4sTUFBQUE7SUFDQUUsU0FBQUE7SUFDQUMsY0FBQUE7SUFDQUMsZ0JBQUFBO0lBQ0FDLGtCQUFBQTtBQUNGLEdBQ0FFLDRCQUE0QkMsb0JBQWEsQ0FBQ0MsUUFBUSxDQUFDSDtJQUV6RCxXQUFlQyJ9
|
package/lib/example/view.js
CHANGED
|
@@ -191,33 +191,35 @@ var View = /*#__PURE__*/ function(Element) {
|
|
|
191
191
|
_class_call_check(this, View);
|
|
192
192
|
var _this;
|
|
193
193
|
_this = _call_super(this, View, arguments), _define_property(_this, "keyUpHandler", function(event, element) {
|
|
194
|
-
try {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
if (name === _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_2) {
|
|
201
|
-
_userDefined2.default.setBNF(ruleName, bnf);
|
|
202
|
-
_userDefined2.default.setVocabulary(vocabularyName, vocabulary);
|
|
203
|
-
}
|
|
204
|
-
var customGrammars = [
|
|
205
|
-
_userDefined1.default,
|
|
206
|
-
_userDefined2.default
|
|
207
|
-
], combinedCustomGrammar = _index.CombinedCustomGrammar.fromCustomGrammars(customGrammars), nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar), nominalParser = nominalParserFromCombinedCustomGrammar(combinedCustomGrammar);
|
|
208
|
-
var ruleMap = nominalParser.getRuleMap(), startRuleName = _this.getStartRuleName(), startRule = ruleMap[startRuleName], content = _this.getContent(), tokens = nominalLexer.tokenise(content), node = nominalParser.parse(tokens, startRule);
|
|
209
|
-
var parseTree = null;
|
|
210
|
-
if (node !== null) {
|
|
211
|
-
parseTree = node.asParseTree(tokens);
|
|
212
|
-
}
|
|
213
|
-
_this.setParseTree(parseTree);
|
|
214
|
-
var nominalRules = (0, _rules.rulesFromParser)(nominalParser), multiLine = true, rulesString = rulesAsString(nominalRules, multiLine), nominalBNF = rulesString; ///
|
|
215
|
-
_this.setNominalBNF(nominalBNF);
|
|
216
|
-
} catch (error) {
|
|
217
|
-
console.log(error);
|
|
218
|
-
_this.clearParseTree();
|
|
219
|
-
_this.clearNominalBNF();
|
|
194
|
+
// try {
|
|
195
|
+
var bnf = _this.getBNF(), name = _this.getName(), ruleName = _this.getRuleName(), vocabulary = _this.getVocabulary(), vocabularyName = _this.getVocabularyName();
|
|
196
|
+
if (name === _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_1) {
|
|
197
|
+
_userDefined1.default.setBNF(ruleName, bnf);
|
|
198
|
+
_userDefined1.default.setVocabulary(vocabularyName, vocabulary);
|
|
220
199
|
}
|
|
200
|
+
if (name === _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_2) {
|
|
201
|
+
_userDefined2.default.setBNF(ruleName, bnf);
|
|
202
|
+
_userDefined2.default.setVocabulary(vocabularyName, vocabulary);
|
|
203
|
+
}
|
|
204
|
+
var customGrammars = [
|
|
205
|
+
_userDefined1.default,
|
|
206
|
+
_userDefined2.default
|
|
207
|
+
], combinedCustomGrammar = _index.CombinedCustomGrammar.fromCustomGrammars(customGrammars), nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar), nominalParser = nominalParserFromCombinedCustomGrammar(combinedCustomGrammar);
|
|
208
|
+
var ruleMap = nominalParser.getRuleMap(), startRuleName = _this.getStartRuleName(), startRule = ruleMap[startRuleName], content = _this.getContent(), tokens = nominalLexer.tokenise(content), node = nominalParser.parse(tokens, startRule);
|
|
209
|
+
var parseTree = null;
|
|
210
|
+
if (node !== null) {
|
|
211
|
+
parseTree = node.asParseTree(tokens);
|
|
212
|
+
}
|
|
213
|
+
_this.setParseTree(parseTree);
|
|
214
|
+
var nominalRules = (0, _rules.rulesFromParser)(nominalParser), multiLine = true, rulesString = rulesAsString(nominalRules, multiLine), nominalBNF = rulesString; ///
|
|
215
|
+
_this.setNominalBNF(nominalBNF);
|
|
216
|
+
// } catch (error) {
|
|
217
|
+
// console.log(error);
|
|
218
|
+
//
|
|
219
|
+
// this.clearParseTree();
|
|
220
|
+
//
|
|
221
|
+
// this.clearNominalBNF();
|
|
222
|
+
// }
|
|
221
223
|
}), _define_property(_this, "changeHandler", function(event, element) {
|
|
222
224
|
var customGrammar;
|
|
223
225
|
var name = _this.getName(), ruleName = _this.getRuleName(), vocabularyName = _this.getVocabularyName();
|
|
@@ -285,4 +287,4 @@ _define_property(View, "defaultProperties", {
|
|
|
285
287
|
});
|
|
286
288
|
var _default = (0, _easywithstyle.default)(View)(_templateObject());
|
|
287
289
|
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgcnVsZXNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMsIGRlZmF1bHRDdXN0b21HcmFtbWFyLCBDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSBmcm9tIFwiLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgU3ViSGVhZGluZyBmcm9tIFwiLi9zdWJIZWFkaW5nXCI7XG5pbXBvcnQgTmFtZVNlbGVjdCBmcm9tIFwiLi9zZWxlY3QvbmFtZVwiO1xuaW1wb3J0IFNpemVhYmxlRGl2IGZyb20gXCIuL2Rpdi9zaXplYWJsZVwiO1xuaW1wb3J0IEJORlRleHRhcmVhIGZyb20gXCIuL3RleHRhcmVhL2JuZlwiO1xuaW1wb3J0IFJ1bGVOYW1lU2VsZWN0IGZyb20gXCIuL3NlbGVjdC9ydWxlTmFtZVwiO1xuaW1wb3J0IENvbnRlbnRUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS9jb250ZW50XCI7XG5pbXBvcnQgUGFyc2VUcmVlVGV4dGFyZWEgZnJvbSBcIi4vdGV4dGFyZWEvcGFyc2VUcmVlXCI7XG5pbXBvcnQgU3RhcnRSdWxlTmFtZUlucHV0IGZyb20gXCIuL2lucHV0L3N0YXJ0UnVsZU5hbWVcIjtcbmltcG9ydCBOb21pbmFsQk5GVGV4dGFyZWEgZnJvbSBcIi4vdGV4dGFyZWEvbm9taW5hbEJORlwiO1xuaW1wb3J0IFZvY2FidWxhcnlUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS92b2NhYnVsYXJ5XCI7XG5pbXBvcnQgVm9jYWJ1bGFyeU5hbWVTZWxlY3QgZnJvbSBcIi4vc2VsZWN0L3ZvY2FidWxhcnlOYW1lXCI7XG5pbXBvcnQgdXNlckRlZmluZWRDdXN0b21HcmFtbWFyMSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyL3VzZXJEZWZpbmVkMVwiO1xuaW1wb3J0IHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIgZnJvbSBcIi4vY3VzdG9tR3JhbW1hci91c2VyRGVmaW5lZDJcIjtcblxuaW1wb3J0IHsgcnVsZXNGcm9tUGFyc2VyIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzEsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzIgfSBmcm9tIFwiLi9ncmFtbWFyTmFtZXNcIjtcblxuY29uc3QgeyBydWxlc0FzU3RyaW5nIH0gPSBydWxlc1V0aWxpdGllcyxcbiAgICAgIHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBrZXlVcEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm5mID0gdGhpcy5nZXRCTkYoKSxcbiAgICAgICAgICAgIG5hbWUgPSB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgdm9jYWJ1bGFyeSA9IHRoaXMuZ2V0Vm9jYWJ1bGFyeSgpLFxuICAgICAgICAgICAgdm9jYWJ1bGFyeU5hbWUgPSB0aGlzLmdldFZvY2FidWxhcnlOYW1lKCk7XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8yKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1c3RvbUdyYW1tYXJzID0gW1xuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxLFxuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ29tYmluZWRDdXN0b21HcmFtbWFyLmZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgICBub21pbmFsTGV4ZXIgPSBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgICAgICBub21pbmFsUGFyc2VyID0gbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuICAgICAgY29uc3QgcnVsZU1hcCA9IG5vbWluYWxQYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlTmFtZSA9IHRoaXMuZ2V0U3RhcnRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlID0gcnVsZU1hcFtzdGFydFJ1bGVOYW1lXSwgLy8vXG4gICAgICAgICAgICBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgICB0b2tlbnMgPSBub21pbmFsTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgICBub2RlID0gbm9taW5hbFBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICAgIGxldCBwYXJzZVRyZWUgPSBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0UGFyc2VUcmVlKHBhcnNlVHJlZSk7XG5cbiAgICAgIGNvbnN0IG5vbWluYWxSdWxlcyA9IHJ1bGVzRnJvbVBhcnNlcihub21pbmFsUGFyc2VyKSxcbiAgICAgICAgICAgIG11bHRpTGluZSA9IHRydWUsXG4gICAgICAgICAgICBydWxlc1N0cmluZyA9IHJ1bGVzQXNTdHJpbmcobm9taW5hbFJ1bGVzLCBtdWx0aUxpbmUpLFxuICAgICAgICAgICAgbm9taW5hbEJORiA9IHJ1bGVzU3RyaW5nOyAgLy8vXG5cbiAgICAgIHRoaXMuc2V0Tm9taW5hbEJORihub21pbmFsQk5GKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuXG4gICAgICB0aGlzLmNsZWFyUGFyc2VUcmVlKCk7XG5cbiAgICAgIHRoaXMuY2xlYXJOb21pbmFsQk5GKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGxldCBjdXN0b21HcmFtbWFyO1xuXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHZvY2FidWxhcnlOYW1lID0gdGhpcy5nZXRWb2NhYnVsYXJ5TmFtZSgpO1xuXG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlIERFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRTpcbiAgICAgICAgY3VzdG9tR3JhbW1hciA9IGRlZmF1bHRDdXN0b21HcmFtbWFyO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzE6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzI6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyO1xuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKHJ1bGVOYW1lKSxcbiAgICAgICAgICB2b2NhYnVsYXJ5ID0gY3VzdG9tR3JhbW1hci5nZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lKTtcblxuICAgIHRoaXMuc2V0Qk5GKGJuZik7XG5cbiAgICB0aGlzLnNldFZvY2FidWxhcnkodm9jYWJ1bGFyeSk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IGtleVVwSGFuZGxlciA9IHRoaXMua2V5VXBIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgICAgICAgY2hhbmdlSGFuZGxlciA9IHRoaXMuY2hhbmdlSGFuZGxlci5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuIChbXG5cbiAgICAgIDxDb2x1bW5zRGl2PlxuICAgICAgICA8U2l6ZWFibGVEaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ3VzdG9tIGdyYW1tYXJcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIFZvY2FidWxhcnlcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxWb2NhYnVsYXJ5TmFtZVNlbGVjdCBvbkNoYW5nZT17Y2hhbmdlSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxWb2NhYnVsYXJ5VGV4dGFyZWEgb25LZXlVcD17a2V5VXBIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIEJORlxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFJ1bGVOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPEJORlRleHRhcmVhIG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBTdGFydCBydWxlXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8U3RhcnRSdWxlTmFtZUlucHV0IG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvU2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2IC8+XG4gICAgICAgIDxDb2x1bW5EaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ29udGVudFxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPENvbnRlbnRUZXh0YXJlYSBvbktleVVwPXtrZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgUGFyc2UgdHJlZVxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFBhcnNlVHJlZVRleHRhcmVhIC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgTm9taW5hbCBCTkZcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOb21pbmFsQk5GVGV4dGFyZWEgLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgXSk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsQ29udGVudCwgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICBjb25zdCBjb250ZW50ID0gaW5pdGlhbENvbnRlbnQsIC8vL1xuICAgICAgICAgIHN0YXJ0UnVsZU5hbWUgPSBpbml0aWFsU3RhcnRSdWxlTmFtZTsgLy8vXG5cbiAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFN0YXJ0UnVsZU5hbWUoc3RhcnRSdWxlTmFtZSk7XG5cbiAgICB0aGlzLmNoYW5nZUhhbmRsZXIoKTtcblxuICAgIHRoaXMua2V5VXBIYW5kbGVyKCk7XG4gIH1cblxuICBzdGF0aWMgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgPSBcIlwiO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGBSdWxlIChHcm91cHMpXG4gIENvbmNsdXNpb25cbiAgICBBXG5gO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgcGFkZGluZzogMXJlbTtcbiAgXG5gO1xuIl0sIm5hbWVzIjpbInJ1bGVzQXNTdHJpbmciLCJydWxlc1V0aWxpdGllcyIsIm5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJWaWV3Iiwia2V5VXBIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiYm5mIiwiZ2V0Qk5GIiwibmFtZSIsImdldE5hbWUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwidm9jYWJ1bGFyeSIsImdldFZvY2FidWxhcnkiLCJ2b2NhYnVsYXJ5TmFtZSIsImdldFZvY2FidWxhcnlOYW1lIiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMSIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEiLCJzZXRCTkYiLCJzZXRWb2NhYnVsYXJ5IiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMiIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIiLCJjdXN0b21HcmFtbWFycyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21DdXN0b21HcmFtbWFycyIsIm5vbWluYWxMZXhlciIsIm5vbWluYWxQYXJzZXIiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInN0YXJ0UnVsZU5hbWUiLCJnZXRTdGFydFJ1bGVOYW1lIiwic3RhcnRSdWxlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsInBhcnNlVHJlZSIsImFzUGFyc2VUcmVlIiwic2V0UGFyc2VUcmVlIiwibm9taW5hbFJ1bGVzIiwicnVsZXNGcm9tUGFyc2VyIiwibXVsdGlMaW5lIiwicnVsZXNTdHJpbmciLCJub21pbmFsQk5GIiwic2V0Tm9taW5hbEJORiIsImVycm9yIiwiY29uc29sZSIsImxvZyIsImNsZWFyUGFyc2VUcmVlIiwiY2xlYXJOb21pbmFsQk5GIiwiY2hhbmdlSGFuZGxlciIsImN1c3RvbUdyYW1tYXIiLCJERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsImNoaWxkRWxlbWVudHMiLCJiaW5kIiwiQ29sdW1uc0RpdiIsIlNpemVhYmxlRGl2IiwiUm93c0RpdiIsIlN1YkhlYWRpbmciLCJOYW1lU2VsZWN0Iiwib25DaGFuZ2UiLCJWb2NhYnVsYXJ5TmFtZVNlbGVjdCIsIlZvY2FidWxhcnlUZXh0YXJlYSIsIm9uS2V5VXAiLCJSdWxlTmFtZVNlbGVjdCIsIkJORlRleHRhcmVhIiwiU3RhcnRSdWxlTmFtZUlucHV0IiwiVmVydGljYWxTcGxpdHRlckRpdiIsIkNvbHVtbkRpdiIsIkNvbnRlbnRUZXh0YXJlYSIsIlBhcnNlVHJlZVRleHRhcmVhIiwiTm9taW5hbEJORlRleHRhcmVhIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJpbml0aWFsQ29udGVudCIsImluaXRpYWxTdGFydFJ1bGVOYW1lIiwic2V0Q29udGVudCIsInNldFN0YXJ0UnVsZU5hbWUiLCJFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwid2l0aFN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyTUE7OztlQUFBOzs7b0VBek1zQjtvQkFFRTs0QkFDTzswQkFDcUM7cUJBQzJCO2lFQUV4RTsyREFDQTsrREFDQzswREFDQTsrREFDRzs4REFDQztnRUFDRTtvRUFDQztpRUFDQTtpRUFDQTtxRUFDRTttRUFDSzttRUFDQTtxQkFFTjs0QkFDb0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgcnVsZXNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMsIGRlZmF1bHRDdXN0b21HcmFtbWFyLCBDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSBmcm9tIFwiLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgU3ViSGVhZGluZyBmcm9tIFwiLi9zdWJIZWFkaW5nXCI7XG5pbXBvcnQgTmFtZVNlbGVjdCBmcm9tIFwiLi9zZWxlY3QvbmFtZVwiO1xuaW1wb3J0IFNpemVhYmxlRGl2IGZyb20gXCIuL2Rpdi9zaXplYWJsZVwiO1xuaW1wb3J0IEJORlRleHRhcmVhIGZyb20gXCIuL3RleHRhcmVhL2JuZlwiO1xuaW1wb3J0IFJ1bGVOYW1lU2VsZWN0IGZyb20gXCIuL3NlbGVjdC9ydWxlTmFtZVwiO1xuaW1wb3J0IENvbnRlbnRUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS9jb250ZW50XCI7XG5pbXBvcnQgUGFyc2VUcmVlVGV4dGFyZWEgZnJvbSBcIi4vdGV4dGFyZWEvcGFyc2VUcmVlXCI7XG5pbXBvcnQgU3RhcnRSdWxlTmFtZUlucHV0IGZyb20gXCIuL2lucHV0L3N0YXJ0UnVsZU5hbWVcIjtcbmltcG9ydCBOb21pbmFsQk5GVGV4dGFyZWEgZnJvbSBcIi4vdGV4dGFyZWEvbm9taW5hbEJORlwiO1xuaW1wb3J0IFZvY2FidWxhcnlUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS92b2NhYnVsYXJ5XCI7XG5pbXBvcnQgVm9jYWJ1bGFyeU5hbWVTZWxlY3QgZnJvbSBcIi4vc2VsZWN0L3ZvY2FidWxhcnlOYW1lXCI7XG5pbXBvcnQgdXNlckRlZmluZWRDdXN0b21HcmFtbWFyMSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyL3VzZXJEZWZpbmVkMVwiO1xuaW1wb3J0IHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIgZnJvbSBcIi4vY3VzdG9tR3JhbW1hci91c2VyRGVmaW5lZDJcIjtcblxuaW1wb3J0IHsgcnVsZXNGcm9tUGFyc2VyIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzEsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzIgfSBmcm9tIFwiLi9ncmFtbWFyTmFtZXNcIjtcblxuY29uc3QgeyBydWxlc0FzU3RyaW5nIH0gPSBydWxlc1V0aWxpdGllcyxcbiAgICAgIHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBrZXlVcEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICAvLyB0cnkge1xuICAgICAgY29uc3QgYm5mID0gdGhpcy5nZXRCTkYoKSxcbiAgICAgICAgICAgIG5hbWUgPSB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgdm9jYWJ1bGFyeSA9IHRoaXMuZ2V0Vm9jYWJ1bGFyeSgpLFxuICAgICAgICAgICAgdm9jYWJ1bGFyeU5hbWUgPSB0aGlzLmdldFZvY2FidWxhcnlOYW1lKCk7XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8yKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Vm9jYWJ1bGFyeSh2b2NhYnVsYXJ5TmFtZSwgdm9jYWJ1bGFyeSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1c3RvbUdyYW1tYXJzID0gW1xuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxLFxuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ29tYmluZWRDdXN0b21HcmFtbWFyLmZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgICBub21pbmFsTGV4ZXIgPSBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgICAgICBub21pbmFsUGFyc2VyID0gbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuICAgICAgY29uc3QgcnVsZU1hcCA9IG5vbWluYWxQYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlTmFtZSA9IHRoaXMuZ2V0U3RhcnRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlID0gcnVsZU1hcFtzdGFydFJ1bGVOYW1lXSwgLy8vXG4gICAgICAgICAgICBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgICB0b2tlbnMgPSBub21pbmFsTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgICBub2RlID0gbm9taW5hbFBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICAgIGxldCBwYXJzZVRyZWUgPSBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0UGFyc2VUcmVlKHBhcnNlVHJlZSk7XG5cbiAgICAgIGNvbnN0IG5vbWluYWxSdWxlcyA9IHJ1bGVzRnJvbVBhcnNlcihub21pbmFsUGFyc2VyKSxcbiAgICAgICAgICAgIG11bHRpTGluZSA9IHRydWUsXG4gICAgICAgICAgICBydWxlc1N0cmluZyA9IHJ1bGVzQXNTdHJpbmcobm9taW5hbFJ1bGVzLCBtdWx0aUxpbmUpLFxuICAgICAgICAgICAgbm9taW5hbEJORiA9IHJ1bGVzU3RyaW5nOyAgLy8vXG5cbiAgICAgIHRoaXMuc2V0Tm9taW5hbEJORihub21pbmFsQk5GKTtcbiAgICAvLyB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgIC8vXG4gICAgLy8gICB0aGlzLmNsZWFyUGFyc2VUcmVlKCk7XG4gICAgLy9cbiAgICAvLyAgIHRoaXMuY2xlYXJOb21pbmFsQk5GKCk7XG4gICAgLy8gfVxuICB9XG5cbiAgY2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGxldCBjdXN0b21HcmFtbWFyO1xuXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHZvY2FidWxhcnlOYW1lID0gdGhpcy5nZXRWb2NhYnVsYXJ5TmFtZSgpO1xuXG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlIERFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRTpcbiAgICAgICAgY3VzdG9tR3JhbW1hciA9IGRlZmF1bHRDdXN0b21HcmFtbWFyO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzE6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzI6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyO1xuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKHJ1bGVOYW1lKSxcbiAgICAgICAgICB2b2NhYnVsYXJ5ID0gY3VzdG9tR3JhbW1hci5nZXRWb2NhYnVsYXJ5KHZvY2FidWxhcnlOYW1lKTtcblxuICAgIHRoaXMuc2V0Qk5GKGJuZik7XG5cbiAgICB0aGlzLnNldFZvY2FidWxhcnkodm9jYWJ1bGFyeSk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IGtleVVwSGFuZGxlciA9IHRoaXMua2V5VXBIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgICAgICAgY2hhbmdlSGFuZGxlciA9IHRoaXMuY2hhbmdlSGFuZGxlci5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuIChbXG5cbiAgICAgIDxDb2x1bW5zRGl2PlxuICAgICAgICA8U2l6ZWFibGVEaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ3VzdG9tIGdyYW1tYXJcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIFZvY2FidWxhcnlcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxWb2NhYnVsYXJ5TmFtZVNlbGVjdCBvbkNoYW5nZT17Y2hhbmdlSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxWb2NhYnVsYXJ5VGV4dGFyZWEgb25LZXlVcD17a2V5VXBIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIEJORlxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFJ1bGVOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPEJORlRleHRhcmVhIG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBTdGFydCBydWxlXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8U3RhcnRSdWxlTmFtZUlucHV0IG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvU2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2IC8+XG4gICAgICAgIDxDb2x1bW5EaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ29udGVudFxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPENvbnRlbnRUZXh0YXJlYSBvbktleVVwPXtrZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgUGFyc2UgdHJlZVxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFBhcnNlVHJlZVRleHRhcmVhIC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgTm9taW5hbCBCTkZcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOb21pbmFsQk5GVGV4dGFyZWEgLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgXSk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsQ29udGVudCwgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICBjb25zdCBjb250ZW50ID0gaW5pdGlhbENvbnRlbnQsIC8vL1xuICAgICAgICAgIHN0YXJ0UnVsZU5hbWUgPSBpbml0aWFsU3RhcnRSdWxlTmFtZTsgLy8vXG5cbiAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFN0YXJ0UnVsZU5hbWUoc3RhcnRSdWxlTmFtZSk7XG5cbiAgICB0aGlzLmNoYW5nZUhhbmRsZXIoKTtcblxuICAgIHRoaXMua2V5VXBIYW5kbGVyKCk7XG4gIH1cblxuICBzdGF0aWMgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgPSBcIlwiO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGBSdWxlIChHcm91cHMpXG4gIENvbmNsdXNpb25cbiAgICBBXG5gO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgcGFkZGluZzogMXJlbTtcbiAgXG5gO1xuIl0sIm5hbWVzIjpbInJ1bGVzQXNTdHJpbmciLCJydWxlc1V0aWxpdGllcyIsIm5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJWaWV3Iiwia2V5VXBIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiYm5mIiwiZ2V0Qk5GIiwibmFtZSIsImdldE5hbWUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwidm9jYWJ1bGFyeSIsImdldFZvY2FidWxhcnkiLCJ2b2NhYnVsYXJ5TmFtZSIsImdldFZvY2FidWxhcnlOYW1lIiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMSIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEiLCJzZXRCTkYiLCJzZXRWb2NhYnVsYXJ5IiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMiIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIiLCJjdXN0b21HcmFtbWFycyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21DdXN0b21HcmFtbWFycyIsIm5vbWluYWxMZXhlciIsIm5vbWluYWxQYXJzZXIiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInN0YXJ0UnVsZU5hbWUiLCJnZXRTdGFydFJ1bGVOYW1lIiwic3RhcnRSdWxlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsInBhcnNlVHJlZSIsImFzUGFyc2VUcmVlIiwic2V0UGFyc2VUcmVlIiwibm9taW5hbFJ1bGVzIiwicnVsZXNGcm9tUGFyc2VyIiwibXVsdGlMaW5lIiwicnVsZXNTdHJpbmciLCJub21pbmFsQk5GIiwic2V0Tm9taW5hbEJORiIsImNoYW5nZUhhbmRsZXIiLCJjdXN0b21HcmFtbWFyIiwiREVGQVVMVF9DVVNUT01fR1JBTU1BUl9OQU1FIiwiZGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJjaGlsZEVsZW1lbnRzIiwiYmluZCIsIkNvbHVtbnNEaXYiLCJTaXplYWJsZURpdiIsIlJvd3NEaXYiLCJTdWJIZWFkaW5nIiwiTmFtZVNlbGVjdCIsIm9uQ2hhbmdlIiwiVm9jYWJ1bGFyeU5hbWVTZWxlY3QiLCJWb2NhYnVsYXJ5VGV4dGFyZWEiLCJvbktleVVwIiwiUnVsZU5hbWVTZWxlY3QiLCJCTkZUZXh0YXJlYSIsIlN0YXJ0UnVsZU5hbWVJbnB1dCIsIlZlcnRpY2FsU3BsaXR0ZXJEaXYiLCJDb2x1bW5EaXYiLCJDb250ZW50VGV4dGFyZWEiLCJQYXJzZVRyZWVUZXh0YXJlYSIsIk5vbWluYWxCTkZUZXh0YXJlYSIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0IiwiaW5pdGlhbENvbnRlbnQiLCJpbml0aWFsU3RhcnRSdWxlTmFtZSIsInNldENvbnRlbnQiLCJzZXRTdGFydFJ1bGVOYW1lIiwiRWxlbWVudCIsInRhZ05hbWUiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIndpdGhTdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMk1BOzs7ZUFBQTs7O29FQXpNc0I7b0JBRUU7NEJBQ087MEJBQ3FDO3FCQUMyQjtpRUFFeEU7MkRBQ0E7K0RBQ0M7MERBQ0E7K0RBQ0c7OERBQ0M7Z0VBQ0U7b0VBQ0M7aUVBQ0E7aUVBQ0E7cUVBQ0U7bUVBQ0s7bUVBQ0E7cUJBRU47NEJBQ29GOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXBILElBQU0sQUFBRUEs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
|
|
@@ -0,0 +1,107 @@
|
|
|
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: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get validateBNF () {
|
|
13
|
+
return validateBNF;
|
|
14
|
+
},
|
|
15
|
+
get validateVocabulary () {
|
|
16
|
+
return validateVocabulary;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _necessary = require("necessary");
|
|
20
|
+
var _typesMap = /*#__PURE__*/ _interop_require_default(require("../typesMap"));
|
|
21
|
+
var _nominal = require("../utilities/nominal");
|
|
22
|
+
var _constants = require("../constants");
|
|
23
|
+
var _query = require("../utilities/query");
|
|
24
|
+
var _grammar = require("../utilities/grammar");
|
|
25
|
+
function _interop_require_default(obj) {
|
|
26
|
+
return obj && obj.__esModule ? obj : {
|
|
27
|
+
default: obj
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
var first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second;
|
|
31
|
+
var expressionNodesQuery = (0, _query.nodesQuery)("//expression"), ruleNameTerminalNodeQuery = (0, _query.nodeQuery)("/document/rule/name/@*!"), stringLiteralTerminalNodesQuery = (0, _query.nodesQuery)("//stringLiteral/@*!"), significantTokenTypeTerminalNodesQuery = (0, _query.nodesQuery)("//significantTokenType/@*!");
|
|
32
|
+
function validateBNF(bnf, ruleName) {
|
|
33
|
+
var content = bnf, tokens = _grammar.customGrammarBNFLexer.tokenise(content), node = _grammar.customGrammarBNFParser.parse(tokens);
|
|
34
|
+
if (node === null) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
var ruleNameTerminalNode = ruleNameTerminalNodeQuery(node);
|
|
38
|
+
if (ruleNameTerminalNode !== null) {
|
|
39
|
+
var name = nameFromRuleNameTerminalNode(ruleNameTerminalNode);
|
|
40
|
+
if (name !== ruleName) {
|
|
41
|
+
throw new Error("The '".concat(name, "' rule should be named '").concat(ruleName, "'."));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
var types = _typesMap.default[ruleName], significantTokenTypeTerminalNodes = significantTokenTypeTerminalNodesQuery(node);
|
|
45
|
+
significantTokenTypeTerminalNodes.forEach(function(significantTokenTypeTerminalNode) {
|
|
46
|
+
var type = typeFromSignificantTokenTypeTerminalNode(significantTokenTypeTerminalNode), typesIncludeType = types.includes(type);
|
|
47
|
+
if (!typesIncludeType) {
|
|
48
|
+
throw new Error("The '".concat(type, "' type is not included in the '").concat(ruleName, "' rule's types."));
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
var stringLiteralTerminalNodes = stringLiteralTerminalNodesQuery(node);
|
|
52
|
+
stringLiteralTerminalNodes.forEach(function(stringLiteralTerminalNode) {
|
|
53
|
+
var content = contentFromStringLiteralTerminalNode(stringLiteralTerminalNode);
|
|
54
|
+
if (content === _constants.UNDERSCORE_CHARACTER) {
|
|
55
|
+
throw new Error('The "'.concat(content, '" string literal cannot be an underscore.'));
|
|
56
|
+
}
|
|
57
|
+
var tokens = _nominal.nominalLexer.tokenise(content), tokensLength = tokens.length;
|
|
58
|
+
if (tokensLength !== 1) {
|
|
59
|
+
throw new Error('Tokenising the "'.concat(content, '" string literal does not result in a single token.'));
|
|
60
|
+
}
|
|
61
|
+
var firstToken = first(tokens), token = firstToken, type = token.getType(), typesIncludeType = types.includes(type);
|
|
62
|
+
if (!typesIncludeType) {
|
|
63
|
+
throw new Error('The "'.concat(content, "\" string literal's token's '").concat(type, "' type is not included in the '").concat(ruleName, "' rule's types."));
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function validateVocabulary(vocabulary) {
|
|
68
|
+
var content = vocabulary, tokens = _grammar.customGrammarVocabularyLexer.tokenise(content), node = _grammar.customGrammarVocabularyParser.parse(tokens);
|
|
69
|
+
if (node === null) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
var expressionNodes = expressionNodesQuery(node);
|
|
73
|
+
expressionNodes.forEach(function(expressionNode) {
|
|
74
|
+
var content = contentFromExpressionNode(expressionNode), tokens = _nominal.nominalLexer.tokenise(content), tokensLength = tokens.length;
|
|
75
|
+
if (tokensLength > 1) {
|
|
76
|
+
throw new Error("Tokenising the '".concat(content, "' content results in more than one token."));
|
|
77
|
+
}
|
|
78
|
+
var firstToken = first(tokens), token = firstToken, type = token.getType();
|
|
79
|
+
if (type !== UNASSIGNED_TYPE) {
|
|
80
|
+
throw new Error("The '".concat(type, "' type of the '").concat(content, "' token is not 'unassigned'."));
|
|
81
|
+
}
|
|
82
|
+
if (content === _constants.UNDERSCORE_CHARACTER) {
|
|
83
|
+
throw new Error("The '".concat(content, "' token cannot be an underscore."));
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function nameFromRuleNameTerminalNode(ruleNameTerminalNode) {
|
|
88
|
+
var name;
|
|
89
|
+
var content = ruleNameTerminalNode.getContent();
|
|
90
|
+
name = content; ///
|
|
91
|
+
return name;
|
|
92
|
+
}
|
|
93
|
+
function contentFromStringLiteralTerminalNode(stringLiteralTerminalNode) {
|
|
94
|
+
var content;
|
|
95
|
+
content = stringLiteralTerminalNode.getContent();
|
|
96
|
+
var matches = content.match(/"([^"]*)"/), secondMatch = second(matches);
|
|
97
|
+
content = secondMatch; ///
|
|
98
|
+
return content;
|
|
99
|
+
}
|
|
100
|
+
function typeFromSignificantTokenTypeTerminalNode(significantTokenTypeTerminalNode) {
|
|
101
|
+
var type;
|
|
102
|
+
var content = significantTokenTypeTerminalNode.getContent(), matches = content.match(/\[([^\]]*)\]/), secondMatch = second(matches);
|
|
103
|
+
type = secondMatch; ///
|
|
104
|
+
return type;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmFsaWRhdGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgdHlwZXNNYXAgZnJvbSBcIi4uL3R5cGVzTWFwXCI7XG5cbmltcG9ydCB7IG5vbWluYWxMZXhlciB9IGZyb20gXCIuLi91dGlsaXRpZXMvbm9taW5hbFwiO1xuaW1wb3J0IHsgVU5ERVJTQ09SRV9DSEFSQUNURVIgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBjdXN0b21HcmFtbWFyQk5GTGV4ZXIsIGN1c3RvbUdyYW1tYXJCTkZQYXJzZXIsIGN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5TGV4ZXIsIGN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5UGFyc2VyIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ncmFtbWFyXCI7XG5cbmNvbnN0IHsgZmlyc3QsIHNlY29uZCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGV4cHJlc3Npb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi8vZXhwcmVzc2lvblwiKSxcbiAgICAgIHJ1bGVOYW1lVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZG9jdW1lbnQvcnVsZS9uYW1lL0AqIVwiKSxcbiAgICAgIHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiLy9zdHJpbmdMaXRlcmFsL0AqIVwiKSxcbiAgICAgIHNpZ25pZmljYW50VG9rZW5UeXBlVGVybWluYWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi8vc2lnbmlmaWNhbnRUb2tlblR5cGUvQCohXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVCTkYoYm5mLCBydWxlTmFtZSkge1xuICBjb25zdCBjb250ZW50ID0gYm5mLFxuICAgICAgICB0b2tlbnMgPSBjdXN0b21HcmFtbWFyQk5GTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgIG5vZGUgPSBjdXN0b21HcmFtbWFyQk5GUGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgaWYgKG5vZGUgPT09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBydWxlTmFtZVRlcm1pbmFsTm9kZSA9IHJ1bGVOYW1lVGVybWluYWxOb2RlUXVlcnkobm9kZSk7XG5cbiAgaWYgKHJ1bGVOYW1lVGVybWluYWxOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbmFtZSA9IG5hbWVGcm9tUnVsZU5hbWVUZXJtaW5hbE5vZGUocnVsZU5hbWVUZXJtaW5hbE5vZGUpO1xuXG4gICAgaWYgKG5hbWUgIT09IHJ1bGVOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSAnJHtuYW1lfScgcnVsZSBzaG91bGQgYmUgbmFtZWQgJyR7cnVsZU5hbWV9Jy5gKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCB0eXBlcyA9IHR5cGVzTWFwW3J1bGVOYW1lXSxcbiAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzID0gc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzUXVlcnkobm9kZSk7XG5cbiAgc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzLmZvckVhY2goKHNpZ25pZmljYW50VG9rZW5UeXBlVGVybWluYWxOb2RlKSA9PiB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVGcm9tU2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUoc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUpLFxuICAgICAgICAgIHR5cGVzSW5jbHVkZVR5cGUgPSB0eXBlcy5pbmNsdWRlcyh0eXBlKTtcblxuICAgIGlmICghdHlwZXNJbmNsdWRlVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgJyR7dHlwZX0nIHR5cGUgaXMgbm90IGluY2x1ZGVkIGluIHRoZSAnJHtydWxlTmFtZX0nIHJ1bGUncyB0eXBlcy5gKVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3Qgc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXMgPSBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2Rlc1F1ZXJ5KG5vZGUpO1xuXG4gIHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzLmZvckVhY2goKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpO1xuXG4gICAgaWYgKGNvbnRlbnQgPT09IFVOREVSU0NPUkVfQ0hBUkFDVEVSKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBcIiR7Y29udGVudH1cIiBzdHJpbmcgbGl0ZXJhbCBjYW5ub3QgYmUgYW4gdW5kZXJzY29yZS5gKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbnMgPSBub21pbmFsTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgdG9rZW5zTGVuZ3RoID0gdG9rZW5zLmxlbmd0aDtcblxuICAgIGlmICh0b2tlbnNMZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVG9rZW5pc2luZyB0aGUgXCIke2NvbnRlbnR9XCIgc3RyaW5nIGxpdGVyYWwgZG9lcyBub3QgcmVzdWx0IGluIGEgc2luZ2xlIHRva2VuLmApO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0VG9rZW4gPSBmaXJzdCh0b2tlbnMpLFxuICAgICAgICAgIHRva2VuID0gZmlyc3RUb2tlbiwgLy8vXG4gICAgICAgICAgdHlwZSA9IHRva2VuLmdldFR5cGUoKSxcbiAgICAgICAgICB0eXBlc0luY2x1ZGVUeXBlID0gdHlwZXMuaW5jbHVkZXModHlwZSk7XG5cbiAgICBpZiAoIXR5cGVzSW5jbHVkZVR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIFwiJHtjb250ZW50fVwiIHN0cmluZyBsaXRlcmFsJ3MgdG9rZW4ncyAnJHt0eXBlfScgdHlwZSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlICcke3J1bGVOYW1lfScgcnVsZSdzIHR5cGVzLmApXG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVm9jYWJ1bGFyeSh2b2NhYnVsYXJ5KSB7XG4gIGNvbnN0IGNvbnRlbnQgPSB2b2NhYnVsYXJ5LCAvLy9cbiAgICAgICAgdG9rZW5zID0gY3VzdG9tR3JhbW1hclZvY2FidWxhcnlMZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgbm9kZSA9IGN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5UGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgaWYgKG5vZGUgPT09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBleHByZXNzaW9uTm9kZXMgPSBleHByZXNzaW9uTm9kZXNRdWVyeShub2RlKTtcblxuICBleHByZXNzaW9uTm9kZXMuZm9yRWFjaCgoZXhwcmVzc2lvbk5vZGUpID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21FeHByZXNzaW9uTm9kZShleHByZXNzaW9uTm9kZSksXG4gICAgICAgICAgdG9rZW5zID0gbm9taW5hbExleGVyLnRva2VuaXNlKGNvbnRlbnQpLFxuICAgICAgICAgIHRva2Vuc0xlbmd0aCA9IHRva2Vucy5sZW5ndGg7XG5cbiAgICBpZiAodG9rZW5zTGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUb2tlbmlzaW5nIHRoZSAnJHtjb250ZW50fScgY29udGVudCByZXN1bHRzIGluIG1vcmUgdGhhbiBvbmUgdG9rZW4uYCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RUb2tlbiA9IGZpcnN0KHRva2VucyksXG4gICAgICAgICAgdG9rZW4gPSBmaXJzdFRva2VuLFxuICAgICAgICAgIHR5cGUgPSB0b2tlbi5nZXRUeXBlKCk7XG5cbiAgICBpZiAodHlwZSAhPT0gVU5BU1NJR05FRF9UWVBFKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSAnJHt0eXBlfScgdHlwZSBvZiB0aGUgJyR7Y29udGVudH0nIHRva2VuIGlzIG5vdCAndW5hc3NpZ25lZCcuYCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRlbnQgPT09IFVOREVSU0NPUkVfQ0hBUkFDVEVSKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSAnJHtjb250ZW50fScgdG9rZW4gY2Fubm90IGJlIGFuIHVuZGVyc2NvcmUuYCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gbmFtZUZyb21SdWxlTmFtZVRlcm1pbmFsTm9kZShydWxlTmFtZVRlcm1pbmFsTm9kZSkge1xuICBsZXQgbmFtZTtcblxuICBjb25zdCBjb250ZW50ID0gcnVsZU5hbWVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gIG5hbWUgPSBjb250ZW50OyAvLy9cblxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gY29udGVudEZyb21TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpIHtcbiAgbGV0IGNvbnRlbnQ7XG5cbiAgY29udGVudCA9IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gIGNvbnN0IG1hdGNoZXMgPSBjb250ZW50Lm1hdGNoKC9cIihbXlwiXSopXCIvKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyk7XG5cbiAgY29udGVudCA9IHNlY29uZE1hdGNoOyAvLy9cblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZnVuY3Rpb24gdHlwZUZyb21TaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZShzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZSkge1xuICBsZXQgdHlwZTtcblxuICBjb25zdCBjb250ZW50ID0gc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBtYXRjaGVzID0gY29udGVudC5tYXRjaCgvXFxbKFteXFxdXSopXFxdLyksXG4gICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpO1xuXG4gIHR5cGUgPSBzZWNvbmRNYXRjaDsgLy8vXG5cbiAgcmV0dXJuIHR5cGU7XG59XG4iXSwibmFtZXMiOlsidmFsaWRhdGVCTkYiLCJ2YWxpZGF0ZVZvY2FidWxhcnkiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwic2Vjb25kIiwiZXhwcmVzc2lvbk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicnVsZU5hbWVUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzUXVlcnkiLCJzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZXNRdWVyeSIsImJuZiIsInJ1bGVOYW1lIiwiY29udGVudCIsInRva2VucyIsImN1c3RvbUdyYW1tYXJCTkZMZXhlciIsInRva2VuaXNlIiwibm9kZSIsImN1c3RvbUdyYW1tYXJCTkZQYXJzZXIiLCJwYXJzZSIsInJ1bGVOYW1lVGVybWluYWxOb2RlIiwibmFtZSIsIm5hbWVGcm9tUnVsZU5hbWVUZXJtaW5hbE5vZGUiLCJFcnJvciIsInR5cGVzIiwidHlwZXNNYXAiLCJzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZXMiLCJmb3JFYWNoIiwic2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUiLCJ0eXBlIiwidHlwZUZyb21TaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZSIsInR5cGVzSW5jbHVkZVR5cGUiLCJpbmNsdWRlcyIsInN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSIsImNvbnRlbnRGcm9tU3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSIsIlVOREVSU0NPUkVfQ0hBUkFDVEVSIiwibm9taW5hbExleGVyIiwidG9rZW5zTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RUb2tlbiIsInRva2VuIiwiZ2V0VHlwZSIsInZvY2FidWxhcnkiLCJjdXN0b21HcmFtbWFyVm9jYWJ1bGFyeUxleGVyIiwiY3VzdG9tR3JhbW1hclZvY2FidWxhcnlQYXJzZXIiLCJleHByZXNzaW9uTm9kZXMiLCJleHByZXNzaW9uTm9kZSIsImNvbnRlbnRGcm9tRXhwcmVzc2lvbk5vZGUiLCJVTkFTU0lHTkVEX1RZUEUiLCJnZXRDb250ZW50IiwibWF0Y2hlcyIsIm1hdGNoIiwic2Vjb25kTWF0Y2giXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQWtCZ0JBO2VBQUFBOztRQTBEQUM7ZUFBQUE7Ozt5QkExRWU7K0RBRVY7dUJBRVE7eUJBQ1E7cUJBQ0M7dUJBQ3FGOzs7Ozs7QUFFM0gsSUFBUUMsUUFBa0JDLHlCQUFjLENBQWhDRCxPQUFPRSxTQUFXRCx5QkFBYyxDQUF6QkM7QUFFZixJQUFNQyx1QkFBdUJDLElBQUFBLGlCQUFVLEVBQUMsaUJBQ2xDQyw0QkFBNEJDLElBQUFBLGdCQUFTLEVBQUMsNEJBQ3RDQyxrQ0FBa0NILElBQUFBLGlCQUFVLEVBQUMsd0JBQzdDSSx5Q0FBeUNKLElBQUFBLGlCQUFVLEVBQUM7QUFFbkQsU0FBU04sWUFBWVcsR0FBRyxFQUFFQyxRQUFRO0lBQ3ZDLElBQU1DLFVBQVVGLEtBQ1ZHLFNBQVNDLDhCQUFxQixDQUFDQyxRQUFRLENBQUNILFVBQ3hDSSxPQUFPQywrQkFBc0IsQ0FBQ0MsS0FBSyxDQUFDTDtJQUUxQyxJQUFJRyxTQUFTLE1BQU07UUFDakI7SUFDRjtJQUVBLElBQU1HLHVCQUF1QmIsMEJBQTBCVTtJQUV2RCxJQUFJRyx5QkFBeUIsTUFBTTtRQUNqQyxJQUFNQyxPQUFPQyw2QkFBNkJGO1FBRTFDLElBQUlDLFNBQVNULFVBQVU7WUFDckIsTUFBTSxJQUFJVyxNQUFNLEFBQUMsUUFBc0NYLE9BQS9CUyxNQUFLLDRCQUFtQyxPQUFUVCxVQUFTO1FBQ2xFO0lBQ0Y7SUFFQSxJQUFNWSxRQUFRQyxpQkFBUSxDQUFDYixTQUFTLEVBQzFCYyxvQ0FBb0NoQix1Q0FBdUNPO0lBRWpGUyxrQ0FBa0NDLE9BQU8sQ0FBQyxTQUFDQztRQUN6QyxJQUFNQyxPQUFPQyx5Q0FBeUNGLG1DQUNoREcsbUJBQW1CUCxNQUFNUSxRQUFRLENBQUNIO1FBRXhDLElBQUksQ0FBQ0Usa0JBQWtCO1lBQ3JCLE1BQU0sSUFBSVIsTUFBTSxBQUFDLFFBQTZDWCxPQUF0Q2lCLE1BQUssbUNBQTBDLE9BQVRqQixVQUFTO1FBQ3pFO0lBQ0Y7SUFFQSxJQUFNcUIsNkJBQTZCeEIsZ0NBQWdDUTtJQUVuRWdCLDJCQUEyQk4sT0FBTyxDQUFDLFNBQUNPO1FBQ2xDLElBQU1yQixVQUFVc0IscUNBQXFDRDtRQUVyRCxJQUFJckIsWUFBWXVCLCtCQUFvQixFQUFFO1lBQ3BDLE1BQU0sSUFBSWIsTUFBTSxBQUFDLFFBQWUsT0FBUlYsU0FBUTtRQUNsQztRQUVBLElBQU1DLFNBQVN1QixxQkFBWSxDQUFDckIsUUFBUSxDQUFDSCxVQUMvQnlCLGVBQWV4QixPQUFPeUIsTUFBTTtRQUVsQyxJQUFJRCxpQkFBaUIsR0FBRztZQUN0QixNQUFNLElBQUlmLE1BQU0sQUFBQyxtQkFBMEIsT0FBUlYsU0FBUTtRQUM3QztRQUVBLElBQU0yQixhQUFhdEMsTUFBTVksU0FDbkIyQixRQUFRRCxZQUNSWCxPQUFPWSxNQUFNQyxPQUFPLElBQ3BCWCxtQkFBbUJQLE1BQU1RLFFBQVEsQ0FBQ0g7UUFFeEMsSUFBSSxDQUFDRSxrQkFBa0I7WUFDckIsTUFBTSxJQUFJUixNQUFNLEFBQUMsUUFBNkNNLE9BQXRDaEIsU0FBUSxpQ0FBb0VELE9BQXRDaUIsTUFBSyxtQ0FBMEMsT0FBVGpCLFVBQVM7UUFDL0c7SUFDRjtBQUNGO0FBRU8sU0FBU1gsbUJBQW1CMEMsVUFBVTtJQUMzQyxJQUFNOUIsVUFBVThCLFlBQ1Y3QixTQUFTOEIscUNBQTRCLENBQUM1QixRQUFRLENBQUNILFVBQy9DSSxPQUFPNEIsc0NBQTZCLENBQUMxQixLQUFLLENBQUNMO0lBRWpELElBQUlHLFNBQVMsTUFBTTtRQUNqQjtJQUNGO0lBRUEsSUFBTTZCLGtCQUFrQnpDLHFCQUFxQlk7SUFFN0M2QixnQkFBZ0JuQixPQUFPLENBQUMsU0FBQ29CO1FBQ3ZCLElBQU1sQyxVQUFVbUMsMEJBQTBCRCxpQkFDcENqQyxTQUFTdUIscUJBQVksQ0FBQ3JCLFFBQVEsQ0FBQ0gsVUFDL0J5QixlQUFleEIsT0FBT3lCLE1BQU07UUFFbEMsSUFBSUQsZUFBZSxHQUFHO1lBQ3BCLE1BQU0sSUFBSWYsTUFBTSxBQUFDLG1CQUEwQixPQUFSVixTQUFRO1FBQzdDO1FBRUEsSUFBTTJCLGFBQWF0QyxNQUFNWSxTQUNuQjJCLFFBQVFELFlBQ1JYLE9BQU9ZLE1BQU1DLE9BQU87UUFFMUIsSUFBSWIsU0FBU29CLGlCQUFpQjtZQUM1QixNQUFNLElBQUkxQixNQUFNLEFBQUMsUUFBNkJWLE9BQXRCZ0IsTUFBSyxtQkFBeUIsT0FBUmhCLFNBQVE7UUFDeEQ7UUFFQSxJQUFJQSxZQUFZdUIsK0JBQW9CLEVBQUU7WUFDcEMsTUFBTSxJQUFJYixNQUFNLEFBQUMsUUFBZSxPQUFSVixTQUFRO1FBQ2xDO0lBQ0Y7QUFDRjtBQUVBLFNBQVNTLDZCQUE2QkYsb0JBQW9CO0lBQ3hELElBQUlDO0lBRUosSUFBTVIsVUFBVU8scUJBQXFCOEIsVUFBVTtJQUUvQzdCLE9BQU9SLFNBQVMsR0FBRztJQUVuQixPQUFPUTtBQUNUO0FBRUEsU0FBU2MscUNBQXFDRCx5QkFBeUI7SUFDckUsSUFBSXJCO0lBRUpBLFVBQVVxQiwwQkFBMEJnQixVQUFVO0lBRTlDLElBQU1DLFVBQVV0QyxRQUFRdUMsS0FBSyxDQUFDLGNBQ3hCQyxjQUFjakQsT0FBTytDO0lBRTNCdEMsVUFBVXdDLGFBQWEsR0FBRztJQUUxQixPQUFPeEM7QUFDVDtBQUVBLFNBQVNpQix5Q0FBeUNGLGdDQUFnQztJQUNoRixJQUFJQztJQUVKLElBQU1oQixVQUFVZSxpQ0FBaUNzQixVQUFVLElBQ3JEQyxVQUFVdEMsUUFBUXVDLEtBQUssQ0FBQyxpQkFDeEJDLGNBQWNqRCxPQUFPK0M7SUFFM0J0QixPQUFPd0IsYUFBYSxHQUFHO0lBRXZCLE9BQU94QjtBQUNUIn0=
|
|
@@ -2,52 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get expressionsFromVocabulary () {
|
|
5
|
+
Object.defineProperty(exports, "expressionsFromVocabulary", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
13
8
|
return expressionsFromVocabulary;
|
|
14
|
-
},
|
|
15
|
-
get validateVocabulary () {
|
|
16
|
-
return validateVocabulary;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
11
|
var _necessary = require("necessary");
|
|
20
12
|
var _query = require("../utilities/query");
|
|
21
|
-
var _nominal = require("../utilities/nominal");
|
|
22
|
-
var _constants = require("../constants");
|
|
23
13
|
var _grammar = require("../utilities/grammar");
|
|
24
|
-
var
|
|
14
|
+
var second = _necessary.arrayUtilities.second;
|
|
25
15
|
var expressionNodesQuery = (0, _query.nodesQuery)("//expression");
|
|
26
|
-
function validateVocabulary(vocabulary) {
|
|
27
|
-
if (vocabulary === null || vocabulary === _constants.EMPTY_STRING) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
var content = vocabulary, tokens = _grammar.customGrammarVocabularyLexer.tokenise(content), node = _grammar.customGrammarVocabularyParser.parse(tokens);
|
|
31
|
-
var expressionNodes = expressionNodesQuery(node);
|
|
32
|
-
expressionNodes.forEach(function(expressionNode) {
|
|
33
|
-
var content = contentFromExpressionNode(expressionNode), tokens = _nominal.nominalLexer.tokenise(content), tokensLength = tokens.length;
|
|
34
|
-
if (tokensLength > 1) {
|
|
35
|
-
throw new Error("Tokenising the '".concat(content, "' content results in more than one token."));
|
|
36
|
-
}
|
|
37
|
-
var firstToken = first(tokens), token = firstToken, type = token.getType();
|
|
38
|
-
if (type !== _constants.UNASSIGNED_TYPE) {
|
|
39
|
-
throw new Error("The '".concat(type, "' type of the '").concat(content, "' token is not 'unassigned'."));
|
|
40
|
-
}
|
|
41
|
-
if (content === _constants.UNDERSCORE_CHARACTER) {
|
|
42
|
-
throw new Error("The '".concat(content, "' token cannot be an underscore."));
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
16
|
function expressionsFromVocabulary(vocabulary, expressions) {
|
|
47
|
-
|
|
17
|
+
var content = vocabulary, tokens = _grammar.customGrammarVocabularyLexer.tokenise(content), node = _grammar.customGrammarVocabularyParser.parse(tokens);
|
|
18
|
+
if (node === null) {
|
|
48
19
|
return;
|
|
49
20
|
}
|
|
50
|
-
var
|
|
21
|
+
var expressionNodes = expressionNodesQuery(node);
|
|
51
22
|
expressionNodes.forEach(function(expressionNode) {
|
|
52
23
|
var content = contentFromExpressionNode(expressionNode), expression = content; ///
|
|
53
24
|
expressions.push(expression);
|
|
@@ -58,4 +29,4 @@ function contentFromExpressionNode(expressionNode) {
|
|
|
58
29
|
return content;
|
|
59
30
|
}
|
|
60
31
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdm9jYWJ1bGFyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBjdXN0b21HcmFtbWFyVm9jYWJ1bGFyeUxleGVyLCBjdXN0b21HcmFtbWFyVm9jYWJ1bGFyeVBhcnNlciB9IGZyb20gXCIuLi91dGlsaXRpZXMvZ3JhbW1hclwiXG5cbmNvbnN0IHsgc2Vjb25kIH0gPSBhcnJheVV0aWxpdGllcztcblxuY29uc3QgZXhwcmVzc2lvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiLy9leHByZXNzaW9uXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gZXhwcmVzc2lvbnNGcm9tVm9jYWJ1bGFyeSh2b2NhYnVsYXJ5LCBleHByZXNzaW9ucykge1xuICBjb25zdCBjb250ZW50ID0gdm9jYWJ1bGFyeSwgLy8vXG4gICAgICAgIHRva2VucyA9IGN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5TGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgIG5vZGUgPSBjdXN0b21HcmFtbWFyVm9jYWJ1bGFyeVBhcnNlci5wYXJzZSh0b2tlbnMpO1xuXG4gIGlmIChub2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZXhwcmVzc2lvbk5vZGVzID0gZXhwcmVzc2lvbk5vZGVzUXVlcnkobm9kZSk7XG5cbiAgZXhwcmVzc2lvbk5vZGVzLmZvckVhY2goKGV4cHJlc3Npb25Ob2RlKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tRXhwcmVzc2lvbk5vZGUoZXhwcmVzc2lvbk5vZGUpLFxuICAgICAgICAgIGV4cHJlc3Npb24gPSBjb250ZW50OyAvLy9cblxuICAgIGV4cHJlc3Npb25zLnB1c2goZXhwcmVzc2lvbik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjb250ZW50RnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlKSB7XG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGV4cHJlc3Npb25Ob2RlLCAvLy9cbiAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIHNlY29uZENoaWxkTm9kZSA9IHNlY29uZChjaGlsZE5vZGVzKSxcbiAgICAgICAgdW5hc3NpZ25lZFRlcm1pbmFsTm9kZSA9IHNlY29uZENoaWxkTm9kZSwgIC8vL1xuICAgICAgICBjb250ZW50ID0gdW5hc3NpZ25lZFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG4iXSwibmFtZXMiOlsiZXhwcmVzc2lvbnNGcm9tVm9jYWJ1bGFyeSIsInNlY29uZCIsImFycmF5VXRpbGl0aWVzIiwiZXhwcmVzc2lvbk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5Iiwidm9jYWJ1bGFyeSIsImV4cHJlc3Npb25zIiwiY29udGVudCIsInRva2VucyIsImN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5TGV4ZXIiLCJ0b2tlbmlzZSIsIm5vZGUiLCJjdXN0b21HcmFtbWFyVm9jYWJ1bGFyeVBhcnNlciIsInBhcnNlIiwiZXhwcmVzc2lvbk5vZGVzIiwiZm9yRWFjaCIsImV4cHJlc3Npb25Ob2RlIiwiY29udGVudEZyb21FeHByZXNzaW9uTm9kZSIsImV4cHJlc3Npb24iLCJwdXNoIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJzZWNvbmRDaGlsZE5vZGUiLCJ1bmFzc2lnbmVkVGVybWluYWxOb2RlIiwiZ2V0Q29udGVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV2dCQTs7O2VBQUFBOzs7eUJBVGU7cUJBRUo7dUJBQ2lEO0FBRTVFLElBQU0sQUFBRUMsU0FBV0MseUJBQWMsQ0FBekJEO0FBRVIsSUFBTUUsdUJBQXVCQyxJQUFBQSxpQkFBVSxFQUFDO0FBRWpDLFNBQVNKLDBCQUEwQkssVUFBVSxFQUFFQyxXQUFXO0lBQy9ELElBQU1DLFVBQVVGLFlBQ1ZHLFNBQVNDLHFDQUE0QixDQUFDQyxRQUFRLENBQUNILFVBQy9DSSxPQUFPQyxzQ0FBNkIsQ0FBQ0MsS0FBSyxDQUFDTDtJQUVqRCxJQUFJRyxTQUFTLE1BQU07UUFDakI7SUFDRjtJQUVBLElBQU1HLGtCQUFrQlgscUJBQXFCUTtJQUU3Q0csZ0JBQWdCQyxPQUFPLENBQUMsU0FBQ0M7UUFDdkIsSUFBTVQsVUFBVVUsMEJBQTBCRCxpQkFDcENFLGFBQWFYLFNBQVMsR0FBRztRQUUvQkQsWUFBWWEsSUFBSSxDQUFDRDtJQUNuQjtBQUNGO0FBRUEsU0FBU0QsMEJBQTBCRCxjQUFjO0lBQy9DLElBQU1JLGtCQUFrQkosZ0JBQ2xCSyxhQUFhRCxnQkFBZ0JFLGFBQWEsSUFDMUNDLGtCQUFrQnRCLE9BQU9vQixhQUN6QkcseUJBQXlCRCxpQkFDekJoQixVQUFVaUIsdUJBQXVCQyxVQUFVO0lBRWpELE9BQU9sQjtBQUNUIn0=
|
package/package.json
CHANGED
package/src/constants.js
CHANGED