occam-parsers 23.0.146 → 23.0.147

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 (122) hide show
  1. package/example.js +4802 -4326
  2. package/lib/bnf/parser.js +4 -1
  3. package/lib/common/parser.js +17 -1
  4. package/lib/definition/choiceOfParts.js +2 -3
  5. package/lib/definition/definition.js +6 -2
  6. package/lib/definition/definitions.js +2 -2
  7. package/lib/definition/document.js +6 -2
  8. package/lib/definition/partChoice.js +6 -2
  9. package/lib/definition/partRule/nonTerminal/ruleName.js +6 -2
  10. package/lib/definition/partRule/nonTerminal.js +6 -2
  11. package/lib/definition/partRule/terminal.js +6 -2
  12. package/lib/definition/rule.js +9 -2
  13. package/lib/definition/sequenceOfParts.js +2 -2
  14. package/lib/mixins/parser.js +2 -2
  15. package/lib/node/bnf/choiceOfParts.js +2 -2
  16. package/lib/node/bnf/definition.js +7 -2
  17. package/lib/node/bnf/definitions.js +2 -2
  18. package/lib/node/bnf/document.js +2 -2
  19. package/lib/node/bnf/{part/nonTerminal.js → nonTerminalPart.js} +5 -5
  20. package/lib/node/bnf/oneOneOrMoreQuantifier.js +107 -0
  21. package/lib/node/bnf/optionalQuantifier.js +107 -0
  22. package/lib/node/bnf/part.js +4 -4
  23. package/lib/node/bnf/partChoice.js +7 -2
  24. package/lib/node/bnf/rule.js +3 -3
  25. package/lib/node/bnf/sequenceOfParts.js +2 -2
  26. package/lib/node/bnf/{part/terminal.js → terminalPart.js} +2 -2
  27. package/lib/node/bnf/zeroOneOrMoreQuantifier.js +107 -0
  28. package/lib/node/nonTerminal.js +2 -2
  29. package/lib/nonTerminalNodeMap.js +62 -0
  30. package/lib/rule/bnf/callAheadModifier.js +3 -4
  31. package/lib/rule/bnf/choiceOfParts.js +4 -5
  32. package/lib/rule/bnf/definition.js +4 -5
  33. package/lib/rule/bnf/definitions.js +4 -5
  34. package/lib/rule/bnf/document.js +4 -5
  35. package/lib/rule/bnf/endOfLine.js +3 -4
  36. package/lib/rule/bnf/epsilon.js +3 -4
  37. package/lib/rule/bnf/error.js +4 -5
  38. package/lib/rule/bnf/name.js +4 -5
  39. package/lib/rule/bnf/noWhitespacePart.js +4 -5
  40. package/lib/rule/bnf/nonTerminalPart.js +8 -4
  41. package/lib/rule/bnf/oneOrMoreQuantifier.js +3 -4
  42. package/lib/rule/bnf/opacityModifier.js +3 -4
  43. package/lib/rule/bnf/optionalQuantifier.js +3 -4
  44. package/lib/rule/bnf/part.js +3 -4
  45. package/lib/rule/bnf/partChoice.js +4 -5
  46. package/lib/rule/bnf/precedence.js +4 -5
  47. package/lib/rule/bnf/quantifier.js +10 -4
  48. package/lib/rule/bnf/regularExpression.js +3 -4
  49. package/lib/rule/bnf/rule.js +4 -5
  50. package/lib/rule/bnf/ruleName.js +3 -4
  51. package/lib/rule/bnf/sequenceOfParts.js +4 -5
  52. package/lib/rule/bnf/significantTokenType.js +4 -5
  53. package/lib/rule/bnf/startOfContentPart.js +4 -5
  54. package/lib/rule/bnf/terminalPart.js +20 -4
  55. package/lib/rule/bnf/terminalSymbol.js +3 -4
  56. package/lib/rule/bnf/wildcard.js +3 -4
  57. package/lib/rule/bnf/zeroOrMoreQuantifier.js +3 -4
  58. package/lib/rule.js +8 -22
  59. package/lib/ruleNames.js +85 -85
  60. package/lib/state.js +26 -5
  61. package/lib/utilities/bnf.js +4 -4
  62. package/package.json +1 -1
  63. package/src/bnf/parser.js +5 -0
  64. package/src/common/parser.js +5 -0
  65. package/src/definition/choiceOfParts.js +5 -7
  66. package/src/definition/definition.js +10 -3
  67. package/src/definition/definitions.js +3 -2
  68. package/src/definition/document.js +10 -3
  69. package/src/definition/partChoice.js +10 -3
  70. package/src/definition/partRule/nonTerminal/ruleName.js +10 -3
  71. package/src/definition/partRule/nonTerminal.js +10 -3
  72. package/src/definition/partRule/terminal.js +10 -3
  73. package/src/definition/rule.js +18 -7
  74. package/src/definition/sequenceOfParts.js +4 -3
  75. package/src/mixins/parser.js +2 -1
  76. package/src/node/bnf/choiceOfParts.js +4 -3
  77. package/src/node/bnf/definition.js +12 -4
  78. package/src/node/bnf/definitions.js +4 -3
  79. package/src/node/bnf/document.js +4 -3
  80. package/src/node/bnf/{part/nonTerminal.js → nonTerminalPart.js} +5 -4
  81. package/src/node/bnf/oneOneOrMoreQuantifier.js +7 -0
  82. package/src/node/bnf/optionalQuantifier.js +7 -0
  83. package/src/node/bnf/part.js +4 -4
  84. package/src/node/bnf/partChoice.js +12 -4
  85. package/src/node/bnf/rule.js +5 -4
  86. package/src/node/bnf/sequenceOfParts.js +4 -3
  87. package/src/node/bnf/{part/terminal.js → terminalPart.js} +1 -1
  88. package/src/node/bnf/zeroOneOrMoreQuantifier.js +7 -0
  89. package/src/node/nonTerminal.js +1 -1
  90. package/src/nonTerminalNodeMap.js +92 -0
  91. package/src/rule/bnf/callAheadModifier.js +3 -5
  92. package/src/rule/bnf/choiceOfParts.js +3 -5
  93. package/src/rule/bnf/definition.js +3 -5
  94. package/src/rule/bnf/definitions.js +3 -5
  95. package/src/rule/bnf/document.js +3 -5
  96. package/src/rule/bnf/endOfLine.js +3 -5
  97. package/src/rule/bnf/epsilon.js +3 -5
  98. package/src/rule/bnf/error.js +3 -5
  99. package/src/rule/bnf/name.js +3 -5
  100. package/src/rule/bnf/noWhitespacePart.js +3 -5
  101. package/src/rule/bnf/nonTerminalPart.js +13 -7
  102. package/src/rule/bnf/oneOrMoreQuantifier.js +3 -5
  103. package/src/rule/bnf/opacityModifier.js +3 -5
  104. package/src/rule/bnf/optionalQuantifier.js +3 -5
  105. package/src/rule/bnf/part.js +3 -5
  106. package/src/rule/bnf/partChoice.js +3 -5
  107. package/src/rule/bnf/precedence.js +3 -5
  108. package/src/rule/bnf/quantifier.js +16 -8
  109. package/src/rule/bnf/regularExpression.js +3 -5
  110. package/src/rule/bnf/rule.js +3 -5
  111. package/src/rule/bnf/ruleName.js +3 -5
  112. package/src/rule/bnf/sequenceOfParts.js +3 -5
  113. package/src/rule/bnf/significantTokenType.js +3 -5
  114. package/src/rule/bnf/startOfContentPart.js +3 -5
  115. package/src/rule/bnf/terminalPart.js +46 -22
  116. package/src/rule/bnf/terminalSymbol.js +3 -5
  117. package/src/rule/bnf/wildcard.js +3 -5
  118. package/src/rule/bnf/zeroOrMoreQuantifier.js +3 -5
  119. package/src/rule.js +7 -17
  120. package/src/ruleNames.js +28 -28
  121. package/src/state.js +19 -3
  122. package/src/utilities/bnf.js +4 -4
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _occamlexers = require("occam-lexers");
12
12
  var _rule = /*#__PURE__*/ _interop_require_default(require("../../rule"));
13
- var _wildcard = /*#__PURE__*/ _interop_require_default(require("../../node/bnf/wildcard"));
14
13
  var _terminalSymbol = /*#__PURE__*/ _interop_require_default(require("../../definition/terminalSymbol"));
15
14
  var _ruleNames = require("../../ruleNames");
