occam-furtle 3.0.259 → 3.0.261

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/lib/constants.js +42 -0
  2. package/lib/context/block.js +71 -0
  3. package/lib/context/file/furtle.js +139 -0
  4. package/lib/element/assignment/array.js +112 -0
  5. package/lib/element/assignment/object.js +168 -0
  6. package/lib/element/assignment/variable.js +38 -0
  7. package/lib/element/assignments/variable.js +34 -0
  8. package/lib/element/binding/named.js +68 -0
  9. package/lib/element/binding.js +51 -0
  10. package/lib/element/bindings/named.js +84 -0
  11. package/lib/element/bindings.js +57 -0
  12. package/lib/element/declaration/procedure.js +36 -0
  13. package/lib/element/error.js +25 -0
  14. package/lib/element/every.js +109 -0
  15. package/lib/element/expression.js +106 -0
  16. package/lib/element/label.js +28 -0
  17. package/lib/element/nodeQuery.js +71 -0
  18. package/lib/element/nodesQuery.js +63 -0
  19. package/lib/element/parameter.js +44 -0
  20. package/lib/element/parameters.js +57 -0
  21. package/lib/element/primitive.js +131 -0
  22. package/lib/element/procedure/anonymous.js +51 -0
  23. package/lib/element/procedure.js +80 -0
  24. package/lib/element/procedureCall.js +50 -0
  25. package/lib/element/reduce.js +108 -0
  26. package/lib/element/reference.js +28 -0
  27. package/lib/element/returnBlock.js +60 -0
  28. package/lib/element/some.js +107 -0
  29. package/lib/element/statement/return.js +33 -0
  30. package/lib/element/step.js +43 -0
  31. package/lib/element/term/bracketed.js +36 -0
  32. package/lib/element/term/comparison.js +58 -0
  33. package/lib/element/term/logical.js +63 -0
  34. package/lib/element/term/negated.js +55 -0
  35. package/lib/element/term.js +114 -0
  36. package/lib/element/terms.js +100 -0
  37. package/lib/element/ternary.js +55 -0
  38. package/lib/element/value.js +83 -0
  39. package/lib/element/values.js +59 -0
  40. package/lib/element/variable.js +90 -0
  41. package/lib/elements.js +27 -0
  42. package/lib/example/view/div/sizeable.js +25 -0
  43. package/lib/example/view/input/ruleName.js +48 -0
  44. package/lib/example/view/subHeading.js +29 -0
  45. package/lib/example/view/textarea/bnf.js +39 -0
  46. package/lib/example/view/textarea/content.js +39 -0
  47. package/lib/example/view/textarea/lexicalEntries.js +39 -0
  48. package/lib/example/view/textarea/parseTree.js +46 -0
  49. package/lib/example/view/textarea/tokens.js +55 -0
  50. package/lib/example/view/textarea.js +31 -0
  51. package/lib/example/view.js +90 -0
  52. package/lib/example.js +19 -0
  53. package/lib/exception.js +24 -0
  54. package/lib/furtle/lexer.js +15 -0
  55. package/lib/furtle/parser.js +24 -0
  56. package/lib/index.js +40 -0
  57. package/lib/metaTypeNames.js +26 -0
  58. package/lib/metaTypes.js +66 -0
  59. package/lib/node/assignment/array.js +32 -0
  60. package/lib/node/assignment/object.js +32 -0
  61. package/lib/node/assignment/variable.js +32 -0
  62. package/lib/node/assignment.js +18 -0
  63. package/lib/node/assignments/variable.js +38 -0
  64. package/lib/node/assignments.js +18 -0
  65. package/lib/node/binding/named.js +36 -0
  66. package/lib/node/binding.js +61 -0
  67. package/lib/node/bindings/named.js +28 -0
  68. package/lib/node/bindings.js +31 -0
  69. package/lib/node/declaration/procedure.js +46 -0
  70. package/lib/node/declaration.js +18 -0
  71. package/lib/node/document.js +18 -0
  72. package/lib/node/error.js +18 -0
  73. package/lib/node/every.js +27 -0
  74. package/lib/node/expression.js +55 -0
  75. package/lib/node/label.js +29 -0
  76. package/lib/node/nodeQuery.js +39 -0
  77. package/lib/node/nodesQuery.js +39 -0
  78. package/lib/node/nonsense.js +18 -0
  79. package/lib/node/parameter.js +39 -0
  80. package/lib/node/parameters.js +23 -0
  81. package/lib/node/primitive.js +104 -0
  82. package/lib/node/procedure/anoymous.js +42 -0
  83. package/lib/node/procedure.js +18 -0
  84. package/lib/node/procedureCall.js +27 -0
  85. package/lib/node/reduce.js +31 -0
  86. package/lib/node/reference.js +29 -0
  87. package/lib/node/returnBlock.js +35 -0
  88. package/lib/node/some.js +27 -0
  89. package/lib/node/statement/return.js +28 -0
  90. package/lib/node/statement.js +18 -0
  91. package/lib/node/step.js +31 -0
  92. package/lib/node/term/bracketed.js +28 -0
  93. package/lib/node/term/comparison.js +60 -0
  94. package/lib/node/term/logical.js +66 -0
  95. package/lib/node/term/negated.js +28 -0
  96. package/lib/node/term.js +51 -0
  97. package/lib/node/terms.js +23 -0
  98. package/lib/node/ternary.js +45 -0
  99. package/lib/node/value.js +27 -0
  100. package/lib/node/values.js +23 -0
  101. package/lib/node/variable.js +29 -0
  102. package/lib/nodeProperties.js +78 -0
  103. package/lib/nodeProperty.js +45 -0
  104. package/lib/nonTerminalNodeMap.js +97 -0
  105. package/lib/parameterNames.js +26 -0
  106. package/lib/preamble.js +48 -0
  107. package/lib/process/verify.js +51 -0
  108. package/lib/ruleNames.js +166 -0
  109. package/lib/tokenTypes.js +42 -0
  110. package/lib/types.js +34 -0
  111. package/lib/utilities/element.js +1081 -0
  112. package/lib/utilities/furtle.js +31 -0
  113. package/lib/utilities/lexers.js +55 -0
  114. package/lib/utilities/parameters.js +29 -0
  115. package/lib/utilities/parsers.js +74 -0
  116. package/lib/utilities/primitive.js +54 -0
  117. package/lib/utilities/string.js +215 -0
  118. package/lib/utilities/stringLiteral.js +29 -0
  119. package/lib/utilities/term.js +46 -0
  120. package/lib/utilities/value.js +90 -0
  121. package/lib/utilities/values.js +31 -0
  122. package/package.json +11 -11
