occam-custom-grammars 5.0.1227 → 5.0.1229

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 (42) hide show
  1. package/example.js +904 -515
  2. package/lib/constants.js +17 -1
  3. package/lib/customGrammar/combined.js +37 -22
  4. package/lib/customGrammar/default.js +9 -9
  5. package/lib/customGrammar.js +56 -65
  6. package/lib/example/customGrammar/userDefined1.js +4 -4
  7. package/lib/example/customGrammar/userDefined2.js +4 -4
  8. package/lib/example/grammarNames.js +3 -3
  9. package/lib/example/select/{patternName.js → vocabularyName.js} +23 -23
  10. package/lib/example/{input/pattern.js → textarea/vocabulary.js} +23 -23
  11. package/lib/example/view.js +13 -13
  12. package/lib/index.js +5 -5
  13. package/lib/typesMap.js +45 -0
  14. package/lib/utilities/bnf.js +66 -0
  15. package/lib/utilities/grammar.js +31 -0
  16. package/lib/utilities/nominal.js +25 -0
  17. package/lib/utilities/query.js +36 -0
  18. package/lib/utilities/vocabulary.js +61 -0
  19. package/lib/vocabularyNames.js +29 -0
  20. package/package.json +4 -3
  21. package/src/constants.js +4 -0
  22. package/src/customGrammar/combined.js +46 -25
  23. package/src/customGrammar/default.js +5 -4
  24. package/src/customGrammar.js +49 -64
  25. package/src/example/customGrammar/userDefined1.js +10 -6
  26. package/src/example/customGrammar/userDefined2.js +6 -6
  27. package/src/example/grammarNames.js +1 -1
  28. package/src/example/select/vocabularyName.js +52 -0
  29. package/src/example/textarea/vocabulary.js +33 -0
  30. package/src/example/view.js +16 -16
  31. package/src/index.js +1 -1
  32. package/src/typesMap.js +50 -0
  33. package/src/utilities/bnf.js +88 -0
  34. package/src/utilities/grammar.js +12 -0
  35. package/src/utilities/nominal.js +9 -0
  36. package/src/utilities/query.js +25 -0
  37. package/src/utilities/vocabulary.js +74 -0
  38. package/src/vocabularyNames.js +9 -0
  39. package/lib/patternNames.js +0 -29
  40. package/src/example/input/pattern.js +0 -33
  41. package/src/example/select/patternName.js +0 -52
  42. package/src/patternNames.js +0 -9
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return PatternNameSelect;
8
+ return VocabularyNameSelect;
9
9
  }
10
10
  });
11
11
  var _select = /*#__PURE__*/ _interop_require_default(require("../select"));
12
- var _patternNames = require("../../patternNames");
12
+ var _vocabularyNames = require("../../vocabularyNames");
13
13
  function _array_like_to_array(arr, len) {
14
14
  if (len == null || len > arr.length) len = arr.length;
15
15
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -126,32 +126,32 @@ function _is_native_reflect_construct() {
126
126
  return !!result;
127
127
  })();
128
128
  }
