occam-parsers 23.3.25 → 23.3.28

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 (81) hide show
  1. package/lib/context/continuation.js +3 -2
  2. package/lib/context/definition.js +59 -4
  3. package/lib/context/part/committedPart.js +7 -2
  4. package/lib/context/part/continuation.js +3 -2
  5. package/lib/context/part/ruleName.js +3 -2
  6. package/lib/context/part/sequenceOfParts.js +5 -3
  7. package/lib/context/part.js +5 -3
  8. package/lib/context/parts.js +3 -2
  9. package/lib/context/rule.js +5 -3
  10. package/lib/context/topmost.js +6 -2
  11. package/lib/context.js +6 -2
  12. package/lib/definition.js +6 -4
  13. package/lib/frame.js +43 -6
  14. package/lib/mixins/parser.js +3 -3
  15. package/lib/node/nonTerminal.js +16 -2
  16. package/lib/node/terminal/endOfLine.js +4 -1
  17. package/lib/node/terminal.js +26 -10
  18. package/lib/parseTree/terminalNode.js +7 -3
  19. package/lib/part/nonTerminal/choiceOfParts.js +18 -10
  20. package/lib/part/nonTerminal/committedPart.js +8 -6
  21. package/lib/part/nonTerminal/isolatedPart.js +6 -5
  22. package/lib/part/nonTerminal/oneOrMoreParts.js +11 -6
  23. package/lib/part/nonTerminal/optionalPart.js +10 -6
  24. package/lib/part/nonTerminal/ruleName.js +7 -5
  25. package/lib/part/nonTerminal/sequenceOfParts.js +6 -5
  26. package/lib/part/nonTerminal/zeroOrMoreParts.js +8 -5
  27. package/lib/part/terminal/endOfLine.js +52 -7
  28. package/lib/part/terminal/epsilon.js +50 -5
  29. package/lib/part/terminal/noWhitespace.js +51 -6
  30. package/lib/part/terminal/regularExpression.js +52 -7
  31. package/lib/part/terminal/significantTokenType.js +52 -7
  32. package/lib/part/terminal/stringLiteral.js +52 -7
  33. package/lib/part/terminal/wildcard.js +52 -7
  34. package/lib/partChoice.js +3 -2
  35. package/lib/rule.js +5 -3
  36. package/lib/state.js +5 -3
  37. package/lib/utilities/context.js +1 -10
  38. package/lib/utilities/part.js +5 -3
  39. package/lib/utilities/parts.js +10 -6
  40. package/package.json +1 -1
  41. package/src/context/continuation.js +3 -1
  42. package/src/context/definition.js +22 -5
  43. package/src/context/part/committedPart.js +9 -1
  44. package/src/context/part/continuation.js +3 -1
  45. package/src/context/part/ruleName.js +3 -1
  46. package/src/context/part/sequenceOfParts.js +6 -2
  47. package/src/context/part.js +6 -2
  48. package/src/context/parts.js +3 -1
  49. package/src/context/rule.js +6 -2
  50. package/src/context/topmost.js +7 -1
  51. package/src/context.js +5 -1
  52. package/src/definition.js +8 -4
  53. package/src/frame.js +59 -5
  54. package/src/mixins/parser.js +3 -2
  55. package/src/node/nonTerminal.js +21 -1
  56. package/src/node/terminal/endOfLine.js +2 -0
  57. package/src/node/terminal.js +39 -12
  58. package/src/parseTree/terminalNode.js +12 -2
  59. package/src/part/nonTerminal/choiceOfParts.js +23 -12
  60. package/src/part/nonTerminal/committedPart.js +11 -6
  61. package/src/part/nonTerminal/isolatedPart.js +8 -5
  62. package/src/part/nonTerminal/oneOrMoreParts.js +17 -7
  63. package/src/part/nonTerminal/optionalPart.js +15 -7
  64. package/src/part/nonTerminal/ruleName.js +9 -5
  65. package/src/part/nonTerminal/sequenceOfParts.js +8 -5
  66. package/src/part/nonTerminal/zeroOrMoreParts.js +12 -6
  67. package/src/part/terminal/endOfLine.js +16 -6
  68. package/src/part/terminal/epsilon.js +13 -4
  69. package/src/part/terminal/noWhitespace.js +14 -5
  70. package/src/part/terminal/regularExpression.js +16 -6
  71. package/src/part/terminal/significantTokenType.js +16 -6
  72. package/src/part/terminal/stringLiteral.js +16 -6
  73. package/src/part/terminal/wildcard.js +17 -7
  74. package/src/partChoice.js +3 -1
  75. package/src/rule.js +7 -2
  76. package/src/state.js +6 -2
  77. package/src/utilities/context.js +0 -9
  78. package/src/utilities/part.js +6 -2
  79. package/src/utilities/parts.js +14 -5
  80. package/lib/context/part/choiceOfParrts.js +0 -24
  81. package/src/context/part/choiceOfParrts.js +0 -12
@@ -24,7 +24,8 @@ class ContinuationContext extends _context.default {
24
24
  }
25
25
  continued(frame, context) {
26
26
  frame = this.compose(frame);
27
- if (frame !== null) {
27
+ const frameValid = frame.isValid();
28
+ if (frameValid) {
28
29
  frame = this.continuingContext.continued(frame, context);
29
30
  }
30
31
  return frame;
@@ -35,4 +36,4 @@ class ContinuationContext extends _context.default {
35
36
  }
36
37
  }
37
38
 
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2NvbnRpbnVhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHRcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uQ29udGV4dCBleHRlbmRzIENvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgY29udGludWluZ0NvbnRleHQpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucyk7XG5cbiAgICB0aGlzLmNvbnRpbnVpbmdDb250ZXh0ID0gY29udGludWluZ0NvbnRleHQ7XG4gIH1cblxuICBnZXRDb250aW51aW5nQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250aW51aW5nQ29udGV4dDtcbiAgfVxuXG4gIGNvbnRpbnVlZChmcmFtZSwgY29udGV4dCkge1xuICAgIGZyYW1lID0gdGhpcy5jb21wb3NlKGZyYW1lKTtcblxuICAgIGlmIChmcmFtZSAhPT0gbnVsbCkge1xuICAgICAgZnJhbWUgPSB0aGlzLmNvbnRpbnVpbmdDb250ZXh0LmNvbnRpbnVlZChmcmFtZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db250aW51aW5nQ29udGV4dChjb250aW51aW5nQ29udGV4dCwgY29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbkNvbnRleHQgPSBDb250ZXh0LmZyb21Ob3RoaW5nKENvbnRpbnVhdGlvbkNvbnRleHQsIGNvbnRpbnVpbmdDb250ZXh0LCBjb250ZXh0KTtcblxuICAgIHJldHVybiBjb250aW51YXRpb25Db250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ29udGludWF0aW9uQ29udGV4dCIsIkNvbnRleHQiLCJjb250ZXh0Iiwic3RhdGUiLCJjb250aW51YXRpb25zIiwiY29udGludWluZ0NvbnRleHQiLCJnZXRDb250aW51aW5nQ29udGV4dCIsImNvbnRpbnVlZCIsImZyYW1lIiwiY29tcG9zZSIsImZyb21Db250aW51aW5nQ29udGV4dCIsImNvbnRpbnVhdGlvbkNvbnRleHQiLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFxQkE7OztnRUFGRDs7Ozs7O0FBRUwsTUFBTUEsNEJBQTRCQyxnQkFBTztJQUN0RCxZQUFZQyxPQUFPLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFFQyxpQkFBaUIsQ0FBRTtRQUM1RCxLQUFLLENBQUNILFNBQVNDLE9BQU9DO1FBRXRCLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUdBO0lBQzNCO0lBRUFDLHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQ0QsaUJBQWlCO0lBQy9CO0lBRUFFLFVBQVVDLEtBQUssRUFBRU4sT0FBTyxFQUFFO1FBQ3hCTSxRQUFRLElBQUksQ0FBQ0MsT0FBTyxDQUFDRDtRQUVyQixJQUFJQSxVQUFVLE1BQU07WUFDbEJBLFFBQVEsSUFBSSxDQUFDSCxpQkFBaUIsQ0FBQ0UsU0FBUyxDQUFDQyxPQUFPTjtRQUNsRDtRQUVBLE9BQU9NO0lBQ1Q7SUFFQSxPQUFPRSxzQkFBc0JMLGlCQUFpQixFQUFFSCxPQUFPLEVBQUU7UUFDdkQsTUFBTVMsc0JBQXNCVixnQkFBTyxDQUFDVyxXQUFXLENBQUNaLHFCQUFxQkssbUJBQW1CSDtRQUV4RixPQUFPUztJQUNUO0FBQ0YifQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2NvbnRpbnVhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHRcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uQ29udGV4dCBleHRlbmRzIENvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgY29udGludWluZ0NvbnRleHQpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucyk7XG5cbiAgICB0aGlzLmNvbnRpbnVpbmdDb250ZXh0ID0gY29udGludWluZ0NvbnRleHQ7XG4gIH1cblxuICBnZXRDb250aW51aW5nQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250aW51aW5nQ29udGV4dDtcbiAgfVxuXG4gIGNvbnRpbnVlZChmcmFtZSwgY29udGV4dCkge1xuICAgIGZyYW1lID0gdGhpcy5jb21wb3NlKGZyYW1lKTtcblxuICAgIGNvbnN0IGZyYW1lVmFsaWQgPSBmcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgZnJhbWUgPSB0aGlzLmNvbnRpbnVpbmdDb250ZXh0LmNvbnRpbnVlZChmcmFtZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db250aW51aW5nQ29udGV4dChjb250aW51aW5nQ29udGV4dCwgY29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbkNvbnRleHQgPSBDb250ZXh0LmZyb21Ob3RoaW5nKENvbnRpbnVhdGlvbkNvbnRleHQsIGNvbnRpbnVpbmdDb250ZXh0LCBjb250ZXh0KTtcblxuICAgIHJldHVybiBjb250aW51YXRpb25Db250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ29udGludWF0aW9uQ29udGV4dCIsIkNvbnRleHQiLCJjb250ZXh0Iiwic3RhdGUiLCJjb250aW51YXRpb25zIiwiY29udGludWluZ0NvbnRleHQiLCJnZXRDb250aW51aW5nQ29udGV4dCIsImNvbnRpbnVlZCIsImZyYW1lIiwiY29tcG9zZSIsImZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwiZnJvbUNvbnRpbnVpbmdDb250ZXh0IiwiY29udGludWF0aW9uQ29udGV4dCIsImZyb21Ob3RoaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7O2dFQUZEOzs7Ozs7QUFFTCxNQUFNQSw0QkFBNEJDLGdCQUFPO0lBQ3RELFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLGlCQUFpQixDQUFFO1FBQzVELEtBQUssQ0FBQ0gsU0FBU0MsT0FBT0M7UUFFdEIsSUFBSSxDQUFDQyxpQkFBaUIsR0FBR0E7SUFDM0I7SUFFQUMsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDRCxpQkFBaUI7SUFDL0I7SUFFQUUsVUFBVUMsS0FBSyxFQUFFTixPQUFPLEVBQUU7UUFDeEJNLFFBQVEsSUFBSSxDQUFDQyxPQUFPLENBQUNEO1FBRXJCLE1BQU1FLGFBQWFGLE1BQU1HLE9BQU87UUFFaEMsSUFBSUQsWUFBWTtZQUNkRixRQUFRLElBQUksQ0FBQ0gsaUJBQWlCLENBQUNFLFNBQVMsQ0FBQ0MsT0FBT047UUFDbEQ7UUFFQSxPQUFPTTtJQUNUO0lBRUEsT0FBT0ksc0JBQXNCUCxpQkFBaUIsRUFBRUgsT0FBTyxFQUFFO1FBQ3ZELE1BQU1XLHNCQUFzQlosZ0JBQU8sQ0FBQ2EsV0FBVyxDQUFDZCxxQkFBcUJLLG1CQUFtQkg7UUFFeEYsT0FBT1c7SUFDVDtBQUNGIn0=
@@ -8,13 +8,54 @@ Object.defineProperty(exports, "default", {
8
8
  return DefinitionContext;
9
9
  }
10
10
  });
11
- const _frame = /*#__PURE__*/ _interop_require_default(require("../frame"));
11
+ const _frame = /*#__PURE__*/ _interop_require_wildcard(require("../frame"));
12
12
  const _context = /*#__PURE__*/ _interop_require_default(require("../context"));
13
13
  function _interop_require_default(obj) {
14
14
  return obj && obj.__esModule ? obj : {
15
15
  default: obj
16
16
  };
17
17
  }