@@ -0,0 +1,90 @@
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
+ const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
+ const _easy = require("easy");
13
+ const _easylayout = require("easy-layout");
14
+ const _index = require("../index");
15
+ const _subHeading = /*#__PURE__*/ _interop_require_default(require("./view/subHeading"));
16
+ const _sizeable = /*#__PURE__*/ _interop_require_default(require("./view/div/sizeable"));
17
+ const _bnf = /*#__PURE__*/ _interop_require_default(require("./view/textarea/bnf"));
18
+ const _ruleName = /*#__PURE__*/ _interop_require_default(require("./view/input/ruleName"));
19
+ const _tokens = /*#__PURE__*/ _interop_require_default(require("./view/textarea/tokens"));
20
+ const _content = /*#__PURE__*/ _interop_require_default(require("./view/textarea/content"));
21
+ const _parseTree = /*#__PURE__*/ _interop_require_default(require("./view/textarea/parseTree"));
22
+ const _lexicalEntries = /*#__PURE__*/ _interop_require_default(require("./view/textarea/lexicalEntries"));
23
+ function _interop_require_default(obj) {
24
+ return obj && obj.__esModule ? obj : {
25
+ default: obj
26
+ };
27
+ }
28
+ const { furtleParserFromBNF } = _index.parsersUtilities, { furtleLexerFromEntries } = _index.lexersUtilities;
29
+ const { bnf } = _index.FurtleParser, { entries } = _index.FurtleLexer;
30
+ class View extends _easy.Element {
31
+ keyUpHandler = (event, element)=>{
32
+ // try {
33
+ const tokens = this.getTokens(), parseTree = this.getParseTree(tokens);
34
+ this.setTokens(tokens);
35
+ this.setParseTree(parseTree);
36
+ // } catch (error) {
37
+ // console.log(error);
38
+ //
39
+ // this.clearTokens();
40
+ //
41
+ // this.clearParseTree();
42
+ // }
43
+ };
44
+ getTokens() {
45
+ const lexicalEntries = this.getLexicalEntries(), entries = lexicalEntries, furtleLexer = furtleLexerFromEntries(entries), lexer = furtleLexer, content = this.getContent(), tokens = lexer.tokenise(content);
46
+ return tokens;
47
+ }
48
+ getParseTree(tokens) {
49
+ let parseTree = null;
50
+ const bnf = this.getBNF(), furtleParser = furtleParserFromBNF(bnf), parser = furtleParser, ruleName = this.getRuleName(), ruleMap = parser.getRuleMap(), rule = ruleMap[ruleName], node = parser.parse(tokens, rule);
51
+ if (node !== null) {
52
+ parseTree = node.asParseTree(tokens);
53
+ }
54
+ return parseTree;
55
+ }
56
+ childElements() {
57
+ return /*#__PURE__*/ React.createElement(_easylayout.ColumnsDiv, null, /*#__PURE__*/ React.createElement(_sizeable.default, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Lexical entries"), /*#__PURE__*/ React.createElement(_lexicalEntries.default, {
58
+ onKeyUp: this.keyUpHandler
59
+ }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "BNF"), /*#__PURE__*/ React.createElement(_bnf.default, {
60
+ onKeyUp: this.keyUpHandler
61
+ }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Rule name"), /*#__PURE__*/ React.createElement(_ruleName.default, {
62
+ onKeyUp: this.keyUpHandler
63
+ }))), /*#__PURE__*/ React.createElement(_easylayout.VerticalSplitterDiv, null), /*#__PURE__*/ React.createElement(_easylayout.ColumnDiv, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Content"), /*#__PURE__*/ React.createElement(_content.default, {
64
+ onKeyUp: this.keyUpHandler
65
+ }), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Tokens"), /*#__PURE__*/ React.createElement(_tokens.default, null), /*#__PURE__*/ React.createElement(_subHeading.default, null, "Parse tree"), /*#__PURE__*/ React.createElement(_parseTree.default, null))));
66
+ }
67
+ initialise() {
68
+ this.assignContext();
69
+ const { initialContent, initialRuleName } = this.constructor, content = initialContent, ruleName = initialRuleName, lexicalEntries = entries; ///
70
+ this.setBNF(bnf);
71
+ this.setContent(content);
72
+ this.setRuleName(ruleName);
73
+ this.setLexicalEntries(lexicalEntries);
74
+ this.keyUpHandler();
75
+ }
76
+ static initialRuleName = "variableAssignments";
77
+ static initialContent = `Boolean metavariableBound = isMetavariableBound(frameNode, statementNode);
78
+ `;
79
+ static tagName = "div";
80
+ static defaultProperties = {
81
+ className: "view"
82
+ };
83
+ }
84
+ const _default = (0, _easywithstyle.default)(View)`
85
+
86
+ padding: 1rem;
87
+
88
+ `;
89
+
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2IH0gZnJvbSBcImVhc3ktbGF5b3V0XCI7XG5pbXBvcnQgeyBGdXJ0bGVMZXhlcixGdXJ0bGVQYXJzZXIsIGxleGVyc1V0aWxpdGllcywgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCIuLi9pbmRleFwiOyAvLy9cblxuaW1wb3J0IFN1YkhlYWRpbmcgZnJvbSBcIi4vdmlldy9zdWJIZWFkaW5nXCI7XG5pbXBvcnQgU2l6ZWFibGVEaXYgZnJvbSBcIi4vdmlldy9kaXYvc2l6ZWFibGVcIjtcbmltcG9ydCBCTkZUZXh0YXJlYSBmcm9tIFwiLi92aWV3L3RleHRhcmVhL2JuZlwiO1xuaW1wb3J0IFJ1bGVOYW1lSW5wdXQgZnJvbSBcIi4vdmlldy9pbnB1dC9ydWxlTmFtZVwiO1xuaW1wb3J0IFRva2Vuc1RleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvdG9rZW5zXCI7XG5pbXBvcnQgQ29udGVudFRleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvY29udGVudFwiO1xuaW1wb3J0IFBhcnNlVHJlZVRleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvcGFyc2VUcmVlXCI7XG5pbXBvcnQgTGV4aWNhbEVudHJpZXNUZXh0YXJlYSBmcm9tIFwiLi92aWV3L3RleHRhcmVhL2xleGljYWxFbnRyaWVzXCI7XG5cbmNvbnN0IHsgZnVydGxlUGFyc2VyRnJvbUJORiB9ID0gcGFyc2Vyc1V0aWxpdGllcyxcbiAgICAgIHsgZnVydGxlTGV4ZXJGcm9tRW50cmllcyB9ID0gbGV4ZXJzVXRpbGl0aWVzO1xuXG5jb25zdCB7IGJuZiB9ID0gRnVydGxlUGFyc2VyLFxuICAgICAgeyBlbnRyaWVzIH0gPSBGdXJ0bGVMZXhlcjtcblxuY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBrZXlVcEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICAvLyB0cnkge1xuICAgICAgY29uc3QgdG9rZW5zID0gdGhpcy5nZXRUb2tlbnMoKSxcbiAgICAgICAgICAgIHBhcnNlVHJlZSA9IHRoaXMuZ2V0UGFyc2VUcmVlKHRva2Vucyk7XG5cbiAgICAgIHRoaXMuc2V0VG9rZW5zKHRva2Vucyk7XG5cbiAgICAgIHRoaXMuc2V0UGFyc2VUcmVlKHBhcnNlVHJlZSk7XG4gICAgLy8gfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAvL1xuICAgIC8vICAgdGhpcy5jbGVhclRva2VucygpO1xuICAgIC8vXG4gICAgLy8gICB0aGlzLmNsZWFyUGFyc2VUcmVlKCk7XG4gICAgLy8gfVxuICB9XG5cbiAgZ2V0VG9rZW5zKCkge1xuICAgIGNvbnN0IGxleGljYWxFbnRyaWVzID0gdGhpcy5nZXRMZXhpY2FsRW50cmllcygpLFxuICAgICAgICAgIGVudHJpZXMgPSBsZXhpY2FsRW50cmllcywgLy8vXG4gICAgICAgICAgZnVydGxlTGV4ZXIgPSBmdXJ0bGVMZXhlckZyb21FbnRyaWVzKGVudHJpZXMpLFxuICAgICAgICAgIGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgICByZXR1cm4gdG9rZW5zO1xuICB9XG5cbiAgZ2V0UGFyc2VUcmVlKHRva2Vucykge1xuICAgIGxldCBwYXJzZVRyZWUgPSBudWxsO1xuXG4gICAgY29uc3QgYm5mID0gdGhpcy5nZXRCTkYoKSxcbiAgICAgICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tQk5GKGJuZiksXG4gICAgICAgICAgcGFyc2VyID0gZnVydGxlUGFyc2VyLCAgLy8vXG4gICAgICAgICAgcnVsZU5hbWUgPSB0aGlzLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgcnVsZU1hcCA9IHBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICAgICAgcnVsZSA9IHJ1bGVNYXBbcnVsZU5hbWVdLFxuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBydWxlKTtcblxuICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlVHJlZTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIChcblxuICAgICAgPENvbHVtbnNEaXY+XG4gICAgICAgIDxTaXplYWJsZURpdj5cbiAgICAgICAgICA8Um93c0Rpdj5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBMZXhpY2FsIGVudHJpZXNcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxMZXhpY2FsRW50cmllc1RleHRhcmVhIG9uS2V5VXA9e3RoaXMua2V5VXBIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIEJORlxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPEJORlRleHRhcmVhIG9uS2V5VXA9e3RoaXMua2V5VXBIYW5kbGVyfSAvPlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIFJ1bGUgbmFtZVxuICAgICAgICAgICAgPC9TdWJIZWFkaW5nPlxuICAgICAgICAgICAgPFJ1bGVOYW1lSW5wdXQgb25LZXlVcD17dGhpcy5rZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgPC9Sb3dzRGl2PlxuICAgICAgICA8L1NpemVhYmxlRGl2PlxuICAgICAgICA8VmVydGljYWxTcGxpdHRlckRpdiAvPlxuICAgICAgICA8Q29sdW1uRGl2PlxuICAgICAgICAgIDxSb3dzRGl2PlxuICAgICAgICAgICAgPFN1YkhlYWRpbmc+XG4gICAgICAgICAgICAgIENvbnRlbnRcbiAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgIDxDb250ZW50VGV4dGFyZWEgb25LZXlVcD17dGhpcy5rZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgVG9rZW5zXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8VG9rZW5zVGV4dGFyZWEgLz5cbiAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICBQYXJzZSB0cmVlXG4gICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICA8UGFyc2VUcmVlVGV4dGFyZWEgLz5cbiAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgIDwvQ29sdW1uRGl2PlxuICAgICAgPC9Db2x1bW5zRGl2PlxuXG4gICAgKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCB7IGluaXRpYWxDb250ZW50LCBpbml0aWFsUnVsZU5hbWUgfSA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgY29udGVudCA9IGluaXRpYWxDb250ZW50LCAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IGluaXRpYWxSdWxlTmFtZSwgLy8vXG4gICAgICAgICAgbGV4aWNhbEVudHJpZXMgPSBlbnRyaWVzOyAvLy9cblxuICAgIHRoaXMuc2V0Qk5GKGJuZik7XG5cbiAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHRoaXMuc2V0TGV4aWNhbEVudHJpZXMobGV4aWNhbEVudHJpZXMpO1xuXG4gICAgdGhpcy5rZXlVcEhhbmRsZXIoKTtcbiAgfVxuXG4gIHN0YXRpYyBpbml0aWFsUnVsZU5hbWUgPSBcInZhcmlhYmxlQXNzaWdubWVudHNcIjtcblxuICBzdGF0aWMgaW5pdGlhbENvbnRlbnQgPSBgQm9vbGVhbiBtZXRhdmFyaWFibGVCb3VuZCA9IGlzTWV0YXZhcmlhYmxlQm91bmQoZnJhbWVOb2RlLCBzdGF0ZW1lbnROb2RlKTtcbmA7XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidmlld1wiXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShWaWV3KWBcblxuICBwYWRkaW5nOiAxcmVtO1xuIFxuYDtcbiJdLCJuYW1lcyI6WyJmdXJ0bGVQYXJzZXJGcm9tQk5GIiwicGFyc2Vyc1V0aWxpdGllcyIsImZ1cnRsZUxleGVyRnJvbUVudHJpZXMiLCJsZXhlcnNVdGlsaXRpZXMiLCJibmYiLCJGdXJ0bGVQYXJzZXIiLCJlbnRyaWVzIiwiRnVydGxlTGV4ZXIiLCJWaWV3IiwiRWxlbWVudCIsImtleVVwSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsInRva2VucyIsImdldFRva2VucyIsInBhcnNlVHJlZSIsImdldFBhcnNlVHJlZSIsInNldFRva2VucyIsInNldFBhcnNlVHJlZSIsImxleGljYWxFbnRyaWVzIiwiZ2V0TGV4aWNhbEVudHJpZXMiLCJmdXJ0bGVMZXhlciIsImxleGVyIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbmlzZSIsImdldEJORiIsImZ1cnRsZVBhcnNlciIsInBhcnNlciIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInJ1bGUiLCJub2RlIiwicGFyc2UiLCJhc1BhcnNlVHJlZSIsImNoaWxkRWxlbWVudHMiLCJDb2x1bW5zRGl2IiwiU2l6ZWFibGVEaXYiLCJSb3dzRGl2IiwiU3ViSGVhZGluZyIsIkxleGljYWxFbnRyaWVzVGV4dGFyZWEiLCJvbktleVVwIiwiQk5GVGV4dGFyZWEiLCJSdWxlTmFtZUlucHV0IiwiVmVydGljYWxTcGxpdHRlckRpdiIsIkNvbHVtbkRpdiIsIkNvbnRlbnRUZXh0YXJlYSIsIlRva2Vuc1RleHRhcmVhIiwiUGFyc2VUcmVlVGV4dGFyZWEiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImluaXRpYWxDb250ZW50IiwiaW5pdGlhbFJ1bGVOYW1lIiwic2V0Qk5GIiwic2V0Q29udGVudCIsInNldFJ1bGVOYW1lIiwic2V0TGV4aWNhbEVudHJpZXMiLCJ0YWdOYW1lIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJ3aXRoU3R5bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQStJQTs7O2VBQUE7OztzRUE3SXNCO3NCQUVFOzRCQUM0Qzt1QkFDUTttRUFFckQ7aUVBQ0M7NERBQ0E7aUVBQ0U7K0RBQ0M7Z0VBQ0M7a0VBQ0U7dUVBQ0s7Ozs7OztBQUVuQyxNQUFNLEVBQUVBLG1CQUFtQixFQUFFLEdBQUdDLHVCQUFnQixFQUMxQyxFQUFFQyxzQkFBc0IsRUFBRSxHQUFHQyxzQkFBZTtBQUVsRCxNQUFNLEVBQUVDLEdBQUcsRUFBRSxHQUFHQyxtQkFBWSxFQUN0QixFQUFFQyxPQUFPLEVBQUUsR0FBR0Msa0JBQVc7QUFFL0IsTUFBTUMsYUFBYUMsYUFBTztJQUN4QkMsZUFBZSxDQUFDQyxPQUFPQztRQUNyQixRQUFRO1FBQ04sTUFBTUMsU0FBUyxJQUFJLENBQUNDLFNBQVMsSUFDdkJDLFlBQVksSUFBSSxDQUFDQyxZQUFZLENBQUNIO1FBRXBDLElBQUksQ0FBQ0ksU0FBUyxDQUFDSjtRQUVmLElBQUksQ0FBQ0ssWUFBWSxDQUFDSDtJQUNwQixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLEVBQUU7SUFDRix3QkFBd0I7SUFDeEIsRUFBRTtJQUNGLDJCQUEyQjtJQUMzQixJQUFJO0lBQ04sRUFBQztJQUVERCxZQUFZO1FBQ1YsTUFBTUssaUJBQWlCLElBQUksQ0FBQ0MsaUJBQWlCLElBQ3ZDZCxVQUFVYSxnQkFDVkUsY0FBY25CLHVCQUF1QkksVUFDckNnQixRQUFRRCxhQUNSRSxVQUFVLElBQUksQ0FBQ0MsVUFBVSxJQUN6QlgsU0FBU1MsTUFBTUcsUUFBUSxDQUFDRjtRQUU5QixPQUFPVjtJQUNUO0lBRUFHLGFBQWFILE1BQU0sRUFBRTtRQUNuQixJQUFJRSxZQUFZO1FBRWhCLE1BQU1YLE1BQU0sSUFBSSxDQUFDc0IsTUFBTSxJQUNqQkMsZUFBZTNCLG9CQUFvQkksTUFDbkN3QixTQUFTRCxjQUNURSxXQUFXLElBQUksQ0FBQ0MsV0FBVyxJQUMzQkMsVUFBVUgsT0FBT0ksVUFBVSxJQUMzQkMsT0FBT0YsT0FBTyxDQUFDRixTQUFTLEVBQ3hCSyxPQUFPTixPQUFPTyxLQUFLLENBQUN0QixRQUFRb0I7UUFFbEMsSUFBSUMsU0FBUyxNQUFNO1lBQ2pCbkIsWUFBWW1CLEtBQUtFLFdBQVcsQ0FBQ3ZCO1FBQy9CO1FBRUEsT0FBT0U7SUFDVDtJQUVBc0IsZ0JBQWdCO1FBQ2QscUJBRUUsb0JBQUNDLHNCQUFVLHNCQUNULG9CQUFDQyxpQkFBVyxzQkFDVixvQkFBQ0MsbUJBQU8sc0JBQ04sb0JBQUNDLG1CQUFVLFFBQUMsa0NBR1osb0JBQUNDLHVCQUFzQjtZQUFDQyxTQUFTLElBQUksQ0FBQ2pDLFlBQVk7MEJBQ2xELG9CQUFDK0IsbUJBQVUsUUFBQyxzQkFHWixvQkFBQ0csWUFBVztZQUFDRCxTQUFTLElBQUksQ0FBQ2pDLFlBQVk7MEJBQ3ZDLG9CQUFDK0IsbUJBQVUsUUFBQyw0QkFHWixvQkFBQ0ksaUJBQWE7WUFBQ0YsU0FBUyxJQUFJLENBQUNqQyxZQUFZOzRCQUc3QyxvQkFBQ29DLCtCQUFtQix1QkFDcEIsb0JBQUNDLHFCQUFTLHNCQUNSLG9CQUFDUCxtQkFBTyxzQkFDTixvQkFBQ0MsbUJBQVUsUUFBQywwQkFHWixvQkFBQ08sZ0JBQWU7WUFBQ0wsU0FBUyxJQUFJLENBQUNqQyxZQUFZOzBCQUMzQyxvQkFBQytCLG1CQUFVLFFBQUMseUJBR1osb0JBQUNRLGVBQWMsdUJBQ2Ysb0JBQUNSLG1CQUFVLFFBQUMsNkJBR1osb0JBQUNTLGtCQUFpQjtJQU01QjtJQUVBQyxhQUFhO1FBQ1gsSUFBSSxDQUFDQyxhQUFhO1FBRWxCLE1BQU0sRUFBRUMsY0FBYyxFQUFFQyxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUN0RC9CLFVBQVU4QixnQkFDVnhCLFdBQVd5QixpQkFDWG5DLGlCQUFpQmIsU0FBUyxHQUFHO1FBRW5DLElBQUksQ0FBQ2lELE1BQU0sQ0FBQ25EO1FBRVosSUFBSSxDQUFDb0QsVUFBVSxDQUFDakM7UUFFaEIsSUFBSSxDQUFDa0MsV0FBVyxDQUFDNUI7UUFFakIsSUFBSSxDQUFDNkIsaUJBQWlCLENBQUN2QztRQUV2QixJQUFJLENBQUNULFlBQVk7SUFDbkI7SUFFQSxPQUFPNEMsa0JBQWtCLHNCQUFzQjtJQUUvQyxPQUFPRCxpQkFBaUIsQ0FBQztBQUMzQixDQUFDLENBQUM7SUFFQSxPQUFPTSxVQUFVLE1BQU07SUFFdkIsT0FBT0Msb0JBQW9CO1FBQ3pCQyxXQUFXO0lBQ2IsRUFBRTtBQUNKO01BRUEsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ3RELEtBQUssQ0FBQzs7OztBQUkvQixDQUFDIn0=
package/lib/example.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ require("juxtapose");
6
+ const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
7
+ const _easy = require("easy");
8
+ const _view = /*#__PURE__*/ _interop_require_default(require("./example/view"));
9
+ function _interop_require_default(obj) {
10
+ return obj && obj.__esModule ? obj : {
11
+ default: obj
12
+ };
13
+ }
14
+ const { renderStyles } = _easywithstyle.default;
15
+ renderStyles();
16
+ const body = new _easy.Body();
17
+ body.mount(/*#__PURE__*/ React.createElement(_view.default, null));
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCJqdXh0YXBvc2VcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgQm9keSB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCBWaWV3IGZyb20gXCIuL2V4YW1wbGUvdmlld1wiO1xuXG5jb25zdCB7IHJlbmRlclN0eWxlcyB9ID0gd2l0aFN0eWxlO1xuXG5yZW5kZXJTdHlsZXMoKTtcblxuY29uc3QgYm9keSA9IG5ldyBCb2R5KCk7XG5cbmJvZHkubW91bnQoXG5cbiAgPFZpZXcvPlxuXG4pO1xuIl0sIm5hbWVzIjpbInJlbmRlclN0eWxlcyIsIndpdGhTdHlsZSIsImJvZHkiLCJCb2R5IiwibW91bnQiLCJWaWV3Il0sIm1hcHBpbmdzIjoiQUFBQTs7OztRQUVPO3NFQUVlO3NCQUVEOzZEQUVKOzs7Ozs7QUFFakIsTUFBTSxFQUFFQSxZQUFZLEVBQUUsR0FBR0Msc0JBQVM7QUFFbENEO0FBRUEsTUFBTUUsT0FBTyxJQUFJQyxVQUFJO0FBRXJCRCxLQUFLRSxLQUFLLGVBRVIsb0JBQUNDLGFBQUkifQ==
@@ -0,0 +1,24 @@
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 Exception;
9
+ }
10
+ });
11
+ class Exception {
12
+ constructor(message){
13
+ this.message = message;
14
+ }
15
+ getMessage() {
16
+ return this.message;
17
+ }
18
+ static fromMessage(message) {
19
+ const exception = new Exception(message);
20
+ return exception;
21
+ }
22
+ }
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGNlcHRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXNzYWdlKG1lc3NhZ2UpIHtcbiAgICBjb25zdCBleGNlcHRpb24gPSBuZXcgRXhjZXB0aW9uKG1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIGV4Y2VwdGlvbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkV4Y2VwdGlvbiIsIm1lc3NhZ2UiLCJnZXRNZXNzYWdlIiwiZnJvbU1lc3NhZ2UiLCJleGNlcHRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUVBOzs7ZUFBcUJBOzs7QUFBTixNQUFNQTtJQUNuQixZQUFZQyxPQUFPLENBQUU7UUFDbkIsSUFBSSxDQUFDQSxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQ0QsT0FBTztJQUNyQjtJQUVBLE9BQU9FLFlBQVlGLE9BQU8sRUFBRTtRQUMxQixNQUFNRyxZQUFZLElBQUlKLFVBQVVDO1FBRWhDLE9BQU9HO0lBQ1Q7QUFDRiJ9
@@ -0,0 +1,15 @@
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 FurtleLexer;
9
+ }
10
+ });
11
+ const _occamgrammars = require("occam-grammars");
12
+ class FurtleLexer extends _occamgrammars.FurtleLexer {
13
+ }
14
+
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvbGV4ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEZ1cnRsZUxleGVyIGFzIEZ1cnRsZUxleGVyQmFzZSB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGdXJ0bGVMZXhlciBleHRlbmRzIEZ1cnRsZUxleGVyQmFzZSB7fVxuIl0sIm5hbWVzIjpbIkZ1cnRsZUxleGVyIiwiRnVydGxlTGV4ZXJCYXNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7OytCQUYwQjtBQUVoQyxNQUFNQSxvQkFBb0JDLDBCQUFlO0FBQUUifQ==
@@ -0,0 +1,24 @@
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 FurtleParser;
9
+ }
10
+ });
11
+ const _occamlanguages = require("occam-languages");
12
+ const _occamgrammars = require("occam-grammars");
13
+ const _nonTerminalNodeMap = /*#__PURE__*/ _interop_require_default(require("../nonTerminalNodeMap"));
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ class FurtleParser extends _occamgrammars.FurtleParser {
20
+ static NonTerminalNodeMap = _nonTerminalNodeMap.default;
21
+ static defaultNonTerminalNode = _occamlanguages.NonTerminalNode;
22
+ }
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IEZ1cnRsZVBhcnNlciBhcyBGdXJ0bGVQYXJzZXJCYXNlIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZU1hcFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGdXJ0bGVQYXJzZXIgZXh0ZW5kcyBGdXJ0bGVQYXJzZXJCYXNlIHtcbiAgc3RhdGljIE5vblRlcm1pbmFsTm9kZU1hcCA9IE5vblRlcm1pbmFsTm9kZU1hcDtcblxuICBzdGF0aWMgZGVmYXVsdE5vblRlcm1pbmFsTm9kZSA9IE5vblRlcm1pbmFsTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJGdXJ0bGVQYXJzZXIiLCJGdXJ0bGVQYXJzZXJCYXNlIiwiTm9uVGVybWluYWxOb2RlTWFwIiwiZGVmYXVsdE5vblRlcm1pbmFsTm9kZSIsIk5vblRlcm1pbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFxQkE7OztnQ0FOVzsrQkFFaUI7MkVBRWxCOzs7Ozs7QUFFaEIsTUFBTUEscUJBQXFCQywyQkFBZ0I7SUFDeEQsT0FBT0MscUJBQXFCQSwyQkFBa0IsQ0FBQztJQUUvQyxPQUFPQyx5QkFBeUJDLCtCQUFlLENBQUM7QUFDbEQifQ==
package/lib/index.js ADDED
@@ -0,0 +1,40 @@
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 FurtleFileContext () {
13
+ return _furtle.default;
14
+ },
15
+ get FurtleLexer () {
16
+ return _lexer.default;
17
+ },
18
+ get FurtleParser () {
19
+ return _parser.default;
20
+ },
21
+ get lexersUtilities () {
22
+ return _lexers.default;
23
+ },
24
+ get parsersUtilities () {
25
+ return _parsers.default;
26
+ }
27
+ });
28
+ require("./preamble");
29
+ const _lexer = /*#__PURE__*/ _interop_require_default(require("./furtle/lexer"));
30
+ const _parser = /*#__PURE__*/ _interop_require_default(require("./furtle/parser"));
31
+ const _lexers = /*#__PURE__*/ _interop_require_default(require("./utilities/lexers"));
32
+ const _parsers = /*#__PURE__*/ _interop_require_default(require("./utilities/parsers"));
33
+ const _furtle = /*#__PURE__*/ _interop_require_default(require("./context/file/furtle"));
34
+ function _interop_require_default(obj) {
35
+ return obj && obj.__esModule ? obj : {
36
+ default: obj
37
+ };
38
+ }
39
+
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFwiLi9wcmVhbWJsZVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZUxleGVyIH0gZnJvbSBcIi4vZnVydGxlL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZVBhcnNlciB9IGZyb20gXCIuL2Z1cnRsZS9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbGV4ZXJzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2xleGVyc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwYXJzZXJzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhcnNlcnNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRnVydGxlRmlsZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L2ZpbGUvZnVydGxlXCI7XG4iXSwibmFtZXMiOlsiRnVydGxlRmlsZUNvbnRleHQiLCJGdXJ0bGVMZXhlciIsIkZ1cnRsZVBhcnNlciIsImxleGVyc1V0aWxpdGllcyIsInBhcnNlcnNVdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVFvQkE7ZUFBQUEsZUFBaUI7O1FBSmpCQztlQUFBQSxjQUFXOztRQUNYQztlQUFBQSxlQUFZOztRQUNaQztlQUFBQSxlQUFlOztRQUNmQztlQUFBQSxnQkFBZ0I7OztRQUw3Qjs4REFFZ0M7K0RBQ0M7K0RBQ0c7Z0VBQ0M7K0RBQ0MifQ==
@@ -0,0 +1,26 @@
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 FRAME_META_TYPE_NAME () {
13
+ return FRAME_META_TYPE_NAME;
14
+ },
15
+ get REFERENCE_META_TYPE_NAME () {
16
+ return REFERENCE_META_TYPE_NAME;
17
+ },
18
+ get STATEMENT_META_TYPE_NAME () {
19
+ return STATEMENT_META_TYPE_NAME;
20
+ }
21
+ });
22
+ const FRAME_META_TYPE_NAME = "Frame";
23
+ const REFERENCE_META_TYPE_NAME = "Reference";
24
+ const STATEMENT_META_TYPE_NAME = "Statement";
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZU5hbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgRlJBTUVfTUVUQV9UWVBFX05BTUUgPSBcIkZyYW1lXCI7XG5leHBvcnQgY29uc3QgUkVGRVJFTkNFX01FVEFfVFlQRV9OQU1FID0gXCJSZWZlcmVuY2VcIjtcbmV4cG9ydCBjb25zdCBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUgPSBcIlN0YXRlbWVudFwiO1xuIl0sIm5hbWVzIjpbIkZSQU1FX01FVEFfVFlQRV9OQU1FIiwiUkVGRVJFTkNFX01FVEFfVFlQRV9OQU1FIiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFFYUE7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQUNBQztlQUFBQTs7O0FBRk4sTUFBTUYsdUJBQXVCO0FBQzdCLE1BQU1DLDJCQUEyQjtBQUNqQyxNQUFNQywyQkFBMkIifQ==
@@ -0,0 +1,66 @@
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 findMetaTypeByMetaTypeName () {
13
+ return findMetaTypeByMetaTypeName;
14
+ },
15
+ get getMetaTypes () {
16
+ return getMetaTypes;
17
+ }
18
+ });
19
+ const _elements = /*#__PURE__*/ _interop_require_default(require("./elements"));
20
+ const _metaTypeNames = require("./metaTypeNames");
21
+ function _interop_require_default(obj) {
22
+ return obj && obj.__esModule ? obj : {
23
+ default: obj
24
+ };
25
+ }
26
+ let frameMetaType = null, referenceMetaType = null, statementMetaType = null;
27
+ function getMetaTypes() {
28
+ const frameMetaType = frameMetaTypeFromNothing(), referenceMetaType = referenceMetaTypeFromNothing(), statementMetaType = statementMetaTypeFromNothing(), metaTypes = [
29
+ frameMetaType,
30
+ referenceMetaType,
31
+ statementMetaType
32
+ ];
33
+ return metaTypes;
34
+ }
35
+ function findMetaTypeByMetaTypeName(metaTypeName) {
36
+ const metaTypes = getMetaTypes(), metaType = metaTypes.find((metaType)=>{
37
+ const metaTypeComparesToMetaTypeName = metaType.compareMetaTypeName(metaTypeName);
38
+ if (metaTypeComparesToMetaTypeName) {
39
+ return true;
40
+ }
41
+ }) || null;
42
+ return metaType;
43
+ }
44
+ function frameMetaTypeFromNothing() {
45
+ if (frameMetaType === null) {
46
+ const { MetaType } = _elements.default, name = _metaTypeNames.FRAME_META_TYPE_NAME, context = null;
47
+ frameMetaType = MetaType.fromName(name, context);
48
+ }
49
+ return frameMetaType;
50
+ }
51
+ function statementMetaTypeFromNothing() {
52
+ if (statementMetaType === null) {
53
+ const { MetaType } = _elements.default, name = _metaTypeNames.STATEMENT_META_TYPE_NAME, context = null;
54
+ statementMetaType = MetaType.fromName(name, context);
55
+ }
56
+ return statementMetaType;
57
+ }
58
+ function referenceMetaTypeFromNothing() {
59
+ if (referenceMetaType === null) {
60
+ const { MetaType } = _elements.default, name = _metaTypeNames.REFERENCE_META_TYPE_NAME, context = null;
61
+ referenceMetaType = MetaType.fromName(name, context);
62
+ }
63
+ return referenceMetaType;
64
+ }
65
+
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi9lbGVtZW50c1wiO1xuXG5pbXBvcnQgeyBGUkFNRV9NRVRBX1RZUEVfTkFNRSwgUkVGRVJFTkNFX01FVEFfVFlQRV9OQU1FLCBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUgfSBmcm9tIFwiLi9tZXRhVHlwZU5hbWVzXCI7XG5cbmxldCBmcmFtZU1ldGFUeXBlID0gbnVsbCxcbiAgICByZWZlcmVuY2VNZXRhVHlwZSA9IG51bGwsXG4gICAgc3RhdGVtZW50TWV0YVR5cGUgPSBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YVR5cGVzKCkge1xuICBjb25zdCBmcmFtZU1ldGFUeXBlID0gZnJhbWVNZXRhVHlwZUZyb21Ob3RoaW5nKCksXG4gICAgICAgIHJlZmVyZW5jZU1ldGFUeXBlID0gcmVmZXJlbmNlTWV0YVR5cGVGcm9tTm90aGluZygpLFxuICAgICAgICBzdGF0ZW1lbnRNZXRhVHlwZSA9IHN0YXRlbWVudE1ldGFUeXBlRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgbWV0YVR5cGVzID0gW1xuICAgICAgICAgIGZyYW1lTWV0YVR5cGUsXG4gICAgICAgICAgcmVmZXJlbmNlTWV0YVR5cGUsXG4gICAgICAgICAgc3RhdGVtZW50TWV0YVR5cGVcbiAgICAgICAgXTtcblxuICByZXR1cm4gbWV0YVR5cGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE1ldGFUeXBlQnlNZXRhVHlwZU5hbWUobWV0YVR5cGVOYW1lKSB7XG4gIGNvbnN0IG1ldGFUeXBlcyA9IGdldE1ldGFUeXBlcygpLFxuICAgICAgICBtZXRhVHlwZSA9IG1ldGFUeXBlcy5maW5kKChtZXRhVHlwZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1ldGFUeXBlQ29tcGFyZXNUb01ldGFUeXBlTmFtZSA9IG1ldGFUeXBlLmNvbXBhcmVNZXRhVHlwZU5hbWUobWV0YVR5cGVOYW1lKTtcblxuICAgICAgICAgIGlmIChtZXRhVHlwZUNvbXBhcmVzVG9NZXRhVHlwZU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICByZXR1cm4gbWV0YVR5cGU7XG59XG5cbmZ1bmN0aW9uIGZyYW1lTWV0YVR5cGVGcm9tTm90aGluZygpIHtcbiAgaWYgKGZyYW1lTWV0YVR5cGUgPT09IG51bGwpIHtcbiAgICBjb25zdCB7IE1ldGFUeXBlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICBuYW1lID0gRlJBTUVfTUVUQV9UWVBFX05BTUUsICAvLy9cbiAgICAgICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGZyYW1lTWV0YVR5cGUgPSBNZXRhVHlwZS5mcm9tTmFtZShuYW1lLCBjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZU1ldGFUeXBlO1xufVxuXG5mdW5jdGlvbiBzdGF0ZW1lbnRNZXRhVHlwZUZyb21Ob3RoaW5nKCkge1xuICBpZiAoc3RhdGVtZW50TWV0YVR5cGUgPT09IG51bGwpIHtcbiAgICBjb25zdCB7IE1ldGFUeXBlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICBuYW1lID0gU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FLCAgLy8vXG4gICAgICAgICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBzdGF0ZW1lbnRNZXRhVHlwZSA9IE1ldGFUeXBlLmZyb21OYW1lKG5hbWUsIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudE1ldGFUeXBlO1xufVxuXG5mdW5jdGlvbiByZWZlcmVuY2VNZXRhVHlwZUZyb21Ob3RoaW5nKCkge1xuICBpZiAocmVmZXJlbmNlTWV0YVR5cGUgPT09IG51bGwpIHtcbiAgICBjb25zdCB7IE1ldGFUeXBlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICBuYW1lID0gUkVGRVJFTkNFX01FVEFfVFlQRV9OQU1FLCAgLy8vXG4gICAgICAgICAgY29udGV4dCA9IG51bGw7XG5cbiAgICByZWZlcmVuY2VNZXRhVHlwZSA9IE1ldGFUeXBlLmZyb21OYW1lKG5hbWUsIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHJlZmVyZW5jZU1ldGFUeXBlO1xufVxuIl0sIm5hbWVzIjpbImZpbmRNZXRhVHlwZUJ5TWV0YVR5cGVOYW1lIiwiZ2V0TWV0YVR5cGVzIiwiZnJhbWVNZXRhVHlwZSIsInJlZmVyZW5jZU1ldGFUeXBlIiwic3RhdGVtZW50TWV0YVR5cGUiLCJmcmFtZU1ldGFUeXBlRnJvbU5vdGhpbmciLCJyZWZlcmVuY2VNZXRhVHlwZUZyb21Ob3RoaW5nIiwic3RhdGVtZW50TWV0YVR5cGVGcm9tTm90aGluZyIsIm1ldGFUeXBlcyIsIm1ldGFUeXBlTmFtZSIsIm1ldGFUeXBlIiwiZmluZCIsIm1ldGFUeXBlQ29tcGFyZXNUb01ldGFUeXBlTmFtZSIsImNvbXBhcmVNZXRhVHlwZU5hbWUiLCJNZXRhVHlwZSIsImVsZW1lbnRzIiwibmFtZSIsIkZSQU1FX01FVEFfVFlQRV9OQU1FIiwiY29udGV4dCIsImZyb21OYW1lIiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIiwiUkVGRVJFTkNFX01FVEFfVFlQRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF1QmdCQTtlQUFBQTs7UUFiQUM7ZUFBQUE7OztpRUFSSzsrQkFFb0U7Ozs7OztBQUV6RixJQUFJQyxnQkFBZ0IsTUFDaEJDLG9CQUFvQixNQUNwQkMsb0JBQW9CO0FBRWpCLFNBQVNIO0lBQ2QsTUFBTUMsZ0JBQWdCRyw0QkFDaEJGLG9CQUFvQkcsZ0NBQ3BCRixvQkFBb0JHLGdDQUNwQkMsWUFBWTtRQUNWTjtRQUNBQztRQUNBQztLQUNEO0lBRVAsT0FBT0k7QUFDVDtBQUVPLFNBQVNSLDJCQUEyQlMsWUFBWTtJQUNyRCxNQUFNRCxZQUFZUCxnQkFDWlMsV0FBV0YsVUFBVUcsSUFBSSxDQUFDLENBQUNEO1FBQ3pCLE1BQU1FLGlDQUFpQ0YsU0FBU0csbUJBQW1CLENBQUNKO1FBRXBFLElBQUlHLGdDQUFnQztZQUNsQyxPQUFPO1FBQ1Q7SUFDRixNQUFNO0lBRVosT0FBT0Y7QUFDVDtBQUVBLFNBQVNMO0lBQ1AsSUFBSUgsa0JBQWtCLE1BQU07UUFDMUIsTUFBTSxFQUFFWSxRQUFRLEVBQUUsR0FBR0MsaUJBQVEsRUFDdkJDLE9BQU9DLG1DQUFvQixFQUMzQkMsVUFBVTtRQUVoQmhCLGdCQUFnQlksU0FBU0ssUUFBUSxDQUFDSCxNQUFNRTtJQUMxQztJQUVBLE9BQU9oQjtBQUNUO0FBRUEsU0FBU0s7SUFDUCxJQUFJSCxzQkFBc0IsTUFBTTtRQUM5QixNQUFNLEVBQUVVLFFBQVEsRUFBRSxHQUFHQyxpQkFBUSxFQUN2QkMsT0FBT0ksdUNBQXdCLEVBQy9CRixVQUFVO1FBRWhCZCxvQkFBb0JVLFNBQVNLLFFBQVEsQ0FBQ0gsTUFBTUU7SUFDOUM7SUFFQSxPQUFPZDtBQUNUO0FBRUEsU0FBU0U7SUFDUCxJQUFJSCxzQkFBc0IsTUFBTTtRQUM5QixNQUFNLEVBQUVXLFFBQVEsRUFBRSxHQUFHQyxpQkFBUSxFQUN2QkMsT0FBT0ssdUNBQXdCLEVBQy9CSCxVQUFVO1FBRWhCZixvQkFBb0JXLFNBQVNLLFFBQVEsQ0FBQ0gsTUFBTUU7SUFDOUM7SUFFQSxPQUFPZjtBQUNUIn0=
@@ -0,0 +1,32 @@
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 ArrayAssignmentNode;
9
+ }
10
+ });
11
+ const _assignment = /*#__PURE__*/ _interop_require_default(require("../../node/assignment"));
12
+ const _ruleNames = require("../../ruleNames");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class ArrayAssignmentNode extends _assignment.default {
19
+ getVariableNode() {
20
+ const ruleName = _ruleNames.VARIABLE_RULE_NAME, variableNode = this.getNodeByRuleName(ruleName);
21
+ return variableNode;
22
+ }
23
+ getBindingsNode() {
24
+ const ruleName = _ruleNames.BINDINGS_RULE_NAME, parametersNode = this.getNodeByRuleName(ruleName);
25
+ return parametersNode;
26
+ }
27
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
28
+ return _assignment.default.fromRuleNameChildNodesOpacityAndPrecedence(ArrayAssignmentNode, ruleName, childNodes, opacity, precedence);
29
+ }
30
+ }
31
+
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2Fzc2lnbm1lbnQvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBc3NpZ25tZW50ck5vZGUgZnJvbSBcIi4uLy4uL25vZGUvYXNzaWdubWVudFwiO1xuXG5pbXBvcnQgeyBWQVJJQUJMRV9SVUxFX05BTUUsIEJJTkRJTkdTX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXJyYXlBc3NpZ25tZW50Tm9kZSBleHRlbmRzIEFzc2lnbm1lbnRyTm9kZSB7XG4gIGdldFZhcmlhYmxlTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFZBUklBQkxFX1JVTEVfTkFNRSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiB2YXJpYWJsZU5vZGU7XG4gIH1cblxuICBnZXRCaW5kaW5nc05vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBCSU5ESU5HU19SVUxFX05BTUUsXG4gICAgICAgICAgcGFyYW1ldGVyc05vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBwYXJhbWV0ZXJzTm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIEFzc2lnbm1lbnRyTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQXJyYXlBc3NpZ25tZW50Tm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiQXJyYXlBc3NpZ25tZW50Tm9kZSIsIkFzc2lnbm1lbnRyTm9kZSIsImdldFZhcmlhYmxlTm9kZSIsInJ1bGVOYW1lIiwiVkFSSUFCTEVfUlVMRV9OQU1FIiwidmFyaWFibGVOb2RlIiwiZ2V0Tm9kZUJ5UnVsZU5hbWUiLCJnZXRCaW5kaW5nc05vZGUiLCJCSU5ESU5HU19SVUxFX05BTUUiLCJwYXJhbWV0ZXJzTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7OzttRUFKTzsyQkFFMkI7Ozs7OztBQUV4QyxNQUFNQSw0QkFBNEJDLG1CQUFlO0lBQzlEQyxrQkFBa0I7UUFDaEIsTUFBTUMsV0FBV0MsNkJBQWtCLEVBQzdCQyxlQUFlLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNIO1FBRTVDLE9BQU9FO0lBQ1Q7SUFFQUUsa0JBQWtCO1FBQ2hCLE1BQU1KLFdBQVdLLDZCQUFrQixFQUM3QkMsaUJBQWlCLElBQUksQ0FBQ0gsaUJBQWlCLENBQUNIO1FBRTlDLE9BQU9NO0lBQ1Q7SUFFQSxPQUFPQywyQ0FBMkNQLFFBQVEsRUFBRVEsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtRQUFFLE9BQU9aLG1CQUFlLENBQUNTLDBDQUEwQyxDQUFDVixxQkFBcUJHLFVBQVVRLFlBQVlDLFNBQVNDO0lBQWE7QUFDcE8ifQ==
@@ -0,0 +1,32 @@
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 ObjectAssignmentNode;
9
+ }
10
+ });
11
+ const _assignment = /*#__PURE__*/ _interop_require_default(require("../../node/assignment"));
12
+ const _ruleNames = require("../../ruleNames");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class ObjectAssignmentNode extends _assignment.default {
19
+ getVariableNode() {
20
+ const ruleName = _ruleNames.VARIABLE_RULE_NAME, variableNode = this.getNodeByRuleName(ruleName);
21
+ return variableNode;
22
+ }
23
+ getNamedBindingsNode() {
24
+ const ruleName = _ruleNames.NAMED_BINDINGS_RULE_NAME, namedBindingsNode = this.getNodeByRuleName(ruleName);
25
+ return namedBindingsNode;
26
+ }
27
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
28
+ return _assignment.default.fromRuleNameChildNodesOpacityAndPrecedence(ObjectAssignmentNode, ruleName, childNodes, opacity, precedence);
29
+ }
30
+ }
31
+
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQXNzaWdubWVudHJOb2RlIGZyb20gXCIuLi8uLi9ub2RlL2Fzc2lnbm1lbnRcIjtcblxuaW1wb3J0IHsgVkFSSUFCTEVfUlVMRV9OQU1FLCBOQU1FRF9CSU5ESU5HU19SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9iamVjdEFzc2lnbm1lbnROb2RlIGV4dGVuZHMgQXNzaWdubWVudHJOb2RlIHtcbiAgZ2V0VmFyaWFibGVOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlTm9kZTtcbiAgfVxuXG4gIGdldE5hbWVkQmluZGluZ3NOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gTkFNRURfQklORElOR1NfUlVMRV9OQU1FLFxuICAgICAgICAgIG5hbWVkQmluZGluZ3NOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gbmFtZWRCaW5kaW5nc05vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBBc3NpZ25tZW50ck5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKE9iamVjdEFzc2lnbm1lbnROb2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJPYmplY3RBc3NpZ25tZW50Tm9kZSIsIkFzc2lnbm1lbnRyTm9kZSIsImdldFZhcmlhYmxlTm9kZSIsInJ1bGVOYW1lIiwiVkFSSUFCTEVfUlVMRV9OQU1FIiwidmFyaWFibGVOb2RlIiwiZ2V0Tm9kZUJ5UnVsZU5hbWUiLCJnZXROYW1lZEJpbmRpbmdzTm9kZSIsIk5BTUVEX0JJTkRJTkdTX1JVTEVfTkFNRSIsIm5hbWVkQmluZGluZ3NOb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7O21FQUpPOzJCQUVpQzs7Ozs7O0FBRTlDLE1BQU1BLDZCQUE2QkMsbUJBQWU7SUFDL0RDLGtCQUFrQjtRQUNoQixNQUFNQyxXQUFXQyw2QkFBa0IsRUFDN0JDLGVBQWUsSUFBSSxDQUFDQyxpQkFBaUIsQ0FBQ0g7UUFFNUMsT0FBT0U7SUFDVDtJQUVBRSx1QkFBdUI7UUFDckIsTUFBTUosV0FBV0ssbUNBQXdCLEVBQ25DQyxvQkFBb0IsSUFBSSxDQUFDSCxpQkFBaUIsQ0FBQ0g7UUFFakQsT0FBT007SUFDVDtJQUVBLE9BQU9DLDJDQUEyQ1AsUUFBUSxFQUFFUSxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFO1FBQUUsT0FBT1osbUJBQWUsQ0FBQ1MsMENBQTBDLENBQUNWLHNCQUFzQkcsVUFBVVEsWUFBWUMsU0FBU0M7SUFBYTtBQUNyTyJ9
@@ -0,0 +1,32 @@
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 VariableAssignmentNode;
9
+ }
10
+ });
11
+ const _assignment = /*#__PURE__*/ _interop_require_default(require("../../node/assignment"));
12
+ const _ruleNames = require("../../ruleNames");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class VariableAssignmentNode extends _assignment.default {
19
+ getVariableNode() {
20
+ const ruleName = _ruleNames.VARIABLE_RULE_NAME, variableNode = this.getNodeByRuleName(ruleName);
21
+ return variableNode;
22
+ }
23
+ getExpressionNode() {
24
+ const ruleName = _ruleNames.EXPRESSION_RULE_NAME, expressionNode = this.getNodeByRuleName(ruleName);
25
+ return expressionNode;
26
+ }
27
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
28
+ return _assignment.default.fromRuleNameChildNodesOpacityAndPrecedence(VariableAssignmentNode, ruleName, childNodes, opacity, precedence);
29
+ }
30
+ }
31
+
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2Fzc2lnbm1lbnQvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBc3NpZ25tZW50ck5vZGUgZnJvbSBcIi4uLy4uL25vZGUvYXNzaWdubWVudFwiO1xuXG5pbXBvcnQgeyBWQVJJQUJMRV9SVUxFX05BTUUsIEVYUFJFU1NJT05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZUFzc2lnbm1lbnROb2RlIGV4dGVuZHMgQXNzaWdubWVudHJOb2RlIHtcbiAgZ2V0VmFyaWFibGVOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlTm9kZTtcbiAgfVxuXG4gIGdldEV4cHJlc3Npb25Ob2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gRVhQUkVTU0lPTl9SVUxFX05BTUUsXG4gICAgICAgICAgZXhwcmVzc2lvbk5vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBleHByZXNzaW9uTm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIEFzc2lnbm1lbnRyTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoVmFyaWFibGVBc3NpZ25tZW50Tm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiVmFyaWFibGVBc3NpZ25tZW50Tm9kZSIsIkFzc2lnbm1lbnRyTm9kZSIsImdldFZhcmlhYmxlTm9kZSIsInJ1bGVOYW1lIiwiVkFSSUFCTEVfUlVMRV9OQU1FIiwidmFyaWFibGVOb2RlIiwiZ2V0Tm9kZUJ5UnVsZU5hbWUiLCJnZXRFeHByZXNzaW9uTm9kZSIsIkVYUFJFU1NJT05fUlVMRV9OQU1FIiwiZXhwcmVzc2lvbk5vZGUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBcUJBOzs7bUVBSk87MkJBRTZCOzs7Ozs7QUFFMUMsTUFBTUEsK0JBQStCQyxtQkFBZTtJQUNqRUMsa0JBQWtCO1FBQ2hCLE1BQU1DLFdBQVdDLDZCQUFrQixFQUM3QkMsZUFBZSxJQUFJLENBQUNDLGlCQUFpQixDQUFDSDtRQUU1QyxPQUFPRTtJQUNUO0lBRUFFLG9CQUFvQjtRQUNsQixNQUFNSixXQUFXSywrQkFBb0IsRUFDL0JDLGlCQUFpQixJQUFJLENBQUNILGlCQUFpQixDQUFDSDtRQUU5QyxPQUFPTTtJQUNUO0lBRUEsT0FBT0MsMkNBQTJDUCxRQUFRLEVBQUVRLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQUU7UUFBRSxPQUFPWixtQkFBZSxDQUFDUywwQ0FBMEMsQ0FBQ1Ysd0JBQXdCRyxVQUFVUSxZQUFZQyxTQUFTQztJQUFhO0FBQ3ZPIn0=
@@ -0,0 +1,18 @@
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 AssignmentNode;
9
+ }
10
+ });
11
+ const _occamlanguages = require("occam-languages");
12
+ class AssignmentNode extends _occamlanguages.NonTerminalNode {
13
+ static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
14
+ return _occamlanguages.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
15
+ }
16
+ }
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2Fzc2lnbm1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE5vblRlcm1pbmFsTm9kZSB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXNzaWdubWVudE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGUge1xuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiQXNzaWdubWVudE5vZGUiLCJOb25UZXJtaW5hbE5vZGUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJDbGFzcyIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7O2dDQUZXO0FBRWpCLE1BQU1BLHVCQUF1QkMsK0JBQWU7SUFDekQsT0FBT0MsMkNBQTJDQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtRQUFFLE9BQU9OLCtCQUFlLENBQUNDLDBDQUEwQyxDQUFDQyxPQUFPQyxVQUFVQyxZQUFZQyxTQUFTQztJQUFhO0FBQzdOIn0=
@@ -0,0 +1,38 @@
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 VariableAssignmentsNode;
9
+ }
10
+ });
11
+ const _assignment = /*#__PURE__*/ _interop_require_default(require("../../node/assignment"));
12
+ const _tokenTypes = require("../../tokenTypes");
13
+ const _ruleNames = require("../../ruleNames");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ class VariableAssignmentsNode extends _assignment.default {
20
+ getType() {
21
+ let type;
22
+ const tokenType = _tokenTypes.TYPE_TOKEN_TYPE;
23
+ this.someTerminalNode((terminalNode)=>{
24
+ const content = terminalNode.getContent();
25
+ type = content; ///
26
+ }, tokenType);
27
+ return type;
28
+ }
29
+ getVariableAssignmentNodes() {
30
+ const ruleName = _ruleNames.VARIABLE_ASSIGNMENT_RULE_NAME, variableAssingnmentNodss = this.getNodesByRuleName(ruleName);
31
+ return variableAssingnmentNodss;
32
+ }
33
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
34
+ return _assignment.default.fromRuleNameChildNodesOpacityAndPrecedence(VariableAssignmentsNode, ruleName, childNodes, opacity, precedence);
35
+ }
36
+ }
37
+
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2Fzc2lnbm1lbnRzL3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQXNzaWdubWVudHNOb2RlIGZyb20gXCIuLi8uLi9ub2RlL2Fzc2lnbm1lbnRcIjtcblxuaW1wb3J0IHsgVFlQRV9UT0tFTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3Rva2VuVHlwZXNcIjtcbmltcG9ydCB7IFZBUklBQkxFX0FTU0lHTk1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZUFzc2lnbm1lbnRzTm9kZSBleHRlbmRzIEFzc2lnbm1lbnRzTm9kZSB7XG4gIGdldFR5cGUoKSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCB0b2tlblR5cGUgPSBUWVBFX1RPS0VOX1RZUEU7XG5cbiAgICB0aGlzLnNvbWVUZXJtaW5hbE5vZGUoKHRlcm1pbmFsTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICAgIHR5cGUgPSBjb250ZW50OyAgLy8vXG4gICAgfSwgdG9rZW5UeXBlKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVBc3NpZ25tZW50Tm9kZXMoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBWQVJJQUJMRV9BU1NJR05NRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgICB2YXJpYWJsZUFzc2luZ25tZW50Tm9kc3MgPSB0aGlzLmdldE5vZGVzQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVBc3NpbmdubWVudE5vZHNzO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gQXNzaWdubWVudHNOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShWYXJpYWJsZUFzc2lnbm1lbnRzTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiVmFyaWFibGVBc3NpZ25tZW50c05vZGUiLCJBc3NpZ25tZW50c05vZGUiLCJnZXRUeXBlIiwidHlwZSIsInRva2VuVHlwZSIsIlRZUEVfVE9LRU5fVFlQRSIsInNvbWVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImdldFZhcmlhYmxlQXNzaWdubWVudE5vZGVzIiwicnVsZU5hbWUiLCJWQVJJQUJMRV9BU1NJR05NRU5UX1JVTEVfTkFNRSIsInZhcmlhYmxlQXNzaW5nbm1lbnROb2RzcyIsImdldE5vZGVzQnlSdWxlTmFtZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFxQkE7OzttRUFMTzs0QkFFSTsyQkFDYzs7Ozs7O0FBRS9CLE1BQU1BLGdDQUFnQ0MsbUJBQWU7SUFDbEVDLFVBQVU7UUFDUixJQUFJQztRQUVKLE1BQU1DLFlBQVlDLDJCQUFlO1FBRWpDLElBQUksQ0FBQ0MsZ0JBQWdCLENBQUMsQ0FBQ0M7WUFDckIsTUFBTUMsVUFBVUQsYUFBYUUsVUFBVTtZQUV2Q04sT0FBT0ssU0FBVSxHQUFHO1FBQ3RCLEdBQUdKO1FBRUgsT0FBT0Q7SUFDVDtJQUVBTyw2QkFBNkI7UUFDM0IsTUFBTUMsV0FBV0Msd0NBQTZCLEVBQ3hDQywyQkFBMkIsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQ0g7UUFFekQsT0FBT0U7SUFDVDtJQUVBLE9BQU9FLDJDQUEyQ0osUUFBUSxFQUFFSyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFO1FBQUUsT0FBT2pCLG1CQUFlLENBQUNjLDBDQUEwQyxDQUFDZix5QkFBeUJXLFVBQVVLLFlBQVlDLFNBQVNDO0lBQWE7QUFDeE8ifQ==
@@ -0,0 +1,18 @@
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 AssignmentsNode;
9
+ }
10
+ });
11
+ const _occamlanguages = require("occam-languages");
12
+ class AssignmentsNode extends _occamlanguages.NonTerminalNode {
13
+ static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
14
+ return _occamlanguages.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
15
+ }
16
+ }
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2Fzc2lnbm1lbnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFzc2lnbm1lbnRzTm9kZSBleHRlbmRzIE5vblRlcm1pbmFsTm9kZSB7XG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBOb25UZXJtaW5hbE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJBc3NpZ25tZW50c05vZGUiLCJOb25UZXJtaW5hbE5vZGUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJDbGFzcyIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7O2dDQUZXO0FBRWpCLE1BQU1BLHdCQUF3QkMsK0JBQWU7SUFDMUQsT0FBT0MsMkNBQTJDQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtRQUFFLE9BQU9OLCtCQUFlLENBQUNDLDBDQUEwQyxDQUFDQyxPQUFPQyxVQUFVQyxZQUFZQyxTQUFTQztJQUFhO0FBQzdOIn0=
@@ -0,0 +1,36 @@
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 NamedBindingNode;
9
+ }
10
+ });
11
+ const _binding = /*#__PURE__*/ _interop_require_default(require("../../node/binding"));
12
+ const _tokenTypes = require("../../tokenTypes");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class NamedBindingNode extends _binding.default {
19
+ getAlias() {
20
+ let alias = null;
21
+ const tokenType = _tokenTypes.NAME_TOKEN_TYPE;
22
+ this.someTerminalNode((terminalNode, index)=>{
23
+ if (index === 3) {
24
+ const content = terminalNode.getContent();
25
+ alias = content; //
26
+ return true;
27
+ }
28
+ }, tokenType);
29
+ return alias;
30
+ }
31
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
32
+ return _binding.default.fromRuleNameChildNodesOpacityAndPrecedence(NamedBindingNode, ruleName, childNodes, opacity, precedence);
33
+ }
34
+ }
35
+
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2JpbmRpbmcvbmFtZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBCaW5kaW5nTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9iaW5kaW5nXCI7XG5cbmltcG9ydCB7IE5BTUVfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi8uLi90b2tlblR5cGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5hbWVkQmluZGluZ05vZGUgZXh0ZW5kcyBCaW5kaW5nTm9kZSB7XG4gIGdldEFsaWFzKCkge1xuICAgIGxldCBhbGlhcyA9IG51bGw7XG5cbiAgICBjb25zdCB0b2tlblR5cGUgPSBOQU1FX1RPS0VOX1RZUEU7XG5cbiAgICB0aGlzLnNvbWVUZXJtaW5hbE5vZGUoKHRlcm1pbmFsTm9kZSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gMykge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gdGVybWluYWxOb2RlLmdldENvbnRlbnQoKTtcblxuICAgICAgICBhbGlhcyA9IGNvbnRlbnQ7IC8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSwgdG9rZW5UeXBlKTtcblxuICAgIHJldHVybiBhbGlhcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIEJpbmRpbmdOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShOYW1lZEJpbmRpbmdOb2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJOYW1lZEJpbmRpbmdOb2RlIiwiQmluZGluZ05vZGUiLCJnZXRBbGlhcyIsImFsaWFzIiwidG9rZW5UeXBlIiwiTkFNRV9UT0tFTl9UWVBFIiwic29tZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImluZGV4IiwiY29udGVudCIsImdldENvbnRlbnQiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7OztnRUFKRzs0QkFFUTs7Ozs7O0FBRWpCLE1BQU1BLHlCQUF5QkMsZ0JBQVc7SUFDdkRDLFdBQVc7UUFDVCxJQUFJQyxRQUFRO1FBRVosTUFBTUMsWUFBWUMsMkJBQWU7UUFFakMsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQyxDQUFDQyxjQUFjQztZQUNuQyxJQUFJQSxVQUFVLEdBQUc7Z0JBQ2YsTUFBTUMsVUFBVUYsYUFBYUcsVUFBVTtnQkFFdkNQLFFBQVFNLFNBQVMsRUFBRTtnQkFFbkIsT0FBTztZQUNUO1FBQ0YsR0FBR0w7UUFFSCxPQUFPRDtJQUNUO0lBRUEsT0FBT1EsMkNBQTJDQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQUU7UUFBRSxPQUFPZCxnQkFBVyxDQUFDVSwwQ0FBMEMsQ0FBQ1gsa0JBQWtCWSxVQUFVQyxZQUFZQyxTQUFTQztJQUFhO0FBQzdOIn0=