129
- var PatternNameSelect = /*#__PURE__*/ function(Select) {
130
- _inherits(PatternNameSelect, Select);
131
- function PatternNameSelect() {
132
- _class_call_check(this, PatternNameSelect);
133
- return _call_super(this, PatternNameSelect, arguments);
129
+ var VocabularyNameSelect = /*#__PURE__*/ function(Select) {
130
+ _inherits(VocabularyNameSelect, Select);
131
+ function VocabularyNameSelect() {
132
+ _class_call_check(this, VocabularyNameSelect);
133
+ return _call_super(this, VocabularyNameSelect, arguments);
134
134
  }
135
- _create_class(PatternNameSelect, [
135
+ _create_class(VocabularyNameSelect, [
136
136
  {
137
- key: "getPatternName",
138
- value: function getPatternName() {
139
- var value = this.getValue(), patternName = value; ///
140
- return patternName;
137
+ key: "getVocabularyName",
138
+ value: function getVocabularyName() {
139
+ var value = this.getValue(), vocabularyName = value; ///
140
+ return vocabularyName;
141
141
  }
142
142
  },
143
143
  {
144
144
  key: "childElements",
145
145
  value: function childElements() {
146
- var patternNames = [
147
- _patternNames.TYPE_PATTERN_NAME,
148
- _patternNames.SYMBOL_PATTERN_NAME
149
- ], options = patternNames.map(function(patternName, index) {
150
- var value = patternName, selected = index === 0;
146
+ var vocabularyNames = [
147
+ _vocabularyNames.TYPE_VOCABULARY_NAME,
148
+ _vocabularyNames.SYMBOL_VOCABULARY_NAME
149
+ ], options = vocabularyNames.map(function(vocabularyName, index) {
150
+ var value = vocabularyName, selected = index === 0;
151
151
  return /*#__PURE__*/ React.createElement("option", {
152
152
  value: value,
153
153
  selected: selected
154
- }, patternName);
154
+ }, vocabularyName);
155
155
  }), childElements = _to_consumable_array(options);
156
156
  return childElements;
157
157
  }
@@ -159,18 +159,18 @@ var PatternNameSelect = /*#__PURE__*/ function(Select) {
159
159
  {
160
160
  key: "parentContext",
161
161
  value: function parentContext() {
162
- var getPatternName = this.getPatternName.bind(this); ///
162
+ var getVocabularyName = this.getVocabularyName.bind(this); ///
163
163
  return {
164
- getPatternName: getPatternName
164
+ getVocabularyName: getVocabularyName
165
165
  };
166
166
  }
167
167
  }
168
168
  ]);
169
- return PatternNameSelect;
169
+ return VocabularyNameSelect;
170
170
  }(_select.default);
171
- _define_property(PatternNameSelect, "defaultProperties", {
171
+ _define_property(VocabularyNameSelect, "defaultProperties", {
172
172
  className: "rule-name",
173
173
  spellCheck: "false"
174
174
  });
175
175
 
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3NlbGVjdC9wYXR0ZXJuTmFtZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFNlbGVjdCBmcm9tIFwiLi4vc2VsZWN0XCI7XG5cbmltcG9ydCB7IFRZUEVfUEFUVEVSTl9OQU1FLCBTWU1CT0xfUEFUVEVSTl9OQU1FIH0gIGZyb20gXCIuLi8uLi9wYXR0ZXJuTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGF0dGVybk5hbWVTZWxlY3QgZXh0ZW5kcyBTZWxlY3Qge1xuICBnZXRQYXR0ZXJuTmFtZSgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKSxcbiAgICAgICAgICBwYXR0ZXJuTmFtZSA9IHZhbHVlOyAvLy9cblxuICAgIHJldHVybiBwYXR0ZXJuTmFtZTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3QgcGF0dGVybk5hbWVzID0gW1xuICAgICAgICAgICAgVFlQRV9QQVRURVJOX05BTUUsXG4gICAgICAgICAgICBTWU1CT0xfUEFUVEVSTl9OQU1FXG4gICAgICAgICAgXSxcbiAgICAgICAgICBvcHRpb25zICA9IHBhdHRlcm5OYW1lcy5tYXAoKHBhdHRlcm5OYW1lLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXR0ZXJuTmFtZSxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkID0gKGluZGV4ID09PSAwKTtcblxuICAgICAgICAgICAgcmV0dXJuIChcblxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPXt2YWx1ZX0gc2VsZWN0ZWQ9e3NlbGVjdGVkfSA+XG4gICAgICAgICAgICAgICAge3BhdHRlcm5OYW1lfVxuICAgICAgICAgICAgICA8L29wdGlvbj5cblxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjaGlsZEVsZW1lbnRzID0gW1xuICAgICAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgICAgIF07XG5cblxuICAgIHJldHVybiBjaGlsZEVsZW1lbnRzO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBnZXRQYXR0ZXJuTmFtZSA9IHRoaXMuZ2V0UGF0dGVybk5hbWUuYmluZCh0aGlzKTsgLy8vXG5cbiAgICByZXR1cm4gKHtcbiAgICAgIGdldFBhdHRlcm5OYW1lXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInJ1bGUtbmFtZVwiLFxuICAgIHNwZWxsQ2hlY2s6IFwiZmFsc2VcIlxuICB9XG59XG4iXSwibmFtZXMiOlsiUGF0dGVybk5hbWVTZWxlY3QiLCJnZXRQYXR0ZXJuTmFtZSIsInZhbHVlIiwiZ2V0VmFsdWUiLCJwYXR0ZXJuTmFtZSIsImNoaWxkRWxlbWVudHMiLCJwYXR0ZXJuTmFtZXMiLCJUWVBFX1BBVFRFUk5fTkFNRSIsIlNZTUJPTF9QQVRURVJOX05BTUUiLCJvcHRpb25zIiwibWFwIiwiaW5kZXgiLCJzZWxlY3RlZCIsIm9wdGlvbiIsInBhcmVudENvbnRleHQiLCJiaW5kIiwiU2VsZWN0IiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJzcGVsbENoZWNrIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7Ozs2REFKRjs0QkFFcUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6QyxJQUFBLEFBQU1BLGtDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsUUFBUSxJQUFJLENBQUNDLFFBQVEsSUFDckJDLGNBQWNGLE9BQU8sR0FBRztnQkFFOUIsT0FBT0U7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxlQUFlO29CQUNiQywrQkFBaUI7b0JBQ2pCQyxpQ0FBbUI7aUJBQ3BCLEVBQ0RDLFVBQVdILGFBQWFJLEdBQUcsQ0FBQyxTQUFDTixhQUFhTztvQkFDeEMsSUFBTVQsUUFBUUUsYUFDUlEsV0FBWUQsVUFBVTtvQkFFNUIscUJBRUUsb0JBQUNFO3dCQUFPWCxPQUFPQTt3QkFBT1UsVUFBVUE7dUJBQzdCUjtnQkFJUCxJQUNBQyxnQkFDRSxxQkFBR0k7Z0JBSVgsT0FBT0o7WUFDVDs7O1lBRUFTLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNYixpQkFBaUIsSUFBSSxDQUFDQSxjQUFjLENBQUNjLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRztnQkFFMUQsT0FBUTtvQkFDTmQsZ0JBQUFBO2dCQUNGO1lBQ0Y7OztXQXZDbUJEO0VBQTBCZ0IsZUFBTTtBQXlDbkQsaUJBekNtQmhCLG1CQXlDWmlCLHFCQUFvQjtJQUN6QkMsV0FBVztJQUNYQyxZQUFZO0FBQ2QifQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3NlbGVjdC92b2NhYnVsYXJ5TmFtZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFNlbGVjdCBmcm9tIFwiLi4vc2VsZWN0XCI7XG5cbmltcG9ydCB7IFRZUEVfVk9DQUJVTEFSWV9OQU1FLCBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FIH0gIGZyb20gXCIuLi8uLi92b2NhYnVsYXJ5TmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVm9jYWJ1bGFyeU5hbWVTZWxlY3QgZXh0ZW5kcyBTZWxlY3Qge1xuICBnZXRWb2NhYnVsYXJ5TmFtZSgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKSxcbiAgICAgICAgICB2b2NhYnVsYXJ5TmFtZSA9IHZhbHVlOyAvLy9cblxuICAgIHJldHVybiB2b2NhYnVsYXJ5TmFtZTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3Qgdm9jYWJ1bGFyeU5hbWVzID0gW1xuICAgICAgICAgICAgVFlQRV9WT0NBQlVMQVJZX05BTUUsXG4gICAgICAgICAgICBTWU1CT0xfVk9DQUJVTEFSWV9OQU1FXG4gICAgICAgICAgXSxcbiAgICAgICAgICBvcHRpb25zICA9IHZvY2FidWxhcnlOYW1lcy5tYXAoKHZvY2FidWxhcnlOYW1lLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2b2NhYnVsYXJ5TmFtZSxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkID0gKGluZGV4ID09PSAwKTtcblxuICAgICAgICAgICAgcmV0dXJuIChcblxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPXt2YWx1ZX0gc2VsZWN0ZWQ9e3NlbGVjdGVkfSA+XG4gICAgICAgICAgICAgICAge3ZvY2FidWxhcnlOYW1lfVxuICAgICAgICAgICAgICA8L29wdGlvbj5cblxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjaGlsZEVsZW1lbnRzID0gW1xuICAgICAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgICAgIF07XG5cblxuICAgIHJldHVybiBjaGlsZEVsZW1lbnRzO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBnZXRWb2NhYnVsYXJ5TmFtZSA9IHRoaXMuZ2V0Vm9jYWJ1bGFyeU5hbWUuYmluZCh0aGlzKTsgLy8vXG5cbiAgICByZXR1cm4gKHtcbiAgICAgIGdldFZvY2FidWxhcnlOYW1lXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInJ1bGUtbmFtZVwiLFxuICAgIHNwZWxsQ2hlY2s6IFwiZmFsc2VcIlxuICB9XG59XG4iXSwibmFtZXMiOlsiVm9jYWJ1bGFyeU5hbWVTZWxlY3QiLCJnZXRWb2NhYnVsYXJ5TmFtZSIsInZhbHVlIiwiZ2V0VmFsdWUiLCJ2b2NhYnVsYXJ5TmFtZSIsImNoaWxkRWxlbWVudHMiLCJ2b2NhYnVsYXJ5TmFtZXMiLCJUWVBFX1ZPQ0FCVUxBUllfTkFNRSIsIlNZTUJPTF9WT0NBQlVMQVJZX05BTUUiLCJvcHRpb25zIiwibWFwIiwiaW5kZXgiLCJzZWxlY3RlZCIsIm9wdGlvbiIsInBhcmVudENvbnRleHQiLCJiaW5kIiwiU2VsZWN0IiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJzcGVsbENoZWNrIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7Ozs2REFKRjsrQkFFMkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQyxJQUFBLEFBQU1BLHFDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsUUFBUSxJQUFJLENBQUNDLFFBQVEsSUFDckJDLGlCQUFpQkYsT0FBTyxHQUFHO2dCQUVqQyxPQUFPRTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGtCQUFrQjtvQkFDaEJDLHFDQUFvQjtvQkFDcEJDLHVDQUFzQjtpQkFDdkIsRUFDREMsVUFBV0gsZ0JBQWdCSSxHQUFHLENBQUMsU0FBQ04sZ0JBQWdCTztvQkFDOUMsSUFBTVQsUUFBUUUsZ0JBQ1JRLFdBQVlELFVBQVU7b0JBRTVCLHFCQUVFLG9CQUFDRTt3QkFBT1gsT0FBT0E7d0JBQU9VLFVBQVVBO3VCQUM3QlI7Z0JBSVAsSUFDQUMsZ0JBQ0UscUJBQUdJO2dCQUlYLE9BQU9KO1lBQ1Q7OztZQUVBUyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTWIsb0JBQW9CLElBQUksQ0FBQ0EsaUJBQWlCLENBQUNjLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRztnQkFFaEUsT0FBUTtvQkFDTmQsbUJBQUFBO2dCQUNGO1lBQ0Y7OztXQXZDbUJEO0VBQTZCZ0IsZUFBTTtBQXlDdEQsaUJBekNtQmhCLHNCQXlDWmlCLHFCQUFvQjtJQUN6QkMsV0FBVztJQUNYQyxZQUFZO0FBQ2QifQ==
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return PatternInput;
8
+ return VocabularyTextarea;
9
9
  }
10
10
  });
11
- var _input = /*#__PURE__*/ _interop_require_default(require("../input"));
11
+ var _textarea = /*#__PURE__*/ _interop_require_default(require("../textarea"));
12
12
  function _assert_this_initialized(self) {
13
13
  if (self === void 0) {
14
14
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -100,43 +100,43 @@ function _is_native_reflect_construct() {
100
100
  return !!result;
101
101
  })();
102
102
  }
103
- var PatternInput = /*#__PURE__*/ function(Input) {
104
- _inherits(PatternInput, Input);
105
- function PatternInput() {
106
- _class_call_check(this, PatternInput);
107
- return _call_super(this, PatternInput, arguments);
103
+ var VocabularyTextarea = /*#__PURE__*/ function(Textarea) {
104
+ _inherits(VocabularyTextarea, Textarea);
105
+ function VocabularyTextarea() {
106
+ _class_call_check(this, VocabularyTextarea);
107
+ return _call_super(this, VocabularyTextarea, arguments);
108
108
  }
109
- _create_class(PatternInput, [
109
+ _create_class(VocabularyTextarea, [
110
110
  {
111
- key: "getPattern",
112
- value: function getPattern() {
113
- var value = this.getValue(), pattern = value; ///
114
- return pattern;
111
+ key: "getVocabulary",
112
+ value: function getVocabulary() {
113
+ var value = this.getValue(), vocabulary = value; ///
114
+ return vocabulary;
115
115
  }
116
116
  },
117
117
  {
118
- key: "setPattern",
119
- value: function setPattern(pattern) {
120
- var value = pattern; ///
118
+ key: "setVocabulary",
119
+ value: function setVocabulary(vocabulary) {
120
+ var value = vocabulary; ///
121
121
  this.setValue(value);
122
122
  }
123
123
  },
124
124
  {
125
125
  key: "parentContext",
126
126
  value: function parentContext() {
127
- var getPattern = this.getPattern.bind(this), setPattern = this.setPattern.bind(this);
127
+ var getVocabulary = this.getVocabulary.bind(this), setVocabulary = this.setVocabulary.bind(this);
128
128
  return {
129
- getPattern: getPattern,
130
- setPattern: setPattern
129
+ getVocabulary: getVocabulary,
130
+ setVocabulary: setVocabulary
131
131
  };
132
132
  }
133
133
  }
134
134
  ]);
135
- return PatternInput;
136
- }(_input.default);
137
- _define_property(PatternInput, "defaultProperties", {
138
- className: "pattern",
135
+ return VocabularyTextarea;
136
+ }(_textarea.default);
137
+ _define_property(VocabularyTextarea, "defaultProperties", {
138
+ className: "vocabulary",
139
139
  spellCheck: "false"
140
140
  });
141
141
 
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2lucHV0L3BhdHRlcm4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBJbnB1dCBmcm9tIFwiLi4vaW5wdXRcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGF0dGVybklucHV0IGV4dGVuZHMgSW5wdXQge1xuICBnZXRQYXR0ZXJuKCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpLFxuICAgICAgICAgIHBhdHRlcm4gPSB2YWx1ZTsgLy8vXG5cbiAgICByZXR1cm4gcGF0dGVybjtcbiAgfVxuXG4gIHNldFBhdHRlcm4ocGF0dGVybikge1xuICAgIGNvbnN0IHZhbHVlID0gcGF0dGVybjsgLy8vXG5cbiAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgZ2V0UGF0dGVybiA9IHRoaXMuZ2V0UGF0dGVybi5iaW5kKHRoaXMpLFxuICAgICAgICAgIHNldFBhdHRlcm4gPSB0aGlzLnNldFBhdHRlcm4uYmluZCh0aGlzKTtcblxuICAgIHJldHVybiAoe1xuICAgICAgZ2V0UGF0dGVybixcbiAgICAgIHNldFBhdHRlcm5cbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwicGF0dGVyblwiLFxuICAgIHNwZWxsQ2hlY2s6IFwiZmFsc2VcIlxuICB9O1xufVxuIl0sIm5hbWVzIjpbIlBhdHRlcm5JbnB1dCIsImdldFBhdHRlcm4iLCJ2YWx1ZSIsImdldFZhbHVlIiwicGF0dGVybiIsInNldFBhdHRlcm4iLCJzZXRWYWx1ZSIsInBhcmVudENvbnRleHQiLCJiaW5kIiwiSW5wdXQiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInNwZWxsQ2hlY2siXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7OzREQUZIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILElBQUEsQUFBTUEsNkJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUNyQkMsVUFBVUYsT0FBTyxHQUFHO2dCQUUxQixPQUFPRTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdELE9BQU87Z0JBQ2hCLElBQU1GLFFBQVFFLFNBQVMsR0FBRztnQkFFMUIsSUFBSSxDQUFDRSxRQUFRLENBQUNKO1lBQ2hCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1OLGFBQWEsSUFBSSxDQUFDQSxVQUFVLENBQUNPLElBQUksQ0FBQyxJQUFJLEdBQ3RDSCxhQUFhLElBQUksQ0FBQ0EsVUFBVSxDQUFDRyxJQUFJLENBQUMsSUFBSTtnQkFFNUMsT0FBUTtvQkFDTlAsWUFBQUE7b0JBQ0FJLFlBQUFBO2dCQUNGO1lBQ0Y7OztXQXRCbUJMO0VBQXFCUyxjQUFLO0FBd0I3QyxpQkF4Qm1CVCxjQXdCWlUscUJBQW9CO0lBQ3pCQyxXQUFXO0lBQ1hDLFlBQVk7QUFDZCJ9
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3RleHRhcmVhL3ZvY2FidWxhcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXh0YXJlYSBmcm9tIFwiLi4vdGV4dGFyZWFcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVm9jYWJ1bGFyeVRleHRhcmVhIGV4dGVuZHMgVGV4dGFyZWEge1xuICBnZXRWb2NhYnVsYXJ5KCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpLFxuICAgICAgICAgIHZvY2FidWxhcnkgPSB2YWx1ZTsgLy8vXG5cbiAgICByZXR1cm4gdm9jYWJ1bGFyeTtcbiAgfVxuXG4gIHNldFZvY2FidWxhcnkodm9jYWJ1bGFyeSkge1xuICAgIGNvbnN0IHZhbHVlID0gdm9jYWJ1bGFyeTsgLy8vXG5cbiAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgZ2V0Vm9jYWJ1bGFyeSA9IHRoaXMuZ2V0Vm9jYWJ1bGFyeS5iaW5kKHRoaXMpLFxuICAgICAgICAgIHNldFZvY2FidWxhcnkgPSB0aGlzLnNldFZvY2FidWxhcnkuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiAoe1xuICAgICAgZ2V0Vm9jYWJ1bGFyeSxcbiAgICAgIHNldFZvY2FidWxhcnlcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidm9jYWJ1bGFyeVwiLFxuICAgIHNwZWxsQ2hlY2s6IFwiZmFsc2VcIlxuICB9O1xufVxuIl0sIm5hbWVzIjpbIlZvY2FidWxhcnlUZXh0YXJlYSIsImdldFZvY2FidWxhcnkiLCJ2YWx1ZSIsImdldFZhbHVlIiwidm9jYWJ1bGFyeSIsInNldFZvY2FidWxhcnkiLCJzZXRWYWx1ZSIsInBhcmVudENvbnRleHQiLCJiaW5kIiwiVGV4dGFyZWEiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInNwZWxsQ2hlY2siXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7OytEQUZBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVOLElBQUEsQUFBTUEsbUNBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUNyQkMsYUFBYUYsT0FBTyxHQUFHO2dCQUU3QixPQUFPRTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLGNBQWNELFVBQVU7Z0JBQ3RCLElBQU1GLFFBQVFFLFlBQVksR0FBRztnQkFFN0IsSUFBSSxDQUFDRSxRQUFRLENBQUNKO1lBQ2hCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1OLGdCQUFnQixJQUFJLENBQUNBLGFBQWEsQ0FBQ08sSUFBSSxDQUFDLElBQUksR0FDNUNILGdCQUFnQixJQUFJLENBQUNBLGFBQWEsQ0FBQ0csSUFBSSxDQUFDLElBQUk7Z0JBRWxELE9BQVE7b0JBQ05QLGVBQUFBO29CQUNBSSxlQUFBQTtnQkFDRjtZQUNGOzs7V0F0Qm1CTDtFQUEyQlMsaUJBQVE7QUF3QnRELGlCQXhCbUJULG9CQXdCWlUscUJBQW9CO0lBQ3pCQyxXQUFXO0lBQ1hDLFlBQVk7QUFDZCJ9
@@ -17,13 +17,13 @@ var _subHeading = /*#__PURE__*/ _interop_require_default(require("./subHeading")
17
17
  var _name = /*#__PURE__*/ _interop_require_default(require("./select/name"));
18
18
  var _sizeable = /*#__PURE__*/ _interop_require_default(require("./div/sizeable"));
19
19
  var _bnf = /*#__PURE__*/ _interop_require_default(require("./textarea/bnf"));
20
- var _pattern = /*#__PURE__*/ _interop_require_default(require("./input/pattern"));
21
20
  var _ruleName = /*#__PURE__*/ _interop_require_default(require("./select/ruleName"));
22
21
  var _content = /*#__PURE__*/ _interop_require_default(require("./textarea/content"));
23
- var _patternName = /*#__PURE__*/ _interop_require_default(require("./select/patternName"));
24
22
  var _parseTree = /*#__PURE__*/ _interop_require_default(require("./textarea/parseTree"));
25
23
  var _startRuleName = /*#__PURE__*/ _interop_require_default(require("./input/startRuleName"));
26
24
  var _nominalBNF = /*#__PURE__*/ _interop_require_default(require("./textarea/nominalBNF"));
25
+ var _vocabulary = /*#__PURE__*/ _interop_require_default(require("./textarea/vocabulary"));
26
+ var _vocabularyName = /*#__PURE__*/ _interop_require_default(require("./select/vocabularyName"));
27
27
  var _userDefined1 = /*#__PURE__*/ _interop_require_default(require("./customGrammar/userDefined1"));
28
28
  var _userDefined2 = /*#__PURE__*/ _interop_require_default(require("./customGrammar/userDefined2"));
29
29
  var _rules = require("./utilities/rules");
@@ -192,14 +192,14 @@ var View = /*#__PURE__*/ function(Element) {
192
192
  var _this;
193
193
  _this = _call_super(this, View, arguments), _define_property(_this, "keyUpHandler", function(event, element) {
194
194
  try {
195
- var name = _this.getName(), bnf = _this.getBNF(), pattern = _this.getPattern(), ruleName = _this.getRuleName(), patternName = _this.getPatternName();
195
+ var bnf = _this.getBNF(), name = _this.getName(), ruleName = _this.getRuleName(), vocabulary = _this.getVocabulary(), vocabularyName = _this.getVocabularyName();
196
196
  if (name === _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_1) {
197
197
  _userDefined1.default.setBNF(ruleName, bnf);
198
- _userDefined1.default.setPattern(patternName, pattern);
198
+ _userDefined1.default.setVocabulary(vocabularyName, vocabulary);
199
199
  }
200
200
  if (name === _grammarNames.USER_DEFINED_CUSTOM_GRAMMAR_NAME_2) {
201
201
  _userDefined2.default.setBNF(ruleName, bnf);
202
- _userDefined2.default.setPattern(patternName, pattern);
202
+ _userDefined2.default.setVocabulary(vocabularyName, vocabulary);
203
203
  }
204
204
  var customGrammars = [
205
205
  _userDefined1.default,
@@ -220,7 +220,7 @@ var View = /*#__PURE__*/ function(Element) {
220
220
  }
221
221
  }), _define_property(_this, "changeHandler", function(event, element) {
222
222
  var customGrammar;
223
- var name = _this.getName(), ruleName = _this.getRuleName(), patternName = _this.getPatternName();
223
+ var name = _this.getName(), ruleName = _this.getRuleName(), vocabularyName = _this.getVocabularyName();
224
224
  switch(name){
225
225
  case _grammarNames.DEFAULT_CUSTOM_GRAMMAR_NAME:
226
226
  customGrammar = _index.defaultCustomGrammar;
@@ -232,9 +232,9 @@ var View = /*#__PURE__*/ function(Element) {
232
232
  customGrammar = _userDefined2.default;
233
233
  break;
234
234
  }
235
- var bnf = customGrammar.getBNF(ruleName), pattern = customGrammar.getPattern(patternName);
235
+ var bnf = customGrammar.getBNF(ruleName), vocabulary = customGrammar.getVocabulary(vocabularyName);
236
236
  _this.setBNF(bnf);
237
- _this.setPattern(pattern);
237
+ _this.setVocabulary(vocabulary);
238
238
  });
239
239
  return _this;
240
240
  }
@@ -246,13 +246,13 @@ var View = /*#__PURE__*/ function(Element) {
246
246
  return [
247
247
  /*#__PURE__*/ React.createElement(_easylayout.ColumnsDiv, null, /*#__PURE__*/ React.createElement(_sizeable.default, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Custom grammar"), /*#__PURE__*/ React.createElement(_name.default, {
248
248
  onChange: changeHandler
249
- }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "BNF"), /*#__PURE__*/ React.createElement(_ruleName.default, {
249
+ }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Vocabulary"), /*#__PURE__*/ React.createElement(_vocabularyName.default, {
250
250
  onChange: changeHandler
251
- }), /*#__PURE__*/ React.createElement(_bnf.default, {
251
+ }), /*#__PURE__*/ React.createElement(_vocabulary.default, {
252
252
  onKeyUp: keyUpHandler
253
- }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Pattern"), /*#__PURE__*/ React.createElement(_patternName.default, {
253
+ }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "BNF"), /*#__PURE__*/ React.createElement(_ruleName.default, {
254
254
  onChange: changeHandler
255
- }), /*#__PURE__*/ React.createElement(_pattern.default, {
255
+ }), /*#__PURE__*/ React.createElement(_bnf.default, {
256
256
  onKeyUp: keyUpHandler
257
257
  }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Start rule"), /*#__PURE__*/ React.createElement(_startRuleName.default, {
258
258
  onKeyUp: keyUpHandler
@@ -285,4 +285,4 @@ _define_property(View, "defaultProperties", {
285
285
  });
286
286
  var _default = (0, _easywithstyle.default)(View)(_templateObject());
287
287
 
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgcnVsZXNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMsIGRlZmF1bHRDdXN0b21HcmFtbWFyLCBDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSBmcm9tIFwiLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgU3ViSGVhZGluZyBmcm9tIFwiLi9zdWJIZWFkaW5nXCI7XG5pbXBvcnQgTmFtZVNlbGVjdCBmcm9tIFwiLi9zZWxlY3QvbmFtZVwiO1xuaW1wb3J0IFNpemVhYmxlRGl2IGZyb20gXCIuL2Rpdi9zaXplYWJsZVwiO1xuaW1wb3J0IEJORlRleHRhcmVhIGZyb20gXCIuL3RleHRhcmVhL2JuZlwiO1xuaW1wb3J0IFBhdHRlcm5JbnB1dCBmcm9tIFwiLi9pbnB1dC9wYXR0ZXJuXCI7XG5pbXBvcnQgUnVsZU5hbWVTZWxlY3QgZnJvbSBcIi4vc2VsZWN0L3J1bGVOYW1lXCI7XG5pbXBvcnQgQ29udGVudFRleHRhcmVhIGZyb20gXCIuL3RleHRhcmVhL2NvbnRlbnRcIjtcbmltcG9ydCBQYXR0ZXJuTmFtZVNlbGVjdCBmcm9tIFwiLi9zZWxlY3QvcGF0dGVybk5hbWVcIjtcbmltcG9ydCBQYXJzZVRyZWVUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS9wYXJzZVRyZWVcIjtcbmltcG9ydCBTdGFydFJ1bGVOYW1lSW5wdXQgZnJvbSBcIi4vaW5wdXQvc3RhcnRSdWxlTmFtZVwiO1xuaW1wb3J0IE5vbWluYWxCTkZUZXh0YXJlYSBmcm9tIFwiLi90ZXh0YXJlYS9ub21pbmFsQk5GXCI7XG5pbXBvcnQgdXNlckRlZmluZWRDdXN0b21HcmFtbWFyMSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyL3VzZXJEZWZpbmVkMVwiO1xuaW1wb3J0IHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIgZnJvbSBcIi4vY3VzdG9tR3JhbW1hci91c2VyRGVmaW5lZDJcIjtcblxuaW1wb3J0IHsgcnVsZXNGcm9tUGFyc2VyIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzEsIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzIgfSBmcm9tIFwiLi9ncmFtbWFyTmFtZXNcIjtcblxuY29uc3QgeyBydWxlc0FzU3RyaW5nIH0gPSBydWxlc1V0aWxpdGllcyxcbiAgICAgIHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBrZXlVcEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgYm5mID0gdGhpcy5nZXRCTkYoKSxcbiAgICAgICAgICAgIHBhdHRlcm4gPSB0aGlzLmdldFBhdHRlcm4oKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcGF0dGVybk5hbWUgPSB0aGlzLmdldFBhdHRlcm5OYW1lKCk7XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8xKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEuc2V0UGF0dGVybihwYXR0ZXJuTmFtZSwgcGF0dGVybik7XG4gICAgICB9XG5cbiAgICAgIGlmIChuYW1lID09PSBVU0VSX0RFRklORURfQ1VTVE9NX0dSQU1NQVJfTkFNRV8yKSB7XG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0Qk5GKHJ1bGVOYW1lLCBibmYpO1xuXG4gICAgICAgIHVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIuc2V0UGF0dGVybihwYXR0ZXJuTmFtZSwgcGF0dGVybik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1c3RvbUdyYW1tYXJzID0gW1xuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxLFxuICAgICAgICAgICAgICB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ29tYmluZWRDdXN0b21HcmFtbWFyLmZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgICBub21pbmFsTGV4ZXIgPSBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgICAgICBub21pbmFsUGFyc2VyID0gbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuICAgICAgY29uc3QgcnVsZU1hcCA9IG5vbWluYWxQYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlTmFtZSA9IHRoaXMuZ2V0U3RhcnRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgc3RhcnRSdWxlID0gcnVsZU1hcFtzdGFydFJ1bGVOYW1lXSwgLy8vXG4gICAgICAgICAgICBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgICB0b2tlbnMgPSBub21pbmFsTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgICBub2RlID0gbm9taW5hbFBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgICAgIGxldCBwYXJzZVRyZWUgPSBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0UGFyc2VUcmVlKHBhcnNlVHJlZSk7XG5cbiAgICAgIGNvbnN0IG5vbWluYWxSdWxlcyA9IHJ1bGVzRnJvbVBhcnNlcihub21pbmFsUGFyc2VyKSxcbiAgICAgICAgICAgIG11bHRpTGluZSA9IHRydWUsXG4gICAgICAgICAgICBydWxlc1N0cmluZyA9IHJ1bGVzQXNTdHJpbmcobm9taW5hbFJ1bGVzLCBtdWx0aUxpbmUpLFxuICAgICAgICAgICAgbm9taW5hbEJORiA9IHJ1bGVzU3RyaW5nOyAgLy8vXG5cbiAgICAgIHRoaXMuc2V0Tm9taW5hbEJORihub21pbmFsQk5GKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuXG4gICAgICB0aGlzLmNsZWFyUGFyc2VUcmVlKCk7XG5cbiAgICAgIHRoaXMuY2xlYXJOb21pbmFsQk5GKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGxldCBjdXN0b21HcmFtbWFyO1xuXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHBhdHRlcm5OYW1lID0gdGhpcy5nZXRQYXR0ZXJuTmFtZSgpO1xuXG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlIERFRkFVTFRfQ1VTVE9NX0dSQU1NQVJfTkFNRTpcbiAgICAgICAgY3VzdG9tR3JhbW1hciA9IGRlZmF1bHRDdXN0b21HcmFtbWFyO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzE6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIxO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFVTRVJfREVGSU5FRF9DVVNUT01fR1JBTU1BUl9OQU1FXzI6XG4gICAgICAgIGN1c3RvbUdyYW1tYXIgPSB1c2VyRGVmaW5lZEN1c3RvbUdyYW1tYXIyO1xuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKHJ1bGVOYW1lKSxcbiAgICAgICAgICBwYXR0ZXJuID0gY3VzdG9tR3JhbW1hci5nZXRQYXR0ZXJuKHBhdHRlcm5OYW1lKTtcblxuICAgIHRoaXMuc2V0Qk5GKGJuZik7XG5cbiAgICB0aGlzLnNldFBhdHRlcm4ocGF0dGVybik7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IGtleVVwSGFuZGxlciA9IHRoaXMua2V5VXBIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgICAgICAgY2hhbmdlSGFuZGxlciA9IHRoaXMuY2hhbmdlSGFuZGxlci5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuIChbXG5cbiAgICAgIDxDb2x1bW5zRGl2PlxuICAgICAgICA8U2l6ZWFibGVEaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ3VzdG9tIGdyYW1tYXJcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIEJORlxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFJ1bGVOYW1lU2VsZWN0IG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPEJORlRleHRhcmVhIG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBQYXR0ZXJuXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8UGF0dGVybk5hbWVTZWxlY3Qgb25DaGFuZ2U9e2NoYW5nZUhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8UGF0dGVybklucHV0IG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBTdGFydCBydWxlXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8U3RhcnRSdWxlTmFtZUlucHV0IG9uS2V5VXA9e2tleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvU2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2IC8+XG4gICAgICAgIDxDb2x1bW5EaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgQ29udGVudFxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPENvbnRlbnRUZXh0YXJlYSBvbktleVVwPXtrZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgUGFyc2UgdHJlZVxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFBhcnNlVHJlZVRleHRhcmVhIC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgTm9taW5hbCBCTkZcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxOb21pbmFsQk5GVGV4dGFyZWEgLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgXSk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsQ29udGVudCwgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICBjb25zdCBjb250ZW50ID0gaW5pdGlhbENvbnRlbnQsIC8vL1xuICAgICAgICAgIHN0YXJ0UnVsZU5hbWUgPSBpbml0aWFsU3RhcnRSdWxlTmFtZTsgLy8vXG5cbiAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFN0YXJ0UnVsZU5hbWUoc3RhcnRSdWxlTmFtZSk7XG5cbiAgICB0aGlzLmNoYW5nZUhhbmRsZXIoKTtcblxuICAgIHRoaXMua2V5VXBIYW5kbGVyKCk7XG4gIH1cblxuICBzdGF0aWMgaW5pdGlhbFN0YXJ0UnVsZU5hbWUgPSBcIlwiO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGBSdWxlIChHcm91cHMpXG4gIENvbmNsdXNpb25cbiAgICBBXG5gO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgcGFkZGluZzogMXJlbTtcbiAgXG5gO1xuIl0sIm5hbWVzIjpbInJ1bGVzQXNTdHJpbmciLCJydWxlc1V0aWxpdGllcyIsIm5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJWaWV3Iiwia2V5VXBIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwibmFtZSIsImdldE5hbWUiLCJibmYiLCJnZXRCTkYiLCJwYXR0ZXJuIiwiZ2V0UGF0dGVybiIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJwYXR0ZXJuTmFtZSIsImdldFBhdHRlcm5OYW1lIiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMSIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjEiLCJzZXRCTkYiLCJzZXRQYXR0ZXJuIiwiVVNFUl9ERUZJTkVEX0NVU1RPTV9HUkFNTUFSX05BTUVfMiIsInVzZXJEZWZpbmVkQ3VzdG9tR3JhbW1hcjIiLCJjdXN0b21HcmFtbWFycyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21DdXN0b21HcmFtbWFycyIsIm5vbWluYWxMZXhlciIsIm5vbWluYWxQYXJzZXIiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInN0YXJ0UnVsZU5hbWUiLCJnZXRTdGFydFJ1bGVOYW1lIiwic3RhcnRSdWxlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsInBhcnNlVHJlZSIsImFzUGFyc2VUcmVlIiwic2V0UGFyc2VUcmVlIiwibm9taW5hbFJ1bGVzIiwicnVsZXNGcm9tUGFyc2VyIiwibXVsdGlMaW5lIiwicnVsZXNTdHJpbmciLCJub21pbmFsQk5GIiwic2V0Tm9taW5hbEJORiIsImVycm9yIiwiY29uc29sZSIsImxvZyIsImNsZWFyUGFyc2VUcmVlIiwiY2xlYXJOb21pbmFsQk5GIiwiY2hhbmdlSGFuZGxlciIsImN1c3RvbUdyYW1tYXIiLCJERUZBVUxUX0NVU1RPTV9HUkFNTUFSX05BTUUiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsImNoaWxkRWxlbWVudHMiLCJiaW5kIiwiQ29sdW1uc0RpdiIsIlNpemVhYmxlRGl2IiwiUm93c0RpdiIsIlN1YkhlYWRpbmciLCJOYW1lU2VsZWN0Iiwib25DaGFuZ2UiLCJSdWxlTmFtZVNlbGVjdCIsIkJORlRleHRhcmVhIiwib25LZXlVcCIsIlBhdHRlcm5OYW1lU2VsZWN0IiwiUGF0dGVybklucHV0IiwiU3RhcnRSdWxlTmFtZUlucHV0IiwiVmVydGljYWxTcGxpdHRlckRpdiIsIkNvbHVtbkRpdiIsIkNvbnRlbnRUZXh0YXJlYSIsIlBhcnNlVHJlZVRleHRhcmVhIiwiTm9taW5hbEJORlRleHRhcmVhIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJpbml0aWFsQ29udGVudCIsImluaXRpYWxTdGFydFJ1bGVOYW1lIiwic2V0Q29udGVudCIsInNldFN0YXJ0UnVsZU5hbWUiLCJFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwid2l0aFN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyTUE7OztlQUFBOzs7b0VBek1zQjtvQkFFRTs0QkFDTzswQkFDcUM7cUJBQzJCO2lFQUV4RTsyREFDQTsrREFDQzswREFDQTs4REFDQzsrREFDRTs4REFDQztrRUFDRTtnRUFDQTtvRUFDQztpRUFDQTttRUFDTzttRUFDQTtxQkFFTjs0QkFDb0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEgsSUFBTSxBQUFFQSxnQkFBa0JDLDRCQUFjLENBQWhDRCxlQUNGLEFBQUVFLHdDQUEwQ0Msc0JBQWUsQ0FBekRELHVDQUNGLEFBQUVFLHlDQUEyQ0MsdUJB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
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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
package/lib/index.js CHANGED
@@ -27,16 +27,16 @@ _export(exports, {
27
27
  get parsersUtilities () {
28
28
  return _parsers.default;
29
29
  },
30
- get patternNames () {
31
- return _patternNames.default;
32
- },
33
30
  get ruleNames () {
34
31
  return _ruleNames.default;
32
+ },
33
+ get vocabularyNames () {
34
+ return _vocabularyNames.default;
35
35
  }
36
36
  });
37
37
  var _grammarNames = require("./grammarNames");
38
38
  var _ruleNames = /*#__PURE__*/ _interop_require_default(require("./ruleNames"));
39
- var _patternNames = /*#__PURE__*/ _interop_require_default(require("./patternNames"));
39
+ var _vocabularyNames = /*#__PURE__*/ _interop_require_default(require("./vocabularyNames"));
40
40
  var _customGrammar = /*#__PURE__*/ _interop_require_default(require("./customGrammar"));
41
41
  var _lexers = /*#__PURE__*/ _interop_require_default(require("./utilities/lexers"));
42
42
  var _parsers = /*#__PURE__*/ _interop_require_default(require("./utilities/parsers"));
@@ -48,4 +48,4 @@ function _interop_require_default(obj) {
48
48
  };
49
49
  }
50
50
 
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgREVGQVVMVF9DVVNUT01fR1JBTU1BUl9OQU1FIH0gZnJvbSBcIi4vZ3JhbW1hck5hbWVzXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgcnVsZU5hbWVzIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhdHRlcm5OYW1lcyB9IGZyb20gXCIuL3BhdHRlcm5OYW1lc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGxleGVyc1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9sZXhlcnNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXJzZXJzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRlZmF1bHRDdXN0b21HcmFtbWFyIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hci9kZWZhdWx0XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbWJpbmVkQ3VzdG9tR3JhbW1hciB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXIvY29tYmluZWRcIjtcbiJdLCJuYW1lcyI6WyJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJDdXN0b21HcmFtbWFyIiwiREVGQVVMVF9DVVNUT01fR1JBTU1BUl9OQU1FIiwiZGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJwYXJzZXJzVXRpbGl0aWVzIiwicGF0dGVybk5hbWVzIiwicnVsZU5hbWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFXb0JBO2VBQUFBLGlCQUFxQjs7UUFKckJDO2VBQUFBLHNCQUFhOztRQUx4QkM7ZUFBQUEseUNBQTJCOztRQVFoQkM7ZUFBQUEsZ0JBQW9COztRQUZwQkM7ZUFBQUEsZUFBZTs7UUFDZkM7ZUFBQUEsZ0JBQWdCOztRQUpoQkM7ZUFBQUEscUJBQVk7O1FBRFpDO2VBQUFBLGtCQUFTOzs7NEJBRmU7Z0VBRVA7bUVBQ0c7b0VBRUM7NkRBQ0U7OERBQ0M7OERBQ0k7K0RBQ0MifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgREVGQVVMVF9DVVNUT01fR1JBTU1BUl9OQU1FIH0gZnJvbSBcIi4vZ3JhbW1hck5hbWVzXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgcnVsZU5hbWVzIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHZvY2FidWxhcnlOYW1lcyB9IGZyb20gXCIuL3ZvY2FidWxhcnlOYW1lc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGxleGVyc1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9sZXhlcnNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXJzZXJzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRlZmF1bHRDdXN0b21HcmFtbWFyIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hci9kZWZhdWx0XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbWJpbmVkQ3VzdG9tR3JhbW1hciB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXIvY29tYmluZWRcIjtcbiJdLCJuYW1lcyI6WyJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJDdXN0b21HcmFtbWFyIiwiREVGQVVMVF9DVVNUT01fR1JBTU1BUl9OQU1FIiwiZGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJwYXJzZXJzVXRpbGl0aWVzIiwicnVsZU5hbWVzIiwidm9jYWJ1bGFyeU5hbWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFXb0JBO2VBQUFBLGlCQUFxQjs7UUFKckJDO2VBQUFBLHNCQUFhOztRQUx4QkM7ZUFBQUEseUNBQTJCOztRQVFoQkM7ZUFBQUEsZ0JBQW9COztRQUZwQkM7ZUFBQUEsZUFBZTs7UUFDZkM7ZUFBQUEsZ0JBQWdCOztRQUxoQkM7ZUFBQUEsa0JBQVM7O1FBQ1RDO2VBQUFBLHdCQUFlOzs7NEJBSFM7Z0VBRVA7c0VBQ007b0VBRUY7NkRBQ0U7OERBQ0M7OERBQ0k7K0RBQ0MifQ==
@@ -0,0 +1,45 @@
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 _default;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _nominal = require("./utilities/nominal");
13
+ var _ruleNames = require("./ruleNames");
14
+ var _constants = require("./constants");
15
+ function _define_property(obj, key, value) {
16
+ if (key in obj) {
17
+ Object.defineProperty(obj, key, {
18
+ value: value,
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true
22
+ });
23
+ } else {
24
+ obj[key] = value;
25
+ }
26
+ return obj;
27
+ }
28
+ var first = _necessary.arrayUtilities.first;
29
+ var _obj;
30
+ var ruleMap = _nominal.nominalParser.getRuleMap(), stuffRule = ruleMap[_constants.STUFF_RULE_NAME], nonsenseRule = ruleMap[_constants.NONSENSE_RULE_NAME], stuffTypes = typesFromRule(stuffRule), nonsenseTypes = typesFromRule(nonsenseRule), termTypes = stuffTypes, statementTypes = nonsenseTypes, typesMap = (_obj = {}, _define_property(_obj, _ruleNames.TERM_RULE_NAME, termTypes), _define_property(_obj, _ruleNames.STATEMENT_RULE_NAME, statementTypes), _obj);
31
+ var _default = typesMap;
32
+ function typesFromRule(rule) {
33
+ var parts;
34
+ var definitions = rule.getDefinitions(), firstDDefinition = first(definitions), definition = firstDDefinition; ///
35
+ parts = definition.getParts();
36
+ var firstPart = first(parts), oneOrMorePartsPart = firstPart, part = oneOrMorePartsPart.getPart(), choiceOrPartsPart = part; ///
37
+ parts = choiceOrPartsPart.getParts();
38
+ var types = parts.map(function(part) {
39
+ var significantTokenTypePart = part, significantTokenType = significantTokenTypePart.getSignificantTokenType(), type = significantTokenType; ///
40
+ return type;
41
+ });
42
+ return types;
43
+ }
44
+
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlc01hcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IG5vbWluYWxQYXJzZXIgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9taW5hbFwiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IFNUVUZGX1JVTEVfTkFNRSwgTk9OU0VOU0VfUlVMRV9OQU1FIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5jb25zdCBydWxlTWFwID0gbm9taW5hbFBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICBzdHVmZlJ1bGUgPSBydWxlTWFwW1NUVUZGX1JVTEVfTkFNRV0sXG4gICAgICBub25zZW5zZVJ1bGUgPSBydWxlTWFwW05PTlNFTlNFX1JVTEVfTkFNRV0sXG4gICAgICBzdHVmZlR5cGVzID0gdHlwZXNGcm9tUnVsZShzdHVmZlJ1bGUpLFxuICAgICAgbm9uc2Vuc2VUeXBlcyA9IHR5cGVzRnJvbVJ1bGUobm9uc2Vuc2VSdWxlKSxcbiAgICAgIHRlcm1UeXBlcyA9IHN0dWZmVHlwZXMsIC8vL1xuICAgICAgc3RhdGVtZW50VHlwZXMgPSBub25zZW5zZVR5cGVzLFxuICAgICAgdHlwZXNNYXAgPSB7XG4gICAgICAgIFtURVJNX1JVTEVfTkFNRV06IHRlcm1UeXBlcyxcbiAgICAgICAgW1NUQVRFTUVOVF9SVUxFX05BTUVdOiBzdGF0ZW1lbnRUeXBlc1xuICAgICAgfTtcblxuZXhwb3J0IGRlZmF1bHQgdHlwZXNNYXA7XG5cbmZ1bmN0aW9uIHR5cGVzRnJvbVJ1bGUocnVsZSkge1xuICBsZXQgcGFydHM7XG5cbiAgY29uc3QgZGVmaW5pdGlvbnMgPSBydWxlLmdldERlZmluaXRpb25zKCksXG4gICAgICAgIGZpcnN0RERlZmluaXRpb24gPSBmaXJzdChkZWZpbml0aW9ucyksXG4gICAgICAgIGRlZmluaXRpb24gPSBmaXJzdEREZWZpbml0aW9uOyAgLy8vXG5cbiAgcGFydHMgPSBkZWZpbml0aW9uLmdldFBhcnRzKCk7XG5cbiAgY29uc3QgZmlyc3RQYXJ0ID0gZmlyc3QocGFydHMpLFxuICAgICAgICBvbmVPck1vcmVQYXJ0c1BhcnQgPSBmaXJzdFBhcnQsIC8vL1xuICAgICAgICBwYXJ0ID0gb25lT3JNb3JlUGFydHNQYXJ0LmdldFBhcnQoKSxcbiAgICAgICAgY2hvaWNlT3JQYXJ0c1BhcnQgPSBwYXJ0OyAvLy9cblxuICBwYXJ0cyA9IGNob2ljZU9yUGFydHNQYXJ0LmdldFBhcnRzKCk7XG5cbiAgY29uc3QgdHlwZXMgPSBwYXJ0cy5tYXAoKHBhcnQpID0+IHtcbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuVHlwZVBhcnQgPSBwYXJ0LCAgLy8vXG4gICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGUgPSBzaWduaWZpY2FudFRva2VuVHlwZVBhcnQuZ2V0U2lnbmlmaWNhbnRUb2tlblR5cGUoKSxcbiAgICAgICAgICB0eXBlID0gc2lnbmlmaWNhbnRUb2tlblR5cGU7ICAvLy9cblxuICAgIHJldHVybiB0eXBlO1xuICB9KTtcblxuICByZXR1cm4gdHlwZXM7XG59XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInJ1bGVNYXAiLCJub21pbmFsUGFyc2VyIiwiZ2V0UnVsZU1hcCIsInN0dWZmUnVsZSIsIlNUVUZGX1JVTEVfTkFNRSIsIm5vbnNlbnNlUnVsZSIsIk5PTlNFTlNFX1JVTEVfTkFNRSIsInN0dWZmVHlwZXMiLCJ0eXBlc0Zyb21SdWxlIiwibm9uc2Vuc2VUeXBlcyIsInRlcm1UeXBlcyIsInN0YXRlbWVudFR5cGVzIiwidHlwZXNNYXAiLCJURVJNX1JVTEVfTkFNRSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJydWxlIiwicGFydHMiLCJkZWZpbml0aW9ucyIsImdldERlZmluaXRpb25zIiwiZmlyc3RERGVmaW5pdGlvbiIsImRlZmluaXRpb24iLCJnZXRQYXJ0cyIsImZpcnN0UGFydCIsIm9uZU9yTW9yZVBhcnRzUGFydCIsInBhcnQiLCJnZXRQYXJ0IiwiY2hvaWNlT3JQYXJ0c1BhcnQiLCJ0eXBlcyIsIm1hcCIsInNpZ25pZmljYW50VG9rZW5UeXBlUGFydCIsInNpZ25pZmljYW50VG9rZW5UeXBlIiwiZ2V0U2lnbmlmaWNhbnRUb2tlblR5cGUiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzQkE7OztlQUFBOzs7eUJBcEIrQjt1QkFFRDt5QkFDc0I7eUJBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRXBELElBQU0sQUFBRUEsUUFBVUMseUJBQWMsQ0FBeEJEO0lBU1M7QUFQakIsSUFBTUUsVUFBVUMsc0JBQWEsQ0FBQ0MsVUFBVSxJQUNsQ0MsWUFBWUgsT0FBTyxDQUFDSSwwQkFBZSxDQUFDLEVBQ3BDQyxlQUFlTCxPQUFPLENBQUNNLDZCQUFrQixDQUFDLEVBQzFDQyxhQUFhQyxjQUFjTCxZQUMzQk0sZ0JBQWdCRCxjQUFjSCxlQUM5QkssWUFBWUgsWUFDWkksaUJBQWlCRixlQUNqQkcsWUFBVyxXQUNULGlCQURTLE1BQ1JDLHlCQUFjLEVBQUdILFlBQ2xCLGlCQUZTLE1BRVJJLDhCQUFtQixFQUFHSCxpQkFGZDtJQUtqQixXQUFlQztBQUVmLFNBQVNKLGNBQWNPLElBQUk7SUFDekIsSUFBSUM7SUFFSixJQUFNQyxjQUFjRixLQUFLRyxjQUFjLElBQ2pDQyxtQkFBbUJyQixNQUFNbUIsY0FDekJHLGFBQWFELGtCQUFtQixHQUFHO0lBRXpDSCxRQUFRSSxXQUFXQyxRQUFRO0lBRTNCLElBQU1DLFlBQVl4QixNQUFNa0IsUUFDbEJPLHFCQUFxQkQsV0FDckJFLE9BQU9ELG1CQUFtQkUsT0FBTyxJQUNqQ0Msb0JBQW9CRixNQUFNLEdBQUc7SUFFbkNSLFFBQVFVLGtCQUFrQkwsUUFBUTtJQUVsQyxJQUFNTSxRQUFRWCxNQUFNWSxHQUFHLENBQUMsU0FBQ0o7UUFDdkIsSUFBTUssMkJBQTJCTCxNQUMzQk0sdUJBQXVCRCx5QkFBeUJFLHVCQUF1QixJQUN2RUMsT0FBT0Ysc0JBQXVCLEdBQUc7UUFFdkMsT0FBT0U7SUFDVDtJQUVBLE9BQU9MO0FBQ1QifQ==
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "validateBNF", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return validateBNF;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _typesMap = /*#__PURE__*/ _interop_require_default(require("../typesMap"));
13
+ var _query = require("../utilities/query");
14
+ var _nominal = require("../utilities/nominal");
15
+ var _constants = require("../constants");
16
+ var _grammar = require("../utilities/grammar");
17
+ function _interop_require_default(obj) {
18
+ return obj && obj.__esModule ? obj : {
19
+ default: obj
20
+ };
21
+ }
22
+ var first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second;
23
+ var stringLiteralTerminalNodesQuery = (0, _query.nodesQuery)("//stringLiteral/@*!"), significantTokenTypeTerminalNodesQuery = (0, _query.nodesQuery)("//significantTokenType/@*!");
24
+ function validateBNF(bnf, ruleName) {
25
+ if (bnf === null || bnf === _constants.EMPTY_STRING) {
26
+ return;
27
+ }
28
+ var content = bnf, tokens = _grammar.customGrammarBNFLexer.tokenise(content), node = _grammar.customGrammarBNFParser.parse(tokens);
29
+ var types = _typesMap.default[ruleName], significantTokenTypeTerminalNodes = significantTokenTypeTerminalNodesQuery(node);
30
+ significantTokenTypeTerminalNodes.forEach(function(significantTokenTypeTerminalNode) {
31
+ var type = typeFromSignificantTokenTypeTerminalNode(significantTokenTypeTerminalNode), typesIncludeType = types.includes(type);
32
+ if (!typesIncludeType) {
33
+ throw new Error("The '".concat(type, "' type is not included in the '").concat(ruleName, "' rule's types."));
34
+ }
35
+ });
36
+ var stringLiteralTerminalNodes = stringLiteralTerminalNodesQuery(node);
37
+ stringLiteralTerminalNodes.forEach(function(stringLiteralTerminalNode) {
38
+ var content = contentFromStringLiteralTerminalNode(stringLiteralTerminalNode);
39
+ if (content === _constants.UNDERSCORE_CHARACTER) {
40
+ throw new Error('The "'.concat(content, '" string literal cannot be an underscore.'));
41
+ }
42
+ var tokens = _nominal.nominalLexer.tokenise(content), tokensLength = tokens.length;
43
+ if (tokensLength !== 1) {
44
+ throw new Error('Tokenising the "'.concat(content, '" string literal does not result in a single token.'));
45
+ }
46
+ var firstToken = first(tokens), token = firstToken, type = token.getType(), typesIncludeType = types.includes(type);
47
+ if (!typesIncludeType) {
48
+ throw new Error('The "'.concat(content, "\" string literal's token's '").concat(type, "' type is not included in the '").concat(ruleName, "' rule's types."));
49
+ }
50
+ });
51
+ }
52
+ function contentFromStringLiteralTerminalNode(stringLiteralTerminalNode) {
53
+ var content;
54
+ content = stringLiteralTerminalNode.getContent();
55
+ var matches = content.match(/"([^"]+)"/), secondMatch = second(matches);
56
+ content = secondMatch; ///
57
+ return content;
58
+ }
59
+ function typeFromSignificantTokenTypeTerminalNode(significantTokenTypeTerminalNode) {
60
+ var type;
61
+ var content = significantTokenTypeTerminalNode.getContent(), matches = content.match(/\[([^\]]+)\]/), secondMatch = second(matches);
62
+ type = secondMatch; ///
63
+ return type;
64
+ }
65
+
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHR5cGVzTWFwIGZyb20gXCIuLi90eXBlc01hcFwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9taW5hbExleGVyIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ub21pbmFsXCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFVOREVSU0NPUkVfQ0hBUkFDVEVSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY3VzdG9tR3JhbW1hckJORkxleGVyLCBjdXN0b21HcmFtbWFyQk5GUGFyc2VyIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ncmFtbWFyXCI7XG5cbmNvbnN0IHsgZmlyc3QsIHNlY29uZCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiLy9zdHJpbmdMaXRlcmFsL0AqIVwiKSxcbiAgICAgIHNpZ25pZmljYW50VG9rZW5UeXBlVGVybWluYWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi8vc2lnbmlmaWNhbnRUb2tlblR5cGUvQCohXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVCTkYoYm5mLCBydWxlTmFtZSkge1xuICBpZiAoKGJuZiA9PT0gbnVsbCkgfHwgKGJuZiA9PT0gRU1QVFlfU1RSSU5HKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNvbnRlbnQgPSBibmYsXG4gICAgICAgIHRva2VucyA9IGN1c3RvbUdyYW1tYXJCTkZMZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgbm9kZSA9IGN1c3RvbUdyYW1tYXJCTkZQYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICBjb25zdCB0eXBlcyA9IHR5cGVzTWFwW3J1bGVOYW1lXSxcbiAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzID0gc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzUXVlcnkobm9kZSk7XG5cbiAgc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGVzLmZvckVhY2goKHNpZ25pZmljYW50VG9rZW5UeXBlVGVybWluYWxOb2RlKSA9PiB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVGcm9tU2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUoc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUpLFxuICAgICAgICAgIHR5cGVzSW5jbHVkZVR5cGUgPSB0eXBlcy5pbmNsdWRlcyh0eXBlKTtcblxuICAgIGlmICghdHlwZXNJbmNsdWRlVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgJyR7dHlwZX0nIHR5cGUgaXMgbm90IGluY2x1ZGVkIGluIHRoZSAnJHtydWxlTmFtZX0nIHJ1bGUncyB0eXBlcy5gKVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3Qgc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXMgPSBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2Rlc1F1ZXJ5KG5vZGUpO1xuXG4gIHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzLmZvckVhY2goKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpO1xuXG4gICAgaWYgKGNvbnRlbnQgPT09IFVOREVSU0NPUkVfQ0hBUkFDVEVSKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBcIiR7Y29udGVudH1cIiBzdHJpbmcgbGl0ZXJhbCBjYW5ub3QgYmUgYW4gdW5kZXJzY29yZS5gKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbnMgPSBub21pbmFsTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgdG9rZW5zTGVuZ3RoID0gdG9rZW5zLmxlbmd0aDtcblxuICAgIGlmICh0b2tlbnNMZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVG9rZW5pc2luZyB0aGUgXCIke2NvbnRlbnR9XCIgc3RyaW5nIGxpdGVyYWwgZG9lcyBub3QgcmVzdWx0IGluIGEgc2luZ2xlIHRva2VuLmApO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0VG9rZW4gPSBmaXJzdCh0b2tlbnMpLFxuICAgICAgICAgIHRva2VuID0gZmlyc3RUb2tlbiwgLy8vXG4gICAgICAgICAgdHlwZSA9IHRva2VuLmdldFR5cGUoKSxcbiAgICAgICAgICB0eXBlc0luY2x1ZGVUeXBlID0gdHlwZXMuaW5jbHVkZXModHlwZSk7XG5cbiAgICBpZiAoIXR5cGVzSW5jbHVkZVR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIFwiJHtjb250ZW50fVwiIHN0cmluZyBsaXRlcmFsJ3MgdG9rZW4ncyAnJHt0eXBlfScgdHlwZSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlICcke3J1bGVOYW1lfScgcnVsZSdzIHR5cGVzLmApXG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gY29udGVudEZyb21TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUpIHtcbiAgbGV0IGNvbnRlbnQ7XG5cbiAgY29udGVudCA9IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gIGNvbnN0IG1hdGNoZXMgPSBjb250ZW50Lm1hdGNoKC9cIihbXlwiXSspXCIvKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyk7XG5cbiAgY29udGVudCA9IHNlY29uZE1hdGNoOyAvLy9cblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZnVuY3Rpb24gdHlwZUZyb21TaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZShzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZSkge1xuICBsZXQgdHlwZTtcblxuICBjb25zdCBjb250ZW50ID0gc2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBtYXRjaGVzID0gY29udGVudC5tYXRjaCgvXFxbKFteXFxdXSspXFxdLyksXG4gICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpO1xuXG4gIHR5cGUgPSBzZWNvbmRNYXRjaDsgLy8vXG5cbiAgcmV0dXJuIHR5cGU7XG59XG4iXSwibmFtZXMiOlsidmFsaWRhdGVCTkYiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwic2Vjb25kIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZXNRdWVyeSIsImJuZiIsInJ1bGVOYW1lIiwiRU1QVFlfU1RSSU5HIiwiY29udGVudCIsInRva2VucyIsImN1c3RvbUdyYW1tYXJCTkZMZXhlciIsInRva2VuaXNlIiwibm9kZSIsImN1c3RvbUdyYW1tYXJCTkZQYXJzZXIiLCJwYXJzZSIsInR5cGVzIiwidHlwZXNNYXAiLCJzaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZXMiLCJmb3JFYWNoIiwic2lnbmlmaWNhbnRUb2tlblR5cGVUZXJtaW5hbE5vZGUiLCJ0eXBlIiwidHlwZUZyb21TaWduaWZpY2FudFRva2VuVHlwZVRlcm1pbmFsTm9kZSIsInR5cGVzSW5jbHVkZVR5cGUiLCJpbmNsdWRlcyIsIkVycm9yIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXMiLCJzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlIiwiY29udGVudEZyb21TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlIiwiVU5ERVJTQ09SRV9DSEFSQUNURVIiLCJub21pbmFsTGV4ZXIiLCJ0b2tlbnNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdFRva2VuIiwidG9rZW4iLCJnZXRUeXBlIiwiZ2V0Q29udGVudCIsIm1hdGNoZXMiLCJtYXRjaCIsInNlY29uZE1hdGNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQmdCQTs7O2VBQUFBOzs7eUJBZGU7K0RBRVY7cUJBRU07dUJBQ0U7eUJBQ3NCO3VCQUNXOzs7Ozs7QUFFOUQsSUFBUUMsUUFBa0JDLHlCQUFjLENBQWhDRCxPQUFPRSxTQUFXRCx5QkFBYyxDQUF6QkM7QUFFZixJQUFNQyxrQ0FBa0NDLElBQUFBLGlCQUFVLEVBQUMsd0JBQzdDQyx5Q0FBeUNELElBQUFBLGlCQUFVLEVBQUM7QUFFbkQsU0FBU0wsWUFBWU8sR0FBRyxFQUFFQyxRQUFRO0lBQ3ZDLElBQUksQUFBQ0QsUUFBUSxRQUFVQSxRQUFRRSx1QkFBWSxFQUFHO1FBQzVDO0lBQ0Y7SUFFQSxJQUFNQyxVQUFVSCxLQUNWSSxTQUFTQyw4QkFBcUIsQ0FBQ0MsUUFBUSxDQUFDSCxVQUN4Q0ksT0FBT0MsK0JBQXNCLENBQUNDLEtBQUssQ0FBQ0w7SUFFMUMsSUFBTU0sUUFBUUMsaUJBQVEsQ0FBQ1YsU0FBUyxFQUMxQlcsb0NBQW9DYix1Q0FBdUNRO0lBRWpGSyxrQ0FBa0NDLE9BQU8sQ0FBQyxTQUFDQztRQUN6QyxJQUFNQyxPQUFPQyx5Q0FBeUNGLG1DQUNoREcsbUJBQW1CUCxNQUFNUSxRQUFRLENBQUNIO1FBRXhDLElBQUksQ0FBQ0Usa0JBQWtCO1lBQ3JCLE1BQU0sSUFBSUUsTUFBTSxBQUFDLFFBQTZDbEIsT0FBdENjLE1BQUssbUNBQTBDLE9BQVRkLFVBQVM7UUFDekU7SUFDRjtJQUVBLElBQU1tQiw2QkFBNkJ2QixnQ0FBZ0NVO0lBRW5FYSwyQkFBMkJQLE9BQU8sQ0FBQyxTQUFDUTtRQUNsQyxJQUFNbEIsVUFBVW1CLHFDQUFxQ0Q7UUFFckQsSUFBSWxCLFlBQVlvQiwrQkFBb0IsRUFBRTtZQUNwQyxNQUFNLElBQUlKLE1BQU0sQUFBQyxRQUFlLE9BQVJoQixTQUFRO1FBQ2xDO1FBRUEsSUFBTUMsU0FBU29CLHFCQUFZLENBQUNsQixRQUFRLENBQUNILFVBQy9Cc0IsZUFBZXJCLE9BQU9zQixNQUFNO1FBRWxDLElBQUlELGlCQUFpQixHQUFHO1lBQ3RCLE1BQU0sSUFBSU4sTUFBTSxBQUFDLG1CQUEwQixPQUFSaEIsU0FBUTtRQUM3QztRQUVBLElBQU13QixhQUFhakMsTUFBTVUsU0FDbkJ3QixRQUFRRCxZQUNSWixPQUFPYSxNQUFNQyxPQUFPLElBQ3BCWixtQkFBbUJQLE1BQU1RLFFBQVEsQ0FBQ0g7UUFFeEMsSUFBSSxDQUFDRSxrQkFBa0I7WUFDckIsTUFBTSxJQUFJRSxNQUFNLEFBQUMsUUFBNkNKLE9BQXRDWixTQUFRLGlDQUFvRUYsT0FBdENjLE1BQUssbUNBQTBDLE9BQVRkLFVBQVM7UUFDL0c7SUFDRjtBQUNGO0FBRUEsU0FBU3FCLHFDQUFxQ0QseUJBQXlCO0lBQ3JFLElBQUlsQjtJQUVKQSxVQUFVa0IsMEJBQTBCUyxVQUFVO0lBRTlDLElBQU1DLFVBQVU1QixRQUFRNkIsS0FBSyxDQUFDLGNBQ3hCQyxjQUFjckMsT0FBT21DO0lBRTNCNUIsVUFBVThCLGFBQWEsR0FBRztJQUUxQixPQUFPOUI7QUFDVDtBQUVBLFNBQVNhLHlDQUF5Q0YsZ0NBQWdDO0lBQ2hGLElBQUlDO0lBRUosSUFBTVosVUFBVVcsaUNBQWlDZ0IsVUFBVSxJQUNyREMsVUFBVTVCLFFBQVE2QixLQUFLLENBQUMsaUJBQ3hCQyxjQUFjckMsT0FBT21DO0lBRTNCaEIsT0FBT2tCLGFBQWEsR0FBRztJQUV2QixPQUFPbEI7QUFDVCJ9
@@ -0,0 +1,31 @@
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 customGrammarBNFLexer () {
13
+ return customGrammarBNFLexer;
14
+ },
15
+ get customGrammarBNFParser () {
16
+ return customGrammarBNFParser;
17
+ },
18
+ get customGrammarVocabularyLexer () {
19
+ return customGrammarVocabularyLexer;
20
+ },
21
+ get customGrammarVocabularyParser () {
22
+ return customGrammarVocabularyParser;
23
+ }
24
+ });
25
+ var _occamgrammars = require("occam-grammars");
26
+ var customGrammarBNFLexer = _occamgrammars.CustomGrammarBNFLexer.fromNothing();
27
+ var customGrammarBNFParser = _occamgrammars.CustomGrammarBNFParser.fromNothing();
28
+ var customGrammarVocabularyLexer = _occamgrammars.CustomGrammarVocabularyLexer.fromNothing();
29
+ var customGrammarVocabularyParser = _occamgrammars.CustomGrammarVocabularyParser.fromNothing();
30
+
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ3JhbW1hci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ3VzdG9tR3JhbW1hckJORkxleGVyLCBDdXN0b21HcmFtbWFyQk5GUGFyc2VyIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5pbXBvcnQgeyBDdXN0b21HcmFtbWFyVm9jYWJ1bGFyeUxleGVyLCBDdXN0b21HcmFtbWFyVm9jYWJ1bGFyeVBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5leHBvcnQgY29uc3QgY3VzdG9tR3JhbW1hckJORkxleGVyID0gQ3VzdG9tR3JhbW1hckJORkxleGVyLmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBjb25zdCBjdXN0b21HcmFtbWFyQk5GUGFyc2VyID0gQ3VzdG9tR3JhbW1hckJORlBhcnNlci5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgY3VzdG9tR3JhbW1hclZvY2FidWxhcnlMZXhlciA9IEN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5TGV4ZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGNvbnN0IGN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5UGFyc2VyID0gQ3VzdG9tR3JhbW1hclZvY2FidWxhcnlQYXJzZXIuZnJvbU5vdGhpbmcoKTtcbiJdLCJuYW1lcyI6WyJjdXN0b21HcmFtbWFyQk5GTGV4ZXIiLCJjdXN0b21HcmFtbWFyQk5GUGFyc2VyIiwiY3VzdG9tR3JhbW1hclZvY2FidWxhcnlMZXhlciIsImN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5UGFyc2VyIiwiQ3VzdG9tR3JhbW1hckJORkxleGVyIiwiZnJvbU5vdGhpbmciLCJDdXN0b21HcmFtbWFyQk5GUGFyc2VyIiwiQ3VzdG9tR3JhbW1hclZvY2FidWxhcnlMZXhlciIsIkN1c3RvbUdyYW1tYXJWb2NhYnVsYXJ5UGFyc2VyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFLYUE7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFFQUM7ZUFBQUE7Ozs2QkFUaUQ7QUFHdkQsSUFBTUgsd0JBQXdCSSxvQ0FBcUIsQ0FBQ0MsV0FBVztBQUUvRCxJQUFNSix5QkFBeUJLLHFDQUFzQixDQUFDRCxXQUFXO0FBRWpFLElBQU1ILCtCQUErQkssMkNBQTRCLENBQUNGLFdBQVc7QUFFN0UsSUFBTUYsZ0NBQWdDSyw0Q0FBNkIsQ0FBQ0gsV0FBVyJ9
@@ -0,0 +1,25 @@
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 nominalLexer () {
13
+ return nominalLexer;
14
+ },
15
+ get nominalParser () {
16
+ return nominalParser;
17
+ }
18
+ });
19
+ var _occamlexers = require("occam-lexers");
20
+ var _occamparsers = require("occam-parsers");
21
+ var _occamgrammars = require("occam-grammars");
22
+ var nominalLexer = _occamlexers.CommonLexer.fromNothing(_occamgrammars.NominalLexer);
23
+ var nominalParser = _occamparsers.CommonParser.fromNothing(_occamgrammars.NominalParser);
24
+
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9taW5hbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uTGV4ZXIgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5pbXBvcnQgeyBDb21tb25QYXJzZXIgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuaW1wb3J0IHsgTm9taW5hbExleGVyLCBOb21pbmFsUGFyc2VyIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5cbmV4cG9ydCBjb25zdCBub21pbmFsTGV4ZXIgPSBDb21tb25MZXhlci5mcm9tTm90aGluZyhOb21pbmFsTGV4ZXIpO1xuXG5leHBvcnQgY29uc3Qgbm9taW5hbFBhcnNlciA9IENvbW1vblBhcnNlci5mcm9tTm90aGluZyhOb21pbmFsUGFyc2VyKTtcbiJdLCJuYW1lcyI6WyJub21pbmFsTGV4ZXIiLCJub21pbmFsUGFyc2VyIiwiQ29tbW9uTGV4ZXIiLCJmcm9tTm90aGluZyIsIk5vbWluYWxMZXhlciIsIkNvbW1vblBhcnNlciIsIk5vbWluYWxQYXJzZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQU1hQTtlQUFBQTs7UUFFQUM7ZUFBQUE7OzsyQkFOZTs0QkFDQzs2QkFDZTtBQUVyQyxJQUFNRCxlQUFlRSx3QkFBVyxDQUFDQyxXQUFXLENBQUNDLDJCQUFZO0FBRXpELElBQU1ILGdCQUFnQkksMEJBQVksQ0FBQ0YsV0FBVyxDQUFDRyw0QkFBYSJ9
@@ -0,0 +1,36 @@
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 nodeQuery () {
13
+ return nodeQuery;
14
+ },
15
+ get nodesQuery () {
16
+ return nodesQuery;
17
+ }
18
+ });
19
+ var _occamquery = require("occam-query");
20
+ function nodeQuery(expressionString) {
21
+ var query = _occamquery.Query.fromExpressionString(expressionString);
22
+ return function(node) {
23
+ var nodes = query.execute(node);
24
+ node = nodes.shift() || null; ///
25
+ return node;
26
+ };
27
+ }
28
+ function nodesQuery(expressionString) {
29
+ var query = _occamquery.Query.fromExpressionString(expressionString);
30
+ return function(node) {
31
+ var nodes = query.execute(node);
32
+ return nodes;
33
+ };
34
+ }
35
+
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlUXVlcnkoZXhwcmVzc2lvblN0cmluZykge1xuICBjb25zdCBxdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKGV4cHJlc3Npb25TdHJpbmcpO1xuXG4gIHJldHVybiBmdW5jdGlvbihub2RlKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gICAgbm9kZSA9IG5vZGVzLnNoaWZ0KCkgfHwgbnVsbDsgLy8vXG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzUXVlcnkoZXhwcmVzc2lvblN0cmluZykge1xuICBjb25zdCBxdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKGV4cHJlc3Npb25TdHJpbmcpO1xuXG4gIHJldHVybiBmdW5jdGlvbihub2RlKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9O1xufVxuIl0sIm5hbWVzIjpbIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJleHByZXNzaW9uU3RyaW5nIiwicXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwibm9kZSIsIm5vZGVzIiwiZXhlY3V0ZSIsInNoaWZ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFJZ0JBO2VBQUFBOztRQVlBQztlQUFBQTs7OzBCQWRNO0FBRWYsU0FBU0QsVUFBVUUsZ0JBQWdCO0lBQ3hDLElBQU1DLFFBQVFDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDSDtJQUV6QyxPQUFPLFNBQVNJLElBQUk7UUFDbEIsSUFBTUMsUUFBUUosTUFBTUssT0FBTyxDQUFDRjtRQUU1QkEsT0FBT0MsTUFBTUUsS0FBSyxNQUFNLE1BQU0sR0FBRztRQUVqQyxPQUFPSDtJQUNUO0FBQ0Y7QUFFTyxTQUFTTCxXQUFXQyxnQkFBZ0I7SUFDekMsSUFBTUMsUUFBUUMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUNIO0lBRXpDLE9BQU8sU0FBU0ksSUFBSTtRQUNsQixJQUFNQyxRQUFRSixNQUFNSyxPQUFPLENBQUNGO1FBRTVCLE9BQU9DO0lBQ1Q7QUFDRiJ9