18
+ function _getRequireWildcardCache(nodeInterop) {
19
+ if (typeof WeakMap !== "function") return null;
20
+ var cacheBabelInterop = new WeakMap();
21
+ var cacheNodeInterop = new WeakMap();
22
+ return (_getRequireWildcardCache = function(nodeInterop) {
23
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
24
+ })(nodeInterop);
25
+ }
26
+ function _interop_require_wildcard(obj, nodeInterop) {
27
+ if (!nodeInterop && obj && obj.__esModule) {
28
+ return obj;
29
+ }
30
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
31
+ return {
32
+ default: obj
33
+ };
34
+ }
35
+ var cache = _getRequireWildcardCache(nodeInterop);
36
+ if (cache && cache.has(obj)) {
37
+ return cache.get(obj);
38
+ }
39
+ var newObj = {
40
+ __proto__: null
41
+ };
42
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
43
+ for(var key in obj){
44
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
45
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
46
+ if (desc && (desc.get || desc.set)) {
47
+ Object.defineProperty(newObj, key, desc);
48
+ } else {
49
+ newObj[key] = obj[key];
50
+ }
51
+ }
52
+ }
53
+ newObj.default = obj;
54
+ if (cache) {
55
+ cache.set(obj, newObj);
56
+ }
57
+ return newObj;
58
+ }
18
59
  class DefinitionContext extends _context.default {
19
60
  constructor(context, state, continuations, precedence){
20
61
  super(context, state, continuations);
@@ -34,6 +75,10 @@ class DefinitionContext extends _context.default {
34
75
  const isolated = false;
35
76
  return isolated;
36
77
  }
78
+ isCommitted() {
79
+ const committed = false;
80
+ return committed;
81
+ }
37
82
  compose(frame) {
38
83
  let context;
39
84
  const childNodes = frame.getChildNodes(), precedence = this.getPrecedence(frame);
@@ -45,8 +90,18 @@ class DefinitionContext extends _context.default {
45
90
  if (isolated) {
46
91
  nonTerminalNode.nullifyPrecedence();
47
92
  }
48
- const palatable = nonTerminalNode.isPalatable(), childNode = nonTerminalNode; ///
49
- frame = palatable ? _frame.default.fromChildNode(childNode) : null;
93
+ const palatable = nonTerminalNode.isPalatable();
94
+ if (palatable) {
95
+ const childNode = nonTerminalNode; ///
96
+ frame = _frame.default.fromChildNode(childNode);
97
+ } else {
98
+ const committed = nonTerminalNode.isCommitted();
99
+ if (committed) {
100
+ frame = _frame.abortedFrame;
101
+ } else {
102
+ frame = _frame.nullifiedFrame;
103
+ }
104
+ }
50
105
  return frame;
51
106
  }
52
107
  static fromDefinition(definition, context) {
@@ -62,4 +117,4 @@ function nonTerminalNodeFromFrame(frame, context) {
62
117
  return nonTerminalNode;
63
118
  }
64
119
 
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2RlZmluaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZSBmcm9tIFwiLi4vZnJhbWVcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERlZmluaXRpb25Db250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zLCBwcmVjZWRlbmNlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMpO1xuXG4gICAgdGhpcy5wcmVjZWRlbmNlID0gcHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFByZWNlZGVuY2UoZnJhbWUpIHtcbiAgICBsZXQgcHJlY2VkZW5jZTtcblxuICAgIHByZWNlZGVuY2UgPSBmcmFtZS5nZXRQcmVjZWRlbmNlKCk7XG5cbiAgICBwcmVjZWRlbmNlID0gcHJlY2VkZW5jZSB8fCB0aGlzLnByZWNlZGVuY2U7IC8vL1xuXG4gICAgcmV0dXJuIHByZWNlZGVuY2U7XG4gIH1cblxuICBnZXRSdWxlKCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICBydWxlQ29udGV4dCA9IGNvbnRleHQsICAvLy9cbiAgICAgICAgICBydWxlID0gcnVsZUNvbnRleHQuZ2V0UnVsZSgpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH1cblxuICBpc0lzb2xhdGVkKCkge1xuICAgIGNvbnN0IGlzb2xhdGVkID0gZmFsc2U7XG5cbiAgICByZXR1cm4gaXNvbGF0ZWQ7XG4gIH1cblxuICBjb21wb3NlKGZyYW1lKSB7XG4gICAgbGV0IGNvbnRleHQ7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzID0gZnJhbWUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHByZWNlZGVuY2UgPSB0aGlzLmdldFByZWNlZGVuY2UoZnJhbWUpO1xuXG4gICAgZnJhbWUgPSBGcmFtZS5mcm9tQ2hpbGROb2Rlc0FuZFByZWNlZGVuY2UoY2hpbGROb2RlcywgcHJlY2VkZW5jZSk7XG5cbiAgICBjb250ZXh0ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub25UZXJtaW5hbE5vZGVGcm9tRnJhbWUoZnJhbWUsIGNvbnRleHQpO1xuXG4gICAgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXG4gICAgY29uc3QgaXNvbGF0ZWQgPSBjb250ZXh0LmlzSXNvbGF0ZWQoKTtcblxuICAgIGlmIChpc29sYXRlZCkge1xuICAgICAgbm9uVGVybWluYWxOb2RlLm51bGxpZnlQcmVjZWRlbmNlKCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFsYXRhYmxlID0gbm9uVGVybWluYWxOb2RlLmlzUGFsYXRhYmxlKCksXG4gICAgICAgICAgY2hpbGROb2RlID0gbm9uVGVybWluYWxOb2RlOyAgLy8vXG5cbiAgICBmcmFtZSA9IHBhbGF0YWJsZSA/IC8vL1xuICAgICAgICAgICAgICBGcmFtZS5mcm9tQ2hpbGROb2RlKGNoaWxkTm9kZSkgOlxuICAgICAgICAgICAgICAgIG51bGw7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbURlZmluaXRpb24oZGVmaW5pdGlvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IHByZWNlZGVuY2UgPSBkZWZpbml0aW9uLmdldFByZWNlZGVuY2UoKSxcbiAgICAgICAgICBkZWZpbml0aW9uQ29udGV4dCA9IENvbnRleHQuZnJvbU5vdGhpbmcoRGVmaW5pdGlvbkNvbnRleHQsIHByZWNlZGVuY2UsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGRlZmluaXRpb25Db250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIG5vblRlcm1pbmFsTm9kZUZyb21GcmFtZShmcmFtZSwgY29udGV4dCkge1xuICBsZXQgbm9uVGVybWluYWxOb2RlO1xuXG4gIGNvbnN0IHJ1bGUgPSBjb250ZXh0LmdldFJ1bGUoKSxcbiAgICAgICAgb3BhY2l0eSA9IHJ1bGUuZ2V0T3BhY2l0eSgpLFxuICAgICAgICBydWxlTmFtZSA9IHJ1bGUuZ2V0TmFtZSgpLFxuICAgICAgICBjaGlsZE5vZGVzID0gZnJhbWUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBwcmVjZWRlbmNlID0gZnJhbWUuZ2V0UHJlY2VkZW5jZSgpLFxuICAgICAgICBOb25UZXJtaW5hbE5vZGUgPSBydWxlLk5vblRlcm1pbmFsTm9kZUZyb21SdWxlTmFtZShydWxlTmFtZSwgY29udGV4dCk7XG5cbiAgbm9uVGVybWluYWxOb2RlID0gTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7XG5cbiAgbm9uVGVybWluYWxOb2RlID0gbm9uVGVybWluYWxOb2RlLnJld3JpdGUoY29udGV4dCk7ICAvLy9cblxuICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xufVxuIl0sIm5hbWVzIjpbIkRlZmluaXRpb25Db250ZXh0IiwiQ29udGV4dCIsImNvbnRleHQiLCJzdGF0ZSIsImNvbnRpbnVhdGlvbnMiLCJwcmVjZWRlbmNlIiwiZ2V0UHJlY2VkZW5jZSIsImZyYW1lIiwiZ2V0UnVsZSIsImdldENvbnRleHQiLCJydWxlQ29udGV4dCIsInJ1bGUiLCJpc0lzb2xhdGVkIiwiaXNvbGF0ZWQiLCJjb21wb3NlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJGcmFtZSIsImZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZSIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUZyb21GcmFtZSIsIm51bGxpZnlQcmVjZWRlbmNlIiwicGFsYXRhYmxlIiwiaXNQYWxhdGFibGUiLCJjaGlsZE5vZGUiLCJmcm9tQ2hpbGROb2RlIiwiZnJvbURlZmluaXRpb24iLCJkZWZpbml0aW9uIiwiZGVmaW5pdGlvbkNvbnRleHQiLCJmcm9tTm90aGluZyIsIm9wYWNpdHkiLCJnZXRPcGFjaXR5IiwicnVsZU5hbWUiLCJnZXROYW1lIiwiTm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwicmV3cml0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUFxQkE7Ozs4REFISDtnRUFDRTs7Ozs7O0FBRUwsTUFBTUEsMEJBQTBCQyxnQkFBTztJQUNwRCxZQUFZQyxPQUFPLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFFQyxVQUFVLENBQUU7UUFDckQsS0FBSyxDQUFDSCxTQUFTQyxPQUFPQztRQUV0QixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsY0FBY0MsS0FBSyxFQUFFO1FBQ25CLElBQUlGO1FBRUpBLGFBQWFFLE1BQU1ELGFBQWE7UUFFaENELGFBQWFBLGNBQWMsSUFBSSxDQUFDQSxVQUFVLEVBQUUsR0FBRztRQUUvQyxPQUFPQTtJQUNUO0lBRUFHLFVBQVU7UUFDUixNQUFNTixVQUFVLElBQUksQ0FBQ08sVUFBVSxJQUN6QkMsY0FBY1IsU0FDZFMsT0FBT0QsWUFBWUYsT0FBTztRQUVoQyxPQUFPRztJQUNUO0lBRUFDLGFBQWE7UUFDWCxNQUFNQyxXQUFXO1FBRWpCLE9BQU9BO0lBQ1Q7SUFFQUMsUUFBUVAsS0FBSyxFQUFFO1FBQ2IsSUFBSUw7UUFFSixNQUFNYSxhQUFhUixNQUFNUyxhQUFhLElBQ2hDWCxhQUFhLElBQUksQ0FBQ0MsYUFBYSxDQUFDQztRQUV0Q0EsUUFBUVUsY0FBSyxDQUFDQywyQkFBMkIsQ0FBQ0gsWUFBWVY7UUFFdERILFVBQVUsSUFBSSxFQUFFLEdBQUc7UUFFbkIsTUFBTWlCLGtCQUFrQkMseUJBQXlCYixPQUFPTDtRQUV4REEsVUFBVSxJQUFJLENBQUNPLFVBQVU7UUFFekIsTUFBTUksV0FBV1gsUUFBUVUsVUFBVTtRQUVuQyxJQUFJQyxVQUFVO1lBQ1pNLGdCQUFnQkUsaUJBQWlCO1FBQ25DO1FBRUEsTUFBTUMsWUFBWUgsZ0JBQWdCSSxXQUFXLElBQ3ZDQyxZQUFZTCxpQkFBa0IsR0FBRztRQUV2Q1osUUFBUWUsWUFDRUwsY0FBSyxDQUFDUSxhQUFhLENBQUNELGFBQ2xCO1FBRVosT0FBT2pCO0lBQ1Q7SUFFQSxPQUFPbUIsZUFBZUMsVUFBVSxFQUFFekIsT0FBTyxFQUFFO1FBQ3pDLE1BQU1HLGFBQWFzQixXQUFXckIsYUFBYSxJQUNyQ3NCLG9CQUFvQjNCLGdCQUFPLENBQUM0QixXQUFXLENBQUM3QixtQkFBbUJLLFlBQVlIO1FBRTdFLE9BQU8wQjtJQUNUO0FBQ0Y7QUFFQSxTQUFTUix5QkFBeUJiLEtBQUssRUFBRUwsT0FBTztJQUM5QyxJQUFJaUI7SUFFSixNQUFNUixPQUFPVCxRQUFRTSxPQUFPLElBQ3RCc0IsVUFBVW5CLEtBQUtvQixVQUFVLElBQ3pCQyxXQUFXckIsS0FBS3NCLE9BQU8sSUFDdkJsQixhQUFhUixNQUFNUyxhQUFhLElBQ2hDWCxhQUFhRSxNQUFNRCxhQUFhLElBQ2hDNEIsa0JBQWtCdkIsS0FBS3dCLDJCQUEyQixDQUFDSCxVQUFVOUI7SUFFbkVpQixrQkFBa0JlLGdCQUFnQkUsMENBQTBDLENBQUNKLFVBQVVqQixZQUFZZSxTQUFTekI7SUFFNUdjLGtCQUFrQkEsZ0JBQWdCa0IsT0FBTyxDQUFDbkMsVUFBVyxHQUFHO0lBRXhELE9BQU9pQjtBQUNUIn0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2RlZmluaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZSBmcm9tIFwiLi4vZnJhbWVcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0XCI7XG5cbmltcG9ydCB7IGFib3J0ZWRGcmFtZSwgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vZnJhbWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVmaW5pdGlvbkNvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIHByZWNlZGVuY2UpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucyk7XG5cbiAgICB0aGlzLnByZWNlZGVuY2UgPSBwcmVjZWRlbmNlO1xuICB9XG5cbiAgZ2V0UHJlY2VkZW5jZShmcmFtZSkge1xuICAgIGxldCBwcmVjZWRlbmNlO1xuXG4gICAgcHJlY2VkZW5jZSA9IGZyYW1lLmdldFByZWNlZGVuY2UoKTtcblxuICAgIHByZWNlZGVuY2UgPSBwcmVjZWRlbmNlIHx8IHRoaXMucHJlY2VkZW5jZTsgLy8vXG5cbiAgICByZXR1cm4gcHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFJ1bGUoKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHJ1bGVDb250ZXh0ID0gY29udGV4dCwgIC8vL1xuICAgICAgICAgIHJ1bGUgPSBydWxlQ29udGV4dC5nZXRSdWxlKCk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxuXG4gIGlzSXNvbGF0ZWQoKSB7XG4gICAgY29uc3QgaXNvbGF0ZWQgPSBmYWxzZTtcblxuICAgIHJldHVybiBpc29sYXRlZDtcbiAgfVxuXG4gIGlzQ29tbWl0dGVkKCkge1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGNvbW1pdHRlZDtcbiAgfVxuXG4gIGNvbXBvc2UoZnJhbWUpIHtcbiAgICBsZXQgY29udGV4dDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBmcmFtZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IHRoaXMuZ2V0UHJlY2VkZW5jZShmcmFtZSk7XG5cbiAgICBmcmFtZSA9IEZyYW1lLmZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIGNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZUZyb21GcmFtZShmcmFtZSwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICBjb25zdCBpc29sYXRlZCA9IGNvbnRleHQuaXNJc29sYXRlZCgpO1xuXG4gICAgaWYgKGlzb2xhdGVkKSB7XG4gICAgICBub25UZXJtaW5hbE5vZGUubnVsbGlmeVByZWNlZGVuY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWxhdGFibGUgPSBub25UZXJtaW5hbE5vZGUuaXNQYWxhdGFibGUoKTtcblxuICAgIGlmIChwYWxhdGFibGUpIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgIC8vL1xuXG4gICAgICBmcmFtZSA9IEZyYW1lLmZyb21DaGlsZE5vZGUoY2hpbGROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29tbWl0dGVkID0gbm9uVGVybWluYWxOb2RlLmlzQ29tbWl0dGVkKCk7XG5cbiAgICAgIGlmIChjb21taXR0ZWQpIHtcbiAgICAgICAgZnJhbWUgPSBhYm9ydGVkRnJhbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZSA9IG51bGxpZmllZEZyYW1lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRGVmaW5pdGlvbihkZWZpbml0aW9uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgcHJlY2VkZW5jZSA9IGRlZmluaXRpb24uZ2V0UHJlY2VkZW5jZSgpLFxuICAgICAgICAgIGRlZmluaXRpb25Db250ZXh0ID0gQ29udGV4dC5mcm9tTm90aGluZyhEZWZpbml0aW9uQ29udGV4dCwgcHJlY2VkZW5jZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZGVmaW5pdGlvbkNvbnRleHQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbm9uVGVybWluYWxOb2RlRnJvbUZyYW1lKGZyYW1lLCBjb250ZXh0KSB7XG4gIGxldCBub25UZXJtaW5hbE5vZGU7XG5cbiAgY29uc3QgcnVsZSA9IGNvbnRleHQuZ2V0UnVsZSgpLFxuICAgICAgICBvcGFjaXR5ID0gcnVsZS5nZXRPcGFjaXR5KCksXG4gICAgICAgIHJ1bGVOYW1lID0gcnVsZS5nZXROYW1lKCksXG4gICAgICAgIGNoaWxkTm9kZXMgPSBmcmFtZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIHByZWNlZGVuY2UgPSBmcmFtZS5nZXRQcmVjZWRlbmNlKCksXG4gICAgICAgIE5vblRlcm1pbmFsTm9kZSA9IHJ1bGUuTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lLCBjb250ZXh0KTtcblxuICBub25UZXJtaW5hbE5vZGUgPSBOb25UZXJtaW5hbE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTtcblxuICBub25UZXJtaW5hbE5vZGUgPSBub25UZXJtaW5hbE5vZGUucmV3cml0ZShjb250ZXh0KTsgIC8vL1xuXG4gIHJldHVybiBub25UZXJtaW5hbE5vZGU7XG59XG4iXSwibmFtZXMiOlsiRGVmaW5pdGlvbkNvbnRleHQiLCJDb250ZXh0IiwiY29udGV4dCIsInN0YXRlIiwiY29udGludWF0aW9ucyIsInByZWNlZGVuY2UiLCJnZXRQcmVjZWRlbmNlIiwiZnJhbWUiLCJnZXRSdWxlIiwiZ2V0Q29udGV4dCIsInJ1bGVDb250ZXh0IiwicnVsZSIsImlzSXNvbGF0ZWQiLCJpc29sYXRlZCIsImlzQ29tbWl0dGVkIiwiY29tbWl0dGVkIiwiY29tcG9zZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiRnJhbWUiLCJmcm9tQ2hpbGROb2Rlc0FuZFByZWNlZGVuY2UiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVGcm9tRnJhbWUiLCJudWxsaWZ5UHJlY2VkZW5jZSIsInBhbGF0YWJsZSIsImlzUGFsYXRhYmxlIiwiY2hpbGROb2RlIiwiZnJvbUNoaWxkTm9kZSIsImFib3J0ZWRGcmFtZSIsIm51bGxpZmllZEZyYW1lIiwiZnJvbURlZmluaXRpb24iLCJkZWZpbml0aW9uIiwiZGVmaW5pdGlvbkNvbnRleHQiLCJmcm9tTm90aGluZyIsIm9wYWNpdHkiLCJnZXRPcGFjaXR5IiwicnVsZU5hbWUiLCJnZXROYW1lIiwiTm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwicmV3cml0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFxQkE7OzsrREFMSDtnRUFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJTCxNQUFNQSwwQkFBMEJDLGdCQUFPO0lBQ3BELFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLFVBQVUsQ0FBRTtRQUNyRCxLQUFLLENBQUNILFNBQVNDLE9BQU9DO1FBRXRCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxjQUFjQyxLQUFLLEVBQUU7UUFDbkIsSUFBSUY7UUFFSkEsYUFBYUUsTUFBTUQsYUFBYTtRQUVoQ0QsYUFBYUEsY0FBYyxJQUFJLENBQUNBLFVBQVUsRUFBRSxHQUFHO1FBRS9DLE9BQU9BO0lBQ1Q7SUFFQUcsVUFBVTtRQUNSLE1BQU1OLFVBQVUsSUFBSSxDQUFDTyxVQUFVLElBQ3pCQyxjQUFjUixTQUNkUyxPQUFPRCxZQUFZRixPQUFPO1FBRWhDLE9BQU9HO0lBQ1Q7SUFFQUMsYUFBYTtRQUNYLE1BQU1DLFdBQVc7UUFFakIsT0FBT0E7SUFDVDtJQUVBQyxjQUFjO1FBQ1osTUFBTUMsWUFBWTtRQUVsQixPQUFPQTtJQUNUO0lBRUFDLFFBQVFULEtBQUssRUFBRTtRQUNiLElBQUlMO1FBRUosTUFBTWUsYUFBYVYsTUFBTVcsYUFBYSxJQUNoQ2IsYUFBYSxJQUFJLENBQUNDLGFBQWEsQ0FBQ0M7UUFFdENBLFFBQVFZLGNBQUssQ0FBQ0MsMkJBQTJCLENBQUNILFlBQVlaO1FBRXRESCxVQUFVLElBQUksRUFBRSxHQUFHO1FBRW5CLE1BQU1tQixrQkFBa0JDLHlCQUF5QmYsT0FBT0w7UUFFeERBLFVBQVUsSUFBSSxDQUFDTyxVQUFVO1FBRXpCLE1BQU1JLFdBQVdYLFFBQVFVLFVBQVU7UUFFbkMsSUFBSUMsVUFBVTtZQUNaUSxnQkFBZ0JFLGlCQUFpQjtRQUNuQztRQUVBLE1BQU1DLFlBQVlILGdCQUFnQkksV0FBVztRQUU3QyxJQUFJRCxXQUFXO1lBQ2IsTUFBTUUsWUFBWUwsaUJBQWtCLEdBQUc7WUFFdkNkLFFBQVFZLGNBQUssQ0FBQ1EsYUFBYSxDQUFDRDtRQUM5QixPQUFPO1lBQ0wsTUFBTVgsWUFBWU0sZ0JBQWdCUCxXQUFXO1lBRTdDLElBQUlDLFdBQVc7Z0JBQ2JSLFFBQVFxQixtQkFBWTtZQUN0QixPQUFPO2dCQUNMckIsUUFBUXNCLHFCQUFjO1lBQ3hCO1FBQ0Y7UUFFQSxPQUFPdEI7SUFDVDtJQUVBLE9BQU91QixlQUFlQyxVQUFVLEVBQUU3QixPQUFPLEVBQUU7UUFDekMsTUFBTUcsYUFBYTBCLFdBQVd6QixhQUFhLElBQ3JDMEIsb0JBQW9CL0IsZ0JBQU8sQ0FBQ2dDLFdBQVcsQ0FBQ2pDLG1CQUFtQkssWUFBWUg7UUFFN0UsT0FBTzhCO0lBQ1Q7QUFDRjtBQUVBLFNBQVNWLHlCQUF5QmYsS0FBSyxFQUFFTCxPQUFPO0lBQzlDLElBQUltQjtJQUVKLE1BQU1WLE9BQU9ULFFBQVFNLE9BQU8sSUFDdEIwQixVQUFVdkIsS0FBS3dCLFVBQVUsSUFDekJDLFdBQVd6QixLQUFLMEIsT0FBTyxJQUN2QnBCLGFBQWFWLE1BQU1XLGFBQWEsSUFDaENiLGFBQWFFLE1BQU1ELGFBQWEsSUFDaENnQyxrQkFBa0IzQixLQUFLNEIsMkJBQTJCLENBQUNILFVBQVVsQztJQUVuRW1CLGtCQUFrQmlCLGdCQUFnQkUsMENBQTBDLENBQUNKLFVBQVVuQixZQUFZaUIsU0FBUzdCO0lBRTVHZ0Isa0JBQWtCQSxnQkFBZ0JvQixPQUFPLENBQUN2QyxVQUFXLEdBQUc7SUFFeEQsT0FBT21CO0FBQ1QifQ==
@@ -15,9 +15,14 @@ function _interop_require_default(obj) {
15
15
  };
16
16
  }
17
17
  class CommittedPartPartContext extends _context.default {
18
+ isCommitted() {
19
+ const committed = true;
20
+ return committed;
21
+ }
18
22
  continued(frame, context) {
19
23
  frame = this.compose(frame);
20
- if (frame !== null) {
24
+ const frameValid = frame.isValid();
25
+ if (frameValid) {
21
26
  context.commit(this);
22
27
  }
23
28
  return frame;
@@ -27,4 +32,4 @@ class CommittedPartPartContext extends _context.default {
27
32
  }
28
33
  }
29
34
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvY29tbWl0dGVkUGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHRcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGNvbnRpbnVlZChmcmFtZSwgY29udGV4dCkge1xuICAgIGZyYW1lID0gdGhpcy5jb21wb3NlKGZyYW1lKTtcblxuICAgIGlmIChmcmFtZSAhPT0gbnVsbCkge1xuICAgICAgY29udGV4dC5jb21taXQodGhpcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKGNvbnRleHQpIHtcbiAgICByZXR1cm4gQ29udGV4dC5mcm9tTm90aGluZyhDb21taXR0ZWRQYXJ0UGFydENvbnRleHQsIGNvbnRleHQpO1xuICB9XG59Il0sIm5hbWVzIjpbIkNvbW1pdHRlZFBhcnRQYXJ0Q29udGV4dCIsIkNvbnRleHQiLCJjb250aW51ZWQiLCJmcmFtZSIsImNvbnRleHQiLCJjb21wb3NlIiwiY29tbWl0IiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBcUJBOzs7Z0VBRkQ7Ozs7OztBQUVMLE1BQU1BLGlDQUFpQ0MsZ0JBQU87SUFDM0RDLFVBQVVDLEtBQUssRUFBRUMsT0FBTyxFQUFFO1FBQ3hCRCxRQUFRLElBQUksQ0FBQ0UsT0FBTyxDQUFDRjtRQUVyQixJQUFJQSxVQUFVLE1BQU07WUFDbEJDLFFBQVFFLE1BQU0sQ0FBQyxJQUFJO1FBQ3JCO1FBRUEsT0FBT0g7SUFDVDtJQUVBLE9BQU9JLFlBQVlILE9BQU8sRUFBRTtRQUMxQixPQUFPSCxnQkFBTyxDQUFDTSxXQUFXLENBQUNQLDBCQUEwQkk7SUFDdkQ7QUFDRiJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvY29tbWl0dGVkUGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHRcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGlzQ29tbWl0dGVkKCkge1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gY29tbWl0dGVkO1xuICB9XG5cbiAgY29udGludWVkKGZyYW1lLCBjb250ZXh0KSB7XG4gICAgZnJhbWUgPSB0aGlzLmNvbXBvc2UoZnJhbWUpO1xuXG4gICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICBjb250ZXh0LmNvbW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoY29udGV4dCkge1xuICAgIHJldHVybiBDb250ZXh0LmZyb21Ob3RoaW5nKENvbW1pdHRlZFBhcnRQYXJ0Q29udGV4dCwgY29udGV4dCk7XG4gIH1cbn0iXSwibmFtZXMiOlsiQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0IiwiQ29udGV4dCIsImlzQ29tbWl0dGVkIiwiY29tbWl0dGVkIiwiY29udGludWVkIiwiZnJhbWUiLCJjb250ZXh0IiwiY29tcG9zZSIsImZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwiY29tbWl0IiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBcUJBOzs7Z0VBRkQ7Ozs7OztBQUVMLE1BQU1BLGlDQUFpQ0MsZ0JBQU87SUFDM0RDLGNBQWM7UUFDWixNQUFNQyxZQUFZO1FBRWxCLE9BQU9BO0lBQ1Q7SUFFQUMsVUFBVUMsS0FBSyxFQUFFQyxPQUFPLEVBQUU7UUFDeEJELFFBQVEsSUFBSSxDQUFDRSxPQUFPLENBQUNGO1FBRXJCLE1BQU1HLGFBQWFILE1BQU1JLE9BQU87UUFFaEMsSUFBSUQsWUFBWTtZQUNkRixRQUFRSSxNQUFNLENBQUMsSUFBSTtRQUNyQjtRQUVBLE9BQU9MO0lBQ1Q7SUFFQSxPQUFPTSxZQUFZTCxPQUFPLEVBQUU7UUFDMUIsT0FBT0wsZ0JBQU8sQ0FBQ1UsV0FBVyxDQUFDWCwwQkFBMEJNO0lBQ3ZEO0FBQ0YifQ==
@@ -35,7 +35,8 @@ class ContinuationPartContext extends _part.default {
35
35
  const part = this.getPart(), count = this.count + 1, strict = true, continuingContext = this.getContinuingContext();
36
36
  (0, _context.continuationContext)((context)=>{
37
37
  frame = this.parsePartContinually(part, count, strict, frame, context);
38
- if (frame !== null) {
38
+ const frameValid = frame.isValid();
39
+ if (frameValid) {
39
40
  context.commit();
40
41
  }
41
42
  }, continuingContext, context);
@@ -47,4 +48,4 @@ class ContinuationPartContext extends _part.default {
47
48
  }
48
49
  }
49
50
 
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGFydENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHQvcGFydFwiO1xuXG5pbXBvcnQgeyBjb250aW51YXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRpbnVhdGlvblBhcnRDb250ZXh0IGV4dGVuZHMgUGFydENvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgZmluYWwsIHBhcnQsIGNvdW50LCBwYXJzZVBhcnRDb250aW51YWxseSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zLCBmaW5hbCwgcGFydCk7XG5cbiAgICB0aGlzLmNvdW50ID0gY291bnQ7XG4gICAgdGhpcy5wYXJzZVBhcnRDb250aW51YWxseSA9IHBhcnNlUGFydENvbnRpbnVhbGx5O1xuICB9XG5cbiAgZ2V0Q291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY291bnQ7XG4gIH1cblxuICBnZXRQYXJzZVBhcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VQYXJ0Q29udGludWFsbHk7XG4gIH1cblxuICBnZXRDb250aW51aW5nQ29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgY29udGludWluZ0NvbnRleHQgPSBjb250ZXh0OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGludWluZ0NvbnRleHQ7XG4gIH1cblxuICBjb250aW51ZWQoZnJhbWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwYXJ0ID0gdGhpcy5nZXRQYXJ0KCksXG4gICAgICAgICAgY291bnQgPSB0aGlzLmNvdW50ICsgMSxcbiAgICAgICAgICBzdHJpY3QgPSB0cnVlLFxuICAgICAgICAgIGNvbnRpbnVpbmdDb250ZXh0ID0gdGhpcy5nZXRDb250aW51aW5nQ29udGV4dCgpO1xuXG4gICAgY29udGludWF0aW9uQ29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgZnJhbWUgPSB0aGlzLnBhcnNlUGFydENvbnRpbnVhbGx5KHBhcnQsIGNvdW50LCBzdHJpY3QsIGZyYW1lLCBjb250ZXh0KTtcblxuICAgICAgaWYgKGZyYW1lICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnRleHQuY29tbWl0KCk7XG4gICAgICB9XG4gICAgfSwgY29udGludWluZ0NvbnRleHQsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0Q291bnRBbmRQYXJzZVBhcnRDb250aW51YWxseShwYXJ0LCBjb3VudCwgcGFyc2VQYXJ0Q29udGludWFsbHksIGNvbnRleHQpIHtcbiAgICBjb25zdCBjb250aW51YXRpb25QYXJ0Q29udGV4dCA9IFBhcnRDb250ZXh0LmZyb21QYXJ0KENvbnRpbnVhdGlvblBhcnRDb250ZXh0LCBwYXJ0LCBjb3VudCwgcGFyc2VQYXJ0Q29udGludWFsbHksIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvblBhcnRDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ29udGludWF0aW9uUGFydENvbnRleHQiLCJQYXJ0Q29udGV4dCIsImNvbnRleHQiLCJzdGF0ZSIsImNvbnRpbnVhdGlvbnMiLCJmaW5hbCIsInBhcnQiLCJjb3VudCIsInBhcnNlUGFydENvbnRpbnVhbGx5IiwiZ2V0Q291bnQiLCJnZXRQYXJzZVBhcnQiLCJnZXRDb250aW51aW5nQ29udGV4dCIsImdldENvbnRleHQiLCJjb250aW51aW5nQ29udGV4dCIsImNvbnRpbnVlZCIsImZyYW1lIiwiZ2V0UGFydCIsInN0cmljdCIsImNvbnRpbnVhdGlvbkNvbnRleHQiLCJjb21taXQiLCJmcm9tUGFydENvdW50QW5kUGFyc2VQYXJ0Q29udGludWFsbHkiLCJjb250aW51YXRpb25QYXJ0Q29udGV4dCIsImZyb21QYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7OzZEQUpHO3lCQUVZOzs7Ozs7QUFFckIsTUFBTUEsZ0NBQWdDQyxhQUFXO0lBQzlELFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLG9CQUFvQixDQUFFO1FBQ25GLEtBQUssQ0FBQ04sU0FBU0MsT0FBT0MsZUFBZUMsT0FBT0M7UUFFNUMsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxvQkFBb0IsR0FBR0E7SUFDOUI7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDRixLQUFLO0lBQ25CO0lBRUFHLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0Ysb0JBQW9CO0lBQ2xDO0lBRUFHLHVCQUF1QjtRQUNyQixNQUFNVCxVQUFVLElBQUksQ0FBQ1UsVUFBVSxJQUN6QkMsb0JBQW9CWCxTQUFVLEdBQUc7UUFFdkMsT0FBT1c7SUFDVDtJQUVBQyxVQUFVQyxLQUFLLEVBQUViLE9BQU8sRUFBRTtRQUN4QixNQUFNSSxPQUFPLElBQUksQ0FBQ1UsT0FBTyxJQUNuQlQsUUFBUSxJQUFJLENBQUNBLEtBQUssR0FBRyxHQUNyQlUsU0FBUyxNQUNUSixvQkFBb0IsSUFBSSxDQUFDRixvQkFBb0I7UUFFbkRPLElBQUFBLDRCQUFtQixFQUFDLENBQUNoQjtZQUNuQmEsUUFBUSxJQUFJLENBQUNQLG9CQUFvQixDQUFDRixNQUFNQyxPQUFPVSxRQUFRRixPQUFPYjtZQUU5RCxJQUFJYSxVQUFVLE1BQU07Z0JBQ2xCYixRQUFRaUIsTUFBTTtZQUNoQjtRQUNGLEdBQUdOLG1CQUFtQlg7UUFFdEIsT0FBT2E7SUFDVDtJQUVBLE9BQU9LLHFDQUFxQ2QsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLG9CQUFvQixFQUFFTixPQUFPLEVBQUU7UUFDdEYsTUFBTW1CLDBCQUEwQnBCLGFBQVcsQ0FBQ3FCLFFBQVEsQ0FBQ3RCLHlCQUF5Qk0sTUFBTUMsT0FBT0Msc0JBQXNCTjtRQUVqSCxPQUFPbUI7SUFDVDtBQUNGIn0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGFydENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHQvcGFydFwiO1xuXG5pbXBvcnQgeyBjb250aW51YXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRpbnVhdGlvblBhcnRDb250ZXh0IGV4dGVuZHMgUGFydENvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgZmluYWwsIHBhcnQsIGNvdW50LCBwYXJzZVBhcnRDb250aW51YWxseSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zLCBmaW5hbCwgcGFydCk7XG5cbiAgICB0aGlzLmNvdW50ID0gY291bnQ7XG4gICAgdGhpcy5wYXJzZVBhcnRDb250aW51YWxseSA9IHBhcnNlUGFydENvbnRpbnVhbGx5O1xuICB9XG5cbiAgZ2V0Q291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY291bnQ7XG4gIH1cblxuICBnZXRQYXJzZVBhcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VQYXJ0Q29udGludWFsbHk7XG4gIH1cblxuICBnZXRDb250aW51aW5nQ29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgY29udGludWluZ0NvbnRleHQgPSBjb250ZXh0OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGludWluZ0NvbnRleHQ7XG4gIH1cblxuICBjb250aW51ZWQoZnJhbWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwYXJ0ID0gdGhpcy5nZXRQYXJ0KCksXG4gICAgICAgICAgY291bnQgPSB0aGlzLmNvdW50ICsgMSxcbiAgICAgICAgICBzdHJpY3QgPSB0cnVlLFxuICAgICAgICAgIGNvbnRpbnVpbmdDb250ZXh0ID0gdGhpcy5nZXRDb250aW51aW5nQ29udGV4dCgpO1xuXG4gICAgY29udGludWF0aW9uQ29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgZnJhbWUgPSB0aGlzLnBhcnNlUGFydENvbnRpbnVhbGx5KHBhcnQsIGNvdW50LCBzdHJpY3QsIGZyYW1lLCBjb250ZXh0KTtcblxuICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgICAgaWYgKGZyYW1lVmFsaWQpIHtcbiAgICAgICAgY29udGV4dC5jb21taXQoKTtcbiAgICAgIH1cbiAgICB9LCBjb250aW51aW5nQ29udGV4dCwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcnRDb3VudEFuZFBhcnNlUGFydENvbnRpbnVhbGx5KHBhcnQsIGNvdW50LCBwYXJzZVBhcnRDb250aW51YWxseSwgY29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvblBhcnRDb250ZXh0ID0gUGFydENvbnRleHQuZnJvbVBhcnQoQ29udGludWF0aW9uUGFydENvbnRleHQsIHBhcnQsIGNvdW50LCBwYXJzZVBhcnRDb250aW51YWxseSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gY29udGludWF0aW9uUGFydENvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb250aW51YXRpb25QYXJ0Q29udGV4dCIsIlBhcnRDb250ZXh0IiwiY29udGV4dCIsInN0YXRlIiwiY29udGludWF0aW9ucyIsImZpbmFsIiwicGFydCIsImNvdW50IiwicGFyc2VQYXJ0Q29udGludWFsbHkiLCJnZXRDb3VudCIsImdldFBhcnNlUGFydCIsImdldENvbnRpbnVpbmdDb250ZXh0IiwiZ2V0Q29udGV4dCIsImNvbnRpbnVpbmdDb250ZXh0IiwiY29udGludWVkIiwiZnJhbWUiLCJnZXRQYXJ0Iiwic3RyaWN0IiwiY29udGludWF0aW9uQ29udGV4dCIsImZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwiY29tbWl0IiwiZnJvbVBhcnRDb3VudEFuZFBhcnNlUGFydENvbnRpbnVhbGx5IiwiY29udGludWF0aW9uUGFydENvbnRleHQiLCJmcm9tUGFydCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7Ozs2REFKRzt5QkFFWTs7Ozs7O0FBRXJCLE1BQU1BLGdDQUFnQ0MsYUFBVztJQUM5RCxZQUFZQyxPQUFPLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxvQkFBb0IsQ0FBRTtRQUNuRixLQUFLLENBQUNOLFNBQVNDLE9BQU9DLGVBQWVDLE9BQU9DO1FBRTVDLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0Msb0JBQW9CLEdBQUdBO0lBQzlCO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0YsS0FBSztJQUNuQjtJQUVBRyxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUNGLG9CQUFvQjtJQUNsQztJQUVBRyx1QkFBdUI7UUFDckIsTUFBTVQsVUFBVSxJQUFJLENBQUNVLFVBQVUsSUFDekJDLG9CQUFvQlgsU0FBVSxHQUFHO1FBRXZDLE9BQU9XO0lBQ1Q7SUFFQUMsVUFBVUMsS0FBSyxFQUFFYixPQUFPLEVBQUU7UUFDeEIsTUFBTUksT0FBTyxJQUFJLENBQUNVLE9BQU8sSUFDbkJULFFBQVEsSUFBSSxDQUFDQSxLQUFLLEdBQUcsR0FDckJVLFNBQVMsTUFDVEosb0JBQW9CLElBQUksQ0FBQ0Ysb0JBQW9CO1FBRW5ETyxJQUFBQSw0QkFBbUIsRUFBQyxDQUFDaEI7WUFDbkJhLFFBQVEsSUFBSSxDQUFDUCxvQkFBb0IsQ0FBQ0YsTUFBTUMsT0FBT1UsUUFBUUYsT0FBT2I7WUFFOUQsTUFBTWlCLGFBQWFKLE1BQU1LLE9BQU87WUFFaEMsSUFBSUQsWUFBWTtnQkFDZGpCLFFBQVFtQixNQUFNO1lBQ2hCO1FBQ0YsR0FBR1IsbUJBQW1CWDtRQUV0QixPQUFPYTtJQUNUO0lBRUEsT0FBT08scUNBQXFDaEIsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLG9CQUFvQixFQUFFTixPQUFPLEVBQUU7UUFDdEYsTUFBTXFCLDBCQUEwQnRCLGFBQVcsQ0FBQ3VCLFFBQVEsQ0FBQ3hCLHlCQUF5Qk0sTUFBTUMsT0FBT0Msc0JBQXNCTjtRQUVqSCxPQUFPcUI7SUFDVDtBQUNGIn0=
@@ -38,7 +38,8 @@ class RuleNamePartContext extends _part.default {
38
38
  continued(frame, context) {
39
39
  const partFrame = frame; ///
40
40
  frame = this.compose(this.continuedFrame, partFrame);
41
- if (frame !== null) {
41
+ const frameValid = frame.isValid();
42
+ if (frameValid) {
42
43
  const continuingContext = this.getContinuingContext();
43
44
  frame = continuingContext.continued(frame, context);
44
45
  }
@@ -50,4 +51,4 @@ class RuleNamePartContext extends _part.default {
50
51
  }
51
52
  }
52
53
 
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvcnVsZU5hbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQYXJ0Q29udGV4dCBmcm9tIFwiLi4vLi4vY29udGV4dC9wYXJ0XCI7XG5pbXBvcnQgQ29udGludWF0aW9uIGZyb20gXCIuLi8uLi9jb250aW51YXRpb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVsZU5hbWVQYXJ0Q29udGV4dCBleHRlbmRzIFBhcnRDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIGZpbmFsLCBwYXJ0LCBjb250aW51YXRpb24sIGNvbnRpbnVlZEZyYW1lKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIGZpbmFsLCBwYXJ0KTtcblxuICAgIHRoaXMuY29udGludWF0aW9uID0gY29udGludWF0aW9uO1xuICAgIHRoaXMuY29udGludWVkRnJhbWUgPSBjb250aW51ZWRGcmFtZTtcbiAgfVxuXG4gIGdldENvbnRpbnVhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250aW51YXRpb247XG4gIH1cblxuICBnZXRDb250aW51ZWRGcmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250aW51ZWRGcmFtZTtcbiAgfVxuXG4gIGdldENvbnRpbnVpbmdDb250ZXh0KCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICBjb250aW51aW5nQ29udGV4dCA9IGNvbnRleHQ7ICAvLy9cblxuICAgIHJldHVybiBjb250aW51aW5nQ29udGV4dDtcbiAgfVxuXG4gIGlzQ29udGludWluZygpIHtcbiAgICBjb25zdCBjb250aW51aW5nID0gKHRoaXMuY29udGludWF0aW9uID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgc3VwZXIuaXNDb250aW51aW5nKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcblxuICAgIHJldHVybiBjb250aW51aW5nO1xuICB9XG5cbiAgY29udGludWVkKGZyYW1lLCBjb250ZXh0KSB7XG4gICAgY29uc3QgcGFydEZyYW1lID0gZnJhbWU7IC8vL1xuXG4gICAgZnJhbWUgPSB0aGlzLmNvbXBvc2UodGhpcy5jb250aW51ZWRGcmFtZSwgcGFydEZyYW1lKTtcblxuICAgIGlmIChmcmFtZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgY29udGludWluZ0NvbnRleHQgPSB0aGlzLmdldENvbnRpbnVpbmdDb250ZXh0KCk7XG5cbiAgICAgIGZyYW1lID0gY29udGludWluZ0NvbnRleHQuY29udGludWVkKGZyYW1lLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbWZyYW1lQW5kUnVsZU5hbWVQYXJ0KGZyYW1lLCBydWxlTmFtZVBhcnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwYXJ0ID0gcnVsZU5hbWVQYXJ0LCAgLy8vXG4gICAgICAgICAgY29udGludWF0aW9uID0gQ29udGludWF0aW9uLmZyb21SdWxlTmFtZVBhcnQocnVsZU5hbWVQYXJ0LCBjb250ZXh0KSxcbiAgICAgICAgICBjb250aW51ZWRGcmFtZSA9IGZyYW1lLCAvLy9cbiAgICAgICAgICBydWxlTmFtZVBhcnRDb250ZXh0ID0gUGFydENvbnRleHQuZnJvbVBhcnQoUnVsZU5hbWVQYXJ0Q29udGV4dCwgcGFydCwgY29udGludWF0aW9uLCBjb250aW51ZWRGcmFtZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcnVsZU5hbWVQYXJ0Q29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlJ1bGVOYW1lUGFydENvbnRleHQiLCJQYXJ0Q29udGV4dCIsImNvbnRleHQiLCJzdGF0ZSIsImNvbnRpbnVhdGlvbnMiLCJmaW5hbCIsInBhcnQiLCJjb250aW51YXRpb24iLCJjb250aW51ZWRGcmFtZSIsImdldENvbnRpbnVhdGlvbiIsImdldENvbnRpbnVlZEZyYW1lIiwiZ2V0Q29udGludWluZ0NvbnRleHQiLCJnZXRDb250ZXh0IiwiY29udGludWluZ0NvbnRleHQiLCJpc0NvbnRpbnVpbmciLCJjb250aW51aW5nIiwiY29udGludWVkIiwiZnJhbWUiLCJwYXJ0RnJhbWUiLCJjb21wb3NlIiwiZnJvbWZyYW1lQW5kUnVsZU5hbWVQYXJ0IiwicnVsZU5hbWVQYXJ0IiwiQ29udGludWF0aW9uIiwiZnJvbVJ1bGVOYW1lUGFydCIsInJ1bGVOYW1lUGFydENvbnRleHQiLCJmcm9tUGFydCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUFxQkE7Ozs2REFIRztxRUFDQzs7Ozs7O0FBRVYsTUFBTUEsNEJBQTRCQyxhQUFXO0lBQzFELFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxZQUFZLEVBQUVDLGNBQWMsQ0FBRTtRQUNwRixLQUFLLENBQUNOLFNBQVNDLE9BQU9DLGVBQWVDLE9BQU9DO1FBRTVDLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLGNBQWMsR0FBR0E7SUFDeEI7SUFFQUMsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDRixZQUFZO0lBQzFCO0lBRUFHLG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQ0YsY0FBYztJQUM1QjtJQUVBRyx1QkFBdUI7UUFDckIsTUFBTVQsVUFBVSxJQUFJLENBQUNVLFVBQVUsSUFDekJDLG9CQUFvQlgsU0FBVSxHQUFHO1FBRXZDLE9BQU9XO0lBQ1Q7SUFFQUMsZUFBZTtRQUNiLE1BQU1DLGFBQWEsQUFBQyxJQUFJLENBQUNSLFlBQVksS0FBSyxPQUNyQixLQUFLLENBQUNPLGlCQUNKO1FBRXZCLE9BQU9DO0lBQ1Q7SUFFQUMsVUFBVUMsS0FBSyxFQUFFZixPQUFPLEVBQUU7UUFDeEIsTUFBTWdCLFlBQVlELE9BQU8sR0FBRztRQUU1QkEsUUFBUSxJQUFJLENBQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUNYLGNBQWMsRUFBRVU7UUFFMUMsSUFBSUQsVUFBVSxNQUFNO1lBQ2xCLE1BQU1KLG9CQUFvQixJQUFJLENBQUNGLG9CQUFvQjtZQUVuRE0sUUFBUUosa0JBQWtCRyxTQUFTLENBQUNDLE9BQU9mO1FBQzdDO1FBRUEsT0FBT2U7SUFDVDtJQUVBLE9BQU9HLHlCQUF5QkgsS0FBSyxFQUFFSSxZQUFZLEVBQUVuQixPQUFPLEVBQUU7UUFDNUQsTUFBTUksT0FBT2UsY0FDUGQsZUFBZWUscUJBQVksQ0FBQ0MsZ0JBQWdCLENBQUNGLGNBQWNuQixVQUMzRE0saUJBQWlCUyxPQUNqQk8sc0JBQXNCdkIsYUFBVyxDQUFDd0IsUUFBUSxDQUFDekIscUJBQXFCTSxNQUFNQyxjQUFjQyxnQkFBZ0JOO1FBRTFHLE9BQU9zQjtJQUNUO0FBQ0YifQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvcnVsZU5hbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQYXJ0Q29udGV4dCBmcm9tIFwiLi4vLi4vY29udGV4dC9wYXJ0XCI7XG5pbXBvcnQgQ29udGludWF0aW9uIGZyb20gXCIuLi8uLi9jb250aW51YXRpb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVsZU5hbWVQYXJ0Q29udGV4dCBleHRlbmRzIFBhcnRDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIGZpbmFsLCBwYXJ0LCBjb250aW51YXRpb24sIGNvbnRpbnVlZEZyYW1lKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIGZpbmFsLCBwYXJ0KTtcblxuICAgIHRoaXMuY29udGludWF0aW9uID0gY29udGludWF0aW9uO1xuICAgIHRoaXMuY29udGludWVkRnJhbWUgPSBjb250aW51ZWRGcmFtZTtcbiAgfVxuXG4gIGdldENvbnRpbnVhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250aW51YXRpb247XG4gIH1cblxuICBnZXRDb250aW51ZWRGcmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250aW51ZWRGcmFtZTtcbiAgfVxuXG4gIGdldENvbnRpbnVpbmdDb250ZXh0KCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICBjb250aW51aW5nQ29udGV4dCA9IGNvbnRleHQ7ICAvLy9cblxuICAgIHJldHVybiBjb250aW51aW5nQ29udGV4dDtcbiAgfVxuXG4gIGlzQ29udGludWluZygpIHtcbiAgICBjb25zdCBjb250aW51aW5nID0gKHRoaXMuY29udGludWF0aW9uID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgc3VwZXIuaXNDb250aW51aW5nKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcblxuICAgIHJldHVybiBjb250aW51aW5nO1xuICB9XG5cbiAgY29udGludWVkKGZyYW1lLCBjb250ZXh0KSB7XG4gICAgY29uc3QgcGFydEZyYW1lID0gZnJhbWU7IC8vL1xuXG4gICAgZnJhbWUgPSB0aGlzLmNvbXBvc2UodGhpcy5jb250aW51ZWRGcmFtZSwgcGFydEZyYW1lKTtcblxuICAgIGNvbnN0IGZyYW1lVmFsaWQgPSBmcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgY29uc3QgY29udGludWluZ0NvbnRleHQgPSB0aGlzLmdldENvbnRpbnVpbmdDb250ZXh0KCk7XG5cbiAgICAgIGZyYW1lID0gY29udGludWluZ0NvbnRleHQuY29udGludWVkKGZyYW1lLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbWZyYW1lQW5kUnVsZU5hbWVQYXJ0KGZyYW1lLCBydWxlTmFtZVBhcnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwYXJ0ID0gcnVsZU5hbWVQYXJ0LCAgLy8vXG4gICAgICAgICAgY29udGludWF0aW9uID0gQ29udGludWF0aW9uLmZyb21SdWxlTmFtZVBhcnQocnVsZU5hbWVQYXJ0LCBjb250ZXh0KSxcbiAgICAgICAgICBjb250aW51ZWRGcmFtZSA9IGZyYW1lLCAvLy9cbiAgICAgICAgICBydWxlTmFtZVBhcnRDb250ZXh0ID0gUGFydENvbnRleHQuZnJvbVBhcnQoUnVsZU5hbWVQYXJ0Q29udGV4dCwgcGFydCwgY29udGludWF0aW9uLCBjb250aW51ZWRGcmFtZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcnVsZU5hbWVQYXJ0Q29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlJ1bGVOYW1lUGFydENvbnRleHQiLCJQYXJ0Q29udGV4dCIsImNvbnRleHQiLCJzdGF0ZSIsImNvbnRpbnVhdGlvbnMiLCJmaW5hbCIsInBhcnQiLCJjb250aW51YXRpb24iLCJjb250aW51ZWRGcmFtZSIsImdldENvbnRpbnVhdGlvbiIsImdldENvbnRpbnVlZEZyYW1lIiwiZ2V0Q29udGludWluZ0NvbnRleHQiLCJnZXRDb250ZXh0IiwiY29udGludWluZ0NvbnRleHQiLCJpc0NvbnRpbnVpbmciLCJjb250aW51aW5nIiwiY29udGludWVkIiwiZnJhbWUiLCJwYXJ0RnJhbWUiLCJjb21wb3NlIiwiZnJhbWVWYWxpZCIsImlzVmFsaWQiLCJmcm9tZnJhbWVBbmRSdWxlTmFtZVBhcnQiLCJydWxlTmFtZVBhcnQiLCJDb250aW51YXRpb24iLCJmcm9tUnVsZU5hbWVQYXJ0IiwicnVsZU5hbWVQYXJ0Q29udGV4dCIsImZyb21QYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXFCQTs7OzZEQUhHO3FFQUNDOzs7Ozs7QUFFVixNQUFNQSw0QkFBNEJDLGFBQVc7SUFDMUQsWUFBWUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLGFBQWEsRUFBRUMsS0FBSyxFQUFFQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsY0FBYyxDQUFFO1FBQ3BGLEtBQUssQ0FBQ04sU0FBU0MsT0FBT0MsZUFBZUMsT0FBT0M7UUFFNUMsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtJQUN4QjtJQUVBQyxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUNGLFlBQVk7SUFDMUI7SUFFQUcsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDRixjQUFjO0lBQzVCO0lBRUFHLHVCQUF1QjtRQUNyQixNQUFNVCxVQUFVLElBQUksQ0FBQ1UsVUFBVSxJQUN6QkMsb0JBQW9CWCxTQUFVLEdBQUc7UUFFdkMsT0FBT1c7SUFDVDtJQUVBQyxlQUFlO1FBQ2IsTUFBTUMsYUFBYSxBQUFDLElBQUksQ0FBQ1IsWUFBWSxLQUFLLE9BQ3JCLEtBQUssQ0FBQ08saUJBQ0o7UUFFdkIsT0FBT0M7SUFDVDtJQUVBQyxVQUFVQyxLQUFLLEVBQUVmLE9BQU8sRUFBRTtRQUN4QixNQUFNZ0IsWUFBWUQsT0FBTyxHQUFHO1FBRTVCQSxRQUFRLElBQUksQ0FBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQ1gsY0FBYyxFQUFFVTtRQUUxQyxNQUFNRSxhQUFhSCxNQUFNSSxPQUFPO1FBRWhDLElBQUlELFlBQVk7WUFDZCxNQUFNUCxvQkFBb0IsSUFBSSxDQUFDRixvQkFBb0I7WUFFbkRNLFFBQVFKLGtCQUFrQkcsU0FBUyxDQUFDQyxPQUFPZjtRQUM3QztRQUVBLE9BQU9lO0lBQ1Q7SUFFQSxPQUFPSyx5QkFBeUJMLEtBQUssRUFBRU0sWUFBWSxFQUFFckIsT0FBTyxFQUFFO1FBQzVELE1BQU1JLE9BQU9pQixjQUNQaEIsZUFBZWlCLHFCQUFZLENBQUNDLGdCQUFnQixDQUFDRixjQUFjckIsVUFDM0RNLGlCQUFpQlMsT0FDakJTLHNCQUFzQnpCLGFBQVcsQ0FBQzBCLFFBQVEsQ0FBQzNCLHFCQUFxQk0sTUFBTUMsY0FBY0MsZ0JBQWdCTjtRQUUxRyxPQUFPd0I7SUFDVDtBQUNGIn0=
@@ -9,14 +9,16 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  const _part = /*#__PURE__*/ _interop_require_default(require("../../context/part"));
12
+ const _frame = require("../../frame");
12
13
  function _interop_require_default(obj) {
13
14
  return obj && obj.__esModule ? obj : {
14
15
  default: obj
15
16
  };
16
17
  }
17
18
  class SequenceOfPartsPartContext extends _part.default {
18
- compose(frame, partsFrame = null) {
19
- if (partsFrame !== null) {
19
+ compose(frame, partsFrame = _frame.nullifiedFrame) {
20
+ const partsFrameValid = partsFrame.isValid();
21
+ if (partsFrameValid) {
20
22
  frame = frame.merge(partsFrame);
21
23
  }
22
24
  return frame;
@@ -27,4 +29,4 @@ class SequenceOfPartsPartContext extends _part.default {
27
29
  }
28
30
  }
29
31
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvc2VxdWVuY2VPZlBhcnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGFydENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHQvcGFydFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXF1ZW5jZU9mUGFydHNQYXJ0Q29udGV4dCBleHRlbmRzIFBhcnRDb250ZXh0IHtcbiAgY29tcG9zZShmcmFtZSwgcGFydHNGcmFtZSA9IG51bGwpIHtcbiAgICBpZiAocGFydHNGcmFtZSAhPT0gbnVsbCkge1xuICAgICAgZnJhbWUgPSBmcmFtZS5tZXJnZShwYXJ0c0ZyYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVNlcXVlbmNlT2ZQYXJ0c1BhcnQoc2VxdWVuY2VPZlBhcnRzUGFydCwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnQgPSBzZXF1ZW5jZU9mUGFydHNQYXJ0LCAgLy8vXG4gICAgICAgICAgc2VxdWVuY2VPZlBhcnRzUGFydENvbnRleHQgPSBQYXJ0Q29udGV4dC5mcm9tUGFydChTZXF1ZW5jZU9mUGFydHNQYXJ0Q29udGV4dCwgcGFydCwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gc2VxdWVuY2VPZlBhcnRzUGFydENvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTZXF1ZW5jZU9mUGFydHNQYXJ0Q29udGV4dCIsIlBhcnRDb250ZXh0IiwiY29tcG9zZSIsImZyYW1lIiwicGFydHNGcmFtZSIsIm1lcmdlIiwiZnJvbVNlcXVlbmNlT2ZQYXJ0c1BhcnQiLCJzZXF1ZW5jZU9mUGFydHNQYXJ0IiwiY29udGV4dCIsInBhcnQiLCJzZXF1ZW5jZU9mUGFydHNQYXJ0Q29udGV4dCIsImZyb21QYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7OzZEQUZHOzs7Ozs7QUFFVCxNQUFNQSxtQ0FBbUNDLGFBQVc7SUFDakVDLFFBQVFDLEtBQUssRUFBRUMsYUFBYSxJQUFJLEVBQUU7UUFDaEMsSUFBSUEsZUFBZSxNQUFNO1lBQ3ZCRCxRQUFRQSxNQUFNRSxLQUFLLENBQUNEO1FBQ3RCO1FBRUEsT0FBT0Q7SUFDVDtJQUVBLE9BQU9HLHdCQUF3QkMsbUJBQW1CLEVBQUVDLE9BQU8sRUFBRTtRQUMzRCxNQUFNQyxPQUFPRixxQkFDUEcsNkJBQTZCVCxhQUFXLENBQUNVLFFBQVEsQ0FBQ1gsNEJBQTRCUyxNQUFNRDtRQUUxRixPQUFPRTtJQUNUO0FBQ0YifQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvc2VxdWVuY2VPZlBhcnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGFydENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHQvcGFydFwiO1xuXG5pbXBvcnQgeyBudWxsaWZpZWRGcmFtZSB9IGZyb20gXCIuLi8uLi9mcmFtZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXF1ZW5jZU9mUGFydHNQYXJ0Q29udGV4dCBleHRlbmRzIFBhcnRDb250ZXh0IHtcbiAgY29tcG9zZShmcmFtZSwgcGFydHNGcmFtZSA9IG51bGxpZmllZEZyYW1lKSB7XG4gICAgY29uc3QgcGFydHNGcmFtZVZhbGlkID0gcGFydHNGcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICBpZiAocGFydHNGcmFtZVZhbGlkKSB7XG4gICAgICBmcmFtZSA9IGZyYW1lLm1lcmdlKHBhcnRzRnJhbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU2VxdWVuY2VPZlBhcnRzUGFydChzZXF1ZW5jZU9mUGFydHNQYXJ0LCBjb250ZXh0KSB7XG4gICAgY29uc3QgcGFydCA9IHNlcXVlbmNlT2ZQYXJ0c1BhcnQsICAvLy9cbiAgICAgICAgICBzZXF1ZW5jZU9mUGFydHNQYXJ0Q29udGV4dCA9IFBhcnRDb250ZXh0LmZyb21QYXJ0KFNlcXVlbmNlT2ZQYXJ0c1BhcnRDb250ZXh0LCBwYXJ0LCBjb250ZXh0KTtcblxuICAgIHJldHVybiBzZXF1ZW5jZU9mUGFydHNQYXJ0Q29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNlcXVlbmNlT2ZQYXJ0c1BhcnRDb250ZXh0IiwiUGFydENvbnRleHQiLCJjb21wb3NlIiwiZnJhbWUiLCJwYXJ0c0ZyYW1lIiwibnVsbGlmaWVkRnJhbWUiLCJwYXJ0c0ZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwibWVyZ2UiLCJmcm9tU2VxdWVuY2VPZlBhcnRzUGFydCIsInNlcXVlbmNlT2ZQYXJ0c1BhcnQiLCJjb250ZXh0IiwicGFydCIsInNlcXVlbmNlT2ZQYXJ0c1BhcnRDb250ZXh0IiwiZnJvbVBhcnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBcUJBOzs7NkRBSkc7dUJBRU87Ozs7OztBQUVoQixNQUFNQSxtQ0FBbUNDLGFBQVc7SUFDakVDLFFBQVFDLEtBQUssRUFBRUMsYUFBYUMscUJBQWMsRUFBRTtRQUMxQyxNQUFNQyxrQkFBa0JGLFdBQVdHLE9BQU87UUFFMUMsSUFBSUQsaUJBQWlCO1lBQ25CSCxRQUFRQSxNQUFNSyxLQUFLLENBQUNKO1FBQ3RCO1FBRUEsT0FBT0Q7SUFDVDtJQUVBLE9BQU9NLHdCQUF3QkMsbUJBQW1CLEVBQUVDLE9BQU8sRUFBRTtRQUMzRCxNQUFNQyxPQUFPRixxQkFDUEcsNkJBQTZCWixhQUFXLENBQUNhLFFBQVEsQ0FBQ2QsNEJBQTRCWSxNQUFNRDtRQUUxRixPQUFPRTtJQUNUO0FBQ0YifQ==
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  const _necessary = require("necessary");
12
12
  const _context = /*#__PURE__*/ _interop_require_default(require("../context"));
13
+ const _frame = require("../frame");
13
14
  function _interop_require_default(obj) {
14
15
  return obj && obj.__esModule ? obj : {
15
16
  default: obj
@@ -28,12 +29,13 @@ class PartContext extends _context.default {
28
29
  getPart() {
29
30
  return this.part;
30
31
  }
31
- compose(frame, partFrame = null) {
32
+ compose(frame, partFrame = _frame.nullifiedFrame) {
32
33
  const final = this.isFinal(), continuing = this.isContinuing();
33
34
  if (final && !continuing) {
34
35
  this.store(this.part, partFrame);
35
36
  } else {
36
- if (partFrame !== null) {
37
+ const partFrameValid = partFrame.isValid();
38
+ if (partFrameValid) {
37
39
  frame = frame.merge(partFrame);
38
40
  }
39
41
  }
@@ -66,4 +68,4 @@ function continuationsFromFinal(final, context) {
66
68
  return continuations;
67
69
  }
68
70
 
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3BhcnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dFwiO1xuXG5jb25zdCB7IGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYXJ0Q29udGV4dCBleHRlbmRzIENvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgZmluYWwsIHBhcnQpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucyk7XG5cbiAgICB0aGlzLmZpbmFsID0gZmluYWw7XG4gICAgdGhpcy5wYXJ0ID0gcGFydDtcbiAgfVxuXG4gIGlzRmluYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmluYWw7XG4gIH1cblxuICBnZXRQYXJ0KCkge1xuICAgIHJldHVybiB0aGlzLnBhcnQ7XG4gIH1cblxuICBjb21wb3NlKGZyYW1lLCBwYXJ0RnJhbWUgPSBudWxsKSB7XG4gICAgY29uc3QgZmluYWwgPSB0aGlzLmlzRmluYWwoKSxcbiAgICAgICAgICBjb250aW51aW5nID0gdGhpcy5pc0NvbnRpbnVpbmcoKTtcblxuICAgIGlmIChmaW5hbCAmJiAhY29udGludWluZykge1xuICAgICAgdGhpcy5zdG9yZSh0aGlzLnBhcnQsIHBhcnRGcmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwYXJ0RnJhbWUgIT09IG51bGwpIHtcbiAgICAgICAgZnJhbWUgPSBmcmFtZS5tZXJnZShwYXJ0RnJhbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFydChDbGFzcywgcGFydCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSwgLy8vXG4gICAgICAgICAgZmluYWwgPSBmaW5hbEZyb21QYXJ0KHBhcnQsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbnRpbnVhdGlvbnMgPSBjb250aW51YXRpb25zRnJvbUZpbmFsKGZpbmFsLCBjb250ZXh0KSxcbiAgICAgICAgICBwYXJ0Q29udGV4dCA9IENvbnRleHQuZnJvbUNvbnRpbnVhdGlvbnMoQ2xhc3MsIGNvbnRpbnVhdGlvbnMsIGZpbmFsLCBwYXJ0LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHBhcnRDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmFsRnJvbVBhcnQocGFydCwgY29udGV4dCkge1xuICBsZXQgZmluYWwgPSBmYWxzZTtcblxuICBjb25zdCBjb250aW51YXRpb25zID0gY29udGV4dC5nZXRDb250aW51YXRpb25zKCksXG4gICAgICAgIGNvbnRpbnVhdGlvbnNMZW5ndGggPSBjb250aW51YXRpb25zLmxlbmd0aDtcblxuICBpZiAoY29udGludWF0aW9uc0xlbmd0aCA+IDApIHtcbiAgICBjb25zdCBsYXN0Q29udGludWF0aW9uID0gbGFzdChjb250aW51YXRpb25zKSxcbiAgICAgICAgICBmaW5hbFBhcnRNYXRjaGVzID0gbGFzdENvbnRpbnVhdGlvbi5tYXRjaEZpbmFsUGFydChwYXJ0KTtcblxuICAgIGlmIChmaW5hbFBhcnRNYXRjaGVzKSB7XG4gICAgICBmaW5hbCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZpbmFsO1xufVxuXG5mdW5jdGlvbiBjb250aW51YXRpb25zRnJvbUZpbmFsKGZpbmFsLCBjb250ZXh0KSB7XG4gIGxldCBjb250aW51YXRpb25zID0gY29udGV4dC5nZXRDb250aW51YXRpb25zKCk7XG5cbiAgaWYgKGZpbmFsKSB7XG4gICAgY29udGludWF0aW9ucyA9IFtcbiAgICAgIC4uLmNvbnRpbnVhdGlvbnNcbiAgICBdO1xuXG4gICAgY29udGludWF0aW9ucy5wb3AoKTtcbiAgfVxuXG4gIHJldHVybiBjb250aW51YXRpb25zO1xufVxuIl0sIm5hbWVzIjpbIlBhcnRDb250ZXh0IiwibGFzdCIsImFycmF5VXRpbGl0aWVzIiwiQ29udGV4dCIsImNvbnRleHQiLCJzdGF0ZSIsImNvbnRpbnVhdGlvbnMiLCJmaW5hbCIsInBhcnQiLCJpc0ZpbmFsIiwiZ2V0UGFydCIsImNvbXBvc2UiLCJmcmFtZSIsInBhcnRGcmFtZSIsImNvbnRpbnVpbmciLCJpc0NvbnRpbnVpbmciLCJzdG9yZSIsIm1lcmdlIiwiZnJvbVBhcnQiLCJDbGFzcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInBvcCIsImZpbmFsRnJvbVBhcnQiLCJjb250aW51YXRpb25zRnJvbUZpbmFsIiwicGFydENvbnRleHQiLCJmcm9tQ29udGludWF0aW9ucyIsImdldENvbnRpbnVhdGlvbnMiLCJjb250aW51YXRpb25zTGVuZ3RoIiwibGVuZ3RoIiwibGFzdENvbnRpbnVhdGlvbiIsImZpbmFsUGFydE1hdGNoZXMiLCJtYXRjaEZpbmFsUGFydCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFxQkE7OzsyQkFOVTtnRUFFWDs7Ozs7O0FBRXBCLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLHlCQUFjO0FBRWhCLE1BQU1GLG9CQUFvQkcsZ0JBQU87SUFDOUMsWUFBWUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLGFBQWEsRUFBRUMsS0FBSyxFQUFFQyxJQUFJLENBQUU7UUFDdEQsS0FBSyxDQUFDSixTQUFTQyxPQUFPQztRQUV0QixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLElBQUksR0FBR0E7SUFDZDtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLEtBQUs7SUFDbkI7SUFFQUcsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDRixJQUFJO0lBQ2xCO0lBRUFHLFFBQVFDLEtBQUssRUFBRUMsWUFBWSxJQUFJLEVBQUU7UUFDL0IsTUFBTU4sUUFBUSxJQUFJLENBQUNFLE9BQU8sSUFDcEJLLGFBQWEsSUFBSSxDQUFDQyxZQUFZO1FBRXBDLElBQUlSLFNBQVMsQ0FBQ08sWUFBWTtZQUN4QixJQUFJLENBQUNFLEtBQUssQ0FBQyxJQUFJLENBQUNSLElBQUksRUFBRUs7UUFDeEIsT0FBTztZQUNMLElBQUlBLGNBQWMsTUFBTTtnQkFDdEJELFFBQVFBLE1BQU1LLEtBQUssQ0FBQ0o7WUFDdEI7UUFDRjtRQUVBLE9BQU9EO0lBQ1Q7SUFFQSxPQUFPTSxTQUFTQyxLQUFLLEVBQUVYLElBQUksRUFBRSxHQUFHWSxrQkFBa0IsRUFBRTtRQUNsRCxNQUFNaEIsVUFBVWdCLG1CQUFtQkMsR0FBRyxJQUNoQ2QsUUFBUWUsY0FBY2QsTUFBTUosVUFDNUJFLGdCQUFnQmlCLHVCQUF1QmhCLE9BQU9ILFVBQzlDb0IsY0FBY3JCLGdCQUFPLENBQUNzQixpQkFBaUIsQ0FBQ04sT0FBT2IsZUFBZUMsT0FBT0MsU0FBU1ksb0JBQW9CaEI7UUFFeEcsT0FBT29CO0lBQ1Q7QUFDRjtBQUVBLFNBQVNGLGNBQWNkLElBQUksRUFBRUosT0FBTztJQUNsQyxJQUFJRyxRQUFRO0lBRVosTUFBTUQsZ0JBQWdCRixRQUFRc0IsZ0JBQWdCLElBQ3hDQyxzQkFBc0JyQixjQUFjc0IsTUFBTTtJQUVoRCxJQUFJRCxzQkFBc0IsR0FBRztRQUMzQixNQUFNRSxtQkFBbUI1QixLQUFLSyxnQkFDeEJ3QixtQkFBbUJELGlCQUFpQkUsY0FBYyxDQUFDdkI7UUFFekQsSUFBSXNCLGtCQUFrQjtZQUNwQnZCLFFBQVE7UUFDVjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNnQix1QkFBdUJoQixLQUFLLEVBQUVILE9BQU87SUFDNUMsSUFBSUUsZ0JBQWdCRixRQUFRc0IsZ0JBQWdCO0lBRTVDLElBQUluQixPQUFPO1FBQ1RELGdCQUFnQjtlQUNYQTtTQUNKO1FBRURBLGNBQWNlLEdBQUc7SUFDbkI7SUFFQSxPQUFPZjtBQUNUIn0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3BhcnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dFwiO1xuXG5pbXBvcnQgeyBudWxsaWZpZWRGcmFtZSB9IGZyb20gXCIuLi9mcmFtZVwiO1xuXG5jb25zdCB7IGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYXJ0Q29udGV4dCBleHRlbmRzIENvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgZmluYWwsIHBhcnQpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucyk7XG5cbiAgICB0aGlzLmZpbmFsID0gZmluYWw7XG4gICAgdGhpcy5wYXJ0ID0gcGFydDtcbiAgfVxuXG4gIGlzRmluYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmluYWw7XG4gIH1cblxuICBnZXRQYXJ0KCkge1xuICAgIHJldHVybiB0aGlzLnBhcnQ7XG4gIH1cblxuICBjb21wb3NlKGZyYW1lLCBwYXJ0RnJhbWUgPSBudWxsaWZpZWRGcmFtZSkge1xuICAgIGNvbnN0IGZpbmFsID0gdGhpcy5pc0ZpbmFsKCksXG4gICAgICAgICAgY29udGludWluZyA9IHRoaXMuaXNDb250aW51aW5nKCk7XG5cbiAgICBpZiAoZmluYWwgJiYgIWNvbnRpbnVpbmcpIHtcbiAgICAgIHRoaXMuc3RvcmUodGhpcy5wYXJ0LCBwYXJ0RnJhbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXJ0RnJhbWVWYWxpZCA9IHBhcnRGcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICAgIGlmIChwYXJ0RnJhbWVWYWxpZCkge1xuICAgICAgICBmcmFtZSA9IGZyYW1lLm1lcmdlKHBhcnRGcmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0KENsYXNzLCBwYXJ0LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBmaW5hbCA9IGZpbmFsRnJvbVBhcnQocGFydCwgY29udGV4dCksXG4gICAgICAgICAgY29udGludWF0aW9ucyA9IGNvbnRpbnVhdGlvbnNGcm9tRmluYWwoZmluYWwsIGNvbnRleHQpLFxuICAgICAgICAgIHBhcnRDb250ZXh0ID0gQ29udGV4dC5mcm9tQ29udGludWF0aW9ucyhDbGFzcywgY29udGludWF0aW9ucywgZmluYWwsIHBhcnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcGFydENvbnRleHQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluYWxGcm9tUGFydChwYXJ0LCBjb250ZXh0KSB7XG4gIGxldCBmaW5hbCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbnMgPSBjb250ZXh0LmdldENvbnRpbnVhdGlvbnMoKSxcbiAgICAgICAgY29udGludWF0aW9uc0xlbmd0aCA9IGNvbnRpbnVhdGlvbnMubGVuZ3RoO1xuXG4gIGlmIChjb250aW51YXRpb25zTGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGxhc3RDb250aW51YXRpb24gPSBsYXN0KGNvbnRpbnVhdGlvbnMpLFxuICAgICAgICAgIGZpbmFsUGFydE1hdGNoZXMgPSBsYXN0Q29udGludWF0aW9uLm1hdGNoRmluYWxQYXJ0KHBhcnQpO1xuXG4gICAgaWYgKGZpbmFsUGFydE1hdGNoZXMpIHtcbiAgICAgIGZpbmFsID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmluYWw7XG59XG5cbmZ1bmN0aW9uIGNvbnRpbnVhdGlvbnNGcm9tRmluYWwoZmluYWwsIGNvbnRleHQpIHtcbiAgbGV0IGNvbnRpbnVhdGlvbnMgPSBjb250ZXh0LmdldENvbnRpbnVhdGlvbnMoKTtcblxuICBpZiAoZmluYWwpIHtcbiAgICBjb250aW51YXRpb25zID0gW1xuICAgICAgLi4uY29udGludWF0aW9uc1xuICAgIF07XG5cbiAgICBjb250aW51YXRpb25zLnBvcCgpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRpbnVhdGlvbnM7XG59XG4iXSwibmFtZXMiOlsiUGFydENvbnRleHQiLCJsYXN0IiwiYXJyYXlVdGlsaXRpZXMiLCJDb250ZXh0IiwiY29udGV4dCIsInN0YXRlIiwiY29udGludWF0aW9ucyIsImZpbmFsIiwicGFydCIsImlzRmluYWwiLCJnZXRQYXJ0IiwiY29tcG9zZSIsImZyYW1lIiwicGFydEZyYW1lIiwibnVsbGlmaWVkRnJhbWUiLCJjb250aW51aW5nIiwiaXNDb250aW51aW5nIiwic3RvcmUiLCJwYXJ0RnJhbWVWYWxpZCIsImlzVmFsaWQiLCJtZXJnZSIsImZyb21QYXJ0IiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJwb3AiLCJmaW5hbEZyb21QYXJ0IiwiY29udGludWF0aW9uc0Zyb21GaW5hbCIsInBhcnRDb250ZXh0IiwiZnJvbUNvbnRpbnVhdGlvbnMiLCJnZXRDb250aW51YXRpb25zIiwiY29udGludWF0aW9uc0xlbmd0aCIsImxlbmd0aCIsImxhc3RDb250aW51YXRpb24iLCJmaW5hbFBhcnRNYXRjaGVzIiwibWF0Y2hGaW5hbFBhcnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBcUJBOzs7MkJBUlU7Z0VBRVg7dUJBRVc7Ozs7OztBQUUvQixNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHQyx5QkFBYztBQUVoQixNQUFNRixvQkFBb0JHLGdCQUFPO0lBQzlDLFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxDQUFFO1FBQ3RELEtBQUssQ0FBQ0osU0FBU0MsT0FBT0M7UUFFdEIsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO0lBQ2Q7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDRixLQUFLO0lBQ25CO0lBRUFHLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtJQUNsQjtJQUVBRyxRQUFRQyxLQUFLLEVBQUVDLFlBQVlDLHFCQUFjLEVBQUU7UUFDekMsTUFBTVAsUUFBUSxJQUFJLENBQUNFLE9BQU8sSUFDcEJNLGFBQWEsSUFBSSxDQUFDQyxZQUFZO1FBRXBDLElBQUlULFNBQVMsQ0FBQ1EsWUFBWTtZQUN4QixJQUFJLENBQUNFLEtBQUssQ0FBQyxJQUFJLENBQUNULElBQUksRUFBRUs7UUFDeEIsT0FBTztZQUNMLE1BQU1LLGlCQUFpQkwsVUFBVU0sT0FBTztZQUV4QyxJQUFJRCxnQkFBZ0I7Z0JBQ2xCTixRQUFRQSxNQUFNUSxLQUFLLENBQUNQO1lBQ3RCO1FBQ0Y7UUFFQSxPQUFPRDtJQUNUO0lBRUEsT0FBT1MsU0FBU0MsS0FBSyxFQUFFZCxJQUFJLEVBQUUsR0FBR2Usa0JBQWtCLEVBQUU7UUFDbEQsTUFBTW5CLFVBQVVtQixtQkFBbUJDLEdBQUcsSUFDaENqQixRQUFRa0IsY0FBY2pCLE1BQU1KLFVBQzVCRSxnQkFBZ0JvQix1QkFBdUJuQixPQUFPSCxVQUM5Q3VCLGNBQWN4QixnQkFBTyxDQUFDeUIsaUJBQWlCLENBQUNOLE9BQU9oQixlQUFlQyxPQUFPQyxTQUFTZSxvQkFBb0JuQjtRQUV4RyxPQUFPdUI7SUFDVDtBQUNGO0FBRUEsU0FBU0YsY0FBY2pCLElBQUksRUFBRUosT0FBTztJQUNsQyxJQUFJRyxRQUFRO0lBRVosTUFBTUQsZ0JBQWdCRixRQUFReUIsZ0JBQWdCLElBQ3hDQyxzQkFBc0J4QixjQUFjeUIsTUFBTTtJQUVoRCxJQUFJRCxzQkFBc0IsR0FBRztRQUMzQixNQUFNRSxtQkFBbUIvQixLQUFLSyxnQkFDeEIyQixtQkFBbUJELGlCQUFpQkUsY0FBYyxDQUFDMUI7UUFFekQsSUFBSXlCLGtCQUFrQjtZQUNwQjFCLFFBQVE7UUFDVjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNtQix1QkFBdUJuQixLQUFLLEVBQUVILE9BQU87SUFDNUMsSUFBSUUsZ0JBQWdCRixRQUFReUIsZ0JBQWdCO0lBRTVDLElBQUl0QixPQUFPO1FBQ1RELGdCQUFnQjtlQUNYQTtTQUNKO1FBRURBLGNBQWNrQixHQUFHO0lBQ25CO0lBRUEsT0FBT2xCO0FBQ1QifQ==
@@ -52,7 +52,8 @@ class PartsContext extends _context.default {
52
52
  const continuingContext = this.getContinuingContext();
53
53
  (0, _context1.continuationContext)((context)=>{
54
54
  frame = this.parsePartsContinually(this.parts, frame, context);
55
- if (frame !== null) {
55
+ const frameValid = frame.isValid();
56
+ if (frameValid) {
56
57
  context.commit();
57
58
  }
58
59
  }, continuingContext, context);
@@ -67,4 +68,4 @@ class PartsContext extends _context.default {
67
68
  }
68
69
  }
69
70
 
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3BhcnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHRcIjtcblxuaW1wb3J0IHsgY29udGludWF0aW9uQ29udGV4dCB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFydHNDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zLCBwYXJ0cywgcGFyc2VQYXJ0c0NvbnRpbnVhbGx5KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMpO1xuXG4gICAgdGhpcy5wYXJ0cyA9IHBhcnRzO1xuICAgIHRoaXMucGFyc2VQYXJ0c0NvbnRpbnVhbGx5ID0gcGFyc2VQYXJ0c0NvbnRpbnVhbGx5O1xuICB9XG5cbiAgZ2V0UGFydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFydHM7XG4gIH1cblxuICBnZXRQYXJzZVBhcnRzQ29udGludWFsbHkoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VQYXJ0c0NvbnRpbnVhbGx5O1xuICB9XG5cbiAgaXNFbXB0eSgpIHtcbiAgICBjb25zdCBwYXJ0c0xlbmd0aCA9IHRoaXMucGFydHMubGVuZ3RoLFxuICAgICAgICAgIGVtcHR5ID0gKHBhcnRzTGVuZ3RoID09PSAwKTtcblxuICAgIHJldHVybiBlbXB0eTtcbiAgfVxuXG4gIGdldE5leHRQYXJ0KCkge1xuICAgIGxldCBuZXh0UGFydCA9IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eSA9IHRoaXMuaXNFbXB0eSgpO1xuXG4gICAgaWYgKCFlbXB0eSkge1xuICAgICAgY29uc3QgZmlyc3RQYXJ0ID0gZmlyc3QodGhpcy5wYXJ0cyk7XG5cbiAgICAgIG5leHRQYXJ0ID0gZmlyc3RQYXJ0OyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dFBhcnQ7XG4gIH1cblxuICBnZXRDb250aW51aW5nQ29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgY29udGludWluZ0NvbnRleHQgPSBjb250ZXh0OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGludWluZ0NvbnRleHQ7XG4gIH1cblxuICBjb250aW51ZWQoZnJhbWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBlbXB0eSA9IHRoaXMuaXNFbXB0eSgpO1xuXG4gICAgaWYgKCFlbXB0eSkge1xuICAgICAgY29uc3QgY29udGludWluZ0NvbnRleHQgPSB0aGlzLmdldENvbnRpbnVpbmdDb250ZXh0KCk7XG5cbiAgICAgIGNvbnRpbnVhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IHtcbiAgICAgICAgZnJhbWUgPSB0aGlzLnBhcnNlUGFydHNDb250aW51YWxseSh0aGlzLnBhcnRzLCBmcmFtZSwgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGZyYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgY29udGV4dC5jb21taXQoKTtcbiAgICAgICAgfVxuICAgICAgfSwgY29udGludWluZ0NvbnRleHQsIGNvbnRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmcmFtZSA9IHN1cGVyLmNvbnRpbnVlZChmcmFtZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0c0FuZFBhcnNlUGFydHNDb250aW51YWxseShwYXJ0cywgcGFyc2VQYXJ0c0NvbnRpbnVhbGx5LCBjb250ZXh0KSB7XG4gICAgY29uc3QgcGFydHNDb250ZXh0ID0gQ29udGV4dC5mcm9tTm90aGluZyhQYXJ0c0NvbnRleHQsIHBhcnRzLCBwYXJzZVBhcnRzQ29udGludWFsbHksIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHBhcnRzQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlBhcnRzQ29udGV4dCIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJDb250ZXh0IiwiY29udGV4dCIsInN0YXRlIiwiY29udGludWF0aW9ucyIsInBhcnRzIiwicGFyc2VQYXJ0c0NvbnRpbnVhbGx5IiwiZ2V0UGFydHMiLCJnZXRQYXJzZVBhcnRzQ29udGludWFsbHkiLCJpc0VtcHR5IiwicGFydHNMZW5ndGgiLCJsZW5ndGgiLCJlbXB0eSIsImdldE5leHRQYXJ0IiwibmV4dFBhcnQiLCJmaXJzdFBhcnQiLCJnZXRDb250aW51aW5nQ29udGV4dCIsImdldENvbnRleHQiLCJjb250aW51aW5nQ29udGV4dCIsImNvbnRpbnVlZCIsImZyYW1lIiwiY29udGludWF0aW9uQ29udGV4dCIsImNvbW1pdCIsImZyb21QYXJ0c0FuZFBhcnNlUGFydHNDb250aW51YWxseSIsInBhcnRzQ29udGV4dCIsImZyb21Ob3RoaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXFCQTs7OzJCQVJVO2dFQUVYOzBCQUVnQjs7Ozs7O0FBRXBDLE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWpCLE1BQU1GLHFCQUFxQkcsZ0JBQU87SUFDL0MsWUFBWUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLGFBQWEsRUFBRUMsS0FBSyxFQUFFQyxxQkFBcUIsQ0FBRTtRQUN2RSxLQUFLLENBQUNKLFNBQVNDLE9BQU9DO1FBRXRCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MscUJBQXFCLEdBQUdBO0lBQy9CO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0YsS0FBSztJQUNuQjtJQUVBRywyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUNGLHFCQUFxQjtJQUNuQztJQUVBRyxVQUFVO1FBQ1IsTUFBTUMsY0FBYyxJQUFJLENBQUNMLEtBQUssQ0FBQ00sTUFBTSxFQUMvQkMsUUFBU0YsZ0JBQWdCO1FBRS9CLE9BQU9FO0lBQ1Q7SUFFQUMsY0FBYztRQUNaLElBQUlDLFdBQVc7UUFFZixNQUFNRixRQUFRLElBQUksQ0FBQ0gsT0FBTztRQUUxQixJQUFJLENBQUNHLE9BQU87WUFDVixNQUFNRyxZQUFZaEIsTUFBTSxJQUFJLENBQUNNLEtBQUs7WUFFbENTLFdBQVdDLFdBQVcsR0FBRztRQUMzQjtRQUVBLE9BQU9EO0lBQ1Q7SUFFQUUsdUJBQXVCO1FBQ3JCLE1BQU1kLFVBQVUsSUFBSSxDQUFDZSxVQUFVLElBQ3pCQyxvQkFBb0JoQixTQUFVLEdBQUc7UUFFdkMsT0FBT2dCO0lBQ1Q7SUFFQUMsVUFBVUMsS0FBSyxFQUFFbEIsT0FBTyxFQUFFO1FBQ3hCLE1BQU1VLFFBQVEsSUFBSSxDQUFDSCxPQUFPO1FBRTFCLElBQUksQ0FBQ0csT0FBTztZQUNWLE1BQU1NLG9CQUFvQixJQUFJLENBQUNGLG9CQUFvQjtZQUVuREssSUFBQUEsNkJBQW1CLEVBQUMsQ0FBQ25CO2dCQUNuQmtCLFFBQVEsSUFBSSxDQUFDZCxxQkFBcUIsQ0FBQyxJQUFJLENBQUNELEtBQUssRUFBRWUsT0FBT2xCO2dCQUV0RCxJQUFJa0IsVUFBVSxNQUFNO29CQUNsQmxCLFFBQVFvQixNQUFNO2dCQUNoQjtZQUNGLEdBQUdKLG1CQUFtQmhCO1FBQ3hCLE9BQU87WUFDTGtCLFFBQVEsS0FBSyxDQUFDRCxVQUFVQyxPQUFPbEI7UUFDakM7UUFFQSxPQUFPa0I7SUFDVDtJQUVBLE9BQU9HLGtDQUFrQ2xCLEtBQUssRUFBRUMscUJBQXFCLEVBQUVKLE9BQU8sRUFBRTtRQUM5RSxNQUFNc0IsZUFBZXZCLGdCQUFPLENBQUN3QixXQUFXLENBQUMzQixjQUFjTyxPQUFPQyx1QkFBdUJKO1FBRXJGLE9BQU9zQjtJQUNUO0FBQ0YifQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3BhcnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHRcIjtcblxuaW1wb3J0IHsgY29udGludWF0aW9uQ29udGV4dCB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFydHNDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zLCBwYXJ0cywgcGFyc2VQYXJ0c0NvbnRpbnVhbGx5KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMpO1xuXG4gICAgdGhpcy5wYXJ0cyA9IHBhcnRzO1xuICAgIHRoaXMucGFyc2VQYXJ0c0NvbnRpbnVhbGx5ID0gcGFyc2VQYXJ0c0NvbnRpbnVhbGx5O1xuICB9XG5cbiAgZ2V0UGFydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFydHM7XG4gIH1cblxuICBnZXRQYXJzZVBhcnRzQ29udGludWFsbHkoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VQYXJ0c0NvbnRpbnVhbGx5O1xuICB9XG5cbiAgaXNFbXB0eSgpIHtcbiAgICBjb25zdCBwYXJ0c0xlbmd0aCA9IHRoaXMucGFydHMubGVuZ3RoLFxuICAgICAgICAgIGVtcHR5ID0gKHBhcnRzTGVuZ3RoID09PSAwKTtcblxuICAgIHJldHVybiBlbXB0eTtcbiAgfVxuXG4gIGdldE5leHRQYXJ0KCkge1xuICAgIGxldCBuZXh0UGFydCA9IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eSA9IHRoaXMuaXNFbXB0eSgpO1xuXG4gICAgaWYgKCFlbXB0eSkge1xuICAgICAgY29uc3QgZmlyc3RQYXJ0ID0gZmlyc3QodGhpcy5wYXJ0cyk7XG5cbiAgICAgIG5leHRQYXJ0ID0gZmlyc3RQYXJ0OyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dFBhcnQ7XG4gIH1cblxuICBnZXRDb250aW51aW5nQ29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgY29udGludWluZ0NvbnRleHQgPSBjb250ZXh0OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGludWluZ0NvbnRleHQ7XG4gIH1cblxuICBjb250aW51ZWQoZnJhbWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBlbXB0eSA9IHRoaXMuaXNFbXB0eSgpO1xuXG4gICAgaWYgKCFlbXB0eSkge1xuICAgICAgY29uc3QgY29udGludWluZ0NvbnRleHQgPSB0aGlzLmdldENvbnRpbnVpbmdDb250ZXh0KCk7XG5cbiAgICAgIGNvbnRpbnVhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IHtcbiAgICAgICAgZnJhbWUgPSB0aGlzLnBhcnNlUGFydHNDb250aW51YWxseSh0aGlzLnBhcnRzLCBmcmFtZSwgY29udGV4dCk7XG5cbiAgICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgICAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgICAgIGNvbnRleHQuY29tbWl0KCk7XG4gICAgICAgIH1cbiAgICAgIH0sIGNvbnRpbnVpbmdDb250ZXh0LCBjb250ZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZnJhbWUgPSBzdXBlci5jb250aW51ZWQoZnJhbWUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFydHNBbmRQYXJzZVBhcnRzQ29udGludWFsbHkocGFydHMsIHBhcnNlUGFydHNDb250aW51YWxseSwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnRzQ29udGV4dCA9IENvbnRleHQuZnJvbU5vdGhpbmcoUGFydHNDb250ZXh0LCBwYXJ0cywgcGFyc2VQYXJ0c0NvbnRpbnVhbGx5LCBjb250ZXh0KTtcblxuICAgIHJldHVybiBwYXJ0c0NvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJQYXJ0c0NvbnRleHQiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiQ29udGV4dCIsImNvbnRleHQiLCJzdGF0ZSIsImNvbnRpbnVhdGlvbnMiLCJwYXJ0cyIsInBhcnNlUGFydHNDb250aW51YWxseSIsImdldFBhcnRzIiwiZ2V0UGFyc2VQYXJ0c0NvbnRpbnVhbGx5IiwiaXNFbXB0eSIsInBhcnRzTGVuZ3RoIiwibGVuZ3RoIiwiZW1wdHkiLCJnZXROZXh0UGFydCIsIm5leHRQYXJ0IiwiZmlyc3RQYXJ0IiwiZ2V0Q29udGludWluZ0NvbnRleHQiLCJnZXRDb250ZXh0IiwiY29udGludWluZ0NvbnRleHQiLCJjb250aW51ZWQiLCJmcmFtZSIsImNvbnRpbnVhdGlvbkNvbnRleHQiLCJmcmFtZVZhbGlkIiwiaXNWYWxpZCIsImNvbW1pdCIsImZyb21QYXJ0c0FuZFBhcnNlUGFydHNDb250aW51YWxseSIsInBhcnRzQ29udGV4dCIsImZyb21Ob3RoaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXFCQTs7OzJCQVJVO2dFQUVYOzBCQUVnQjs7Ozs7O0FBRXBDLE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWpCLE1BQU1GLHFCQUFxQkcsZ0JBQU87SUFDL0MsWUFBWUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLGFBQWEsRUFBRUMsS0FBSyxFQUFFQyxxQkFBcUIsQ0FBRTtRQUN2RSxLQUFLLENBQUNKLFNBQVNDLE9BQU9DO1FBRXRCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MscUJBQXFCLEdBQUdBO0lBQy9CO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0YsS0FBSztJQUNuQjtJQUVBRywyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUNGLHFCQUFxQjtJQUNuQztJQUVBRyxVQUFVO1FBQ1IsTUFBTUMsY0FBYyxJQUFJLENBQUNMLEtBQUssQ0FBQ00sTUFBTSxFQUMvQkMsUUFBU0YsZ0JBQWdCO1FBRS9CLE9BQU9FO0lBQ1Q7SUFFQUMsY0FBYztRQUNaLElBQUlDLFdBQVc7UUFFZixNQUFNRixRQUFRLElBQUksQ0FBQ0gsT0FBTztRQUUxQixJQUFJLENBQUNHLE9BQU87WUFDVixNQUFNRyxZQUFZaEIsTUFBTSxJQUFJLENBQUNNLEtBQUs7WUFFbENTLFdBQVdDLFdBQVcsR0FBRztRQUMzQjtRQUVBLE9BQU9EO0lBQ1Q7SUFFQUUsdUJBQXVCO1FBQ3JCLE1BQU1kLFVBQVUsSUFBSSxDQUFDZSxVQUFVLElBQ3pCQyxvQkFBb0JoQixTQUFVLEdBQUc7UUFFdkMsT0FBT2dCO0lBQ1Q7SUFFQUMsVUFBVUMsS0FBSyxFQUFFbEIsT0FBTyxFQUFFO1FBQ3hCLE1BQU1VLFFBQVEsSUFBSSxDQUFDSCxPQUFPO1FBRTFCLElBQUksQ0FBQ0csT0FBTztZQUNWLE1BQU1NLG9CQUFvQixJQUFJLENBQUNGLG9CQUFvQjtZQUVuREssSUFBQUEsNkJBQW1CLEVBQUMsQ0FBQ25CO2dCQUNuQmtCLFFBQVEsSUFBSSxDQUFDZCxxQkFBcUIsQ0FBQyxJQUFJLENBQUNELEtBQUssRUFBRWUsT0FBT2xCO2dCQUV0RCxNQUFNb0IsYUFBYUYsTUFBTUcsT0FBTztnQkFFaEMsSUFBSUQsWUFBWTtvQkFDZHBCLFFBQVFzQixNQUFNO2dCQUNoQjtZQUNGLEdBQUdOLG1CQUFtQmhCO1FBQ3hCLE9BQU87WUFDTGtCLFFBQVEsS0FBSyxDQUFDRCxVQUFVQyxPQUFPbEI7UUFDakM7UUFFQSxPQUFPa0I7SUFDVDtJQUVBLE9BQU9LLGtDQUFrQ3BCLEtBQUssRUFBRUMscUJBQXFCLEVBQUVKLE9BQU8sRUFBRTtRQUM5RSxNQUFNd0IsZUFBZXpCLGdCQUFPLENBQUMwQixXQUFXLENBQUM3QixjQUFjTyxPQUFPQyx1QkFBdUJKO1FBRXJGLE9BQU93QjtJQUNUO0FBQ0YifQ==
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  const _context = /*#__PURE__*/ _interop_require_default(require("../context"));
12
+ const _frame = require("../frame");
12
13
  function _interop_require_default(obj) {
13
14
  return obj && obj.__esModule ? obj : {
14
15
  default: obj
@@ -25,8 +26,9 @@ class RuleContext extends _context.default {
25
26
  updatePrecedence(precedence) {
26
27
  ///
27
28
  }
28
- compose(frame, definitionFrame = null) {
29
- if (definitionFrame !== null) {
29
+ compose(frame, definitionFrame = _frame.nullifiedFrame) {
30
+ const definitionFrameValid = definitionFrame.isValid();
31
+ if (definitionFrameValid) {
30
32
  frame = frame.merge(definitionFrame);
31
33
  }
32
34
  return frame;
@@ -53,4 +55,4 @@ function continuationsFromNothing(context) {
53
55
  return continuations;
54
56
  }
55
57
 
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3J1bGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGVDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zLCBydWxlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMpO1xuXG4gICAgdGhpcy5ydWxlID0gcnVsZTtcbiAgfVxuXG4gIGdldFJ1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZTtcbiAgfVxuXG4gIHVwZGF0ZVByZWNlZGVuY2UocHJlY2VkZW5jZSkge1xuICAgIC8vL1xuICB9XG5cbiAgY29tcG9zZShmcmFtZSwgZGVmaW5pdGlvbkZyYW1lID0gbnVsbCkge1xuICAgIGlmIChkZWZpbml0aW9uRnJhbWUgIT09IG51bGwpIHtcbiAgICAgIGZyYW1lID0gZnJhbWUubWVyZ2UoZGVmaW5pdGlvbkZyYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBnZXRDb250aW51aW5nQ29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgY29udGludWluZ0NvbnRleHQgPSBjb250ZXh0OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGludWluZ0NvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGUocnVsZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbnMgPSBjb250aW51YXRpb25zRnJvbU5vdGhpbmcoY29udGV4dCksXG4gICAgICAgICAgcnVsZUNvbnRleHQgPSBDb250ZXh0LmZyb21Db250aW51YXRpb25zKFJ1bGVDb250ZXh0LCBjb250aW51YXRpb25zLCBydWxlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBydWxlQ29udGV4dDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb250aW51YXRpb25zRnJvbU5vdGhpbmcoY29udGV4dCkge1xuICBsZXQgY29udGludWF0aW9ucztcblxuICBjb250aW51YXRpb25zID0gY29udGV4dC5nZXRDb250aW51YXRpb25zKCk7XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gY29udGV4dC5nZXRDb250aW51YXRpb24oKTtcblxuICBpZiAoY29udGludWF0aW9uICE9PSBudWxsKSB7XG4gICAgY29udGludWF0aW9ucyA9IFsgLy8vXG4gICAgICAuLi5jb250aW51YXRpb25zLFxuICAgICAgY29udGludWF0aW9uXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiBjb250aW51YXRpb25zO1xufSJdLCJuYW1lcyI6WyJSdWxlQ29udGV4dCIsIkNvbnRleHQiLCJjb250ZXh0Iiwic3RhdGUiLCJjb250aW51YXRpb25zIiwicnVsZSIsImdldFJ1bGUiLCJ1cGRhdGVQcmVjZWRlbmNlIiwicHJlY2VkZW5jZSIsImNvbXBvc2UiLCJmcmFtZSIsImRlZmluaXRpb25GcmFtZSIsIm1lcmdlIiwiZ2V0Q29udGludWluZ0NvbnRleHQiLCJnZXRDb250ZXh0IiwiY29udGludWluZ0NvbnRleHQiLCJmcm9tUnVsZSIsImNvbnRpbnVhdGlvbnNGcm9tTm90aGluZyIsInJ1bGVDb250ZXh0IiwiZnJvbUNvbnRpbnVhdGlvbnMiLCJnZXRDb250aW51YXRpb25zIiwiY29udGludWF0aW9uIiwiZ2V0Q29udGludWF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7O2dFQUZEOzs7Ozs7QUFFTCxNQUFNQSxvQkFBb0JDLGdCQUFPO0lBQzlDLFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLElBQUksQ0FBRTtRQUMvQyxLQUFLLENBQUNILFNBQVNDLE9BQU9DO1FBRXRCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtJQUNkO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0QsSUFBSTtJQUNsQjtJQUVBRSxpQkFBaUJDLFVBQVUsRUFBRTtJQUMzQixHQUFHO0lBQ0w7SUFFQUMsUUFBUUMsS0FBSyxFQUFFQyxrQkFBa0IsSUFBSSxFQUFFO1FBQ3JDLElBQUlBLG9CQUFvQixNQUFNO1lBQzVCRCxRQUFRQSxNQUFNRSxLQUFLLENBQUNEO1FBQ3RCO1FBRUEsT0FBT0Q7SUFDVDtJQUVBRyx1QkFBdUI7UUFDckIsTUFBTVgsVUFBVSxJQUFJLENBQUNZLFVBQVUsSUFDekJDLG9CQUFvQmIsU0FBVSxHQUFHO1FBRXZDLE9BQU9hO0lBQ1Q7SUFFQSxPQUFPQyxTQUFTWCxJQUFJLEVBQUVILE9BQU8sRUFBRTtRQUM3QixNQUFNRSxnQkFBZ0JhLHlCQUF5QmYsVUFDekNnQixjQUFjakIsZ0JBQU8sQ0FBQ2tCLGlCQUFpQixDQUFDbkIsYUFBYUksZUFBZUMsTUFBTUg7UUFFaEYsT0FBT2dCO0lBQ1Q7QUFDRjtBQUVBLFNBQVNELHlCQUF5QmYsT0FBTztJQUN2QyxJQUFJRTtJQUVKQSxnQkFBZ0JGLFFBQVFrQixnQkFBZ0I7SUFFeEMsTUFBTUMsZUFBZW5CLFFBQVFvQixlQUFlO0lBRTVDLElBQUlELGlCQUFpQixNQUFNO1FBQ3pCakIsZ0JBQWdCO2VBQ1hBO1lBQ0hpQjtTQUNEO0lBQ0g7SUFFQSxPQUFPakI7QUFDVCJ9
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3J1bGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0XCI7XG5cbmltcG9ydCB7IG51bGxpZmllZEZyYW1lIH0gZnJvbSBcIi4uL2ZyYW1lXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGVDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zLCBydWxlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMpO1xuXG4gICAgdGhpcy5ydWxlID0gcnVsZTtcbiAgfVxuXG4gIGdldFJ1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZTtcbiAgfVxuXG4gIHVwZGF0ZVByZWNlZGVuY2UocHJlY2VkZW5jZSkge1xuICAgIC8vL1xuICB9XG5cbiAgY29tcG9zZShmcmFtZSwgZGVmaW5pdGlvbkZyYW1lID0gbnVsbGlmaWVkRnJhbWUpIHtcbiAgICBjb25zdCBkZWZpbml0aW9uRnJhbWVWYWxpZCA9IGRlZmluaXRpb25GcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICBpZiAoZGVmaW5pdGlvbkZyYW1lVmFsaWQpIHtcbiAgICAgIGZyYW1lID0gZnJhbWUubWVyZ2UoZGVmaW5pdGlvbkZyYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBnZXRDb250aW51aW5nQ29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgY29udGludWluZ0NvbnRleHQgPSBjb250ZXh0OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGludWluZ0NvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGUocnVsZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbnMgPSBjb250aW51YXRpb25zRnJvbU5vdGhpbmcoY29udGV4dCksXG4gICAgICAgICAgcnVsZUNvbnRleHQgPSBDb250ZXh0LmZyb21Db250aW51YXRpb25zKFJ1bGVDb250ZXh0LCBjb250aW51YXRpb25zLCBydWxlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBydWxlQ29udGV4dDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb250aW51YXRpb25zRnJvbU5vdGhpbmcoY29udGV4dCkge1xuICBsZXQgY29udGludWF0aW9ucztcblxuICBjb250aW51YXRpb25zID0gY29udGV4dC5nZXRDb250aW51YXRpb25zKCk7XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gY29udGV4dC5nZXRDb250aW51YXRpb24oKTtcblxuICBpZiAoY29udGludWF0aW9uICE9PSBudWxsKSB7XG4gICAgY29udGludWF0aW9ucyA9IFsgLy8vXG4gICAgICAuLi5jb250aW51YXRpb25zLFxuICAgICAgY29udGludWF0aW9uXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiBjb250aW51YXRpb25zO1xufSJdLCJuYW1lcyI6WyJSdWxlQ29udGV4dCIsIkNvbnRleHQiLCJjb250ZXh0Iiwic3RhdGUiLCJjb250aW51YXRpb25zIiwicnVsZSIsImdldFJ1bGUiLCJ1cGRhdGVQcmVjZWRlbmNlIiwicHJlY2VkZW5jZSIsImNvbXBvc2UiLCJmcmFtZSIsImRlZmluaXRpb25GcmFtZSIsIm51bGxpZmllZEZyYW1lIiwiZGVmaW5pdGlvbkZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwibWVyZ2UiLCJnZXRDb250aW51aW5nQ29udGV4dCIsImdldENvbnRleHQiLCJjb250aW51aW5nQ29udGV4dCIsImZyb21SdWxlIiwiY29udGludWF0aW9uc0Zyb21Ob3RoaW5nIiwicnVsZUNvbnRleHQiLCJmcm9tQ29udGludWF0aW9ucyIsImdldENvbnRpbnVhdGlvbnMiLCJjb250aW51YXRpb24iLCJnZXRDb250aW51YXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBcUJBOzs7Z0VBSkQ7dUJBRVc7Ozs7OztBQUVoQixNQUFNQSxvQkFBb0JDLGdCQUFPO0lBQzlDLFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLElBQUksQ0FBRTtRQUMvQyxLQUFLLENBQUNILFNBQVNDLE9BQU9DO1FBRXRCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtJQUNkO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0QsSUFBSTtJQUNsQjtJQUVBRSxpQkFBaUJDLFVBQVUsRUFBRTtJQUMzQixHQUFHO0lBQ0w7SUFFQUMsUUFBUUMsS0FBSyxFQUFFQyxrQkFBa0JDLHFCQUFjLEVBQUU7UUFDL0MsTUFBTUMsdUJBQXVCRixnQkFBZ0JHLE9BQU87UUFFcEQsSUFBSUQsc0JBQXNCO1lBQ3hCSCxRQUFRQSxNQUFNSyxLQUFLLENBQUNKO1FBQ3RCO1FBRUEsT0FBT0Q7SUFDVDtJQUVBTSx1QkFBdUI7UUFDckIsTUFBTWQsVUFBVSxJQUFJLENBQUNlLFVBQVUsSUFDekJDLG9CQUFvQmhCLFNBQVUsR0FBRztRQUV2QyxPQUFPZ0I7SUFDVDtJQUVBLE9BQU9DLFNBQVNkLElBQUksRUFBRUgsT0FBTyxFQUFFO1FBQzdCLE1BQU1FLGdCQUFnQmdCLHlCQUF5QmxCLFVBQ3pDbUIsY0FBY3BCLGdCQUFPLENBQUNxQixpQkFBaUIsQ0FBQ3RCLGFBQWFJLGVBQWVDLE1BQU1IO1FBRWhGLE9BQU9tQjtJQUNUO0FBQ0Y7QUFFQSxTQUFTRCx5QkFBeUJsQixPQUFPO0lBQ3ZDLElBQUlFO0lBRUpBLGdCQUFnQkYsUUFBUXFCLGdCQUFnQjtJQUV4QyxNQUFNQyxlQUFldEIsUUFBUXVCLGVBQWU7SUFFNUMsSUFBSUQsaUJBQWlCLE1BQU07UUFDekJwQixnQkFBZ0I7ZUFDWEE7WUFDSG9CO1NBQ0Q7SUFDSDtJQUVBLE9BQU9wQjtBQUNUIn0=
@@ -41,8 +41,12 @@ class TopmostContext extends _context.default {
41
41
  const isolated = true;
42
42
  return isolated;
43
43
  }
44
+ isCommitted() {
45
+ const committed = false;
46
+ return committed;
47
+ }
44
48
  findRule(ruleName) {
45
- const rule = this.ruleMap[ruleName] || null; ///
49
+ const rule = this.ruleMap[ruleName] || null;
46
50
  return rule;
47
51
  }
48
52
  getNextPart() {
@@ -67,4 +71,4 @@ class TopmostContext extends _context.default {
67
71
  }
68
72
  }
69
73
 
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3RvcG1vc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgU3RhdGUgZnJvbSBcIi4uL3N0YXRlXCI7XG5pbXBvcnQgQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dFwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9wbW9zdENvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIHJ1bGVNYXAsIE5vblRlcm1pbmFsTm9kZU1hcCwgZGVmYXVsdE5vblRlcm1pbmFsTm9kZSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zKTtcblxuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gICAgdGhpcy5Ob25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG4gICAgdGhpcy5kZWZhdWx0Tm9uVGVybWluYWxOb2RlID0gZGVmYXVsdE5vblRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGdldFJ1bGVNYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZU1hcDtcbiAgfVxuXG4gIGdldE5vblRlcm1pbmFsTm9kZU1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5Ob25UZXJtaW5hbE5vZGVNYXA7XG4gIH1cblxuICBnZXREZWZhdWx0Tm9uVGVybWluYWxOb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHROb25UZXJtaW5hbE5vZGU7XG4gIH1cblxuICBOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUpIHtcbiAgICBjb25zdCBOb25UZXJtaW5hbE5vZGUgPSBPYmplY3QuaGFzT3duKHRoaXMuTm9uVGVybWluYWxOb2RlTWFwLCBydWxlTmFtZSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5Ob25UZXJtaW5hbE5vZGVNYXBbcnVsZU5hbWVdIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0Tm9uVGVybWluYWxOb2RlO1xuXG4gICAgcmV0dXJuIE5vblRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGlzSXNvbGF0ZWQoKSB7XG4gICAgY29uc3QgaXNvbGF0ZWQgPSB0cnVlO1xuXG4gICAgcmV0dXJuIGlzb2xhdGVkO1xuICB9XG5cbiAgZmluZFJ1bGUocnVsZU5hbWUpIHtcbiAgICBjb25zdCBydWxlID0gdGhpcy5ydWxlTWFwW3J1bGVOYW1lXSB8fCBudWxsOyAgLy8vXG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxuXG4gIGdldE5leHRQYXJ0KCkge1xuICAgIGNvbnN0IG5leHRQYXJ0ID0gbnVsbDtcblxuICAgIHJldHVybiBuZXh0UGFydDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgbGV0IG5vZGUgPSBudWxsO1xuXG4gICAgY29uc3QgY2hpbGROb2RlcyA9IHRoaXMuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGNoaWxkTm9kZXNMZW5ndGggPSBjaGlsZE5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChjaGlsZE5vZGVzTGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KGNoaWxkTm9kZXMpO1xuXG4gICAgICBub2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNvbnRpbnVlZChmcmFtZSwgY29udGV4dCkge1xuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFyc2VyQW5kVG9rZW5zKHBhcnNlciwgdG9rZW5zKSB7XG4gICAgY29uc3QgeyBOb25UZXJtaW5hbE5vZGVNYXAsIGRlZmF1bHROb25UZXJtaW5hbE5vZGUgfSA9IHBhcnNlci5jb25zdHJ1Y3RvcixcbiAgICAgICAgICBydWxlTWFwID0gcGFyc2VyLmdldFJ1bGVNYXAoKSxcbiAgICAgICAgICBzdGF0ZT0gU3RhdGUuZnJvbVRva2Vucyh0b2tlbnMpLFxuICAgICAgICAgIGNvbnRleHQgPSBudWxsLFxuICAgICAgICAgIGNvbnRpbnVhdGlvbnMgPSBbXSxcbiAgICAgICAgICB0b3Btb3N0Q29udGV4dCA9IG5ldyBUb3Btb3N0Q29udGV4dChjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgcnVsZU1hcCwgTm9uVGVybWluYWxOb2RlTWFwLCBkZWZhdWx0Tm9uVGVybWluYWxOb2RlKTtcblxuICAgIHJldHVybiB0b3Btb3N0Q29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlRvcG1vc3RDb250ZXh0IiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsIkNvbnRleHQiLCJjb250ZXh0Iiwic3RhdGUiLCJjb250aW51YXRpb25zIiwicnVsZU1hcCIsIk5vblRlcm1pbmFsTm9kZU1hcCIsImRlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJnZXRSdWxlTWFwIiwiZ2V0Tm9uVGVybWluYWxOb2RlTWFwIiwiZ2V0RGVmYXVsdE5vblRlcm1pbmFsTm9kZSIsIk5vblRlcm1pbmFsTm9kZUZyb21SdWxlTmFtZSIsInJ1bGVOYW1lIiwiTm9uVGVybWluYWxOb2RlIiwiT2JqZWN0IiwiaGFzT3duIiwiaXNJc29sYXRlZCIsImlzb2xhdGVkIiwiZmluZFJ1bGUiLCJydWxlIiwiZ2V0TmV4dFBhcnQiLCJuZXh0UGFydCIsImdldE5vZGUiLCJub2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RDaGlsZE5vZGUiLCJjb250aW51ZWQiLCJmcmFtZSIsImZyb21QYXJzZXJBbmRUb2tlbnMiLCJwYXJzZXIiLCJ0b2tlbnMiLCJTdGF0ZSIsImZyb21Ub2tlbnMiLCJ0b3Btb3N0Q29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFxQkE7OzsyQkFQVTs4REFFYjtnRUFDRTs7Ozs7O0FBRXBCLE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWpCLE1BQU1GLHVCQUF1QkcsZ0JBQU87SUFDakQsWUFBWUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxrQkFBa0IsRUFBRUMsc0JBQXNCLENBQUU7UUFDOUYsS0FBSyxDQUFDTCxTQUFTQyxPQUFPQztRQUV0QixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLGtCQUFrQixHQUFHQTtRQUMxQixJQUFJLENBQUNDLHNCQUFzQixHQUFHQTtJQUNoQztJQUVBQyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNILE9BQU87SUFDckI7SUFFQUksd0JBQXdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDSCxrQkFBa0I7SUFDaEM7SUFFQUksNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDSCxzQkFBc0I7SUFDcEM7SUFFQUksNEJBQTRCQyxRQUFRLEVBQUU7UUFDcEMsTUFBTUMsa0JBQWtCQyxPQUFPQyxNQUFNLENBQUMsSUFBSSxDQUFDVCxrQkFBa0IsRUFBRU0sWUFDckMsSUFBSSxDQUFDTixrQkFBa0IsQ0FBQ00sU0FBUyxHQUMvQixJQUFJLENBQUNMLHNCQUFzQjtRQUV2RCxPQUFPTTtJQUNUO0lBRUFHLGFBQWE7UUFDWCxNQUFNQyxXQUFXO1FBRWpCLE9BQU9BO0lBQ1Q7SUFFQUMsU0FBU04sUUFBUSxFQUFFO1FBQ2pCLE1BQU1PLE9BQU8sSUFBSSxDQUFDZCxPQUFPLENBQUNPLFNBQVMsSUFBSSxNQUFPLEdBQUc7UUFFakQsT0FBT087SUFDVDtJQUVBQyxjQUFjO1FBQ1osTUFBTUMsV0FBVztRQUVqQixPQUFPQTtJQUNUO0lBRUFDLFVBQVU7UUFDUixJQUFJQyxPQUFPO1FBRVgsTUFBTUMsYUFBYSxJQUFJLENBQUNDLGFBQWEsSUFDL0JDLG1CQUFtQkYsV0FBV0csTUFBTTtRQUUxQyxJQUFJRCxxQkFBcUIsR0FBRztZQUMxQixNQUFNRSxpQkFBaUI3QixNQUFNeUI7WUFFN0JELE9BQU9LLGdCQUFpQixHQUFHO1FBQzdCO1FBRUEsT0FBT0w7SUFDVDtJQUVBTSxVQUFVQyxLQUFLLEVBQUU1QixPQUFPLEVBQUU7UUFDeEIsT0FBTzRCO0lBQ1Q7SUFFQSxPQUFPQyxvQkFBb0JDLE1BQU0sRUFBRUMsTUFBTSxFQUFFO1FBQ3pDLE1BQU0sRUFBRTNCLGtCQUFrQixFQUFFQyxzQkFBc0IsRUFBRSxHQUFHeUIsT0FBTyxXQUFXLEVBQ25FM0IsVUFBVTJCLE9BQU94QixVQUFVLElBQzNCTCxRQUFPK0IsY0FBSyxDQUFDQyxVQUFVLENBQUNGLFNBQ3hCL0IsVUFBVSxNQUNWRSxnQkFBZ0IsRUFBRSxFQUNsQmdDLGlCQUFpQixJQUFJdEMsZUFBZUksU0FBU0MsT0FBT0MsZUFBZUMsU0FBU0Msb0JBQW9CQztRQUV0RyxPQUFPNkI7SUFDVDtBQUNGIn0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3RvcG1vc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgU3RhdGUgZnJvbSBcIi4uL3N0YXRlXCI7XG5pbXBvcnQgQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dFwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9wbW9zdENvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIHJ1bGVNYXAsIE5vblRlcm1pbmFsTm9kZU1hcCwgZGVmYXVsdE5vblRlcm1pbmFsTm9kZSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zKTtcblxuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gICAgdGhpcy5Ob25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG4gICAgdGhpcy5kZWZhdWx0Tm9uVGVybWluYWxOb2RlID0gZGVmYXVsdE5vblRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGdldFJ1bGVNYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZU1hcDtcbiAgfVxuXG4gIGdldE5vblRlcm1pbmFsTm9kZU1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5Ob25UZXJtaW5hbE5vZGVNYXA7XG4gIH1cblxuICBnZXREZWZhdWx0Tm9uVGVybWluYWxOb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHROb25UZXJtaW5hbE5vZGU7XG4gIH1cblxuICBOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUpIHtcbiAgICBjb25zdCBOb25UZXJtaW5hbE5vZGUgPSBPYmplY3QuaGFzT3duKHRoaXMuTm9uVGVybWluYWxOb2RlTWFwLCBydWxlTmFtZSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5Ob25UZXJtaW5hbE5vZGVNYXBbcnVsZU5hbWVdIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0Tm9uVGVybWluYWxOb2RlO1xuXG4gICAgcmV0dXJuIE5vblRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGlzSXNvbGF0ZWQoKSB7XG4gICAgY29uc3QgaXNvbGF0ZWQgPSB0cnVlO1xuXG4gICAgcmV0dXJuIGlzb2xhdGVkO1xuICB9XG5cbiAgaXNDb21taXR0ZWQoKSB7XG4gICAgY29uc3QgY29tbWl0dGVkID0gZmFsc2U7XG5cbiAgICByZXR1cm4gY29tbWl0dGVkO1xuICB9XG5cbiAgZmluZFJ1bGUocnVsZU5hbWUpIHtcbiAgICBjb25zdCBydWxlID0gdGhpcy5ydWxlTWFwW3J1bGVOYW1lXSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH1cblxuICBnZXROZXh0UGFydCgpIHtcbiAgICBjb25zdCBuZXh0UGFydCA9IG51bGw7XG5cbiAgICByZXR1cm4gbmV4dFBhcnQ7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIGxldCBub2RlID0gbnVsbDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBjaGlsZE5vZGVzTGVuZ3RoID0gY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAoY2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3RDaGlsZE5vZGUgPSBmaXJzdChjaGlsZE5vZGVzKTtcblxuICAgICAgbm9kZSA9IGZpcnN0Q2hpbGROb2RlOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBjb250aW51ZWQoZnJhbWUsIGNvbnRleHQpIHtcbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcnNlckFuZFRva2VucyhwYXJzZXIsIHRva2Vucykge1xuICAgIGNvbnN0IHsgTm9uVGVybWluYWxOb2RlTWFwLCBkZWZhdWx0Tm9uVGVybWluYWxOb2RlIH0gPSBwYXJzZXIuY29uc3RydWN0b3IsXG4gICAgICAgICAgcnVsZU1hcCA9IHBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICAgICAgc3RhdGU9IFN0YXRlLmZyb21Ub2tlbnModG9rZW5zKSxcbiAgICAgICAgICBjb250ZXh0ID0gbnVsbCxcbiAgICAgICAgICBjb250aW51YXRpb25zID0gW10sXG4gICAgICAgICAgdG9wbW9zdENvbnRleHQgPSBuZXcgVG9wbW9zdENvbnRleHQoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIHJ1bGVNYXAsIE5vblRlcm1pbmFsTm9kZU1hcCwgZGVmYXVsdE5vblRlcm1pbmFsTm9kZSk7XG5cbiAgICByZXR1cm4gdG9wbW9zdENvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJUb3Btb3N0Q29udGV4dCIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJDb250ZXh0IiwiY29udGV4dCIsInN0YXRlIiwiY29udGludWF0aW9ucyIsInJ1bGVNYXAiLCJOb25UZXJtaW5hbE5vZGVNYXAiLCJkZWZhdWx0Tm9uVGVybWluYWxOb2RlIiwiZ2V0UnVsZU1hcCIsImdldE5vblRlcm1pbmFsTm9kZU1hcCIsImdldERlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUiLCJydWxlTmFtZSIsIk5vblRlcm1pbmFsTm9kZSIsIk9iamVjdCIsImhhc093biIsImlzSXNvbGF0ZWQiLCJpc29sYXRlZCIsImlzQ29tbWl0dGVkIiwiY29tbWl0dGVkIiwiZmluZFJ1bGUiLCJydWxlIiwiZ2V0TmV4dFBhcnQiLCJuZXh0UGFydCIsImdldE5vZGUiLCJub2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RDaGlsZE5vZGUiLCJjb250aW51ZWQiLCJmcmFtZSIsImZyb21QYXJzZXJBbmRUb2tlbnMiLCJwYXJzZXIiLCJ0b2tlbnMiLCJTdGF0ZSIsImZyb21Ub2tlbnMiLCJ0b3Btb3N0Q29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFxQkE7OzsyQkFQVTs4REFFYjtnRUFDRTs7Ozs7O0FBRXBCLE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWpCLE1BQU1GLHVCQUF1QkcsZ0JBQU87SUFDakQsWUFBWUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxrQkFBa0IsRUFBRUMsc0JBQXNCLENBQUU7UUFDOUYsS0FBSyxDQUFDTCxTQUFTQyxPQUFPQztRQUV0QixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLGtCQUFrQixHQUFHQTtRQUMxQixJQUFJLENBQUNDLHNCQUFzQixHQUFHQTtJQUNoQztJQUVBQyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNILE9BQU87SUFDckI7SUFFQUksd0JBQXdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDSCxrQkFBa0I7SUFDaEM7SUFFQUksNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDSCxzQkFBc0I7SUFDcEM7SUFFQUksNEJBQTRCQyxRQUFRLEVBQUU7UUFDcEMsTUFBTUMsa0JBQWtCQyxPQUFPQyxNQUFNLENBQUMsSUFBSSxDQUFDVCxrQkFBa0IsRUFBRU0sWUFDckMsSUFBSSxDQUFDTixrQkFBa0IsQ0FBQ00sU0FBUyxHQUMvQixJQUFJLENBQUNMLHNCQUFzQjtRQUV2RCxPQUFPTTtJQUNUO0lBRUFHLGFBQWE7UUFDWCxNQUFNQyxXQUFXO1FBRWpCLE9BQU9BO0lBQ1Q7SUFFQUMsY0FBYztRQUNaLE1BQU1DLFlBQVk7UUFFbEIsT0FBT0E7SUFDVDtJQUVBQyxTQUFTUixRQUFRLEVBQUU7UUFDakIsTUFBTVMsT0FBTyxJQUFJLENBQUNoQixPQUFPLENBQUNPLFNBQVMsSUFBSTtRQUV2QyxPQUFPUztJQUNUO0lBRUFDLGNBQWM7UUFDWixNQUFNQyxXQUFXO1FBRWpCLE9BQU9BO0lBQ1Q7SUFFQUMsVUFBVTtRQUNSLElBQUlDLE9BQU87UUFFWCxNQUFNQyxhQUFhLElBQUksQ0FBQ0MsYUFBYSxJQUMvQkMsbUJBQW1CRixXQUFXRyxNQUFNO1FBRTFDLElBQUlELHFCQUFxQixHQUFHO1lBQzFCLE1BQU1FLGlCQUFpQi9CLE1BQU0yQjtZQUU3QkQsT0FBT0ssZ0JBQWlCLEdBQUc7UUFDN0I7UUFFQSxPQUFPTDtJQUNUO0lBRUFNLFVBQVVDLEtBQUssRUFBRTlCLE9BQU8sRUFBRTtRQUN4QixPQUFPOEI7SUFDVDtJQUVBLE9BQU9DLG9CQUFvQkMsTUFBTSxFQUFFQyxNQUFNLEVBQUU7UUFDekMsTUFBTSxFQUFFN0Isa0JBQWtCLEVBQUVDLHNCQUFzQixFQUFFLEdBQUcyQixPQUFPLFdBQVcsRUFDbkU3QixVQUFVNkIsT0FBTzFCLFVBQVUsSUFDM0JMLFFBQU9pQyxjQUFLLENBQUNDLFVBQVUsQ0FBQ0YsU0FDeEJqQyxVQUFVLE1BQ1ZFLGdCQUFnQixFQUFFLEVBQ2xCa0MsaUJBQWlCLElBQUl4QyxlQUFlSSxTQUFTQyxPQUFPQyxlQUFlQyxTQUFTQyxvQkFBb0JDO1FBRXRHLE9BQU8rQjtJQUNUO0FBQ0YifQ==
package/lib/context.js CHANGED
@@ -35,6 +35,9 @@ class Context {
35
35
  NonTerminalNodeFromRuleName(ruleName) {
36
36
  return this.context.NonTerminalNodeFromRuleName(ruleName);
37
37
  }
38
+ isCommitted() {
39
+ return this.context.isCommitted();
40
+ }
38
41
  isIsolated() {
39
42
  return this.context.isIsolated();
40
43
  }
@@ -75,7 +78,8 @@ class Context {
75
78
  }
76
79
  continued(frame, context) {
77
80
  frame = this.compose(frame);
78
- if (frame !== null) {
81
+ const frameValid = frame.isValid();
82
+ if (frameValid) {
79
83
  frame = this.context.continued(frame, context);
80
84
  }
81
85
  return frame;
@@ -116,4 +120,4 @@ class Context {
116
120
  }
117
121
  }
118
122
 
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLmNvbnRpbnVhdGlvbnMgPSBjb250aW51YXRpb25zO1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXRDb250aW51YXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRpbnVhdGlvbnM7XG4gIH1cblxuICBnZXRSdWxlTWFwKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldFJ1bGVNYXAoKTsgfVxuXG4gIGdldE5vblRlcm1pbmFsTm9kZU1hcCgpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXROb25UZXJtaW5hbE5vZGVNYXAoKTsgfVxuXG4gIGdldERlZmF1bHROb25UZXJtaW5hbE5vZGUoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0RGVmYXVsdE5vblRlcm1pbmFsTm9kZSgpOyB9XG5cbiAgTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKTsgfVxuXG4gIGlzSXNvbGF0ZWQoKSB7ICByZXR1cm4gdGhpcy5jb250ZXh0LmlzSXNvbGF0ZWQoKTsgfVxuXG4gIGZpbmRSdWxlKHJ1bGVOYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZFJ1bGUocnVsZU5hbWUpOyB9XG5cbiAgZ2V0TmV4dFBhcnQoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0TmV4dFBhcnQoKTsgfVxuXG4gIGdldFRva2VucygpIHsgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0VG9rZW5zKCk7IH1cblxuICBnZXROZXh0VG9rZW4oKSB7IHJldHVybiB0aGlzLnN0YXRlLmdldE5leHRUb2tlbigpOyB9XG5cbiAgZ2V0TmV4dFNpZ25pZmljYW50VG9rZW4oKSB7IHJldHVybiB0aGlzLnN0YXRlLmdldE5leHRTaWduaWZpY2FudFRva2VuKCk7IH1cblxuICBpc05leHRUb2tlbldoaXRlc3BhY2VUb2tlbigpIHsgcmV0dXJuIHRoaXMuc3RhdGUuaXNOZXh0VG9rZW5XaGl0ZXNwYWNlVG9rZW4oKTsgfVxuXG4gIHN0b3JlKHBhcnQsIGZyYW1lKSB7IHRoaXMuc3RhdGUuc3RvcmUocGFydCwgZnJhbWUpOyB9XG5cbiAgcmVjb3ZlcihwYXJ0KSB7IHJldHVybiB0aGlzLnN0YXRlLnJlY292ZXIocGFydCk7IH1cblxuICB1cGRhdGVTdGF0ZShzdGF0ZSkge1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZS5jbG9uZSgpOyAgLy8vXG4gIH1cblxuICBnZXRDb250aW51YXRpb24oKSB7XG4gICAgY29uc3QgY29udGludWF0aW9uID0gbnVsbDtcblxuICAgIHJldHVybiBjb250aW51YXRpb247XG4gIH1cblxuICBpc0NvbnRpbnVpbmcoKSB7XG4gICAgY29uc3QgY29udGludWF0aW9uc0xlbmd0aCA9IHRoaXMuY29udGludWF0aW9ucy5sZW5ndGgsXG4gICAgICAgICAgY29udGludWluZyA9IChjb250aW51YXRpb25zTGVuZ3RoID4gMCk7XG5cbiAgICByZXR1cm4gY29udGludWluZztcbiAgfVxuXG4gIGNvbnRpbnVlZChmcmFtZSwgY29udGV4dCkge1xuICAgIGZyYW1lID0gdGhpcy5jb21wb3NlKGZyYW1lKTtcblxuICAgIGlmIChmcmFtZSAhPT0gbnVsbCkge1xuICAgICAgZnJhbWUgPSB0aGlzLmNvbnRleHQuY29udGludWVkKGZyYW1lLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBjb250aW51ZShmcmFtZSkge1xuICAgIGNvbnN0IGNvbnRpbnVpbmcgPSB0aGlzLmlzQ29udGludWluZygpO1xuXG4gICAgaWYgKGNvbnRpbnVpbmcpIHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgICAgZnJhbWUgPSB0aGlzLmNvbnRleHQuY29udGludWVkKGZyYW1lLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBjb21wb3NlKGZyYW1lKSB7XG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgY29tbWl0KGNvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250ZXh0ID0gdGhpcy5jb250ZXh0O1xuICAgIH1cblxuICAgIGNvbnRleHQudXBkYXRlU3RhdGUodGhpcy5zdGF0ZSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBjb250ZXh0ID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgbGV0IHN0YXRlO1xuXG4gICAgc3RhdGUgPSBjb250ZXh0LmdldFN0YXRlKCk7XG5cbiAgICBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7ICAvLy9cblxuICAgIGNvbnN0IGNvbnRpbnVhdGlvbnMgPSBjb250ZXh0LmdldENvbnRpbnVhdGlvbnMoKTtcblxuICAgIGNvbnRleHQgPSBuZXcgQ2xhc3MoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29udGludWF0aW9ucyhDbGFzcywgY29udGludWF0aW9ucywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IGNvbnRleHQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICBsZXQgc3RhdGU7XG5cbiAgICBzdGF0ZSA9IGNvbnRleHQuZ2V0U3RhdGUoKTtcblxuICAgIHN0YXRlID0gc3RhdGUuY2xvbmUoKTsgIC8vL1xuXG4gICAgY29udGV4dCA9IG5ldyBDbGFzcyhjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ29udGV4dCIsImNvbnRleHQiLCJzdGF0ZSIsImNvbnRpbnVhdGlvbnMiLCJnZXRDb250ZXh0IiwiZ2V0U3RhdGUiLCJnZXRDb250aW51YXRpb25zIiwiZ2V0UnVsZU1hcCIsImdldE5vblRlcm1pbmFsTm9kZU1hcCIsImdldERlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUiLCJydWxlTmFtZSIsImlzSXNvbGF0ZWQiLCJmaW5kUnVsZSIsImdldE5leHRQYXJ0IiwiZ2V0VG9rZW5zIiwiZ2V0TmV4dFRva2VuIiwiZ2V0TmV4dFNpZ25pZmljYW50VG9rZW4iLCJpc05leHRUb2tlbldoaXRlc3BhY2VUb2tlbiIsInN0b3JlIiwicGFydCIsImZyYW1lIiwicmVjb3ZlciIsInVwZGF0ZVN0YXRlIiwiY2xvbmUiLCJnZXRDb250aW51YXRpb24iLCJjb250aW51YXRpb24iLCJpc0NvbnRpbnVpbmciLCJjb250aW51YXRpb25zTGVuZ3RoIiwibGVuZ3RoIiwiY29udGludWluZyIsImNvbnRpbnVlZCIsImNvbXBvc2UiLCJjb250aW51ZSIsImNvbW1pdCIsInVuZGVmaW5lZCIsImZyb21Ob3RoaW5nIiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJwb3AiLCJmcm9tQ29udGludWF0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUFxQkE7OztBQUFOLE1BQU1BO0lBQ25CLFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLENBQUU7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
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLmNvbnRpbnVhdGlvbnMgPSBjb250aW51YXRpb25zO1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXRDb250aW51YXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRpbnVhdGlvbnM7XG4gIH1cblxuICBnZXRSdWxlTWFwKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldFJ1bGVNYXAoKTsgfVxuXG4gIGdldE5vblRlcm1pbmFsTm9kZU1hcCgpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXROb25UZXJtaW5hbE5vZGVNYXAoKTsgfVxuXG4gIGdldERlZmF1bHROb25UZXJtaW5hbE5vZGUoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0RGVmYXVsdE5vblRlcm1pbmFsTm9kZSgpOyB9XG5cbiAgTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKTsgfVxuXG4gIGlzQ29tbWl0dGVkKCkgeyAgcmV0dXJuIHRoaXMuY29udGV4dC5pc0NvbW1pdHRlZCgpOyB9XG5cbiAgaXNJc29sYXRlZCgpIHsgIHJldHVybiB0aGlzLmNvbnRleHQuaXNJc29sYXRlZCgpOyB9XG5cbiAgZmluZFJ1bGUocnVsZU5hbWUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kUnVsZShydWxlTmFtZSk7IH1cblxuICBnZXROZXh0UGFydCgpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXROZXh0UGFydCgpOyB9XG5cbiAgZ2V0VG9rZW5zKCkgeyByZXR1cm4gdGhpcy5zdGF0ZS5nZXRUb2tlbnMoKTsgfVxuXG4gIGdldE5leHRUb2tlbigpIHsgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0TmV4dFRva2VuKCk7IH1cblxuICBnZXROZXh0U2lnbmlmaWNhbnRUb2tlbigpIHsgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0TmV4dFNpZ25pZmljYW50VG9rZW4oKTsgfVxuXG4gIGlzTmV4dFRva2VuV2hpdGVzcGFjZVRva2VuKCkgeyByZXR1cm4gdGhpcy5zdGF0ZS5pc05leHRUb2tlbldoaXRlc3BhY2VUb2tlbigpOyB9XG5cbiAgc3RvcmUocGFydCwgZnJhbWUpIHsgdGhpcy5zdGF0ZS5zdG9yZShwYXJ0LCBmcmFtZSk7IH1cblxuICByZWNvdmVyKHBhcnQpIHsgcmV0dXJuIHRoaXMuc3RhdGUucmVjb3ZlcihwYXJ0KTsgfVxuXG4gIHVwZGF0ZVN0YXRlKHN0YXRlKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlLmNsb25lKCk7ICAvLy9cbiAgfVxuXG4gIGdldENvbnRpbnVhdGlvbigpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSBudWxsO1xuXG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbjtcbiAgfVxuXG4gIGlzQ29udGludWluZygpIHtcbiAgICBjb25zdCBjb250aW51YXRpb25zTGVuZ3RoID0gdGhpcy5jb250aW51YXRpb25zLmxlbmd0aCxcbiAgICAgICAgICBjb250aW51aW5nID0gKGNvbnRpbnVhdGlvbnNMZW5ndGggPiAwKTtcblxuICAgIHJldHVybiBjb250aW51aW5nO1xuICB9XG5cbiAgY29udGludWVkKGZyYW1lLCBjb250ZXh0KSB7XG4gICAgZnJhbWUgPSB0aGlzLmNvbXBvc2UoZnJhbWUpO1xuXG4gICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICBmcmFtZSA9IHRoaXMuY29udGV4dC5jb250aW51ZWQoZnJhbWUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIGNvbnRpbnVlKGZyYW1lKSB7XG4gICAgY29uc3QgY29udGludWluZyA9IHRoaXMuaXNDb250aW51aW5nKCk7XG5cbiAgICBpZiAoY29udGludWluZykge1xuICAgICAgY29uc3QgY29udGV4dCA9IHRoaXM7IC8vL1xuXG4gICAgICBmcmFtZSA9IHRoaXMuY29udGV4dC5jb250aW51ZWQoZnJhbWUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIGNvbXBvc2UoZnJhbWUpIHtcbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBjb21taXQoY29udGV4dCkge1xuICAgIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRleHQgPSB0aGlzLmNvbnRleHQ7XG4gICAgfVxuXG4gICAgY29udGV4dC51cGRhdGVTdGF0ZSh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZyhDbGFzcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IGNvbnRleHQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICBsZXQgc3RhdGU7XG5cbiAgICBzdGF0ZSA9IGNvbnRleHQuZ2V0U3RhdGUoKTtcblxuICAgIHN0YXRlID0gc3RhdGUuY2xvbmUoKTsgIC8vL1xuXG4gICAgY29uc3QgY29udGludWF0aW9ucyA9IGNvbnRleHQuZ2V0Q29udGludWF0aW9ucygpO1xuXG4gICAgY29udGV4dCA9IG5ldyBDbGFzcyhjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21Db250aW51YXRpb25zKENsYXNzLCBjb250aW51YXRpb25zLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIGxldCBzdGF0ZTtcblxuICAgIHN0YXRlID0gY29udGV4dC5nZXRTdGF0ZSgpO1xuXG4gICAgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpOyAgLy8vXG5cbiAgICBjb250ZXh0ID0gbmV3IENsYXNzKGNvbnRleHQsIHN0YXRlLCBjb250aW51YXRpb25zLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb250ZXh0IiwiY29udGV4dCIsInN0YXRlIiwiY29udGludWF0aW9ucyIsImdldENvbnRleHQiLCJnZXRTdGF0ZSIsImdldENvbnRpbnVhdGlvbnMiLCJnZXRSdWxlTWFwIiwiZ2V0Tm9uVGVybWluYWxOb2RlTWFwIiwiZ2V0RGVmYXVsdE5vblRlcm1pbmFsTm9kZSIsIk5vblRlcm1pbmFsTm9kZUZyb21SdWxlTmFtZSIsInJ1bGVOYW1lIiwiaXNDb21taXR0ZWQiLCJpc0lzb2xhdGVkIiwiZmluZFJ1bGUiLCJnZXROZXh0UGFydCIsImdldFRva2VucyIsImdldE5leHRUb2tlbiIsImdldE5leHRTaWduaWZpY2FudFRva2VuIiwiaXNOZXh0VG9rZW5XaGl0ZXNwYWNlVG9rZW4iLCJzdG9yZSIsInBhcnQiLCJmcmFtZSIsInJlY292ZXIiLCJ1cGRhdGVTdGF0ZSIsImNsb25lIiwiZ2V0Q29udGludWF0aW9uIiwiY29udGludWF0aW9uIiwiaXNDb250aW51aW5nIiwiY29udGludWF0aW9uc0xlbmd0aCIsImxlbmd0aCIsImNvbnRpbnVpbmciLCJjb250aW51ZWQiLCJjb21wb3NlIiwiZnJhbWVWYWxpZCIsImlzVmFsaWQiLCJjb250aW51ZSIsImNvbW1pdCIsInVuZGVmaW5lZCIsImZyb21Ob3RoaW5nIiwiQ2xhc3MiLCJyZW1h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
package/lib/definition.js CHANGED
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  const _necessary = require("necessary");
12
- const _frame = require("./frame");
13
12
  const _constants = require("./constants");
14
13
  const _context = require("./utilities/context");
14
+ const _frame = require("./frame");
15
15
  const _parts = require("./utilities/parts");
16
16
  const { SPACE_CHARACTER } = _necessary.characters;
17
17
  class Definition {
@@ -34,9 +34,11 @@ class Definition {
34
34
  frame = (0, _parts.parsePartsContinually)(this.parts, _frame.emptyFrame, context);
35
35
  } else {
36
36
  frame = (0, _parts.parseParts)(this.parts, _frame.emptyFrame, context);
37
- frame = frame !== null ? context.compose(frame) : null;
37
+ const frameValid = frame.isValid();
38
+ frame = frameValid ? context.compose(frame) : _frame.nullifiedFrame;
38
39
  }
39
- if (frame !== null) {
40
+ const frameValid = frame.isValid();
41
+ if (frameValid) {
40
42
  context.commit();
41
43
  }
42
44
  }, definition, context);
@@ -79,4 +81,4 @@ class Definition {
79
81
  }
80
82
  }
81
83
 
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbml0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjaGFyYWN0ZXJzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBlbXB0eUZyYW1lIH0gZnJvbSBcIi4vZnJhbWVcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZGVmaW5pdGlvbkNvbnRleHQgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgcGFyc2VQYXJ0cywgcGFyc2VQYXJ0c0NvbnRpbnVhbGx5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhcnRzXCI7XG5cbmNvbnN0IHsgU1BBQ0VfQ0hBUkFDVEVSIH0gPSBjaGFyYWN0ZXJzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZWZpbml0aW9uIHtcbiAgY29uc3RydWN0b3IocGFydHMsIHByZWNlZGVuY2UpIHtcbiAgICB0aGlzLnBhcnRzID0gcGFydHM7XG4gICAgdGhpcy5wcmVjZWRlbmNlID0gcHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFBhcnRzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcnRzO1xuICB9XG5cbiAgZ2V0UHJlY2VkZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVjZWRlbmNlO1xuICB9XG5cbiAgcGFyc2UoY29udGV4dCkge1xuICAgIGxldCBmcmFtZTtcblxuICAgIGNvbnN0IGRlZmluaXRpb24gPSB0aGlzOyAgLy8vXG5cbiAgICBkZWZpbml0aW9uQ29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCk7XG5cbiAgICAgIGlmIChjb250aW51aW5nKSB7XG4gICAgICAgIGZyYW1lID0gcGFyc2VQYXJ0c0NvbnRpbnVhbGx5KHRoaXMucGFydHMsIGVtcHR5RnJhbWUsIGNvbnRleHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZnJhbWUgPSBwYXJzZVBhcnRzKHRoaXMucGFydHMsIGVtcHR5RnJhbWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGZyYW1lID0gKGZyYW1lICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBvc2UoZnJhbWUpIDpcbiAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKGZyYW1lICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnRleHQuY29tbWl0KCk7XG4gICAgICB9XG4gICAgfSwgZGVmaW5pdGlvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgY29uc3QgcGFydHNTdHJpbmcgPSB0aGlzLnBhcnRzLnJlZHVjZSgocGFydHNTdHJpbmcsIHBhcnQpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRTdHJpbmcgPSBwYXJ0LmFzU3RyaW5nKCk7XG5cbiAgICAgIGlmIChwYXJ0c1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgIHBhcnRzU3RyaW5nID0gcGFydFN0cmluZzsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0c1N0cmluZyA9IGAke3BhcnRzU3RyaW5nfSAke3BhcnRTdHJpbmd9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcnRzU3RyaW5nO1xuICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICBzdHJpbmcgPSBwYXJ0c1N0cmluZzsgLy8vXG5cbiAgICBpZiAodGhpcy5wcmVjZWRlbmNlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcmVjZWRlbmNlID0gKHRoaXMucHJlY2VkZW5jZSA9PT0gSW5maW5pdHkpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQQUNFX0NIQVJBQ1RFUiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJlY2VkZW5jZTtcblxuICAgICAgc3RyaW5nID0gYCR7c3RyaW5nfSAoJHtwcmVjZWRlbmNlfSlgO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcnRzKENsYXNzLCBwYXJ0cykge1xuICAgIGlmIChwYXJ0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJ0cyA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gRGVmaW5pdGlvbjsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgZGVmaW5pdGlvbiA9IG5ldyBDbGFzcyhwYXJ0cywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gZGVmaW5pdGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFydHNBbmRQcmVjZWRlbmNlKENsYXNzLCBwYXJ0cywgcHJlY2VkZW5jZSkge1xuICAgIGlmIChwcmVjZWRlbmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHByZWNlZGVuY2UgPSBwYXJ0czsgLy8vXG5cbiAgICAgIHBhcnRzID0gQ2xhc3M7ICAvLy9cblxuICAgICAgQ2xhc3MgPSBEZWZpbml0aW9uOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBkZWZpbml0aW9uID0gbmV3IENsYXNzKHBhcnRzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBkZWZpbml0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRGVmaW5pdGlvbiIsIlNQQUNFX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJwYXJ0cyIsInByZWNlZGVuY2UiLCJnZXRQYXJ0cyIsImdldFByZWNlZGVuY2UiLCJwYXJzZSIsImNvbnRleHQiLCJmcmFtZSIsImRlZmluaXRpb24iLCJkZWZpbml0aW9uQ29udGV4dCIsImNvbnRpbnVpbmciLCJpc0NvbnRpbnVpbmciLCJwYXJzZVBhcnRzQ29udGludWFsbHkiLCJlbXB0eUZyYW1lIiwicGFyc2VQYXJ0cyIsImNvbXBvc2UiLCJjb21taXQiLCJhc1N0cmluZyIsInN0cmluZyIsInBhcnRzU3RyaW5nIiwicmVkdWNlIiwicGFydCIsInBhcnRTdHJpbmciLCJFTVBUWV9TVFJJTkciLCJJbmZpbml0eSIsImZyb21QYXJ0cyIsIkNsYXNzIiwidW5kZWZpbmVkIiwiZnJvbVBhcnRzQW5kUHJlY2VkZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFxQkE7OzsyQkFUTTt1QkFFQTsyQkFDRTt5QkFDSzt1QkFDZ0I7QUFFbEQsTUFBTSxFQUFFQyxlQUFlLEVBQUUsR0FBR0MscUJBQVU7QUFFdkIsTUFBTUY7SUFDbkIsWUFBWUcsS0FBSyxFQUFFQyxVQUFVLENBQUU7UUFDN0IsSUFBSSxDQUFDRCxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0YsS0FBSztJQUNuQjtJQUVBRyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0YsVUFBVTtJQUN4QjtJQUVBRyxNQUFNQyxPQUFPLEVBQUU7UUFDYixJQUFJQztRQUVKLE1BQU1DLGFBQWEsSUFBSSxFQUFHLEdBQUc7UUFFN0JDLElBQUFBLDBCQUFpQixFQUFDLENBQUNIO1lBQ2pCLE1BQU1JLGFBQWFKLFFBQVFLLFlBQVk7WUFFdkMsSUFBSUQsWUFBWTtnQkFDZEgsUUFBUUssSUFBQUEsNEJBQXFCLEVBQUMsSUFBSSxDQUFDWCxLQUFLLEVBQUVZLGlCQUFVLEVBQUVQO1lBQ3hELE9BQU87Z0JBQ0xDLFFBQVFPLElBQUFBLGlCQUFVLEVBQUMsSUFBSSxDQUFDYixLQUFLLEVBQUVZLGlCQUFVLEVBQUVQO2dCQUUzQ0MsUUFBUSxBQUFDQSxVQUFVLE9BQ1RELFFBQVFTLE9BQU8sQ0FBQ1IsU0FDZDtZQUNkO1lBRUEsSUFBSUEsVUFBVSxNQUFNO2dCQUNsQkQsUUFBUVUsTUFBTTtZQUNoQjtRQUNGLEdBQUdSLFlBQVlGO1FBRWYsT0FBT0M7SUFDVDtJQUVBVSxXQUFXO1FBQ1QsSUFBSUM7UUFFSixNQUFNQyxjQUFjLElBQUksQ0FBQ2xCLEtBQUssQ0FBQ21CLE1BQU0sQ0FBQyxDQUFDRCxhQUFhRTtZQUNsRCxNQUFNQyxhQUFhRCxLQUFLSixRQUFRO1lBRWhDLElBQUlFLGdCQUFnQkksdUJBQVksRUFBRTtnQkFDaENKLGNBQWNHLFlBQVksR0FBRztZQUMvQixPQUFPO2dCQUNMSCxjQUFjLEdBQUdBLFlBQVksQ0FBQyxFQUFFRyxZQUFZO1lBQzlDO1lBRUEsT0FBT0g7UUFDVCxHQUFHSSx1QkFBWTtRQUVmTCxTQUFTQyxhQUFhLEdBQUc7UUFFekIsSUFBSSxJQUFJLENBQUNqQixVQUFVLEtBQUssTUFBTTtZQUM1QixNQUFNQSxhQUFhLEFBQUMsSUFBSSxDQUFDQSxVQUFVLEtBQUtzQixXQUNuQnpCLGtCQUNFLElBQUksQ0FBQ0csVUFBVTtZQUV0Q2dCLFNBQVMsR0FBR0EsT0FBTyxFQUFFLEVBQUVoQixXQUFXLENBQUMsQ0FBQztRQUN0QztRQUVBLE9BQU9nQjtJQUNUO0lBRUEsT0FBT08sVUFBVUMsS0FBSyxFQUFFekIsS0FBSyxFQUFFO1FBQzdCLElBQUlBLFVBQVUwQixXQUFXO1lBQ3ZCMUIsUUFBUXlCLE9BQVEsR0FBRztZQUVuQkEsUUFBUTVCLFlBQVksR0FBRztRQUN6QjtRQUVBLE1BQU1JLGFBQWEsTUFDYk0sYUFBYSxJQUFJa0IsTUFBTXpCLE9BQU9DO1FBRXBDLE9BQU9NO0lBQ1Q7SUFFQSxPQUFPb0IsdUJBQXVCRixLQUFLLEVBQUV6QixLQUFLLEVBQUVDLFVBQVUsRUFBRTtRQUN0RCxJQUFJQSxlQUFleUIsV0FBVztZQUM1QnpCLGFBQWFELE9BQU8sR0FBRztZQUV2QkEsUUFBUXlCLE9BQVEsR0FBRztZQUVuQkEsUUFBUTVCLFlBQVksR0FBRztRQUN6QjtRQUVBLE1BQU1VLGFBQWEsSUFBSWtCLE1BQU16QixPQUFPQztRQUVwQyxPQUFPTTtJQUNUO0FBQ0YifQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbml0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjaGFyYWN0ZXJzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGRlZmluaXRpb25Db250ZXh0IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IGVtcHR5RnJhbWUsIG51bGxpZmllZEZyYW1lIH0gZnJvbSBcIi4vZnJhbWVcIjtcbmltcG9ydCB7IHBhcnNlUGFydHMsIHBhcnNlUGFydHNDb250aW51YWxseSB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXJ0c1wiO1xuXG5jb25zdCB7IFNQQUNFX0NIQVJBQ1RFUiB9ID0gY2hhcmFjdGVycztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVmaW5pdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHBhcnRzLCBwcmVjZWRlbmNlKSB7XG4gICAgdGhpcy5wYXJ0cyA9IHBhcnRzO1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBnZXRQYXJ0cygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJ0cztcbiAgfVxuXG4gIGdldFByZWNlZGVuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlY2VkZW5jZTtcbiAgfVxuXG4gIHBhcnNlKGNvbnRleHQpIHtcbiAgICBsZXQgZnJhbWU7XG5cbiAgICBjb25zdCBkZWZpbml0aW9uID0gdGhpczsgIC8vL1xuXG4gICAgZGVmaW5pdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRpbnVpbmcgPSBjb250ZXh0LmlzQ29udGludWluZygpO1xuXG4gICAgICBpZiAoY29udGludWluZykge1xuICAgICAgICBmcmFtZSA9IHBhcnNlUGFydHNDb250aW51YWxseSh0aGlzLnBhcnRzLCBlbXB0eUZyYW1lLCBjb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZyYW1lID0gcGFyc2VQYXJ0cyh0aGlzLnBhcnRzLCBlbXB0eUZyYW1lLCBjb250ZXh0KTtcblxuICAgICAgICBjb25zdCBmcmFtZVZhbGlkID0gZnJhbWUuaXNWYWxpZCgpO1xuXG4gICAgICAgIGZyYW1lID0gZnJhbWVWYWxpZCA/XG4gICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBvc2UoZnJhbWUpIDpcbiAgICAgICAgICAgICAgICAgICAgbnVsbGlmaWVkRnJhbWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZyYW1lVmFsaWQgPSBmcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICAgIGNvbnRleHQuY29tbWl0KCk7XG4gICAgICB9XG4gICAgfSwgZGVmaW5pdGlvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgY29uc3QgcGFydHNTdHJpbmcgPSB0aGlzLnBhcnRzLnJlZHVjZSgocGFydHNTdHJpbmcsIHBhcnQpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRTdHJpbmcgPSBwYXJ0LmFzU3RyaW5nKCk7XG5cbiAgICAgIGlmIChwYXJ0c1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgIHBhcnRzU3RyaW5nID0gcGFydFN0cmluZzsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0c1N0cmluZyA9IGAke3BhcnRzU3RyaW5nfSAke3BhcnRTdHJpbmd9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcnRzU3RyaW5nO1xuICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICBzdHJpbmcgPSBwYXJ0c1N0cmluZzsgLy8vXG5cbiAgICBpZiAodGhpcy5wcmVjZWRlbmNlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcmVjZWRlbmNlID0gKHRoaXMucHJlY2VkZW5jZSA9PT0gSW5maW5pdHkpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQQUNFX0NIQVJBQ1RFUiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJlY2VkZW5jZTtcblxuICAgICAgc3RyaW5nID0gYCR7c3RyaW5nfSAoJHtwcmVjZWRlbmNlfSlgO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcnRzKENsYXNzLCBwYXJ0cykge1xuICAgIGlmIChwYXJ0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJ0cyA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gRGVmaW5pdGlvbjsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgZGVmaW5pdGlvbiA9IG5ldyBDbGFzcyhwYXJ0cywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gZGVmaW5pdGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFydHNBbmRQcmVjZWRlbmNlKENsYXNzLCBwYXJ0cywgcHJlY2VkZW5jZSkge1xuICAgIGlmIChwcmVjZWRlbmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHByZWNlZGVuY2UgPSBwYXJ0czsgLy8vXG5cbiAgICAgIHBhcnRzID0gQ2xhc3M7ICAvLy9cblxuICAgICAgQ2xhc3MgPSBEZWZpbml0aW9uOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBkZWZpbml0aW9uID0gbmV3IENsYXNzKHBhcnRzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBkZWZpbml0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRGVmaW5pdGlvbiIsIlNQQUNFX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJwYXJ0cyIsInByZWNlZGVuY2UiLCJnZXRQYXJ0cyIsImdldFByZWNlZGVuY2UiLCJwYXJzZSIsImNvbnRleHQiLCJmcmFtZSIsImRlZmluaXRpb24iLCJkZWZpbml0aW9uQ29udGV4dCIsImNvbnRpbnVpbmciLCJpc0NvbnRpbnVpbmciLCJwYXJzZVBhcnRzQ29udGludWFsbHkiLCJlbXB0eUZyYW1lIiwicGFyc2VQYXJ0cyIsImZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwiY29tcG9zZSIsIm51bGxpZmllZEZyYW1lIiwiY29tbWl0IiwiYXNTdHJpbmciLCJzdHJpbmciLCJwYXJ0c1N0cmluZyIsInJlZHVjZSIsInBhcnQiLCJwYXJ0U3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwiSW5maW5pdHkiLCJmcm9tUGFydHMiLCJDbGFzcyIsInVuZGVmaW5lZCIsImZyb21QYXJ0c0FuZFByZWNlZGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBcUJBOzs7MkJBVE07MkJBRUU7eUJBQ0s7dUJBQ1M7dUJBQ087QUFFbEQsTUFBTSxFQUFFQyxlQUFlLEVBQUUsR0FBR0MscUJBQVU7QUFFdkIsTUFBTUY7SUFDbkIsWUFBWUcsS0FBSyxFQUFFQyxVQUFVLENBQUU7UUFDN0IsSUFBSSxDQUFDRCxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0YsS0FBSztJQUNuQjtJQUVBRyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0YsVUFBVTtJQUN4QjtJQUVBRyxNQUFNQyxPQUFPLEVBQUU7UUFDYixJQUFJQztRQUVKLE1BQU1DLGFBQWEsSUFBSSxFQUFHLEdBQUc7UUFFN0JDLElBQUFBLDBCQUFpQixFQUFDLENBQUNIO1lBQ2pCLE1BQU1JLGFBQWFKLFFBQVFLLFlBQVk7WUFFdkMsSUFBSUQsWUFBWTtnQkFDZEgsUUFBUUssSUFBQUEsNEJBQXFCLEVBQUMsSUFBSSxDQUFDWCxLQUFLLEVBQUVZLGlCQUFVLEVBQUVQO1lBQ3hELE9BQU87Z0JBQ0xDLFFBQVFPLElBQUFBLGlCQUFVLEVBQUMsSUFBSSxDQUFDYixLQUFLLEVBQUVZLGlCQUFVLEVBQUVQO2dCQUUzQyxNQUFNUyxhQUFhUixNQUFNUyxPQUFPO2dCQUVoQ1QsUUFBUVEsYUFDRVQsUUFBUVcsT0FBTyxDQUFDVixTQUNkVyxxQkFBYztZQUM1QjtZQUVBLE1BQU1ILGFBQWFSLE1BQU1TLE9BQU87WUFFaEMsSUFBSUQsWUFBWTtnQkFDZFQsUUFBUWEsTUFBTTtZQUNoQjtRQUNGLEdBQUdYLFlBQVlGO1FBRWYsT0FBT0M7SUFDVDtJQUVBYSxXQUFXO1FBQ1QsSUFBSUM7UUFFSixNQUFNQyxjQUFjLElBQUksQ0FBQ3JCLEtBQUssQ0FBQ3NCLE1BQU0sQ0FBQyxDQUFDRCxhQUFhRTtZQUNsRCxNQUFNQyxhQUFhRCxLQUFLSixRQUFRO1lBRWhDLElBQUlFLGdCQUFnQkksdUJBQVksRUFBRTtnQkFDaENKLGNBQWNHLFlBQVksR0FBRztZQUMvQixPQUFPO2dCQUNMSCxjQUFjLEdBQUdBLFlBQVksQ0FBQyxFQUFFRyxZQUFZO1lBQzlDO1lBRUEsT0FBT0g7UUFDVCxHQUFHSSx1QkFBWTtRQUVmTCxTQUFTQyxhQUFhLEdBQUc7UUFFekIsSUFBSSxJQUFJLENBQUNwQixVQUFVLEtBQUssTUFBTTtZQUM1QixNQUFNQSxhQUFhLEFBQUMsSUFBSSxDQUFDQSxVQUFVLEtBQUt5QixXQUNuQjVCLGtCQUNFLElBQUksQ0FBQ0csVUFBVTtZQUV0Q21CLFNBQVMsR0FBR0EsT0FBTyxFQUFFLEVBQUVuQixXQUFXLENBQUMsQ0FBQztRQUN0QztRQUVBLE9BQU9tQjtJQUNUO0lBRUEsT0FBT08sVUFBVUMsS0FBSyxFQUFFNUIsS0FBSyxFQUFFO1FBQzdCLElBQUlBLFVBQVU2QixXQUFXO1lBQ3ZCN0IsUUFBUTRCLE9BQVEsR0FBRztZQUVuQkEsUUFBUS9CLFlBQVksR0FBRztRQUN6QjtRQUVBLE1BQU1JLGFBQWEsTUFDYk0sYUFBYSxJQUFJcUIsTUFBTTVCLE9BQU9DO1FBRXBDLE9BQU9NO0lBQ1Q7SUFFQSxPQUFPdUIsdUJBQXVCRixLQUFLLEVBQUU1QixLQUFLLEVBQUVDLFVBQVUsRUFBRTtRQUN0RCxJQUFJQSxlQUFlNEIsV0FBVztZQUM1QjVCLGFBQWFELE9BQU8sR0FBRztZQUV2QkEsUUFBUTRCLE9BQVEsR0FBRztZQUVuQkEsUUFBUS9CLFlBQVksR0FBRztRQUN6QjtRQUVBLE1BQU1VLGFBQWEsSUFBSXFCLE1BQU01QixPQUFPQztRQUVwQyxPQUFPTTtJQUNUO0FBQ0YifQ==