16
15
  function _assert_this_initialized(self) {
@@ -102,9 +101,9 @@ var WildcardBNFRule = /*#__PURE__*/ function(Rule) {
102
101
  {
103
102
  key: "fromNothing",
104
103
  value: function fromNothing() {
105
- var content = wildcard, wildcardTerminalSymbolDefinition = _terminalSymbol.default.fromContent(content), name = _ruleNames.wildcardRuleName, opacity = null, definitions = [
104
+ var content = wildcard, wildcardTerminalSymbolDefinition = _terminalSymbol.default.fromContent(content), name = _ruleNames.WILDCARD_RULE_NAME, opacity = null, definitions = [
106
105
  wildcardTerminalSymbolDefinition
107
- ], NonTerminalNode = _wildcard.default, wildcardRule = new WildcardBNFRule(name, opacity, definitions, NonTerminalNode);
106
+ ], wildcardRule = new WildcardBNFRule(name, opacity, definitions);
108
107
  return wildcardRule;
109
108
  }
110
109
  }
@@ -112,4 +111,4 @@ var WildcardBNFRule = /*#__PURE__*/ function(Rule) {
112
111
  return WildcardBNFRule;
113
112
  }(_rule.default);
114
113
 
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlL2JuZi93aWxkY2FyZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3BlY2lhbFN5bWJvbHMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgV2lsZGNhcmRCTkZOb2RlIGZyb20gXCIuLi8uLi9ub2RlL2JuZi93aWxkY2FyZFwiO1xuaW1wb3J0IFRlcm1pbmFsU3ltYm9sRGVmaW5pdGlvbiBmcm9tIFwiLi4vLi4vZGVmaW5pdGlvbi90ZXJtaW5hbFN5bWJvbFwiO1xuXG5pbXBvcnQgeyB3aWxkY2FyZFJ1bGVOYW1lIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB7IHdpbGRjYXJkIH0gPSBzcGVjaWFsU3ltYm9scztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV2lsZGNhcmRCTkZSdWxlIGV4dGVuZHMgUnVsZSB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBjb250ZW50ID0gd2lsZGNhcmQsIC8vL1xuICAgICAgICAgIHdpbGRjYXJkVGVybWluYWxTeW1ib2xEZWZpbml0aW9uID0gVGVybWluYWxTeW1ib2xEZWZpbml0aW9uLmZyb21Db250ZW50KGNvbnRlbnQpLFxuICAgICAgICAgIG5hbWUgPSB3aWxkY2FyZFJ1bGVOYW1lLCAgLy8vXG4gICAgICAgICAgb3BhY2l0eSA9IG51bGwsXG4gICAgICAgICAgZGVmaW5pdGlvbnMgPSBbXG4gICAgICAgICAgICB3aWxkY2FyZFRlcm1pbmFsU3ltYm9sRGVmaW5pdGlvblxuICAgICAgICAgIF0sXG4gICAgICAgICAgTm9uVGVybWluYWxOb2RlID0gV2lsZGNhcmRCTkZOb2RlLCAgLy8vXG4gICAgICAgICAgd2lsZGNhcmRSdWxlID0gbmV3IFdpbGRjYXJkQk5GUnVsZShuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucywgTm9uVGVybWluYWxOb2RlKTtcblxuICAgIHJldHVybiB3aWxkY2FyZFJ1bGU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJXaWxkY2FyZEJORlJ1bGUiLCJ3aWxkY2FyZCIsInNwZWNpYWxTeW1ib2xzIiwiZnJvbU5vdGhpbmciLCJjb250ZW50Iiwid2lsZGNhcmRUZXJtaW5hbFN5bWJvbERlZmluaXRpb24iLCJUZXJtaW5hbFN5bWJvbERlZmluaXRpb24iLCJmcm9tQ29udGVudCIsIm5hbWUiLCJ3aWxkY2FyZFJ1bGVOYW1lIiwib3BhY2l0eSIsImRlZmluaXRpb25zIiwiTm9uVGVybWluYWxOb2RlIiwiV2lsZGNhcmRCTkZOb2RlIiwid2lsZGNhcmRSdWxlIiwiUnVsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFZcUJBOzs7MkJBVlU7MkRBRWQ7K0RBQ1c7cUVBQ1M7eUJBRUo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakMsSUFBTSxBQUFFQyxXQUFhQywyQkFBYyxDQUEzQkQ7QUFFTyxJQUFBLEFBQU1ELGdDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ1pHLEtBQUFBO21CQUFQLFNBQU9BO2dCQUNMLElBQU1DLFVBQVVILFVBQ1ZJLG1DQUFtQ0MsdUJBQXdCLENBQUNDLFdBQVcsQ0FBQ0gsVUFDeEVJLE9BQU9DLDJCQUFnQixFQUN2QkMsVUFBVSxNQUNWQyxjQUFjO29CQUNaTjtpQkFDRCxFQUNETyxrQkFBa0JDLGlCQUFlLEVBQ2pDQyxlQUFlLElBVkpkLGdCQVV3QlEsTUFBTUUsU0FBU0MsYUFBYUM7Z0JBRXJFLE9BQU9FO1lBQ1Q7OztXQWJtQmQ7RUFBd0JlLGFBQUkifQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlL2JuZi93aWxkY2FyZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3BlY2lhbFN5bWJvbHMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgVGVybWluYWxTeW1ib2xEZWZpbml0aW9uIGZyb20gXCIuLi8uLi9kZWZpbml0aW9uL3Rlcm1pbmFsU3ltYm9sXCI7XG5cbmltcG9ydCB7IFdJTERDQVJEX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgeyB3aWxkY2FyZCB9ID0gc3BlY2lhbFN5bWJvbHM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdpbGRjYXJkQk5GUnVsZSBleHRlbmRzIFJ1bGUge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgY29udGVudCA9IHdpbGRjYXJkLCAvLy9cbiAgICAgICAgICB3aWxkY2FyZFRlcm1pbmFsU3ltYm9sRGVmaW5pdGlvbiA9IFRlcm1pbmFsU3ltYm9sRGVmaW5pdGlvbi5mcm9tQ29udGVudChjb250ZW50KSxcbiAgICAgICAgICBuYW1lID0gV0lMRENBUkRfUlVMRV9OQU1FLCAgLy8vXG4gICAgICAgICAgb3BhY2l0eSA9IG51bGwsXG4gICAgICAgICAgZGVmaW5pdGlvbnMgPSBbXG4gICAgICAgICAgICB3aWxkY2FyZFRlcm1pbmFsU3ltYm9sRGVmaW5pdGlvblxuICAgICAgICAgIF0sXG4gICAgICAgICAgd2lsZGNhcmRSdWxlID0gbmV3IFdpbGRjYXJkQk5GUnVsZShuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucyk7XG5cbiAgICByZXR1cm4gd2lsZGNhcmRSdWxlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiV2lsZGNhcmRCTkZSdWxlIiwid2lsZGNhcmQiLCJzcGVjaWFsU3ltYm9scyIsImZyb21Ob3RoaW5nIiwiY29udGVudCIsIndpbGRjYXJkVGVybWluYWxTeW1ib2xEZWZpbml0aW9uIiwiVGVybWluYWxTeW1ib2xEZWZpbml0aW9uIiwiZnJvbUNvbnRlbnQiLCJuYW1lIiwiV0lMRENBUkRfUlVMRV9OQU1FIiwib3BhY2l0eSIsImRlZmluaXRpb25zIiwid2lsZGNhcmRSdWxlIiwiUnVsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7MkJBVFU7MkRBRWQ7cUVBQ29CO3lCQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5DLElBQU0sQUFBRUMsV0FBYUMsMkJBQWMsQ0FBM0JEO0FBRU8sSUFBQSxBQUFNRCxnQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNaRyxLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNQyxVQUFVSCxVQUNWSSxtQ0FBbUNDLHVCQUF3QixDQUFDQyxXQUFXLENBQUNILFVBQ3hFSSxPQUFPQyw2QkFBa0IsRUFDekJDLFVBQVUsTUFDVkMsY0FBYztvQkFDWk47aUJBQ0QsRUFDRE8sZUFBZSxJQVRKWixnQkFTd0JRLE1BQU1FLFNBQVNDO2dCQUV4RCxPQUFPQztZQUNUOzs7V0FabUJaO0VBQXdCYSxhQUFJIn0=
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _occamlexers = require("occam-lexers");
12
12
  var _rule = /*#__PURE__*/ _interop_require_default(require("../../rule"));
13
- var _quantifier = /*#__PURE__*/ _interop_require_default(require("../../node/bnf/quantifier"));
14
13
  var _quantifierRule = /*#__PURE__*/ _interop_require_default(require("../../definition/quantifierRule"));
15
14
  var _ruleNames = require("../../ruleNames");
16
15
  function _assert_this_initialized(self) {
@@ -102,9 +101,9 @@ var ZeroOrMoreQuantifierBNFRule = /*#__PURE__*/ function(Rule) {
102
101
  {
103
102
  key: "fromNothing",
104
103
  value: function fromNothing() {
105
- var name = _ruleNames.zeroOrMoreQuantifierRuleName, specialSymbol = asterisk, zeroOrMoreQuantifierRuleDefinition = _quantifierRule.default.fromSpecialSymbol(specialSymbol), opacity = null, definitions = [
104
+ var name = _ruleNames.ZERO_OR_MORE_QUANTIFIER_RULE_NAME, specialSymbol = asterisk, zeroOrMoreQuantifierRuleDefinition = _quantifierRule.default.fromSpecialSymbol(specialSymbol), opacity = null, definitions = [
106
105
  zeroOrMoreQuantifierRuleDefinition
107
- ], NonTerminalNode = _quantifier.default, zeroOrMoreQuantifierRule = new ZeroOrMoreQuantifierBNFRule(name, opacity, definitions, NonTerminalNode);
106
+ ], zeroOrMoreQuantifierRule = new ZeroOrMoreQuantifierBNFRule(name, opacity, definitions);
108
107
  return zeroOrMoreQuantifierRule;
109
108
  }
110
109
  }
@@ -112,4 +111,4 @@ var ZeroOrMoreQuantifierBNFRule = /*#__PURE__*/ function(Rule) {
112
111
  return ZeroOrMoreQuantifierBNFRule;
113
112
  }(_rule.default);
114
113
 
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlL2JuZi96ZXJvT3JNb3JlUXVhbnRpZmllci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3BlY2lhbFN5bWJvbHMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgUXVhbnRpZmllckJORk5vZGUgZnJvbSBcIi4uLy4uL25vZGUvYm5mL3F1YW50aWZpZXJcIjtcbmltcG9ydCBRdWFudGlmaWVyUnVsZURlZmluaXRpb24gZnJvbSBcIi4uLy4uL2RlZmluaXRpb24vcXVhbnRpZmllclJ1bGVcIjtcblxuaW1wb3J0IHsgemVyb09yTW9yZVF1YW50aWZpZXJSdWxlTmFtZSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgeyBhc3RlcmlzayB9ID0gc3BlY2lhbFN5bWJvbHM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSBleHRlbmRzIFJ1bGUge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IHplcm9Pck1vcmVRdWFudGlmaWVyUnVsZU5hbWUsICAvLy9cbiAgICAgICAgICBzcGVjaWFsU3ltYm9sID0gYXN0ZXJpc2ssIC8vL1xuICAgICAgICAgIHplcm9Pck1vcmVRdWFudGlmaWVyUnVsZURlZmluaXRpb24gPSBRdWFudGlmaWVyUnVsZURlZmluaXRpb24uZnJvbVNwZWNpYWxTeW1ib2woc3BlY2lhbFN5bWJvbCksXG4gICAgICAgICAgb3BhY2l0eSA9IG51bGwsXG4gICAgICAgICAgZGVmaW5pdGlvbnMgPSBbXG4gICAgICAgICAgICB6ZXJvT3JNb3JlUXVhbnRpZmllclJ1bGVEZWZpbml0aW9uXG4gICAgICAgICAgXSxcbiAgICAgICAgICBOb25UZXJtaW5hbE5vZGUgPSBRdWFudGlmaWVyQk5GTm9kZSwgLy8vXG4gICAgICAgICAgemVyb09yTW9yZVF1YW50aWZpZXJSdWxlID0gbmV3IFplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZShuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucywgTm9uVGVybWluYWxOb2RlKTtcblxuICAgIHJldHVybiB6ZXJvT3JNb3JlUXVhbnRpZmllclJ1bGU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJhc3RlcmlzayIsInNwZWNpYWxTeW1ib2xzIiwiZnJvbU5vdGhpbmciLCJuYW1lIiwiemVyb09yTW9yZVF1YW50aWZpZXJSdWxlTmFtZSIsInNwZWNpYWxTeW1ib2wiLCJ6ZXJvT3JNb3JlUXVhbnRpZmllclJ1bGVEZWZpbml0aW9uIiwiUXVhbnRpZmllclJ1bGVEZWZpbml0aW9uIiwiZnJvbVNwZWNpYWxTeW1ib2wiLCJvcGFjaXR5IiwiZGVmaW5pdGlvbnMiLCJOb25UZXJtaW5hbE5vZGUiLCJRdWFudGlmaWVyQk5GTm9kZSIsInplcm9Pck1vcmVRdWFudGlmaWVyUnVsZSIsIlJ1bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBWXFCQTs7OzJCQVZVOzJEQUVkO2lFQUNhO3FFQUNPO3lCQUVROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdDLElBQU0sQUFBRUMsV0FBYUMsMkJBQWMsQ0FBM0JEO0FBRU8sSUFBQSxBQUFNRCw0Q0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNaRyxLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNQyxPQUFPQyx1Q0FBNEIsRUFDbkNDLGdCQUFnQkwsVUFDaEJNLHFDQUFxQ0MsdUJBQXdCLENBQUNDLGlCQUFpQixDQUFDSCxnQkFDaEZJLFVBQVUsTUFDVkMsY0FBYztvQkFDWko7aUJBQ0QsRUFDREssa0JBQWtCQyxtQkFBaUIsRUFDbkNDLDJCQUEyQixJQVZoQmQsNEJBVWdESSxNQUFNTSxTQUFTQyxhQUFhQztnQkFFN0YsT0FBT0U7WUFDVDs7O1dBYm1CZDtFQUFvQ2UsYUFBSSJ9
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlL2JuZi96ZXJvT3JNb3JlUXVhbnRpZmllci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3BlY2lhbFN5bWJvbHMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgUXVhbnRpZmllclJ1bGVEZWZpbml0aW9uIGZyb20gXCIuLi8uLi9kZWZpbml0aW9uL3F1YW50aWZpZXJSdWxlXCI7XG5cbmltcG9ydCB7IFpFUk9fT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgeyBhc3RlcmlzayB9ID0gc3BlY2lhbFN5bWJvbHM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSBleHRlbmRzIFJ1bGUge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IFpFUk9fT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRSwgIC8vL1xuICAgICAgICAgIHNwZWNpYWxTeW1ib2wgPSBhc3RlcmlzaywgLy8vXG4gICAgICAgICAgemVyb09yTW9yZVF1YW50aWZpZXJSdWxlRGVmaW5pdGlvbiA9IFF1YW50aWZpZXJSdWxlRGVmaW5pdGlvbi5mcm9tU3BlY2lhbFN5bWJvbChzcGVjaWFsU3ltYm9sKSxcbiAgICAgICAgICBvcGFjaXR5ID0gbnVsbCxcbiAgICAgICAgICBkZWZpbml0aW9ucyA9IFtcbiAgICAgICAgICAgIHplcm9Pck1vcmVRdWFudGlmaWVyUnVsZURlZmluaXRpb25cbiAgICAgICAgICBdLFxuICAgICAgICAgIHplcm9Pck1vcmVRdWFudGlmaWVyUnVsZSA9IG5ldyBaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpO1xuXG4gICAgcmV0dXJuIHplcm9Pck1vcmVRdWFudGlmaWVyUnVsZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSIsImFzdGVyaXNrIiwic3BlY2lhbFN5bWJvbHMiLCJmcm9tTm90aGluZyIsIm5hbWUiLCJaRVJPX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUiLCJzcGVjaWFsU3ltYm9sIiwiemVyb09yTW9yZVF1YW50aWZpZXJSdWxlRGVmaW5pdGlvbiIsIlF1YW50aWZpZXJSdWxlRGVmaW5pdGlvbiIsImZyb21TcGVjaWFsU3ltYm9sIiwib3BhY2l0eSIsImRlZmluaXRpb25zIiwiemVyb09yTW9yZVF1YW50aWZpZXJSdWxlIiwiUnVsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7MkJBVFU7MkRBRWQ7cUVBQ29CO3lCQUVhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxELElBQU0sQUFBRUMsV0FBYUMsMkJBQWMsQ0FBM0JEO0FBRU8sSUFBQSxBQUFNRCw0Q0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNaRyxLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNQyxPQUFPQyw0Q0FBaUMsRUFDeENDLGdCQUFnQkwsVUFDaEJNLHFDQUFxQ0MsdUJBQXdCLENBQUNDLGlCQUFpQixDQUFDSCxnQkFDaEZJLFVBQVUsTUFDVkMsY0FBYztvQkFDWko7aUJBQ0QsRUFDREssMkJBQTJCLElBVGhCWiw0QkFTZ0RJLE1BQU1NLFNBQVNDO2dCQUVoRixPQUFPQztZQUNUOzs7V0FabUJaO0VBQW9DYSxhQUFJIn0=
package/lib/rule.js CHANGED
@@ -33,12 +33,11 @@ function _create_class(Constructor, protoProps, staticProps) {
33
33
  }
34
34
  var clear = _necessary.arrayUtilities.clear, opaqueSpecialSymbol = _occamlexers.specialSymbols.opaque, semiOpaqueSpecialSymbol = _occamlexers.specialSymbols.semiOpaque;
35
35
  var Rule = /*#__PURE__*/ function() {
36
- function Rule(name, opacity, definitions, NonTerminalNode) {
36
+ function Rule(name, opacity, definitions) {
37
37
  _class_call_check(this, Rule);
38
38
  this.name = name;
39
39
  this.opacity = opacity;
40
40
  this.definitions = definitions;
41
- this.NonTerminalNode = NonTerminalNode;
42
41
  }
43
42
  _create_class(Rule, [
44
43
  {
@@ -59,12 +58,6 @@ var Rule = /*#__PURE__*/ function() {
59
58
  return this.definitions;
60
59
  }
61
60
  },
62
- {
63
- key: "getNonTerminalNode",
64
- value: function getNonTerminalNode() {
65
- return this.NonTerminalNode;
66
- }
67
- },
68
61
  {
69
62
  key: "setName",
70
63
  value: function setName(name) {
@@ -83,12 +76,6 @@ var Rule = /*#__PURE__*/ function() {
83
76
  this.definitions = definitions;
84
77
  }
85
78
  },
86
- {
87
- key: "setNonTerminalNode",
88
- value: function setNonTerminalNode(NonTerminalNode) {
89
- this.NonTerminalNode = NonTerminalNode;
90
- }
91
- },
92
79
  {
93
80
  key: "isOpaque",
94
81
  value: function isOpaque() {
@@ -114,7 +101,7 @@ var Rule = /*#__PURE__*/ function() {
114
101
  key: "parse",
115
102
  value: function parse(nodes, state, callback, callAhead) {
116
103
  var parsed;
117
- var opacity = this.opacity, ruleName = this.name, childNodes = [], nonTerminalNode = this.NonTerminalNode.fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity), savedPrecedence = state.getSavedPrecedence();
104
+ var opacity = this.opacity, ruleName = this.name, childNodes = [], NonTerminalNode = state.NonTerminalNodeFromRuleName(ruleName), nonTerminalNode = NonTerminalNode.fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity), savedPrecedence = state.getSavedPrecedence();
118
105
  var node = nonTerminalNode; ///
119
106
  nodes.push(node);
120
107
  parsed = this.definitions.some(function(definition) {
@@ -130,7 +117,7 @@ var Rule = /*#__PURE__*/ function() {
130
117
  if (parsed) {
131
118
  node.setChildNodesParentNode();
132
119
  }
133
- var rewrittenNonTerminalNode = nonTerminalNode.rewrite();
120
+ var rewrittenNonTerminalNode = nonTerminalNode.rewrite(state);
134
121
  if (rewrittenNonTerminalNode !== null) {
135
122
  if (parsed) {
136
123
  nodes.pop();
@@ -204,16 +191,15 @@ var Rule = /*#__PURE__*/ function() {
204
191
  }
205
192
  ], [
206
193
  {
207
- key: "fromNameOpacityDefinitionsAndNonTerminalNode",
208
- value: function fromNameOpacityDefinitionsAndNonTerminalNode(Class, name, opacity, definitions, NonTerminalNode) {
209
- if (NonTerminalNode === undefined) {
210
- NonTerminalNode = definitions; ///
194
+ key: "fromNameOpacityAndDefinitions",
195
+ value: function fromNameOpacityAndDefinitions(Class, name, opacity, definitions) {
196
+ if (definitions === undefined) {
211
197
  definitions = opacity; ///
212
198
  opacity = name; ///
213
199
  name = Class; ///
214
200
  Class = Rule; ///
215
201
  }
216
- var rule = new Class(name, opacity, definitions, NonTerminalNode);
202
+ var rule = new Class(name, opacity, definitions);
217
203
  return rule;
218
204
  }
219
205
  }
@@ -221,4 +207,4 @@ var Rule = /*#__PURE__*/ function() {
221
207
  return Rule;
222
208
  }();
223
209
 
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzcGVjaWFsU3ltYm9scyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcbmltcG9ydCB7IHBhZGRpbmdGcm9tUGFkZGluZ0xlbmd0aCB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgeyBjbGVhciB9ID0gYXJyYXlVdGlsaXRpZXMsXG4gICAgICB7IG9wYXF1ZTogb3BhcXVlU3BlY2lhbFN5bWJvbCwgc2VtaU9wYXF1ZTogc2VtaU9wYXF1ZVNwZWNpYWxTeW1ib2wgfSA9IHNwZWNpYWxTeW1ib2xzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdWxlIHtcbiAgY29uc3RydWN0b3IobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMsIE5vblRlcm1pbmFsTm9kZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgICB0aGlzLmRlZmluaXRpb25zID0gZGVmaW5pdGlvbnM7XG4gICAgdGhpcy5Ob25UZXJtaW5hbE5vZGUgPSBOb25UZXJtaW5hbE5vZGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRPcGFjaXR5KCkge1xuICAgIHJldHVybiB0aGlzLm9wYWNpdHk7XG4gIH1cblxuICBnZXREZWZpbml0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9ucztcbiAgfVxuXG4gIGdldE5vblRlcm1pbmFsTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5Ob25UZXJtaW5hbE5vZGU7XG4gIH1cblxuICBzZXROYW1lKG5hbWUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgc2V0T3BhY2l0eShvcGFjaXR5KSB7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgfVxuXG4gIHNldERlZmluaXRpb25zKGRlZmluaXRpb25zKSB7XG4gICAgdGhpcy5kZWZpbml0aW9ucyA9IGRlZmluaXRpb25zO1xuICB9XG5cbiAgc2V0Tm9uVGVybWluYWxOb2RlKE5vblRlcm1pbmFsTm9kZSkge1xuICAgIHRoaXMuTm9uVGVybWluYWxOb2RlID0gTm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgaXNPcGFxdWUoKSB7XG4gICAgY29uc3Qgb3BhcXVlID0gKHRoaXMub3BhY2l0eSA9PT0gb3BhcXVlU3BlY2lhbFN5bWJvbCk7XG5cbiAgICByZXR1cm4gb3BhcXVlO1xuICB9XG5cbiAgaXNTZW1pT3BhcXVlKCkge1xuICAgIGNvbnN0IHNlbWlPcGFxdWUgPSAodGhpcy5vcGFjaXR5ID09PSBzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCk7XG5cbiAgICByZXR1cm4gc2VtaU9wYXF1ZTtcbiAgfVxuXG4gIGlzVHJhbnNwYXJlbnQoKSB7XG4gICAgY29uc3Qgc2VtaU9wYXF1ZSA9ICh0aGlzLm9wYWNpdHkgPT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHNlbWlPcGFxdWU7XG4gIH1cblxuICBwYXJzZShub2Rlcywgc3RhdGUsIGNhbGxiYWNrLCBjYWxsQWhlYWQpIHtcbiAgICBsZXQgcGFyc2VkO1xuXG4gICAgY29uc3Qgb3BhY2l0eSA9IHRoaXMub3BhY2l0eSxcbiAgICAgICAgICBydWxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IFtdLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IHRoaXMuTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSxcbiAgICAgICAgICBzYXZlZFByZWNlZGVuY2UgPSBzdGF0ZS5nZXRTYXZlZFByZWNlZGVuY2UoKTtcblxuICAgIGxldCBub2RlID0gbm9uVGVybWluYWxOb2RlOyAvLy9cblxuICAgIG5vZGVzLnB1c2gobm9kZSk7XG5cbiAgICBwYXJzZWQgPSB0aGlzLmRlZmluaXRpb25zLnNvbWUoKGRlZmluaXRpb24pID0+IHtcbiAgICAgIGxldCBwYXJzZWQ7XG5cbiAgICAgIGNsZWFyKGNoaWxkTm9kZXMpO1xuXG4gICAgICBjb25zdCBwcmVjZWRlbmNlID0gZGVmaW5pdGlvbi5nZXRQcmVjZWRlbmNlKCk7XG5cbiAgICAgIHN0YXRlLnNldFByZWNlZGVuY2UocHJlY2VkZW5jZSk7XG5cbiAgICAgIGNhbGxiYWNrID0gKCkgPT4geyAgLy8vXG4gICAgICAgIGxldCBwYXJzZWQ7XG5cbiAgICAgICAgY29uc3QgcHJlY2VkZW5jZSA9IHN0YXRlLmdldFByZWNlZGVuY2UoKTtcblxuICAgICAgICBub25UZXJtaW5hbE5vZGUuc2V0UHJlY2VkZW5jZShwcmVjZWRlbmNlKTtcblxuICAgICAgICBwYXJzZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChwYXJzZWQpIHtcbiAgICAgICAgICBub2RlLnNldENoaWxkTm9kZXNQYXJlbnROb2RlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXdyaXR0ZW5Ob25UZXJtaW5hbE5vZGUgPSBub25UZXJtaW5hbE5vZGUucmV3cml0ZSgpO1xuXG4gICAgICAgIGlmIChyZXdyaXR0ZW5Ob25UZXJtaW5hbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAocGFyc2VkKSB7XG4gICAgICAgICAgICBub2Rlcy5wb3AoKTtcblxuICAgICAgICAgICAgbm9kZSA9IHJld3JpdHRlbk5vblRlcm1pbmFsTm9kZTsgLy8vXG5cbiAgICAgICAgICAgIG5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZCkge1xuICAgICAgICAgIGNvbnN0IGVtcHR5ID0gbm9kZS5pc0VtcHR5KCk7XG5cbiAgICAgICAgICBpZiAoZW1wdHkpIHtcbiAgICAgICAgICAgIHBhcnNlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZWQpIHtcbiAgICAgICAgICBjb25zdCB1bnByZWNlZGVudGVkID0gbm9kZS5pc1VucHJlY2VkZW50ZWQoKTtcblxuICAgICAgICAgIGlmICh1bnByZWNlZGVudGVkKSB7XG4gICAgICAgICAgICBwYXJzZWQgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VkKSB7XG4gICAgICAgICAgaWYgKGNhbGxBaGVhZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc3RhdGUucmVzZXRQcmVjZWRlbmNlKHNhdmVkUHJlY2VkZW5jZSk7XG5cbiAgICAgICAgICAgIHBhcnNlZCA9IGNhbGxBaGVhZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXdyaXR0ZW5Ob25UZXJtaW5hbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAoIXBhcnNlZCkge1xuICAgICAgICAgICAgbm9kZXMucG9wKCk7XG5cbiAgICAgICAgICAgIG5vZGUgPSBub25UZXJtaW5hbE5vZGU7IC8vL1xuXG4gICAgICAgICAgICBub2Rlcy5wdXNoKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcGFyc2VkKSB7XG4gICAgICAgICAgbm9kZS5yZXNldENoaWxkTm9kZXNQYXJlbnROb2RlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgfTtcblxuICAgICAgcGFyc2VkID0gZGVmaW5pdGlvbi5wYXJzZShjaGlsZE5vZGVzLCBzdGF0ZSwgY2FsbGJhY2ssIGNhbGxBaGVhZCk7XG5cbiAgICAgIGlmICghcGFyc2VkKSB7XG4gICAgICAgIHN0YXRlLnJlc2V0UHJlY2VkZW5jZShzYXZlZFByZWNlZGVuY2UpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyc2VkO1xuICAgIH0pO1xuXG4gICAgaWYgKCFwYXJzZWQpIHtcbiAgICAgIG5vZGVzLnBvcCgpO1xuICAgIH1cblxuICAgIGlmIChjYWxsQWhlYWQgPT09IG51bGwpIHtcbiAgICAgIHN0YXRlLnJlc2V0UHJlY2VkZW5jZShzYXZlZFByZWNlZGVuY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJzZWQ7XG4gIH1cblxuICBhc1N0cmluZyhtYXhpbXVtUnVsZU5hbWVMZW5ndGgsIG11bHRpTGluZSA9IHRydWUpIHtcbiAgICBjb25zdCBkZWZpbml0aW9uc0xlbmd0aCA9IHRoaXMuZGVmaW5pdGlvbnMubGVuZ3RoO1xuXG4gICAgbXVsdGlMaW5lID0gbXVsdGlMaW5lICYmIChkZWZpbml0aW9uc0xlbmd0aCA+IDEpOyAgLy8vXG5cbiAgICBjb25zdCBtYXhpbXVtUGFkZGluZyA9IHBhZGRpbmdGcm9tUGFkZGluZ0xlbmd0aChtYXhpbXVtUnVsZU5hbWVMZW5ndGgpLFxuICAgICAgICAgIGRlZmluaXRpb25zU3RyaW5nID0gdGhpcy5kZWZpbml0aW9ucy5yZWR1Y2UoKGRlZmluaXRpb25zU3RyaW5nLCBkZWZpbml0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWZpbml0aW9uU3RyaW5nID0gZGVmaW5pdGlvbi5hc1N0cmluZygpO1xuXG4gICAgICAgICAgICBpZiAoZGVmaW5pdGlvbnNTdHJpbmcgPT09IEVNUFRZX1NUUklORykge1xuICAgICAgICAgICAgICBkZWZpbml0aW9uc1N0cmluZyA9IGRlZmluaXRpb25TdHJpbmc7IC8vL1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmaW5pdGlvbnNTdHJpbmcgPSBtdWx0aUxpbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtkZWZpbml0aW9uc1N0cmluZ31cblxuJHttYXhpbXVtUGFkZGluZ30gICB8ICR7ZGVmaW5pdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtkZWZpbml0aW9uc1N0cmluZ30gfCAke2RlZmluaXRpb25TdHJpbmd9YDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zU3RyaW5nO1xuICAgICAgICAgIH0sIEVNUFRZX1NUUklORyksXG4gICAgICAgICAgcnVsZU5hbWUgPSB0aGlzLm5hbWUsIC8vL1xuICAgICAgICAgIHJ1bGVOYW1lTGVuZ3RoID0gcnVsZU5hbWUubGVuZ3RoLFxuICAgICAgICAgIG9wYWNpdHlTdHJpbmcgPSAodGhpcy5vcGFjaXR5ID09PSBudWxsKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGFjaXR5LCAvLy9cbiAgICAgICAgICBvcGFjaXR5U3RyaW5nTGVuZ3RoID0gb3BhY2l0eVN0cmluZy5sZW5ndGgsXG4gICAgICAgICAgcGFkZGluZ0xlbmd0aCA9IG1heGltdW1SdWxlTmFtZUxlbmd0aCAtIHJ1bGVOYW1lTGVuZ3RoIC0gb3BhY2l0eVN0cmluZ0xlbmd0aCxcbiAgICAgICAgICBwYWRkaW5nID0gcGFkZGluZ0Zyb21QYWRkaW5nTGVuZ3RoKHBhZGRpbmdMZW5ndGgpO1xuXG4gICAgY29uc3Qgc2VtaWNvbG9uU3RyaW5nID0gbXVsdGlMaW5lID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFxuXG4ke21heGltdW1QYWRkaW5nfSAgIDtgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiA7XCIsXG4gICAgICAgICAgc3RyaW5nID0gYFxuXG4ke3RoaXMubmFtZX0ke29wYWNpdHlTdHJpbmd9JHtwYWRkaW5nfSA6Oj0gJHtkZWZpbml0aW9uc1N0cmluZ30ke3NlbWljb2xvblN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTmFtZU9wYWNpdHlEZWZpbml0aW9uc0FuZE5vblRlcm1pbmFsTm9kZShDbGFzcywgbmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMsIE5vblRlcm1pbmFsTm9kZSkge1xuICAgIGlmIChOb25UZXJtaW5hbE5vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgTm9uVGVybWluYWxOb2RlID0gZGVmaW5pdGlvbnM7ICAvLy9cblxuICAgICAgZGVmaW5pdGlvbnMgPSBvcGFjaXR5OyAgLy8vXG5cbiAgICAgIG9wYWNpdHkgPSBuYW1lOyAvLy9cblxuICAgICAgbmFtZSA9IENsYXNzOyAvLy9cblxuICAgICAgQ2xhc3MgPSBSdWxlOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBydWxlID0gbmV3IENsYXNzKG5hbWUsIG9wYWNpdHksIGRlZmluaXRpb25zLCBOb25UZXJtaW5hbE5vZGUpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwiY2xlYXIiLCJhcnJheVV0aWxpdGllcyIsIm9wYXF1ZSIsIm9wYXF1ZVNwZWNpYWxTeW1ib2wiLCJzcGVjaWFsU3ltYm9scyIsInNlbWlPcGFxdWUiLCJzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCIsIm5hbWUiLCJvcGFjaXR5IiwiZGVmaW5pdGlvbnMiLCJOb25UZXJtaW5hbE5vZGUiLCJnZXROYW1lIiwiZ2V0T3BhY2l0eSIsImdldERlZmluaXRpb25zIiwiZ2V0Tm9uVGVybWluYWxOb2RlIiwic2V0TmFtZSIsInNldE9wYWNpdHkiLCJzZXREZWZpbml0aW9ucyIsInNldE5vblRlcm1pbmFsTm9kZSIsImlzT3BhcXVlIiwiaXNTZW1pT3BhcXVlIiwiaXNUcmFuc3BhcmVudCIsInBhcnNlIiwibm9kZXMiLCJzdGF0ZSIsImNhbGxiYWNrIiwiY2FsbEFoZWFkIiwicGFyc2VkIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwibm9uVGVybWluYWxOb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJzYXZlZFByZWNlZGVuY2UiLCJnZXRTYXZlZFByZWNlZGVuY2UiLCJub2RlIiwicHVzaCIsInNvbWUiLCJkZWZpbml0aW9uIiwicHJlY2VkZW5jZSIsImdldFByZWNlZGVuY2UiLCJzZXRQcmVjZWRlbmNlIiwic2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUiLCJyZXdyaXR0ZW5Ob25UZXJtaW5hbE5vZGUiLCJyZXdyaXRlIiwicG9wIiwiZW1wdHkiLCJpc0VtcHR5IiwidW5wcmVjZWRlbnRlZCIsImlzVW5wcmVjZWRlbnRlZCIsInJlc2V0UHJlY2VkZW5jZSIsInJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUiLCJhc1N0cmluZyIsIm1heGltdW1SdWxlTmFtZUxlbmd0aCIsIm11bHRpTGluZSIsImRlZmluaXRpb25zTGVuZ3RoIiwibGVuZ3RoIiwibWF4aW11bVBhZGRpbmciLCJwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgiLCJkZWZpbml0aW9uc1N0cmluZyIsInJlZHVjZSIsImRlZmluaXRpb25TdHJpbmciLCJFTVBUWV9TVFJJTkciLCJydWxlTmFtZUxlbmd0aCIsIm9wYWNpdHlTdHJpbmciLCJvcGFjaXR5U3RyaW5nTGVuZ3RoIiwicGFkZGluZ0xlbmd0aCIsInBhZGRpbmciLCJzZW1pY29sb25TdHJpbmciLCJzdHJpbmciLCJmcm9tTmFtZU9wYWNpdHlEZWZpbml0aW9uc0FuZE5vblRlcm1pbmFsTm9kZSIsIkNsYXNzIiwidW5kZWZpbmVkIiwicnVsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7eUJBVFU7eUJBRUY7MkJBQ0U7c0JBQ1U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLElBQU0sQUFBRUMsUUFBVUMseUJBQWMsQ0FBeEJELE9BQ0FFLEFBQVFDLHNCQUE2REMsMkJBQWMsQ0FBbkZGLFFBQTZCRyxBQUFZQywwQkFBNEJGLDJCQUFjLENBQXREQztBQUV0QixJQUFBLEFBQU1OLHFCQUFOO2FBQU1BLEtBQ1BRLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXLEVBQUVDLGVBQWU7Z0NBRHBDWDtRQUVq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
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzcGVjaWFsU3ltYm9scyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcbmltcG9ydCB7IHBhZGRpbmdGcm9tUGFkZGluZ0xlbmd0aCB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgeyBjbGVhciB9ID0gYXJyYXlVdGlsaXRpZXMsXG4gICAgICB7IG9wYXF1ZTogb3BhcXVlU3BlY2lhbFN5bWJvbCwgc2VtaU9wYXF1ZTogc2VtaU9wYXF1ZVNwZWNpYWxTeW1ib2wgfSA9IHNwZWNpYWxTeW1ib2xzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdWxlIHtcbiAgY29uc3RydWN0b3IobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMub3BhY2l0eSA9IG9wYWNpdHk7XG4gICAgdGhpcy5kZWZpbml0aW9ucyA9IGRlZmluaXRpb25zO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0T3BhY2l0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5vcGFjaXR5O1xuICB9XG5cbiAgZ2V0RGVmaW5pdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnM7XG4gIH1cblxuICBzZXROYW1lKG5hbWUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgc2V0T3BhY2l0eShvcGFjaXR5KSB7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgfVxuXG4gIHNldERlZmluaXRpb25zKGRlZmluaXRpb25zKSB7XG4gICAgdGhpcy5kZWZpbml0aW9ucyA9IGRlZmluaXRpb25zO1xuICB9XG5cbiAgaXNPcGFxdWUoKSB7XG4gICAgY29uc3Qgb3BhcXVlID0gKHRoaXMub3BhY2l0eSA9PT0gb3BhcXVlU3BlY2lhbFN5bWJvbCk7XG5cbiAgICByZXR1cm4gb3BhcXVlO1xuICB9XG5cbiAgaXNTZW1pT3BhcXVlKCkge1xuICAgIGNvbnN0IHNlbWlPcGFxdWUgPSAodGhpcy5vcGFjaXR5ID09PSBzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCk7XG5cbiAgICByZXR1cm4gc2VtaU9wYXF1ZTtcbiAgfVxuXG4gIGlzVHJhbnNwYXJlbnQoKSB7XG4gICAgY29uc3Qgc2VtaU9wYXF1ZSA9ICh0aGlzLm9wYWNpdHkgPT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHNlbWlPcGFxdWU7XG4gIH1cblxuICBwYXJzZShub2Rlcywgc3RhdGUsIGNhbGxiYWNrLCBjYWxsQWhlYWQpIHtcbiAgICBsZXQgcGFyc2VkO1xuXG4gICAgY29uc3Qgb3BhY2l0eSA9IHRoaXMub3BhY2l0eSxcbiAgICAgICAgICBydWxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IFtdLFxuICAgICAgICAgIE5vblRlcm1pbmFsTm9kZSA9IHN0YXRlLk5vblRlcm1pbmFsTm9kZUZyb21SdWxlTmFtZShydWxlTmFtZSksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSxcbiAgICAgICAgICBzYXZlZFByZWNlZGVuY2UgPSBzdGF0ZS5nZXRTYXZlZFByZWNlZGVuY2UoKTtcblxuICAgIGxldCBub2RlID0gbm9uVGVybWluYWxOb2RlOyAvLy9cblxuICAgIG5vZGVzLnB1c2gobm9kZSk7XG5cbiAgICBwYXJzZWQgPSB0aGlzLmRlZmluaXRpb25zLnNvbWUoKGRlZmluaXRpb24pID0+IHtcbiAgICAgIGxldCBwYXJzZWQ7XG5cbiAgICAgIGNsZWFyKGNoaWxkTm9kZXMpO1xuXG4gICAgICBjb25zdCBwcmVjZWRlbmNlID0gZGVmaW5pdGlvbi5nZXRQcmVjZWRlbmNlKCk7XG5cbiAgICAgIHN0YXRlLnNldFByZWNlZGVuY2UocHJlY2VkZW5jZSk7XG5cbiAgICAgIGNhbGxiYWNrID0gKCkgPT4geyAgLy8vXG4gICAgICAgIGxldCBwYXJzZWQ7XG5cbiAgICAgICAgY29uc3QgcHJlY2VkZW5jZSA9IHN0YXRlLmdldFByZWNlZGVuY2UoKTtcblxuICAgICAgICBub25UZXJtaW5hbE5vZGUuc2V0UHJlY2VkZW5jZShwcmVjZWRlbmNlKTtcblxuICAgICAgICBwYXJzZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChwYXJzZWQpIHtcbiAgICAgICAgICBub2RlLnNldENoaWxkTm9kZXNQYXJlbnROb2RlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXdyaXR0ZW5Ob25UZXJtaW5hbE5vZGUgPSBub25UZXJtaW5hbE5vZGUucmV3cml0ZShzdGF0ZSk7XG5cbiAgICAgICAgaWYgKHJld3JpdHRlbk5vblRlcm1pbmFsTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChwYXJzZWQpIHtcbiAgICAgICAgICAgIG5vZGVzLnBvcCgpO1xuXG4gICAgICAgICAgICBub2RlID0gcmV3cml0dGVuTm9uVGVybWluYWxOb2RlOyAvLy9cblxuICAgICAgICAgICAgbm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VkKSB7XG4gICAgICAgICAgY29uc3QgZW1wdHkgPSBub2RlLmlzRW1wdHkoKTtcblxuICAgICAgICAgIGlmIChlbXB0eSkge1xuICAgICAgICAgICAgcGFyc2VkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZCkge1xuICAgICAgICAgIGNvbnN0IHVucHJlY2VkZW50ZWQgPSBub2RlLmlzVW5wcmVjZWRlbnRlZCgpO1xuXG4gICAgICAgICAgaWYgKHVucHJlY2VkZW50ZWQpIHtcbiAgICAgICAgICAgIHBhcnNlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZWQpIHtcbiAgICAgICAgICBpZiAoY2FsbEFoZWFkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBzdGF0ZS5yZXNldFByZWNlZGVuY2Uoc2F2ZWRQcmVjZWRlbmNlKTtcblxuICAgICAgICAgICAgcGFyc2VkID0gY2FsbEFoZWFkKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJld3JpdHRlbk5vblRlcm1pbmFsTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmICghcGFyc2VkKSB7XG4gICAgICAgICAgICBub2Rlcy5wb3AoKTtcblxuICAgICAgICAgICAgbm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgLy8vXG5cbiAgICAgICAgICAgIG5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFwYXJzZWQpIHtcbiAgICAgICAgICBub2RlLnJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJzZWQ7XG4gICAgICB9O1xuXG4gICAgICBwYXJzZWQgPSBkZWZpbml0aW9uLnBhcnNlKGNoaWxkTm9kZXMsIHN0YXRlLCBjYWxsYmFjaywgY2FsbEFoZWFkKTtcblxuICAgICAgaWYgKCFwYXJzZWQpIHtcbiAgICAgICAgc3RhdGUucmVzZXRQcmVjZWRlbmNlKHNhdmVkUHJlY2VkZW5jZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXJzZWQ7XG4gICAgfSk7XG5cbiAgICBpZiAoIXBhcnNlZCkge1xuICAgICAgbm9kZXMucG9wKCk7XG4gICAgfVxuXG4gICAgaWYgKGNhbGxBaGVhZCA9PT0gbnVsbCkge1xuICAgICAgc3RhdGUucmVzZXRQcmVjZWRlbmNlKHNhdmVkUHJlY2VkZW5jZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfVxuXG4gIGFzU3RyaW5nKG1heGltdW1SdWxlTmFtZUxlbmd0aCwgbXVsdGlMaW5lID0gdHJ1ZSkge1xuICAgIGNvbnN0IGRlZmluaXRpb25zTGVuZ3RoID0gdGhpcy5kZWZpbml0aW9ucy5sZW5ndGg7XG5cbiAgICBtdWx0aUxpbmUgPSBtdWx0aUxpbmUgJiYgKGRlZmluaXRpb25zTGVuZ3RoID4gMSk7ICAvLy9cblxuICAgIGNvbnN0IG1heGltdW1QYWRkaW5nID0gcGFkZGluZ0Zyb21QYWRkaW5nTGVuZ3RoKG1heGltdW1SdWxlTmFtZUxlbmd0aCksXG4gICAgICAgICAgZGVmaW5pdGlvbnNTdHJpbmcgPSB0aGlzLmRlZmluaXRpb25zLnJlZHVjZSgoZGVmaW5pdGlvbnNTdHJpbmcsIGRlZmluaXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmluaXRpb25TdHJpbmcgPSBkZWZpbml0aW9uLmFzU3RyaW5nKCk7XG5cbiAgICAgICAgICAgIGlmIChkZWZpbml0aW9uc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgICAgICAgIGRlZmluaXRpb25zU3RyaW5nID0gZGVmaW5pdGlvblN0cmluZzsgLy8vXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBkZWZpbml0aW9uc1N0cmluZyA9IG11bHRpTGluZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2RlZmluaXRpb25zU3RyaW5nfVxuXG4ke21heGltdW1QYWRkaW5nfSAgIHwgJHtkZWZpbml0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2RlZmluaXRpb25zU3RyaW5nfSB8ICR7ZGVmaW5pdGlvblN0cmluZ31gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGVmaW5pdGlvbnNTdHJpbmc7XG4gICAgICAgICAgfSwgRU1QVFlfU1RSSU5HKSxcbiAgICAgICAgICBydWxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgcnVsZU5hbWVMZW5ndGggPSBydWxlTmFtZS5sZW5ndGgsXG4gICAgICAgICAgb3BhY2l0eVN0cmluZyA9ICh0aGlzLm9wYWNpdHkgPT09IG51bGwpP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wYWNpdHksIC8vL1xuICAgICAgICAgIG9wYWNpdHlTdHJpbmdMZW5ndGggPSBvcGFjaXR5U3RyaW5nLmxlbmd0aCxcbiAgICAgICAgICBwYWRkaW5nTGVuZ3RoID0gbWF4aW11bVJ1bGVOYW1lTGVuZ3RoIC0gcnVsZU5hbWVMZW5ndGggLSBvcGFjaXR5U3RyaW5nTGVuZ3RoLFxuICAgICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgocGFkZGluZ0xlbmd0aCk7XG5cbiAgICBjb25zdCBzZW1pY29sb25TdHJpbmcgPSBtdWx0aUxpbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgXG5cbiR7bWF4aW11bVBhZGRpbmd9ICAgO2AgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIDtcIixcbiAgICAgICAgICBzdHJpbmcgPSBgXG5cbiR7dGhpcy5uYW1lfSR7b3BhY2l0eVN0cmluZ30ke3BhZGRpbmd9IDo6PSAke2RlZmluaXRpb25zU3RyaW5nfSR7c2VtaWNvbG9uU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lT3BhY2l0eUFuZERlZmluaXRpb25zKENsYXNzLCBuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucykge1xuICAgIGlmIChkZWZpbml0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWZpbml0aW9ucyA9IG9wYWNpdHk7ICAvLy9cblxuICAgICAgb3BhY2l0eSA9IG5hbWU7IC8vL1xuXG4gICAgICBuYW1lID0gQ2xhc3M7IC8vL1xuXG4gICAgICBDbGFzcyA9IFJ1bGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgQ2xhc3MobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwiY2xlYXIiLCJhcnJheVV0aWxpdGllcyIsIm9wYXF1ZSIsIm9wYXF1ZVNwZWNpYWxTeW1ib2wiLCJzcGVjaWFsU3ltYm9scyIsInNlbWlPcGFxdWUiLCJzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCIsIm5hbWUiLCJvcGFjaXR5IiwiZGVmaW5pdGlvbnMiLCJnZXROYW1lIiwiZ2V0T3BhY2l0eSIsImdldERlZmluaXRpb25zIiwic2V0TmFtZSIsInNldE9wYWNpdHkiLCJzZXREZWZpbml0aW9ucyIsImlzT3BhcXVlIiwiaXNTZW1pT3BhcXVlIiwiaXNUcmFuc3BhcmVudCIsInBhcnNlIiwibm9kZXMiLCJzdGF0ZSIsImNhbGxiYWNrIiwiY2FsbEFoZWFkIiwicGFyc2VkIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiTm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJzYXZlZFByZWNlZGVuY2UiLCJnZXRTYXZlZFByZWNlZGVuY2UiLCJub2RlIiwicHVzaCIsInNvbWUiLCJkZWZpbml0aW9uIiwicHJlY2VkZW5jZSIsImdldFByZWNlZGVuY2UiLCJzZXRQcmVjZWRlbmNlIiwic2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUiLCJyZXdyaXR0ZW5Ob25UZXJtaW5hbE5vZGUiLCJyZXdyaXRlIiwicG9wIiwiZW1wdHkiLCJpc0VtcHR5IiwidW5wcmVjZWRlbnRlZCIsImlzVW5wcmVjZWRlbnRlZCIsInJlc2V0UHJlY2VkZW5jZSIsInJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUiLCJhc1N0cmluZyIsIm1heGltdW1SdWxlTmFtZUxlbmd0aCIsIm11bHRpTGluZSIsImRlZmluaXRpb25zTGVuZ3RoIiwibGVuZ3RoIiwibWF4aW11bVBhZGRpbmciLCJwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgiLCJkZWZpbml0aW9uc1N0cmluZyIsInJlZHVjZSIsImRlZmluaXRpb25TdHJpbmciLCJFTVBUWV9TVFJJTkciLCJydWxlTmFtZUxlbmd0aCIsIm9wYWNpdHlTdHJpbmciLCJvcGFjaXR5U3RyaW5nTGVuZ3RoIiwicGFkZGluZ0xlbmd0aCIsInBhZGRpbmciLCJzZW1pY29sb25TdHJpbmciLCJzdHJpbmciLCJmcm9tTmFtZU9wYWNpdHlBbmREZWZpbml0aW9ucyIsIkNsYXNzIiwidW5kZWZpbmVkIiwicnVsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7eUJBVFU7eUJBRUY7MkJBQ0U7c0JBQ1U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLElBQU0sQUFBRUMsUUFBVUMseUJBQWMsQ0FBeEJELE9BQ0FFLEFBQVFDLHNCQUE2REMsMkJBQWMsQ0FBbkZGLFFBQTZCRyxBQUFZQywwQkFBNEJGLDJCQUFjLENBQXREQztBQUV0QixJQUFBLEFBQU1OLHFCQUFOO2FBQU1BLEtBQ1BRLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXO2dDQURuQlY7UUFFakIsSUFBSSxDQUFDUSxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxXQUFXLEdBQUdBOztrQkFKRlY7O1lBT25CVyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE9BQU87WUFDckI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFdBQVc7WUFDekI7OztZQUVBSSxLQUFBQTttQkFB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
package/lib/ruleNames.js CHANGED
@@ -9,118 +9,118 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- get CallAheadModifierRuleName () {
13
- return CallAheadModifierRuleName;
12
+ get CALL_AHEAD_MODIFIER_RULE_NAME () {
13
+ return CALL_AHEAD_MODIFIER_RULE_NAME;
14
14
  },
15
- get choiceOfPartsRuleName () {
16
- return choiceOfPartsRuleName;
15
+ get CHOICE_OF_PARTS_RULE_NAME () {
16
+ return CHOICE_OF_PARTS_RULE_NAME;
17
17
  },
18
- get definitionRuleName () {
19
- return definitionRuleName;
18
+ get DEFINITIONS_RULE_NAME () {
19
+ return DEFINITIONS_RULE_NAME;
20
20
  },
21
- get definitionsRuleName () {
22
- return definitionsRuleName;
21
+ get DEFINITION_RULE_NAME () {
22
+ return DEFINITION_RULE_NAME;
23
23
  },
24
- get documentRuleName () {
25
- return documentRuleName;
24
+ get DOCUMENT_RULE_NAME () {
25
+ return DOCUMENT_RULE_NAME;
26
26
  },
27
- get endOfLineRuleName () {
28
- return endOfLineRuleName;
27
+ get END_OF_LINE_RULE_NAME () {
28
+ return END_OF_LINE_RULE_NAME;
29
29
  },
30
- get epsilonRuleName () {
31
- return epsilonRuleName;
30
+ get EPSILON_RULE_NAME () {
31
+ return EPSILON_RULE_NAME;
32
32
  },
33
- get errorRuleName () {
34
- return errorRuleName;
33
+ get ERROR_RULE_NAME () {
34
+ return ERROR_RULE_NAME;
35
35
  },
36
- get nameRuleName () {
37
- return nameRuleName;
36
+ get NAME_RULE_NAME () {
37
+ return NAME_RULE_NAME;
38
38
  },
39
- get noWhitespacePartRuleName () {
40
- return noWhitespacePartRuleName;
39
+ get NON_TERMINAL_PART_RULE_NAME () {
40
+ return NON_TERMINAL_PART_RULE_NAME;
41
41
  },
42
- get nonTerminalPartRuleName () {
43
- return nonTerminalPartRuleName;
42
+ get NO_WHITESPACE_PART_RULE_NAME () {
43
+ return NO_WHITESPACE_PART_RULE_NAME;
44
44
  },
45
- get oneOrMoreQuantifierRuleName () {
46
- return oneOrMoreQuantifierRuleName;
45
+ get ONE_OR_MORE_QUANTIFIER_RULE_NAME () {
46
+ return ONE_OR_MORE_QUANTIFIER_RULE_NAME;
47
47
  },
48
- get opacityModifierRuleName () {
49
- return opacityModifierRuleName;
48
+ get OPACITY_MODIFIER_RULE_NAME () {
49
+ return OPACITY_MODIFIER_RULE_NAME;
50
50
  },
51
- get optionalQuantifierRuleName () {
52
- return optionalQuantifierRuleName;
51
+ get OPTIONAL_QUANTIFIER_RULE_NAME () {
52
+ return OPTIONAL_QUANTIFIER_RULE_NAME;
53
53
  },
54
- get partChoiceRuleName () {
55
- return partChoiceRuleName;
54
+ get PART_CHOICE_RULE_NAME () {
55
+ return PART_CHOICE_RULE_NAME;
56
56
  },
57
- get partRuleName () {
58
- return partRuleName;
57
+ get PART_RULE_NAME () {
58
+ return PART_RULE_NAME;
59
59
  },
60
- get precedenceRuleName () {
61
- return precedenceRuleName;
60
+ get PRECEDENCE_RULE_NAME () {
61
+ return PRECEDENCE_RULE_NAME;
62
62
  },
63
- get quantifierRuleName () {
64
- return quantifierRuleName;
63
+ get QUANTIFIER_RULE_NAME () {
64
+ return QUANTIFIER_RULE_NAME;
65
65
  },
66
- get regularExpressionRuleName () {
67
- return regularExpressionRuleName;
66
+ get REGULAR_EXPRESSION_RULE_NAME () {
67
+ return REGULAR_EXPRESSION_RULE_NAME;
68
68
  },
69
- get ruleNameRuleName () {
70
- return ruleNameRuleName;
69
+ get RULE_NAME_RULE_NAME () {
70
+ return RULE_NAME_RULE_NAME;
71
71
  },
72
- get ruleRuleName () {
73
- return ruleRuleName;
72
+ get RULE_RULE_NAME () {
73
+ return RULE_RULE_NAME;
74
74
  },
75
- get sequenceOfPartsRuleName () {
76
- return sequenceOfPartsRuleName;
75
+ get SEQUENCE_OF_PARTS_RULE_NAME () {
76
+ return SEQUENCE_OF_PARTS_RULE_NAME;
77
77
  },
78
- get significantTokenTypeRuleName () {
79
- return significantTokenTypeRuleName;
78
+ get SIGNIFICANT_TOKEN_TYPE_RULE_NAME () {
79
+ return SIGNIFICANT_TOKEN_TYPE_RULE_NAME;
80
80
  },
81
- get startOfContentPartRuleName () {
82
- return startOfContentPartRuleName;
81
+ get START_OF_CONTENT_PART_RULE_NAME () {
82
+ return START_OF_CONTENT_PART_RULE_NAME;
83
83
  },
84
- get terminalPartRuleName () {
85
- return terminalPartRuleName;
84
+ get TERMINAL_PART_RULE_NAME () {
85
+ return TERMINAL_PART_RULE_NAME;
86
86
  },
87
- get terminalSymbolRuleName () {
88
- return terminalSymbolRuleName;
87
+ get TERMINAL_SYMBOL_RULE_NAME () {
88
+ return TERMINAL_SYMBOL_RULE_NAME;
89
89
  },
90
- get wildcardRuleName () {
91
- return wildcardRuleName;
90
+ get WILDCARD_RULE_NAME () {
91
+ return WILDCARD_RULE_NAME;
92
92
  },
93
- get zeroOrMoreQuantifierRuleName () {
94
- return zeroOrMoreQuantifierRuleName;
93
+ get ZERO_OR_MORE_QUANTIFIER_RULE_NAME () {
94
+ return ZERO_OR_MORE_QUANTIFIER_RULE_NAME;
95
95
  }
96
96
  });
97
- var nameRuleName = "name";
98
- var partRuleName = "part";
99
- var ruleRuleName = "rule";
100
- var errorRuleName = "error";
101
- var epsilonRuleName = "epsilon";
102
- var ruleNameRuleName = "ruleName";
103
- var documentRuleName = "document";
104
- var wildcardRuleName = "wildcard";
105
- var endOfLineRuleName = "endOfLine";
106
- var definitionRuleName = "definition";
107
- var precedenceRuleName = "precedence";
108
- var quantifierRuleName = "quantifier";
109
- var partChoiceRuleName = "partChoice";
110
- var definitionsRuleName = "definitions";
111
- var terminalPartRuleName = "terminalPart";
112
- var choiceOfPartsRuleName = "choiceOfParts";
113
- var terminalSymbolRuleName = "terminalSymbol";
114
- var nonTerminalPartRuleName = "nonTerminalPart";
115
- var sequenceOfPartsRuleName = "sequenceOfParts";
116
- var opacityModifierRuleName = "opacityModifier";
117
- var noWhitespacePartRuleName = "noWhitespace";
118
- var CallAheadModifierRuleName = "callAheadModifier";
119
- var regularExpressionRuleName = "regularExpression";
120
- var optionalQuantifierRuleName = "optionalQuantifier";
121
- var startOfContentPartRuleName = "startOfContent";
122
- var oneOrMoreQuantifierRuleName = "oneOrMoreQuantifier";
123
- var zeroOrMoreQuantifierRuleName = "zeroOrMoreQuantifier";
124
- var significantTokenTypeRuleName = "significantTokenType";
97
+ var NAME_RULE_NAME = "name";
98
+ var PART_RULE_NAME = "part";
99
+ var RULE_RULE_NAME = "rule";
100
+ var ERROR_RULE_NAME = "error";
101
+ var EPSILON_RULE_NAME = "epsilon";
102
+ var DOCUMENT_RULE_NAME = "document";
103
+ var WILDCARD_RULE_NAME = "wildcard";
104
+ var RULE_NAME_RULE_NAME = "ruleName";
105
+ var DEFINITION_RULE_NAME = "definition";
106
+ var PRECEDENCE_RULE_NAME = "precedence";
107
+ var QUANTIFIER_RULE_NAME = "quantifier";
108
+ var END_OF_LINE_RULE_NAME = "endOfLine";
109
+ var PART_CHOICE_RULE_NAME = "partChoice";
110
+ var DEFINITIONS_RULE_NAME = "definitions";
111
+ var TERMINAL_PART_RULE_NAME = "terminalPart";
112
+ var CHOICE_OF_PARTS_RULE_NAME = "choiceOfParts";
113
+ var TERMINAL_SYMBOL_RULE_NAME = "terminalSymbol";
114
+ var OPACITY_MODIFIER_RULE_NAME = "opacityModifier";
115
+ var NON_TERMINAL_PART_RULE_NAME = "nonTerminalPart";
116
+ var SEQUENCE_OF_PARTS_RULE_NAME = "sequenceOfParts";
117
+ var NO_WHITESPACE_PART_RULE_NAME = "noWhitespace";
118
+ var REGULAR_EXPRESSION_RULE_NAME = "regularExpression";
119
+ var CALL_AHEAD_MODIFIER_RULE_NAME = "callAheadModifier";
120
+ var OPTIONAL_QUANTIFIER_RULE_NAME = "optionalQuantifier";
121
+ var START_OF_CONTENT_PART_RULE_NAME = "startOfContent";
122
+ var SIGNIFICANT_TOKEN_TYPE_RULE_NAME = "significantTokenType";
123
+ var ONE_OR_MORE_QUANTIFIER_RULE_NAME = "oneOrMoreQuantifier";
124
+ var ZERO_OR_MORE_QUANTIFIER_RULE_NAME = "zeroOrMoreQuantifier";
125
125
 
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBuYW1lUnVsZU5hbWUgPSBcIm5hbWVcIjtcbmV4cG9ydCBjb25zdCBwYXJ0UnVsZU5hbWUgPSBcInBhcnRcIjtcbmV4cG9ydCBjb25zdCBydWxlUnVsZU5hbWUgPSBcInJ1bGVcIjtcbmV4cG9ydCBjb25zdCBlcnJvclJ1bGVOYW1lID0gXCJlcnJvclwiO1xuZXhwb3J0IGNvbnN0IGVwc2lsb25SdWxlTmFtZSA9IFwiZXBzaWxvblwiO1xuZXhwb3J0IGNvbnN0IHJ1bGVOYW1lUnVsZU5hbWUgPSBcInJ1bGVOYW1lXCI7XG5leHBvcnQgY29uc3QgZG9jdW1lbnRSdWxlTmFtZSA9IFwiZG9jdW1lbnRcIjtcbmV4cG9ydCBjb25zdCB3aWxkY2FyZFJ1bGVOYW1lID0gXCJ3aWxkY2FyZFwiO1xuZXhwb3J0IGNvbnN0IGVuZE9mTGluZVJ1bGVOYW1lID0gXCJlbmRPZkxpbmVcIjtcbmV4cG9ydCBjb25zdCBkZWZpbml0aW9uUnVsZU5hbWUgPSBcImRlZmluaXRpb25cIjtcbmV4cG9ydCBjb25zdCBwcmVjZWRlbmNlUnVsZU5hbWUgPSBcInByZWNlZGVuY2VcIjtcbmV4cG9ydCBjb25zdCBxdWFudGlmaWVyUnVsZU5hbWUgPSBcInF1YW50aWZpZXJcIjtcbmV4cG9ydCBjb25zdCBwYXJ0Q2hvaWNlUnVsZU5hbWUgPSBcInBhcnRDaG9pY2VcIjtcbmV4cG9ydCBjb25zdCBkZWZpbml0aW9uc1J1bGVOYW1lID0gXCJkZWZpbml0aW9uc1wiO1xuZXhwb3J0IGNvbnN0IHRlcm1pbmFsUGFydFJ1bGVOYW1lID0gXCJ0ZXJtaW5hbFBhcnRcIjtcbmV4cG9ydCBjb25zdCBjaG9pY2VPZlBhcnRzUnVsZU5hbWUgPSBcImNob2ljZU9mUGFydHNcIjtcbmV4cG9ydCBjb25zdCB0ZXJtaW5hbFN5bWJvbFJ1bGVOYW1lID0gXCJ0ZXJtaW5hbFN5bWJvbFwiO1xuZXhwb3J0IGNvbnN0IG5vblRlcm1pbmFsUGFydFJ1bGVOYW1lID0gXCJub25UZXJtaW5hbFBhcnRcIjtcbmV4cG9ydCBjb25zdCBzZXF1ZW5jZU9mUGFydHNSdWxlTmFtZSA9IFwic2VxdWVuY2VPZlBhcnRzXCI7XG5leHBvcnQgY29uc3Qgb3BhY2l0eU1vZGlmaWVyUnVsZU5hbWUgPSBcIm9wYWNpdHlNb2RpZmllclwiO1xuZXhwb3J0IGNvbnN0IG5vV2hpdGVzcGFjZVBhcnRSdWxlTmFtZSA9IFwibm9XaGl0ZXNwYWNlXCI7XG5leHBvcnQgY29uc3QgQ2FsbEFoZWFkTW9kaWZpZXJSdWxlTmFtZSA9IFwiY2FsbEFoZWFkTW9kaWZpZXJcIjtcbmV4cG9ydCBjb25zdCByZWd1bGFyRXhwcmVzc2lvblJ1bGVOYW1lID0gXCJyZWd1bGFyRXhwcmVzc2lvblwiO1xuZXhwb3J0IGNvbnN0IG9wdGlvbmFsUXVhbnRpZmllclJ1bGVOYW1lID0gXCJvcHRpb25hbFF1YW50aWZpZXJcIjtcbmV4cG9ydCBjb25zdCBzdGFydE9mQ29udGVudFBhcnRSdWxlTmFtZSA9IFwic3RhcnRPZkNvbnRlbnRcIjtcbmV4cG9ydCBjb25zdCBvbmVPck1vcmVRdWFudGlmaWVyUnVsZU5hbWUgPSBcIm9uZU9yTW9yZVF1YW50aWZpZXJcIjtcbmV4cG9ydCBjb25zdCB6ZXJvT3JNb3JlUXVhbnRpZmllclJ1bGVOYW1lID0gXCJ6ZXJvT3JNb3JlUXVhbnRpZmllclwiO1xuZXhwb3J0IGNvbnN0IHNpZ25pZmljYW50VG9rZW5UeXBlUnVsZU5hbWUgPSBcInNpZ25pZmljYW50VG9rZW5UeXBlXCI7XG4iXSwibmFtZXMiOlsiQ2FsbEFoZWFkTW9kaWZpZXJSdWxlTmFtZSIsImNob2ljZU9mUGFydHNSdWxlTmFtZSIsImRlZmluaXRpb25SdWxlTmFtZSIsImRlZmluaXRpb25zUnVsZU5hbWUiLCJkb2N1bWVudFJ1bGVOYW1lIiwiZW5kT2ZMaW5lUnVsZU5hbWUiLCJlcHNpbG9uUnVsZU5hbWUiLCJlcnJvclJ1bGVOYW1lIiwibmFtZVJ1bGVOYW1lIiwibm9XaGl0ZXNwYWNlUGFydFJ1bGVOYW1lIiwibm9uVGVybWluYWxQYXJ0UnVsZU5hbWUiLCJvbmVPck1vcmVRdWFudGlmaWVyUnVsZU5hbWUiLCJvcGFjaXR5TW9kaWZpZXJSdWxlTmFtZSIsIm9wdGlvbmFsUXVhbnRpZmllclJ1bGVOYW1lIiwicGFydENob2ljZVJ1bGVOYW1lIiwicGFydFJ1bGVOYW1lIiwicHJlY2VkZW5jZVJ1bGVOYW1lIiwicXVhbnRpZmllclJ1bGVOYW1lIiwicmVndWxhckV4cHJlc3Npb25SdWxlTmFtZSIsInJ1bGVOYW1lUnVsZU5hbWUiLCJydWxlUnVsZU5hbWUiLCJzZXF1ZW5jZU9mUGFydHNSdWxlTmFtZSIsInNpZ25pZmljYW50VG9rZW5UeXBlUnVsZU5hbWUiLCJzdGFydE9mQ29udGVudFBhcnRSdWxlTmFtZSIsInRlcm1pbmFsUGFydFJ1bGVOYW1lIiwidGVybWluYWxTeW1ib2xSdWxlTmFtZSIsIndpbGRjYXJkUnVsZU5hbWUiLCJ6ZXJvT3JNb3JlUXVhbnRpZmllclJ1bGVOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF1QmFBO2VBQUFBOztRQU5BQztlQUFBQTs7UUFOQUM7ZUFBQUE7O1FBSUFDO2VBQUFBOztRQVBBQztlQUFBQTs7UUFFQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBb0JBQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBUUFDO2VBQUFBOztRQU5BQztlQUFBQTs7UUFJQUM7ZUFBQUE7O1FBWEFDO2VBQUFBOztRQVhBQztlQUFBQTs7UUFTQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQVdBQztlQUFBQTs7UUFqQkFDO2VBQUFBOztRQUhBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQVNBQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBVkFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFUQUM7ZUFBQUE7O1FBbUJBQztlQUFBQTs7O0FBMUJOLElBQU1uQixlQUFlO0FBQ3JCLElBQU1PLGVBQWU7QUFDckIsSUFBTUssZUFBZTtBQUNyQixJQUFNYixnQkFBZ0I7QUFDdEIsSUFBTUQsa0JBQWtCO0FBQ3hCLElBQU1hLG1CQUFtQjtBQUN6QixJQUFNZixtQkFBbUI7QUFDekIsSUFBTXNCLG1CQUFtQjtBQUN6QixJQUFNckIsb0JBQW9CO0FBQzFCLElBQU1ILHFCQUFxQjtBQUMzQixJQUFNYyxxQkFBcUI7QUFDM0IsSUFBTUMscUJBQXFCO0FBQzNCLElBQU1ILHFCQUFxQjtBQUMzQixJQUFNWCxzQkFBc0I7QUFDNUIsSUFBTXFCLHVCQUF1QjtBQUM3QixJQUFNdkIsd0JBQXdCO0FBQzlCLElBQU13Qix5QkFBeUI7QUFDL0IsSUFBTWYsMEJBQTBCO0FBQ2hDLElBQU1XLDBCQUEwQjtBQUNoQyxJQUFNVCwwQkFBMEI7QUFDaEMsSUFBTUgsMkJBQTJCO0FBQ2pDLElBQU1ULDRCQUE0QjtBQUNsQyxJQUFNa0IsNEJBQTRCO0FBQ2xDLElBQU1MLDZCQUE2QjtBQUNuQyxJQUFNVSw2QkFBNkI7QUFDbkMsSUFBTVosOEJBQThCO0FBQ3BDLElBQU1nQiwrQkFBK0I7QUFDckMsSUFBTUwsK0JBQStCIn0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBOQU1FX1JVTEVfTkFNRSA9IFwibmFtZVwiO1xuZXhwb3J0IGNvbnN0IFBBUlRfUlVMRV9OQU1FID0gXCJwYXJ0XCI7XG5leHBvcnQgY29uc3QgUlVMRV9SVUxFX05BTUUgPSBcInJ1bGVcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9SVUxFX05BTUUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgRVBTSUxPTl9SVUxFX05BTUUgPSBcImVwc2lsb25cIjtcbmV4cG9ydCBjb25zdCBET0NVTUVOVF9SVUxFX05BTUUgPSBcImRvY3VtZW50XCI7XG5leHBvcnQgY29uc3QgV0lMRENBUkRfUlVMRV9OQU1FID0gXCJ3aWxkY2FyZFwiO1xuZXhwb3J0IGNvbnN0IFJVTEVfTkFNRV9SVUxFX05BTUUgPSBcInJ1bGVOYW1lXCI7XG5leHBvcnQgY29uc3QgREVGSU5JVElPTl9SVUxFX05BTUUgPSBcImRlZmluaXRpb25cIjtcbmV4cG9ydCBjb25zdCBQUkVDRURFTkNFX1JVTEVfTkFNRSA9IFwicHJlY2VkZW5jZVwiO1xuZXhwb3J0IGNvbnN0IFFVQU5USUZJRVJfUlVMRV9OQU1FID0gXCJxdWFudGlmaWVyXCI7XG5leHBvcnQgY29uc3QgRU5EX09GX0xJTkVfUlVMRV9OQU1FID0gXCJlbmRPZkxpbmVcIjtcbmV4cG9ydCBjb25zdCBQQVJUX0NIT0lDRV9SVUxFX05BTUUgPSBcInBhcnRDaG9pY2VcIjtcbmV4cG9ydCBjb25zdCBERUZJTklUSU9OU19SVUxFX05BTUUgPSBcImRlZmluaXRpb25zXCI7XG5leHBvcnQgY29uc3QgVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUgPSBcInRlcm1pbmFsUGFydFwiO1xuZXhwb3J0IGNvbnN0IENIT0lDRV9PRl9QQVJUU19SVUxFX05BTUUgPSBcImNob2ljZU9mUGFydHNcIjtcbmV4cG9ydCBjb25zdCBURVJNSU5BTF9TWU1CT0xfUlVMRV9OQU1FID0gXCJ0ZXJtaW5hbFN5bWJvbFwiO1xuZXhwb3J0IGNvbnN0IE9QQUNJVFlfTU9ESUZJRVJfUlVMRV9OQU1FID0gXCJvcGFjaXR5TW9kaWZpZXJcIjtcbmV4cG9ydCBjb25zdCBOT05fVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUgPSBcIm5vblRlcm1pbmFsUGFydFwiO1xuZXhwb3J0IGNvbnN0IFNFUVVFTkNFX09GX1BBUlRTX1JVTEVfTkFNRSA9IFwic2VxdWVuY2VPZlBhcnRzXCI7XG5leHBvcnQgY29uc3QgTk9fV0hJVEVTUEFDRV9QQVJUX1JVTEVfTkFNRSA9IFwibm9XaGl0ZXNwYWNlXCI7XG5leHBvcnQgY29uc3QgUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSA9IFwicmVndWxhckV4cHJlc3Npb25cIjtcbmV4cG9ydCBjb25zdCBDQUxMX0FIRUFEX01PRElGSUVSX1JVTEVfTkFNRSA9IFwiY2FsbEFoZWFkTW9kaWZpZXJcIjtcbmV4cG9ydCBjb25zdCBPUFRJT05BTF9RVUFOVElGSUVSX1JVTEVfTkFNRSA9IFwib3B0aW9uYWxRdWFudGlmaWVyXCI7XG5leHBvcnQgY29uc3QgU1RBUlRfT0ZfQ09OVEVOVF9QQVJUX1JVTEVfTkFNRSA9IFwic3RhcnRPZkNvbnRlbnRcIjtcbmV4cG9ydCBjb25zdCBTSUdOSUZJQ0FOVF9UT0tFTl9UWVBFX1JVTEVfTkFNRSA9IFwic2lnbmlmaWNhbnRUb2tlblR5cGVcIjtcbmV4cG9ydCBjb25zdCBPTkVfT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRSA9IFwib25lT3JNb3JlUXVhbnRpZmllclwiO1xuZXhwb3J0IGNvbnN0IFpFUk9fT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRSA9IFwiemVyb09yTW9yZVF1YW50aWZpZXJcIjtcbiJdLCJuYW1lcyI6WyJDQUxMX0FIRUFEX01PRElGSUVSX1JVTEVfTkFNRSIsIkNIT0lDRV9PRl9QQVJUU19SVUxFX05BTUUiLCJERUZJTklUSU9OU19SVUxFX05BTUUiLCJERUZJTklUSU9OX1JVTEVfTkFNRSIsIkRPQ1VNRU5UX1JVTEVfTkFNRSIsIkVORF9PRl9MSU5FX1JVTEVfTkFNRSIsIkVQU0lMT05fUlVMRV9OQU1FIiwiRVJST1JfUlVMRV9OQU1FIiwiTkFNRV9SVUxFX05BTUUiLCJOT05fVEVSTUlOQUxfUEFSVF9SVUxFX05BTUUiLCJOT19XSElURVNQQUNFX1BBUlRfUlVMRV9OQU1FIiwiT05FX09SX01PUkVfUVVBTlRJRklFUl9SVUxFX05BTUUiLCJPUEFDSVRZX01PRElGSUVSX1JVTEVfTkFNRSIsIk9QVElPTkFMX1FVQU5USUZJRVJfUlVMRV9OQU1FIiwiUEFSVF9DSE9JQ0VfUlVMRV9OQU1FIiwiUEFSVF9SVUxFX05BTUUiLCJQUkVDRURFTkNFX1JVTEVfTkFNRSIsIlFVQU5USUZJRVJfUlVMRV9OQU1FIiwiUkVHVUxBUl9FWFBSRVNTSU9OX1JVTEVfTkFNRSIsIlJVTEVfTkFNRV9SVUxFX05BTUUiLCJSVUxFX1JVTEVfTkFNRSIsIlNFUVVFTkNFX09GX1BBUlRTX1JVTEVfTkFNRSIsIlNJR05JRklDQU5UX1RPS0VOX1RZUEVfUlVMRV9OQU1FIiwiU1RBUlRfT0ZfQ09OVEVOVF9QQVJUX1JVTEVfTkFNRSIsIlRFUk1JTkFMX1BBUlRfUlVMRV9OQU1FIiwiVEVSTUlOQUxfU1lNQk9MX1JVTEVfTkFNRSIsIldJTERDQVJEX1JVTEVfTkFNRSIsIlpFUk9fT1JfTU9SRV9RVUFOVElGSUVSX1JVTEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBd0JhQTtlQUFBQTs7UUFQQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQUxBQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBTUFDO2VBQUFBOztRQVBBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQWtCQUM7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQU1BQztlQUFBQTs7UUFUQUM7ZUFBQUE7O1FBTUFDO2VBQUFBOztRQVhBQztlQUFBQTs7UUFYQUM7ZUFBQUE7O1FBUUFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUFXQUM7ZUFBQUE7O1FBZEFDO2VBQUFBOztRQUxBQztlQUFBQTs7UUFpQkFDO2VBQUFBOztRQU1BQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBVkFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFWQUM7ZUFBQUE7O1FBcUJBQztlQUFBQTs7O0FBM0JOLElBQU1uQixpQkFBaUI7QUFDdkIsSUFBTU8saUJBQWlCO0FBQ3ZCLElBQU1LLGlCQUFpQjtBQUN2QixJQUFNYixrQkFBa0I7QUFDeEIsSUFBTUQsb0JBQW9CO0FBQzFCLElBQU1GLHFCQUFxQjtBQUMzQixJQUFNc0IscUJBQXFCO0FBQzNCLElBQU1QLHNCQUFzQjtBQUM1QixJQUFNaEIsdUJBQXVCO0FBQzdCLElBQU1hLHVCQUF1QjtBQUM3QixJQUFNQyx1QkFBdUI7QUFDN0IsSUFBTVosd0JBQXdCO0FBQzlCLElBQU1TLHdCQUF3QjtBQUM5QixJQUFNWix3QkFBd0I7QUFDOUIsSUFBTXNCLDBCQUEwQjtBQUNoQyxJQUFNdkIsNEJBQTRCO0FBQ2xDLElBQU13Qiw0QkFBNEI7QUFDbEMsSUFBTWIsNkJBQTZCO0FBQ25DLElBQU1ILDhCQUE4QjtBQUNwQyxJQUFNWSw4QkFBOEI7QUFDcEMsSUFBTVgsK0JBQStCO0FBQ3JDLElBQU1RLCtCQUErQjtBQUNyQyxJQUFNbEIsZ0NBQWdDO0FBQ3RDLElBQU1hLGdDQUFnQztBQUN0QyxJQUFNVSxrQ0FBa0M7QUFDeEMsSUFBTUQsbUNBQW1DO0FBQ3pDLElBQU1YLG1DQUFtQztBQUN6QyxJQUFNZ0Isb0NBQW9DIn0=
package/lib/state.js CHANGED
@@ -28,13 +28,15 @@ function _create_class(Constructor, protoProps, staticProps) {
28
28
  return Constructor;
29
29
  }
30
30
  var State = /*#__PURE__*/ function() {
31
- function State(index, tokens, ruleMap, precedence, startOfContent) {
31
+ function State(index, tokens, ruleMap, precedence, startOfContent, NonTerminalNodeMap, defaultNonTerminalNode) {
32
32
  _class_call_check(this, State);
33
33
  this.index = index;
34
34
  this.tokens = tokens;
35
35
  this.ruleMap = ruleMap;
36
36
  this.precedence = precedence;
37
37
  this.startOfContent = startOfContent;
38
+ this.NonTerminalNodeMap = NonTerminalNodeMap;
39
+ this.defaultNonTerminalNode = defaultNonTerminalNode;
38
40
  }
39
41
  _create_class(State, [
40
42
  {
@@ -67,6 +69,18 @@ var State = /*#__PURE__*/ function() {
67
69
  return this.startOfContent;
68
70
  }
69
71
  },
72
+ {
73
+ key: "getNonTerminalNode",
74
+ value: function getNonTerminalNode() {
75
+ return this.NonTerminalNodeMap;
76
+ }
77
+ },
78
+ {
79
+ key: "getDefaultNonTerminalNode",
80
+ value: function getDefaultNonTerminalNode() {
81
+ return this.defaultNonTerminalNode;
82
+ }
83
+ },
70
84
  {
71
85
  key: "setIndex",
72
86
  value: function setIndex(index) {
@@ -168,12 +182,19 @@ var State = /*#__PURE__*/ function() {
168
182
  value: function resetPrecedence(savedPrecedence) {
169
183
  this.precedence = savedPrecedence; ///
170
184
  }
185
+ },
186
+ {
187
+ key: "NonTerminalNodeFromRuleName",
188
+ value: function NonTerminalNodeFromRuleName(ruleName) {
189
+ var NonTerminalNode = this.NonTerminalNodeMap[ruleName] || this.defaultNonTerminalNode;
190
+ return NonTerminalNode;
191
+ }
171
192
  }
172
193
  ], [
173
194
  {
174
- key: "fromTokensRuleMapAndStartOfContent",
175
- value: function fromTokensRuleMapAndStartOfContent(tokens, ruleMap, startOfContent) {
176
- var index = 0, precedence = null, state = new State(index, tokens, ruleMap, precedence, startOfContent);
195
+ key: "fromTokensRuleMapStartOfContentNonTerminalNodeMapAndDefaultNonTerminalNode",
196
+ value: function fromTokensRuleMapStartOfContentNonTerminalNodeMapAndDefaultNonTerminalNode(tokens, ruleMap, startOfContent, NonTerminalNodeMap, defaultNonTerminalNode) {
197
+ var index = 0, precedence = null, state = new State(index, tokens, ruleMap, precedence, startOfContent, NonTerminalNodeMap, defaultNonTerminalNode);
177
198
  return state;
178
199
  }
179
200
  }
@@ -181,4 +202,4 @@ var State = /*#__PURE__*/ function() {
181
202
  return State;
182
203
  }();
183
204
 
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGUge1xuICBjb25zdHJ1Y3RvcihpbmRleCwgdG9rZW5zLCBydWxlTWFwLCBwcmVjZWRlbmNlLCBzdGFydE9mQ29udGVudCkge1xuXHRcdHRoaXMuaW5kZXggPSBpbmRleDtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB0aGlzLnJ1bGVNYXAgPSBydWxlTWFwO1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gICAgdGhpcy5zdGFydE9mQ29udGVudCA9IHN0YXJ0T2ZDb250ZW50O1xuICB9XG5cbiAgZ2V0SW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5kZXg7XG4gIH1cblxuICBnZXRUb2tlbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zO1xuICB9XG5cbiAgZ2V0UnVsZU1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTWFwO1xuICB9XG5cbiAgZ2V0UHJlY2VkZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVjZWRlbmNlO1xuICB9XG5cbiAgZ2V0U3RhcnRPZkNvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRPZkNvbnRlbnQ7XG4gIH1cblxuICBzZXRJbmRleChpbmRleCkge1xuICAgIHRoaXMuaW5kZXggPSBpbmRleDtcbiAgfVxuXG4gIHNldFRva2Vucyh0b2tlbnMpIHtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgfVxuXG4gIHNldFJ1bGVNYXAocnVsZU1hcCkge1xuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gIH1cblxuICBzZXRQcmVjZWRlbmNlKHByZWNlZGVuY2UpIHtcbiAgICB0aGlzLnByZWNlZGVuY2UgPSBwcmVjZWRlbmNlO1xuICB9XG5cbiAgc2V0U3RhcnRPZkNvbnRlbnQoc3RhcnRPZkNvbnRlbnQpIHtcbiAgICB0aGlzLnN0YXJ0T2ZDb250ZW50ID0gc3RhcnRPZkNvbnRlbnQ7XG4gIH1cblxuICBnZXRTYXZlZFByZWNlZGVuY2UoKSB7XG4gICAgY29uc3Qgc2F2ZWRQcmVjZWRlbmNlID0gdGhpcy5wcmVjZWRlbmNlO1xuXG4gICAgcmV0dXJuIHNhdmVkUHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFNhdmVkSW5kZXgoKSB7XG4gICAgY29uc3Qgc2F2ZWRJbmRleCA9IHRoaXMuaW5kZXg7IC8vL1xuICBcbiAgICByZXR1cm4gc2F2ZWRJbmRleDtcbiAgfVxuXG4gIGdldE5leHRUb2tlbigpIHtcbiAgICBsZXQgbmV4dFRva2VuID0gbnVsbDtcblxuICAgIGNvbnN0IHRva2Vuc0xlbmd0aCA9IHRoaXMudG9rZW5zLmxlbmd0aDtcblxuICAgIGlmICh0aGlzLmluZGV4IDwgdG9rZW5zTGVuZ3RoKSB7XG4gICAgICBuZXh0VG9rZW4gPSB0aGlzLnRva2Vuc1t0aGlzLmluZGV4KytdO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0VG9rZW47XG4gIH1cblxuICBpc0F0U3RhcnRPZkNvbnRlbnQoKSB7XG4gICAgY29uc3QgYXRTdGFydE9mQ29udGVudCA9IHRoaXMuc3RhcnRPZkNvbnRlbnQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuaW5kZXggPT09IDApOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZTtcblxuICAgIHJldHVybiBhdFN0YXJ0T2ZDb250ZW50O1xuICB9XG5cbiAgZ2V0TmV4dFNpZ25pZmljYW50VG9rZW4oKSB7XG5cdFx0bGV0IG5leHRTaWduaWZpY2FudFRva2VuID0gbnVsbDtcblxuICBcdGNvbnN0IHRva2Vuc0xlbmd0aCA9IHRoaXMudG9rZW5zLmxlbmd0aDtcblxuICBcdHdoaWxlICh0aGlzLmluZGV4IDwgdG9rZW5zTGVuZ3RoKSB7XG4gIFx0XHRjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zW3RoaXMuaW5kZXgrK10sXG5cdFx0XHRcdFx0XHR0b2tlblNpZ25pZmljYW50ID0gdG9rZW4uaXNTaWduaWZpY2FudCgpO1xuXG4gIFx0XHRpZiAodG9rZW5TaWduaWZpY2FudCkge1xuICBcdFx0ICBjb25zdCBzaWduaWZpY2FudFRva2VuID0gdG9rZW47IC8vL1xuXG5cdFx0XHRcdG5leHRTaWduaWZpY2FudFRva2VuID0gc2lnbmlmaWNhbnRUb2tlbjtcdC8vL1xuXG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuICBcdH1cblxuXHRcdHJldHVybiBuZXh0U2lnbmlmaWNhbnRUb2tlbjtcbiAgfVxuXG4gIGlzTmV4dFRva2VuV2hpdGVzcGFjZVRva2VuKCkge1xuICAgIGxldCBuZXh0VG9rZW5XaGl0ZXNwYWNlVG9rZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0IHRva2Vuc0xlbmd0aCA9IHRoaXMudG9rZW5zLmxlbmd0aDtcblxuICAgIGlmICh0aGlzLmluZGV4IDwgdG9rZW5zTGVuZ3RoKSB7XG4gICAgICBjb25zdCBuZXh0VG9rZW4gPSB0aGlzLnRva2Vuc1t0aGlzLmluZGV4XTtcblxuICAgICAgbmV4dFRva2VuV2hpdGVzcGFjZVRva2VuID0gbmV4dFRva2VuLmlzV2hpdGVzcGFjZVRva2VuKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHRUb2tlbldoaXRlc3BhY2VUb2tlbjtcbiAgfVxuXG5cdGJhY2t0cmFjayhzYXZlZEluZGV4KSB7XG5cdFx0dGhpcy5pbmRleCA9IHNhdmVkSW5kZXg7ICAvLy9cblx0fVxuXG4gIHJlc2V0UHJlY2VkZW5jZShzYXZlZFByZWNlZGVuY2UpIHtcbiAgICB0aGlzLnByZWNlZGVuY2UgPSBzYXZlZFByZWNlZGVuY2U7ICAvLy9cbiAgfVxuXG4gIHN0YXRpYyBmcm9tVG9rZW5zUnVsZU1hcEFuZFN0YXJ0T2ZDb250ZW50KHRva2VucywgcnVsZU1hcCwgc3RhcnRPZkNvbnRlbnQpIHtcbiAgICBjb25zdCBpbmRleCA9IDAsXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG5cdFx0XHRcdFx0c3RhdGUgPSBuZXcgU3RhdGUoaW5kZXgsIHRva2VucywgcnVsZU1hcCwgcHJlY2VkZW5jZSwgc3RhcnRPZkNvbnRlbnQpO1xuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiU3RhdGUiLCJpbmRleCIsInRva2VucyIsInJ1bGVNYXAiLCJwcmVjZWRlbmNlIiwic3RhcnRPZkNvbnRlbnQiLCJnZXRJbmRleCIsImdldFRva2VucyIsImdldFJ1bGVNYXAiLCJnZXRQcmVjZWRlbmNlIiwiZ2V0U3RhcnRPZkNvbnRlbnQiLCJzZXRJbmRleCIsInNldFRva2VucyIsInNldFJ1bGVNYXAiLCJzZXRQcmVjZWRlbmNlIiwic2V0U3RhcnRPZkNvbnRlbnQiLCJnZXRTYXZlZFByZWNlZGVuY2UiLCJzYXZlZFByZWNlZGVuY2UiLCJnZXRTYXZlZEluZGV4Iiwic2F2ZWRJbmRleCIsImdldE5leHRUb2tlbiIsIm5leHRUb2tlbiIsInRva2Vuc0xlbmd0aCIsImxlbmd0aCIsImlzQXRTdGFydE9mQ29udGVudCIsImF0U3RhcnRPZkNvbnRlbnQiLCJnZXROZXh0U2lnbmlmaWNhbnRUb2tlbiIsIm5leHRTaWduaWZpY2FudFRva2VuIiwidG9rZW4iLCJ0b2tlblNpZ25pZmljYW50IiwiaXNTaWduaWZpY2FudCIsInNpZ25pZmljYW50VG9rZW4iLCJpc05leHRUb2tlbldoaXRlc3BhY2VUb2tlbiIsIm5leHRUb2tlbldoaXRlc3BhY2VUb2tlbiIsImlzV2hpdGVzcGFjZVRva2VuIiwiYmFja3RyYWNrIiwicmVzZXRQcmVjZWRlbmNlIiwiZnJvbVRva2Vuc1J1bGVNYXBBbmRTdGFydE9mQ29udGVudCIsInN0YXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLHNCQUFOO2FBQU1BLE1BQ1BDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsY0FBYztnQ0FEM0NMO1FBRW5CLElBQUksQ0FBQ0MsS0FB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
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGUge1xuICBjb25zdHJ1Y3RvcihpbmRleCwgdG9rZW5zLCBydWxlTWFwLCBwcmVjZWRlbmNlLCBzdGFydE9mQ29udGVudCwgTm9uVGVybWluYWxOb2RlTWFwLCBkZWZhdWx0Tm9uVGVybWluYWxOb2RlKSB7XG5cdFx0dGhpcy5pbmRleCA9IGluZGV4O1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gICAgdGhpcy5wcmVjZWRlbmNlID0gcHJlY2VkZW5jZTtcbiAgICB0aGlzLnN0YXJ0T2ZDb250ZW50ID0gc3RhcnRPZkNvbnRlbnQ7XG4gICAgdGhpcy5Ob25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG4gICAgdGhpcy5kZWZhdWx0Tm9uVGVybWluYWxOb2RlID0gZGVmYXVsdE5vblRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGdldEluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLmluZGV4O1xuICB9XG5cbiAgZ2V0VG9rZW5zKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VucztcbiAgfVxuXG4gIGdldFJ1bGVNYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZU1hcDtcbiAgfVxuXG4gIGdldFByZWNlZGVuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFN0YXJ0T2ZDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0T2ZDb250ZW50O1xuICB9XG5cbiAgZ2V0Tm9uVGVybWluYWxOb2RlKCkge1xuICAgIHJldHVybiB0aGlzLk5vblRlcm1pbmFsTm9kZU1hcDtcbiAgfVxuXG4gIGdldERlZmF1bHROb25UZXJtaW5hbE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdE5vblRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIHNldEluZGV4KGluZGV4KSB7XG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICB9XG5cbiAgc2V0VG9rZW5zKHRva2Vucykge1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICB9XG5cbiAgc2V0UnVsZU1hcChydWxlTWFwKSB7XG4gICAgdGhpcy5ydWxlTWFwID0gcnVsZU1hcDtcbiAgfVxuXG4gIHNldFByZWNlZGVuY2UocHJlY2VkZW5jZSkge1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBzZXRTdGFydE9mQ29udGVudChzdGFydE9mQ29udGVudCkge1xuICAgIHRoaXMuc3RhcnRPZkNvbnRlbnQgPSBzdGFydE9mQ29udGVudDtcbiAgfVxuXG4gIGdldFNhdmVkUHJlY2VkZW5jZSgpIHtcbiAgICBjb25zdCBzYXZlZFByZWNlZGVuY2UgPSB0aGlzLnByZWNlZGVuY2U7XG5cbiAgICByZXR1cm4gc2F2ZWRQcmVjZWRlbmNlO1xuICB9XG5cbiAgZ2V0U2F2ZWRJbmRleCgpIHtcbiAgICBjb25zdCBzYXZlZEluZGV4ID0gdGhpcy5pbmRleDsgLy8vXG4gIFxuICAgIHJldHVybiBzYXZlZEluZGV4O1xuICB9XG5cbiAgZ2V0TmV4dFRva2VuKCkge1xuICAgIGxldCBuZXh0VG9rZW4gPSBudWxsO1xuXG4gICAgY29uc3QgdG9rZW5zTGVuZ3RoID0gdGhpcy50b2tlbnMubGVuZ3RoO1xuXG4gICAgaWYgKHRoaXMuaW5kZXggPCB0b2tlbnNMZW5ndGgpIHtcbiAgICAgIG5leHRUb2tlbiA9IHRoaXMudG9rZW5zW3RoaXMuaW5kZXgrK107XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHRUb2tlbjtcbiAgfVxuXG4gIGlzQXRTdGFydE9mQ29udGVudCgpIHtcbiAgICBjb25zdCBhdFN0YXJ0T2ZDb250ZW50ID0gdGhpcy5zdGFydE9mQ29udGVudCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5pbmRleCA9PT0gMCk6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlO1xuXG4gICAgcmV0dXJuIGF0U3RhcnRPZkNvbnRlbnQ7XG4gIH1cblxuICBnZXROZXh0U2lnbmlmaWNhbnRUb2tlbigpIHtcblx0XHRsZXQgbmV4dFNpZ25pZmljYW50VG9rZW4gPSBudWxsO1xuXG4gIFx0Y29uc3QgdG9rZW5zTGVuZ3RoID0gdGhpcy50b2tlbnMubGVuZ3RoO1xuXG4gIFx0d2hpbGUgKHRoaXMuaW5kZXggPCB0b2tlbnNMZW5ndGgpIHtcbiAgXHRcdGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnNbdGhpcy5pbmRleCsrXSxcblx0XHRcdFx0XHRcdHRva2VuU2lnbmlmaWNhbnQgPSB0b2tlbi5pc1NpZ25pZmljYW50KCk7XG5cbiAgXHRcdGlmICh0b2tlblNpZ25pZmljYW50KSB7XG4gIFx0XHQgIGNvbnN0IHNpZ25pZmljYW50VG9rZW4gPSB0b2tlbjsgLy8vXG5cblx0XHRcdFx0bmV4dFNpZ25pZmljYW50VG9rZW4gPSBzaWduaWZpY2FudFRva2VuO1x0Ly8vXG5cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG4gIFx0fVxuXG5cdFx0cmV0dXJuIG5leHRTaWduaWZpY2FudFRva2VuO1xuICB9XG5cbiAgaXNOZXh0VG9rZW5XaGl0ZXNwYWNlVG9rZW4oKSB7XG4gICAgbGV0IG5leHRUb2tlbldoaXRlc3BhY2VUb2tlbiA9IGZhbHNlO1xuXG4gICAgY29uc3QgdG9rZW5zTGVuZ3RoID0gdGhpcy50b2tlbnMubGVuZ3RoO1xuXG4gICAgaWYgKHRoaXMuaW5kZXggPCB0b2tlbnNMZW5ndGgpIHtcbiAgICAgIGNvbnN0IG5leHRUb2tlbiA9IHRoaXMudG9rZW5zW3RoaXMuaW5kZXhdO1xuXG4gICAgICBuZXh0VG9rZW5XaGl0ZXNwYWNlVG9rZW4gPSBuZXh0VG9rZW4uaXNXaGl0ZXNwYWNlVG9rZW4oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dFRva2VuV2hpdGVzcGFjZVRva2VuO1xuICB9XG5cblx0YmFja3RyYWNrKHNhdmVkSW5kZXgpIHtcblx0XHR0aGlzLmluZGV4ID0gc2F2ZWRJbmRleDsgIC8vL1xuXHR9XG5cbiAgcmVzZXRQcmVjZWRlbmNlKHNhdmVkUHJlY2VkZW5jZSkge1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHNhdmVkUHJlY2VkZW5jZTsgIC8vL1xuICB9XG5cbiAgTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKSB7XG4gICAgY29uc3QgTm9uVGVybWluYWxOb2RlID0gdGhpcy5Ob25UZXJtaW5hbE5vZGVNYXBbcnVsZU5hbWVdIHx8IHRoaXMuZGVmYXVsdE5vblRlcm1pbmFsTm9kZTtcblxuICAgIHJldHVybiBOb25UZXJtaW5hbE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVRva2Vuc1J1bGVNYXBTdGFydE9mQ29udGVudE5vblRlcm1pbmFsTm9kZU1hcEFuZERlZmF1bHROb25UZXJtaW5hbE5vZGUodG9rZW5zLCBydWxlTWFwLCBzdGFydE9mQ29udGVudCwgTm9uVGVybWluYWxOb2RlTWFwLCBkZWZhdWx0Tm9uVGVybWluYWxOb2RlKSB7XG4gICAgY29uc3QgaW5kZXggPSAwLFxuICAgICAgICAgIHByZWNlZGVuY2UgPSBudWxsLFxuXHRcdFx0XHRcdHN0YXRlID0gbmV3IFN0YXRlKGluZGV4LCB0b2tlbnMsIHJ1bGVNYXAsIHByZWNlZGVuY2UsIHN0YXJ0T2ZDb250ZW50LCBOb25UZXJtaW5hbE5vZGVNYXAsIGRlZmF1bHROb25UZXJtaW5hbE5vZGUpO1xuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiU3RhdGUiLCJpbmRleCIsInRva2VucyIsInJ1bGVNYXAiLCJwcmVjZWRlbmNlIiwic3RhcnRPZkNvbnRlbnQiLCJOb25UZXJtaW5hbE5vZGVNYXAiLCJkZWZhdWx0Tm9uVGVybWluYWxOb2RlIiwiZ2V0SW5kZXgiLCJnZXRUb2tlbnMiLCJnZXRSdWxlTWFwIiwiZ2V0UHJlY2VkZW5jZSIsImdldFN0YXJ0T2ZDb250ZW50IiwiZ2V0Tm9uVGVybWluYWxOb2RlIiwiZ2V0RGVmYXVsdE5vblRlcm1pbmFsTm9kZSIsInNldEluZGV4Iiwic2V0VG9rZW5zIiwic2V0UnVsZU1hcCIsInNldFByZWNlZGVuY2UiLCJzZXRTdGFydE9mQ29udGVudCIsImdldFNhdmVkUHJlY2VkZW5jZSIsInNhdmVkUHJlY2VkZW5jZSIsImdldFNhdmVkSW5kZXgiLCJzYXZlZEluZGV4IiwiZ2V0TmV4dFRva2VuIiwibmV4dFRva2VuIiwidG9rZW5zTGVuZ3RoIiwibGVuZ3RoIiwiaXNBdFN0YXJ0T2ZDb250ZW50IiwiYXRTdGFydE9mQ29udGVudCIsImdldE5leHRTaWduaWZpY2FudFRva2VuIiwibmV4dFNpZ25pZmljYW50VG9rZW4iLCJ0b2tlbiIsInRva2VuU2lnbmlmaWNhbnQiLCJpc1NpZ25pZmljYW50Iiwic2lnbmlmaWNhbnRUb2tlbiIsImlzTmV4dFRva2VuV2hpdGVzcGFjZVRva2VuIiwibmV4dFRva2VuV2hpdGVzcGFjZVRva2VuIiwiaXNXaGl0ZXNwYWNlVG9rZW4iLCJiYWNrdHJhY2siLCJyZXNldFByZWNlZGVuY2UiLCJOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUiLCJydWxlTmFtZSIsIk5vblRlcm1pbmFsTm9kZSIsImZyb21Ub2tlbnNSdWxlTWFwU3RhcnRPZkNvbnRlbnROb25UZXJtaW5hbE5vZGVNYXBBbmREZWZhdWx0Tm9uVGVybWluYWxOb2RlIiwic3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsc0JBQU47YUFBTUEsTUFDUEMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxjQUFjLEVBQUVDLGtCQUFrQixFQUFFQyxzQkFBc0I7Z0NBRHZGUDtRQUVuQixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDWCxJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJ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
@@ -42,7 +42,7 @@ function isNodeRuleNameNode(node) {
42
42
  var nodeTerminalNode = node.isTerminalNode(), nodeNonTerminalNode = !nodeTerminalNode;
43
43
  if (nodeNonTerminalNode) {
44
44
  var nonTerminalNode = node, nonTerminalNodeRuleName = nonTerminalNode.getRuleName();
45
- nodeRuleNameNode = nonTerminalNodeRuleName === _ruleNames.ruleNameRuleName;
45
+ nodeRuleNameNode = nonTerminalNodeRuleName === _ruleNames.RULE_NAME_RULE_NAME;
46
46
  }
47
47
  return nodeRuleNameNode;
48
48
  }
@@ -50,7 +50,7 @@ function isNodeQuantifierNode(node) {
50
50
  var nodeQuantifierNode = false;
51
51
  var nodeNonTerminalNode = node.isNonTerminalNode();
52
52
  if (nodeNonTerminalNode) {
53
- var nonTerminalNode = node, ruleName = nonTerminalNode.getRuleName(), ruleNameQuantifierRuleName = ruleName === _ruleNames.quantifierRuleName;
53
+ var nonTerminalNode = node, ruleName = nonTerminalNode.getRuleName(), ruleNameQuantifierRuleName = ruleName === _ruleNames.QUANTIFIER_RULE_NAME;
54
54
  nodeQuantifierNode = ruleNameQuantifierRuleName; ///
55
55
  }
56
56
  return nodeQuantifierNode;
@@ -59,7 +59,7 @@ function isNodeCallAheadModifierNode(node) {
59
59
  var nodeCallAheadModifierNode = false;
60
60
  var nodeNonTerminalNode = node.isNonTerminalNode();
61
61
  if (nodeNonTerminalNode) {
62
- var nonTerminalNode = node, ruleName = nonTerminalNode.getRuleName(), ruleNameCallAheadModifierRuleName = ruleName === _ruleNames.callAheadModifierRuleName;
62
+ var nonTerminalNode = node, ruleName = nonTerminalNode.getRuleName(), ruleNameCallAheadModifierRuleName = ruleName === _ruleNames.CALL_AHEAD_MODIFIER_RULE_NAME;
63
63
  nodeCallAheadModifierNode = ruleNameCallAheadModifierRuleName; ///
64
64
  }
65
65
  return nodeCallAheadModifierNode;
@@ -73,4 +73,4 @@ function ruleNameFromQuantifierNode(quantifierNode) {
73
73
  return ruleName;
74
74
  }
75
75
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgcnVsZU5hbWVSdWxlTmFtZSwgcXVhbnRpZmllclJ1bGVOYW1lLCBjYWxsQWhlYWRNb2RpZmllclJ1bGVOYW1lIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUNob2ljZU5vZGUobm9kZSkge1xuICBsZXQgbm9kZU5vQ2hvaWNlTm9kZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgdGVybWluYWxOb2RlQ29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICBub2RlTm9DaG9pY2VOb2RlID0gKHRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IFwifFwiKTtcbiAgfVxuXG4gIHJldHVybiBub2RlTm9DaG9pY2VOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlUnVsZU5hbWVOb2RlKG5vZGUpIHtcbiAgbGV0IG5vZGVSdWxlTmFtZU5vZGUgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gIW5vZGVUZXJtaW5hbE5vZGU7XG5cbiAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgbm9kZVJ1bGVOYW1lTm9kZSA9IChub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9PT0gcnVsZU5hbWVSdWxlTmFtZSk7XG4gIH1cblxuICByZXR1cm4gbm9kZVJ1bGVOYW1lTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVF1YW50aWZpZXJOb2RlKG5vZGUpIHtcbiAgbGV0IG5vZGVRdWFudGlmaWVyTm9kZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVOb25UZXJtaW5hbE5vZGUgPSBub2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHJ1bGVOYW1lUXVhbnRpZmllclJ1bGVOYW1lID0gKHJ1bGVOYW1lID09PSBxdWFudGlmaWVyUnVsZU5hbWUpO1xuXG4gICAgbm9kZVF1YW50aWZpZXJOb2RlID0gcnVsZU5hbWVRdWFudGlmaWVyUnVsZU5hbWU7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBub2RlUXVhbnRpZmllck5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVDYWxsQWhlYWRNb2RpZmllck5vZGUobm9kZSkge1xuICBsZXQgbm9kZUNhbGxBaGVhZE1vZGlmaWVyTm9kZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVOb25UZXJtaW5hbE5vZGUgPSBub2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHJ1bGVOYW1lQ2FsbEFoZWFkTW9kaWZpZXJSdWxlTmFtZSA9IChydWxlTmFtZSA9PT0gY2FsbEFoZWFkTW9kaWZpZXJSdWxlTmFtZSk7XG5cbiAgICBub2RlQ2FsbEFoZWFkTW9kaWZpZXJOb2RlID0gcnVsZU5hbWVDYWxsQWhlYWRNb2RpZmllclJ1bGVOYW1lOyAgLy8vXG4gIH1cblxuICByZXR1cm4gbm9kZUNhbGxBaGVhZE1vZGlmaWVyTm9kZTtcblxufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVsZU5hbWVGcm9tUXVhbnRpZmllck5vZGUocXVhbnRpZmllck5vZGUpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZTtcblxuICBub25UZXJtaW5hbE5vZGUgPSBxdWFudGlmaWVyTm9kZTsgLy8vXG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIGZpcnN0Q2hpbGROb2RlID0gZmlyc3QoY2hpbGROb2Rlcyk7XG5cbiAgbm9uVGVybWluYWxOb2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gIHJldHVybiBydWxlTmFtZTtcbn1cbiJdLCJuYW1lcyI6WyJpc05vZGVDYWxsQWhlYWRNb2RpZmllck5vZGUiLCJpc05vZGVDaG9pY2VOb2RlIiwiaXNOb2RlUXVhbnRpZmllck5vZGUiLCJpc05vZGVSdWxlTmFtZU5vZGUiLCJydWxlTmFtZUZyb21RdWFudGlmaWVyTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJub2RlIiwibm9kZU5vQ2hvaWNlTm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Iiwibm9kZVJ1bGVOYW1lTm9kZSIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwicnVsZU5hbWVSdWxlTmFtZSIsIm5vZGVRdWFudGlmaWVyTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJydWxlTmFtZVF1YW50aWZpZXJSdWxlTmFtZSIsInF1YW50aWZpZXJSdWxlTmFtZSIsIm5vZGVDYWxsQWhlYWRNb2RpZmllck5vZGUiLCJydWxlTmFtZUNhbGxBaGVhZE1vZGlmaWVyUnVsZU5hbWUiLCJjYWxsQWhlYWRNb2RpZmllclJ1bGVOYW1lIiwicXVhbnRpZmllck5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImZpcnN0Q2hpbGROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF1RGdCQTtlQUFBQTs7UUEvQ0FDO2VBQUFBOztRQStCQUM7ZUFBQUE7O1FBaEJBQztlQUFBQTs7UUFpREFDO2VBQUFBOzs7eUJBdEVlO3lCQUVpRDtBQUVoRixJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRDtBQUVELFNBQVNKLGlCQUFpQk0sSUFBSTtJQUNuQyxJQUFJQyxtQkFBbUI7SUFFdkIsSUFBTUMsbUJBQW1CRixLQUFLRyxjQUFjO0lBRTVDLElBQUlELGtCQUFrQjtRQUNwQixJQUFNRSxlQUFlSixNQUNmSyxzQkFBc0JELGFBQWFFLFVBQVU7UUFFbkRMLG1CQUFvQkksd0JBQXdCO0lBQzlDO0lBRUEsT0FBT0o7QUFDVDtBQUVPLFNBQVNMLG1CQUFtQkksSUFBSTtJQUNyQyxJQUFJTyxtQkFBbUI7SUFFdkIsSUFBTUwsbUJBQW1CRixLQUFLRyxjQUFjLElBQ3RDSyxzQkFBc0IsQ0FBQ047SUFFN0IsSUFBSU0scUJBQXFCO1FBQ3ZCLElBQU1DLGtCQUFrQlQsTUFDbEJVLDBCQUEwQkQsZ0JBQWdCRSxXQUFXO1FBRTNESixtQkFBb0JHLDRCQUE0QkUsMkJBQWdCO0lBQ2xFO0lBRUEsT0FBT0w7QUFDVDtBQUVPLFNBQVNaLHFCQUFxQkssSUFBSTtJQUN2QyxJQUFJYSxxQkFBcUI7SUFFekIsSUFBTUwsc0JBQXNCUixLQUFLYyxpQkFBaUI7SUFFbEQsSUFBSU4scUJBQXFCO1FBQ3ZCLElBQU1DLGtCQUFrQlQsTUFDbEJlLFdBQVdOLGdCQUFnQkUsV0FBVyxJQUN0Q0ssNkJBQThCRCxhQUFhRSw2QkFBa0I7UUFFbkVKLHFCQUFxQkcsNEJBQTZCLEdBQUc7SUFDdkQ7SUFFQSxPQUFPSDtBQUNUO0FBRU8sU0FBU3BCLDRCQUE0Qk8sSUFBSTtJQUM5QyxJQUFJa0IsNEJBQTRCO0lBRWhDLElBQU1WLHNCQUFzQlIsS0FBS2MsaUJBQWlCO0lBRWxELElBQUlOLHFCQUFxQjtRQUN2QixJQUFNQyxrQkFBa0JULE1BQ2xCZSxXQUFXTixnQkFBZ0JFLFdBQVcsSUFDdENRLG9DQUFxQ0osYUFBYUssb0NBQXlCO1FBRWpGRiw0QkFBNEJDLG1DQUFvQyxHQUFHO0lBQ3JFO0lBRUEsT0FBT0Q7QUFFVDtBQUVPLFNBQVNyQiwyQkFBMkJ3QixjQUFjO0lBQ3ZELElBQUlaO0lBRUpBLGtCQUFrQlksZ0JBQWdCLEdBQUc7SUFFckMsSUFBTUMsYUFBYWIsZ0JBQWdCYyxhQUFhLElBQzFDQyxpQkFBaUIxQixNQUFNd0I7SUFFN0JiLGtCQUFrQmUsZ0JBQWlCLEdBQUc7SUFFdEMsSUFBTVQsV0FBV04sZ0JBQWdCRSxXQUFXO0lBRTVDLE9BQU9JO0FBQ1QifQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgUlVMRV9OQU1FX1JVTEVfTkFNRSwgUVVBTlRJRklFUl9SVUxFX05BTUUsIENBTExfQUhFQURfTU9ESUZJRVJfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUNob2ljZU5vZGUobm9kZSkge1xuICBsZXQgbm9kZU5vQ2hvaWNlTm9kZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgdGVybWluYWxOb2RlQ29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICBub2RlTm9DaG9pY2VOb2RlID0gKHRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IFwifFwiKTtcbiAgfVxuXG4gIHJldHVybiBub2RlTm9DaG9pY2VOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlUnVsZU5hbWVOb2RlKG5vZGUpIHtcbiAgbGV0IG5vZGVSdWxlTmFtZU5vZGUgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gIW5vZGVUZXJtaW5hbE5vZGU7XG5cbiAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgbm9kZVJ1bGVOYW1lTm9kZSA9IChub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9PT0gUlVMRV9OQU1FX1JVTEVfTkFNRSk7XG4gIH1cblxuICByZXR1cm4gbm9kZVJ1bGVOYW1lTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVF1YW50aWZpZXJOb2RlKG5vZGUpIHtcbiAgbGV0IG5vZGVRdWFudGlmaWVyTm9kZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVOb25UZXJtaW5hbE5vZGUgPSBub2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHJ1bGVOYW1lUXVhbnRpZmllclJ1bGVOYW1lID0gKHJ1bGVOYW1lID09PSBRVUFOVElGSUVSX1JVTEVfTkFNRSk7XG5cbiAgICBub2RlUXVhbnRpZmllck5vZGUgPSBydWxlTmFtZVF1YW50aWZpZXJSdWxlTmFtZTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIG5vZGVRdWFudGlmaWVyTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUNhbGxBaGVhZE1vZGlmaWVyTm9kZShub2RlKSB7XG4gIGxldCBub2RlQ2FsbEFoZWFkTW9kaWZpZXJOb2RlID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZU5vblRlcm1pbmFsTm9kZSA9IG5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICBpZiAobm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgIHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgcnVsZU5hbWVDYWxsQWhlYWRNb2RpZmllclJ1bGVOYW1lID0gKHJ1bGVOYW1lID09PSBDQUxMX0FIRUFEX01PRElGSUVSX1JVTEVfTkFNRSk7XG5cbiAgICBub2RlQ2FsbEFoZWFkTW9kaWZpZXJOb2RlID0gcnVsZU5hbWVDYWxsQWhlYWRNb2RpZmllclJ1bGVOYW1lOyAgLy8vXG4gIH1cblxuICByZXR1cm4gbm9kZUNhbGxBaGVhZE1vZGlmaWVyTm9kZTtcblxufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVsZU5hbWVGcm9tUXVhbnRpZmllck5vZGUocXVhbnRpZmllck5vZGUpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZTtcblxuICBub25UZXJtaW5hbE5vZGUgPSBxdWFudGlmaWVyTm9kZTsgLy8vXG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIGZpcnN0Q2hpbGROb2RlID0gZmlyc3QoY2hpbGROb2Rlcyk7XG5cbiAgbm9uVGVybWluYWxOb2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gIHJldHVybiBydWxlTmFtZTtcbn1cbiJdLCJuYW1lcyI6WyJpc05vZGVDYWxsQWhlYWRNb2RpZmllck5vZGUiLCJpc05vZGVDaG9pY2VOb2RlIiwiaXNOb2RlUXVhbnRpZmllck5vZGUiLCJpc05vZGVSdWxlTmFtZU5vZGUiLCJydWxlTmFtZUZyb21RdWFudGlmaWVyTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJub2RlIiwibm9kZU5vQ2hvaWNlTm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Iiwibm9kZVJ1bGVOYW1lTm9kZSIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiUlVMRV9OQU1FX1JVTEVfTkFNRSIsIm5vZGVRdWFudGlmaWVyTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJydWxlTmFtZVF1YW50aWZpZXJSdWxlTmFtZSIsIlFVQU5USUZJRVJfUlVMRV9OQU1FIiwibm9kZUNhbGxBaGVhZE1vZGlmaWVyTm9kZSIsInJ1bGVOYW1lQ2FsbEFoZWFkTW9kaWZpZXJSdWxlTmFtZSIsIkNBTExfQUhFQURfTU9ESUZJRVJfUlVMRV9OQU1FIiwicXVhbnRpZmllck5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImZpcnN0Q2hpbGROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF1RGdCQTtlQUFBQTs7UUEvQ0FDO2VBQUFBOztRQStCQUM7ZUFBQUE7O1FBaEJBQztlQUFBQTs7UUFpREFDO2VBQUFBOzs7eUJBdEVlO3lCQUUwRDtBQUV6RixJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRDtBQUVELFNBQVNKLGlCQUFpQk0sSUFBSTtJQUNuQyxJQUFJQyxtQkFBbUI7SUFFdkIsSUFBTUMsbUJBQW1CRixLQUFLRyxjQUFjO0lBRTVDLElBQUlELGtCQUFrQjtRQUNwQixJQUFNRSxlQUFlSixNQUNmSyxzQkFBc0JELGFBQWFFLFVBQVU7UUFFbkRMLG1CQUFvQkksd0JBQXdCO0lBQzlDO0lBRUEsT0FBT0o7QUFDVDtBQUVPLFNBQVNMLG1CQUFtQkksSUFBSTtJQUNyQyxJQUFJTyxtQkFBbUI7SUFFdkIsSUFBTUwsbUJBQW1CRixLQUFLRyxjQUFjLElBQ3RDSyxzQkFBc0IsQ0FBQ047SUFFN0IsSUFBSU0scUJBQXFCO1FBQ3ZCLElBQU1DLGtCQUFrQlQsTUFDbEJVLDBCQUEwQkQsZ0JBQWdCRSxXQUFXO1FBRTNESixtQkFBb0JHLDRCQUE0QkUsOEJBQW1CO0lBQ3JFO0lBRUEsT0FBT0w7QUFDVDtBQUVPLFNBQVNaLHFCQUFxQkssSUFBSTtJQUN2QyxJQUFJYSxxQkFBcUI7SUFFekIsSUFBTUwsc0JBQXNCUixLQUFLYyxpQkFBaUI7SUFFbEQsSUFBSU4scUJBQXFCO1FBQ3ZCLElBQU1DLGtCQUFrQlQsTUFDbEJlLFdBQVdOLGdCQUFnQkUsV0FBVyxJQUN0Q0ssNkJBQThCRCxhQUFhRSwrQkFBb0I7UUFFckVKLHFCQUFxQkcsNEJBQTZCLEdBQUc7SUFDdkQ7SUFFQSxPQUFPSDtBQUNUO0FBRU8sU0FBU3BCLDRCQUE0Qk8sSUFBSTtJQUM5QyxJQUFJa0IsNEJBQTRCO0lBRWhDLElBQU1WLHNCQUFzQlIsS0FBS2MsaUJBQWlCO0lBRWxELElBQUlOLHFCQUFxQjtRQUN2QixJQUFNQyxrQkFBa0JULE1BQ2xCZSxXQUFXTixnQkFBZ0JFLFdBQVcsSUFDdENRLG9DQUFxQ0osYUFBYUssd0NBQTZCO1FBRXJGRiw0QkFBNEJDLG1DQUFvQyxHQUFHO0lBQ3JFO0lBRUEsT0FBT0Q7QUFFVDtBQUVPLFNBQVNyQiwyQkFBMkJ3QixjQUFjO0lBQ3ZELElBQUlaO0lBRUpBLGtCQUFrQlksZ0JBQWdCLEdBQUc7SUFFckMsSUFBTUMsYUFBYWIsZ0JBQWdCYyxhQUFhLElBQzFDQyxpQkFBaUIxQixNQUFNd0I7SUFFN0JiLGtCQUFrQmUsZ0JBQWlCLEdBQUc7SUFFdEMsSUFBTVQsV0FBV04sZ0JBQWdCRSxXQUFXO0lBRTVDLE9BQU9JO0FBQ1QifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-parsers",
3
3
  "author": "James Smith",
4
- "version": "23.0.146",
4
+ "version": "23.0.147",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-parsers",
7
7
  "description": "Occam's parsers.",
package/src/bnf/parser.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import bnf from "./bnf";
4
4
  import Rule from "../rule";
5
+ import NonTerminalNodeMap from "../nonTerminalNodeMap";
5
6
  import parserMixins from "../mixins/parser";
6
7
  import NameBNFRule from "../rule/bnf/name";
7
8
  import PartBNFRule from "../rule/bnf/part";
@@ -68,6 +69,10 @@ export default class BNFParser {
68
69
  return rules;
69
70
  }
70
71
 
72
+ static NonTerminalNodeMap = NonTerminalNodeMap;
73
+
74
+ static defaultNonTerminalNode = null;
75
+
71
76
  static bnf = bnf;
72
77
 
73
78
  static fromNothing() {