occam-verify-cli 0.0.1003 → 0.0.1006

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 (183) hide show
  1. package/README.md +0 -2
  2. package/bin/abbreviations.js +1 -3
  3. package/bin/action/help.js +0 -2
  4. package/bin/action/verify.js +4 -24
  5. package/bin/defaults.js +0 -2
  6. package/bin/main.js +3 -4
  7. package/bin/options.js +0 -2
  8. package/bin/utilities/releaseContext.js +9 -2
  9. package/lib/assertion/subproof.js +106 -0
  10. package/lib/assignment/metavariable.js +2 -2
  11. package/lib/combinator.js +50 -16
  12. package/lib/conclusion.js +74 -14
  13. package/lib/context/file.js +191 -31
  14. package/lib/context/local.js +37 -49
  15. package/lib/context/release.js +25 -81
  16. package/lib/declaration/combinator.js +83 -0
  17. package/lib/derivation.js +86 -0
  18. package/lib/equality.js +3 -11
  19. package/lib/index.js +1 -1
  20. package/lib/judgement.js +3 -10
  21. package/lib/label.js +58 -16
  22. package/lib/log.js +3 -11
  23. package/lib/metaType.js +31 -19
  24. package/lib/metavariable.js +39 -12
  25. package/lib/mixins/statement/qualified/unify.js +118 -0
  26. package/lib/mixins/statement/unify.js +57 -0
  27. package/lib/mixins/statement/verify.js +184 -0
  28. package/lib/node/statement/combinator/bracketed.js +15 -11
  29. package/lib/ocmbinator/bracketed.js +52 -8
  30. package/lib/premise.js +109 -55
  31. package/lib/proof.js +91 -0
  32. package/lib/proofStep.js +78 -25
  33. package/lib/reference.js +62 -16
  34. package/lib/rule.js +146 -26
  35. package/lib/ruleNames.js +5 -5
  36. package/lib/statement/qualified.js +127 -0
  37. package/lib/statement/unqualified.js +89 -0
  38. package/lib/statement.js +176 -0
  39. package/lib/subDerivation.js +86 -0
  40. package/lib/subproof.js +155 -0
  41. package/lib/substitution/frameForMetavariable.js +14 -15
  42. package/lib/substitution/statementForMetavariable.js +23 -24
  43. package/lib/substitution/termForVariable.js +11 -12
  44. package/lib/substitution.js +9 -2
  45. package/lib/substitutions.js +14 -14
  46. package/lib/supposition.js +92 -61
  47. package/lib/unifier/statementWithCombinator.js +3 -3
  48. package/lib/unify/metavariableWithFrame.js +2 -2
  49. package/lib/unify/metavariableWithStatement.js +2 -2
  50. package/lib/unify/metavariableWithStatementGivenSubstitution.js +2 -2
  51. package/lib/unify/variableWithTerm.js +2 -2
  52. package/lib/utilities/node.js +13 -11
  53. package/lib/utilities/releaseContext.js +5 -6
  54. package/lib/utilities/string.js +8 -2
  55. package/lib/utilities/subproof.js +5 -5
  56. package/lib/utilities/tokens.js +10 -10
  57. package/lib/variable.js +1 -10
  58. package/lib/verifier/metaLevel.js +2 -2
  59. package/lib/verifier/topLevel.js +5 -5
  60. package/lib/verify/axiom.js +3 -5
  61. package/lib/verify/conjecture.js +4 -7
  62. package/lib/verify/consequent.js +2 -3
  63. package/lib/verify/declaration/combinator.js +2 -14
  64. package/lib/verify/declaration/metavariable.js +9 -10
  65. package/lib/verify/files.js +4 -4
  66. package/lib/verify/frame.js +12 -12
  67. package/lib/verify/lemma.js +4 -7
  68. package/lib/verify/metaLemma.js +4 -7
  69. package/lib/verify/metatheorem.js +4 -7
  70. package/lib/verify/proofStep.js +2 -31
  71. package/lib/verify/theorem.js +4 -7
  72. package/package.json +1 -1
  73. package/src/assertion/subproof.js +84 -0
  74. package/src/assignment/metavariable.js +2 -2
  75. package/src/combinator.js +45 -15
  76. package/src/conclusion.js +85 -13
  77. package/src/context/file.js +223 -11
  78. package/src/context/local.js +12 -16
  79. package/src/context/release.js +31 -100
  80. package/src/declaration/combinator.js +44 -0
  81. package/src/derivation.js +50 -0
  82. package/src/equality.js +2 -9
  83. package/src/index.js +0 -1
  84. package/src/judgement.js +2 -8
  85. package/src/label.js +56 -13
  86. package/src/log.js +2 -9
  87. package/src/metaType.js +26 -14
  88. package/src/metavariable.js +57 -9
  89. package/src/mixins/statement/qualified/unify.js +186 -0
  90. package/src/mixins/statement/unify.js +70 -0
  91. package/src/mixins/statement/verify.js +274 -0
  92. package/src/node/statement/combinator/bracketed.js +4 -3
  93. package/src/ocmbinator/bracketed.js +15 -12
  94. package/src/premise.js +138 -44
  95. package/src/proof.js +58 -0
  96. package/src/proofStep.js +92 -22
  97. package/src/reference.js +58 -12
  98. package/src/rule.js +199 -30
  99. package/src/ruleNames.js +1 -1
  100. package/src/statement/qualified.js +104 -0
  101. package/src/statement/unqualified.js +60 -0
  102. package/src/statement.js +179 -0
  103. package/src/subDerivation.js +52 -0
  104. package/src/subproof.js +99 -0
  105. package/src/substitution/frameForMetavariable.js +20 -17
  106. package/src/substitution/statementForMetavariable.js +31 -29
  107. package/src/substitution/termForVariable.js +15 -14
  108. package/src/substitution.js +8 -0
  109. package/src/substitutions.js +12 -13
  110. package/src/supposition.js +96 -51
  111. package/src/unifier/statementWithCombinator.js +6 -3
  112. package/src/unify/metavariableWithFrame.js +1 -1
  113. package/src/unify/metavariableWithStatement.js +1 -1
  114. package/src/unify/metavariableWithStatementGivenSubstitution.js +1 -1
  115. package/src/unify/variableWithTerm.js +1 -1
  116. package/src/utilities/node.js +18 -12
  117. package/src/utilities/releaseContext.js +5 -8
  118. package/src/utilities/string.js +6 -2
  119. package/src/utilities/subproof.js +2 -2
  120. package/src/utilities/tokens.js +7 -7
  121. package/src/variable.js +0 -10
  122. package/src/verifier/metaLevel.js +3 -2
  123. package/src/verifier/topLevel.js +6 -4
  124. package/src/verify/axiom.js +1 -2
  125. package/src/verify/conjecture.js +2 -3
  126. package/src/verify/consequent.js +1 -1
  127. package/src/verify/declaration/combinator.js +0 -20
  128. package/src/verify/declaration/metavariable.js +8 -12
  129. package/src/verify/files.js +3 -3
  130. package/src/verify/frame.js +11 -11
  131. package/src/verify/lemma.js +2 -3
  132. package/src/verify/metaLemma.js +2 -3
  133. package/src/verify/metatheorem.js +2 -3
  134. package/src/verify/proofStep.js +0 -41
  135. package/src/verify/theorem.js +2 -3
  136. package/lib/tokens/combinatorStatement/bracketed.js +0 -17
  137. package/lib/unify/premiseWithProofStep.js +0 -41
  138. package/lib/unify/premisesWithProofSteps.js +0 -31
  139. package/lib/unify/qualifiedStatement.js +0 -136
  140. package/lib/unify/statementWithBracketedCombinator.js +0 -30
  141. package/lib/unify/statementWithCombinator.js +0 -29
  142. package/lib/unify/statementWithCombinators.js +0 -31
  143. package/lib/unify/statementWithMetaType.js +0 -24
  144. package/lib/verify/conclusion.js +0 -39
  145. package/lib/verify/derivation.js +0 -31
  146. package/lib/verify/label.js +0 -37
  147. package/lib/verify/labels.js +0 -28
  148. package/lib/verify/premise.js +0 -45
  149. package/lib/verify/premises.js +0 -28
  150. package/lib/verify/proof.js +0 -34
  151. package/lib/verify/rule.js +0 -56
  152. package/lib/verify/statement/qualified.js +0 -41
  153. package/lib/verify/statement/unqualified.js +0 -45
  154. package/lib/verify/statement.js +0 -219
  155. package/lib/verify/statementAsCombinator.js +0 -33
  156. package/lib/verify/statementGivenMetaType.js +0 -52
  157. package/lib/verify/subproof.js +0 -34
  158. package/lib/verify/supposition.js +0 -45
  159. package/lib/verify/suppositions.js +0 -28
  160. package/src/tokens/combinatorStatement/bracketed.js +0 -10
  161. package/src/unify/premiseWithProofStep.js +0 -54
  162. package/src/unify/premisesWithProofSteps.js +0 -23
  163. package/src/unify/qualifiedStatement.js +0 -208
  164. package/src/unify/statementWithBracketedCombinator.js +0 -22
  165. package/src/unify/statementWithCombinator.js +0 -22
  166. package/src/unify/statementWithCombinators.js +0 -23
  167. package/src/unify/statementWithMetaType.js +0 -14
  168. package/src/verify/conclusion.js +0 -40
  169. package/src/verify/derivation.js +0 -23
  170. package/src/verify/label.js +0 -34
  171. package/src/verify/labels.js +0 -17
  172. package/src/verify/premise.js +0 -49
  173. package/src/verify/premises.js +0 -17
  174. package/src/verify/proof.js +0 -31
  175. package/src/verify/rule.js +0 -71
  176. package/src/verify/statement/qualified.js +0 -40
  177. package/src/verify/statement/unqualified.js +0 -49
  178. package/src/verify/statement.js +0 -312
  179. package/src/verify/statementAsCombinator.js +0 -27
  180. package/src/verify/statementGivenMetaType.js +0 -52
  181. package/src/verify/subproof.js +0 -32
  182. package/src/verify/supposition.js +0 -49
  183. package/src/verify/suppositions.js +0 -17
package/README.md CHANGED
@@ -46,8 +46,6 @@ Options:
46
46
  --tail|-t Sets the size of the tail of the log messages. The default is ten.
47
47
 
48
48
  --follow|-f Show the log messages immediately instead of tailing them. The default is false.
49
-
50
- --verbose|-x Verbose output. This shows the output for the dependency as well as the project verification.
51
49
  ```
52
50
 
53
51
  ## Building
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
- const { HELP_OPTION, TAIL_OPTION, FOLLOW_OPTION, VERBOSE_OPTION, VERSION_OPTION, LOG_LEVEL_OPTION } = require("./options");
3
+ const { HELP_OPTION, TAIL_OPTION, FOLLOW_OPTION, VERSION_OPTION, LOG_LEVEL_OPTION } = require("./options");
4
4
 
5
5
  const h = HELP_OPTION,
6
6
  t = TAIL_OPTION,
7
7
  f = FOLLOW_OPTION,
8
- x = VERBOSE_OPTION,
9
8
  v = VERSION_OPTION,
10
9
  l = LOG_LEVEL_OPTION
11
10
 
@@ -13,7 +12,6 @@ module.exports = {
13
12
  h,
14
13
  t,
15
14
  f,
16
- x,
17
15
  v,
18
16
  l
19
17
  };
@@ -21,8 +21,6 @@ Options:
21
21
 
22
22
  --follow|-f Show the log messages immediately instead of tailing them. The default is false.
23
23
 
24
- --verbose|-x Verbose output. This shows the output for the dependency as well as the project verification.
25
-
26
24
  Further information:
27
25
 
28
26
  Please see the readme file on GitHub:
@@ -8,7 +8,7 @@ const { trimTrailingSlash } = require("../utilities/string"),
8
8
 
9
9
  const { createReleaseContext, initialiseReleaseContext } = releaseContextUtilities;
10
10
 
11
- function verifyAction(argument, verbose, log) {
11
+ function verifyAction(argument, log) {
12
12
  const name = trimTrailingSlash(argument), ///
13
13
  context = {},
14
14
  dependency = Dependency.fromName(name),
@@ -17,7 +17,6 @@ function verifyAction(argument, verbose, log) {
17
17
 
18
18
  Object.assign(context, {
19
19
  log,
20
- verbose,
21
20
  releaseContextMap,
22
21
  releaseContextFromDependency
23
22
  });
@@ -41,29 +40,10 @@ function verifyAction(argument, verbose, log) {
41
40
  return;
42
41
  }
43
42
 
44
- const releaseName = name, ///
45
- releaseContext = releaseContextMap[releaseName],
46
- releaseContextInitialised = initialiseReleaseContext(dependency, context);
47
-
48
- if (!releaseContextInitialised) {
49
- log.warning(`The '${name}' project or package context cannot be initialised.`);
50
-
51
- stopClock(now, log);
52
-
53
- return;
54
- }
55
-
56
- const releaseContextVerified = releaseContext.isVerified();
43
+ initialiseReleaseContext(dependency, context);
57
44
 
58
- if (releaseContextVerified) {
59
- log.warning(`The '${name}' package does not need to be verified.`);
60
-
61
- stopClock(now, log);
62
-
63
- return;
64
- }
65
-
66
- const releaseVerified = verifyRelease(releaseName, releaseContextMap);
45
+ const releaseName = name, ///
46
+ releaseVerified = verifyRelease(releaseName, releaseContextMap);
67
47
 
68
48
  if (!releaseVerified) {
69
49
  log.warning(`The '${name}' project or package context cannot be verified.`);
package/bin/defaults.js CHANGED
@@ -7,7 +7,6 @@ const { INFO_LEVEL } = levels;
7
7
  const DEFAULT_HELP = false,
8
8
  DEFAULT_TAIL = 10,
9
9
  DEFAULT_FOLLOW = false,
10
- DEFAULT_VERBOSE = false,
11
10
  DEFAULT_VERSION = false,
12
11
  DEFAULT_LOG_LEVEL = INFO_LEVEL;
13
12
 
@@ -15,7 +14,6 @@ module.exports = {
15
14
  DEFAULT_HELP,
16
15
  DEFAULT_TAIL,
17
16
  DEFAULT_FOLLOW,
18
- DEFAULT_VERBOSE,
19
17
  DEFAULT_VERSION,
20
18
  DEFAULT_LOG_LEVEL
21
19
  };
package/bin/main.js CHANGED
@@ -8,12 +8,11 @@ const helpAction = require("./action/help"),
8
8
 
9
9
  const { NO_COMMAND_GIVEN_MESSAGE } = require("./messages"),
10
10
  { HELP_COMMAND, VERIFY_COMMAND, VERSION_COMMAND } = require("./commands"),
11
- { DEFAULT_TAIL, DEFAULT_FOLLOW, DEFAULT_VERBOSE, DEFAULT_LOG_LEVEL } = require("./defaults");
11
+ { DEFAULT_TAIL, DEFAULT_FOLLOW, DEFAULT_LOG_LEVEL } = require("./defaults");
12
12
 
13
13
  function main(command, argument, options) {
14
14
  const { tail = DEFAULT_TAIL,
15
15
  follow = DEFAULT_FOLLOW,
16
- verbose = DEFAULT_VERBOSE,
17
16
  logLevel = DEFAULT_LOG_LEVEL } = options;
18
17
 
19
18
  const log = Log.fromFollowAndLogLevel(follow, logLevel);
@@ -32,7 +31,7 @@ function main(command, argument, options) {
32
31
  }
33
32
 
34
33
  case VERIFY_COMMAND: {
35
- verifyAction(argument, verbose, log);
34
+ verifyAction(argument, log);
36
35
 
37
36
  break;
38
37
  }
@@ -46,7 +45,7 @@ function main(command, argument, options) {
46
45
  default: {
47
46
  argument = command; ///
48
47
 
49
- verifyAction(argument, verbose, log);
48
+ verifyAction(argument, log);
50
49
 
51
50
  break;
52
51
  }
package/bin/options.js CHANGED
@@ -4,7 +4,6 @@ const HELP_OPTION = "help",
4
4
  TAIL_OPTION = "tail",
5
5
  FOLLOW_OPTION = "follow",
6
6
  VERSION_OPTION = "version",
7
- VERBOSE_OPTION = "verbose",
8
7
  LOG_LEVEL_OPTION = "log-level";
9
8
 
10
9
  module.exports = {
@@ -12,6 +11,5 @@ module.exports = {
12
11
  TAIL_OPTION,
13
12
  FOLLOW_OPTION,
14
13
  VERSION_OPTION,
15
- VERBOSE_OPTION,
16
14
  LOG_LEVEL_OPTION
17
15
  };
@@ -70,8 +70,14 @@ function releaseContextFromJSON(json, context) {
70
70
 
71
71
  entries = Entries.fromJSON(json);
72
72
 
73
+ ({context} = json); ///
74
+
75
+ const contextJSON = context; ///
76
+
77
+ json = contextJSON; ///
78
+
73
79
  const released = true,
74
- releaseContext = ReleaseContext.fromLogNameEntriesAndReleased(log, name, entries, released);
80
+ releaseContext = ReleaseContext.fromLogNameJSONEntriesAndReleased(log, name, json, entries, released);
75
81
 
76
82
  return releaseContext;
77
83
  }
@@ -87,10 +93,11 @@ function releaseContextFromProject(project, context) {
87
93
  if (metaJSONFileValid) {
88
94
  const { log } = context,
89
95
  name = project.getName(),
96
+ json = null,
90
97
  entries = project.getEntries(),
91
98
  released = false;
92
99
 
93
- releaseContext = ReleaseContext.fromLogNameEntriesAndReleased(log, name, entries, released);
100
+ releaseContext = ReleaseContext.fromLogNameJSONEntriesAndReleased(log, name, json, entries, released);
94
101
  }
95
102
  }
96
103
 
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return SubproofAssertion;
9
+ }
10
+ });
11
+ var _statement = /*#__PURE__*/ _interop_require_default(require("../statement"));
12
+ var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
13
+ var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
14
+ var _array = require("../utilities/array");
15
+ var _query = require("../utilities/query");
16
+ function _class_call_check(instance, Constructor) {
17
+ if (!(instance instanceof Constructor)) {
18
+ throw new TypeError("Cannot call a class as a function");
19
+ }
20
+ }
21
+ function _defineProperties(target, props) {
22
+ for(var i = 0; i < props.length; i++){
23
+ var descriptor = props[i];
24
+ descriptor.enumerable = descriptor.enumerable || false;
25
+ descriptor.configurable = true;
26
+ if ("value" in descriptor) descriptor.writable = true;
27
+ Object.defineProperty(target, descriptor.key, descriptor);
28
+ }
29
+ }
30
+ function _create_class(Constructor, protoProps, staticProps) {
31
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
32
+ if (staticProps) _defineProperties(Constructor, staticProps);
33
+ return Constructor;
34
+ }
35
+ function _interop_require_default(obj) {
36
+ return obj && obj.__esModule ? obj : {
37
+ default: obj
38
+ };
39
+ }
40
+ var statementNodesQuery = (0, _query.nodesQuery)("/subproofAssertion/statement"), subproofAssertionNodeQuery = (0, _query.nodeQuery)("/statement/subproofAssertion");
41
+ var SubproofAssertion = /*#__PURE__*/ function() {
42
+ function SubproofAssertion(fileContext, string, statements) {
43
+ _class_call_check(this, SubproofAssertion);
44
+ this.fileContext = fileContext;
45
+ this.string = string;
46
+ this.statements = statements;
47
+ }
48
+ _create_class(SubproofAssertion, [
49
+ {
50
+ key: "getFileContext",
51
+ value: function getFileContext() {
52
+ return this.fileContext;
53
+ }
54
+ },
55
+ {
56
+ key: "getString",
57
+ value: function getString() {
58
+ return this.string;
59
+ }
60
+ },
61
+ {
62
+ key: "getStatements",
63
+ value: function getStatements() {
64
+ return this.statements;
65
+ }
66
+ },
67
+ {
68
+ key: "unifySubproof",
69
+ value: function unifySubproof(subproof, substitutions, localContext) {
70
+ var _this = this;
71
+ var subproofUnified;
72
+ var subproofString = subproof.getString(), subproofStatements = subproof.getStatements(), subproofAssertionString = this.string; ///
73
+ localContext.trace("Unifying the '".concat(subproofString, "' subproof with the '").concat(subproofAssertionString, "' subproof assertion..."));
74
+ subproofUnified = (0, _array.match)(this.statements, subproofStatements, function(statement, subproofStatement) {
75
+ var statementNode = statement.getNode(), subproofStatementNode = subproofStatement.getNode(), nodeA = statementNode, nodeB = subproofStatementNode, fileContextA = _this.fileContext, localContextA = _local.default.fromFileContext(fileContextA), localContextB = localContext, unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
76
+ if (unified) {
77
+ return true;
78
+ }
79
+ });
80
+ if (subproofUnified) {
81
+ localContext.debug("...unified the '".concat(subproofString, "' subproof with the '").concat(subproofAssertionString, "' subproof assertion."));
82
+ }
83
+ return subproofUnified;
84
+ }
85
+ }
86
+ ], [
87
+ {
88
+ key: "fromStatementNode",
89
+ value: function fromStatementNode(statementNode, fileContext) {
90
+ var subproofAssertion = null;
91
+ var subproofAssertionNode = subproofAssertionNodeQuery(statementNode);
92
+ if (subproofAssertionNode !== null) {
93
+ var node = subproofAssertionNode, string = fileContext.nodeAsString(node), localContext = _local.default.fromFileContext(fileContext), statementNodes = statementNodesQuery(subproofAssertionNode), statements = statementNodes.map(function(statementNode) {
94
+ var statement = _statement.default.fromStatementNode(statementNode, localContext);
95
+ return statement;
96
+ });
97
+ subproofAssertion = new SubproofAssertion(fileContext, string, statements);
98
+ }
99
+ return subproofAssertion;
100
+ }
101
+ }
102
+ ]);
103
+ return SubproofAssertion;
104
+ }();
105
+
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vc3VicHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBTdGF0ZW1lbnQgZnJvbSBcIi4uL3N0YXRlbWVudFwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5cbmltcG9ydCB7IG1hdGNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZkFzc2VydGlvbi9zdGF0ZW1lbnRcIiksXG4gICAgICBzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvc3VicHJvb2ZBc3NlcnRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnByb29mQXNzZXJ0aW9uIHtcbiAgY29uc3RydWN0b3IoZmlsZUNvbnRleHQsIHN0cmluZywgc3RhdGVtZW50cykge1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnN0YXRlbWVudHMgPSBzdGF0ZW1lbnRzO1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50cygpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnRzO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mVW5pZmllZDtcblxuICAgIGNvbnN0IHN1YnByb29mU3RyaW5nID0gc3VicHJvb2YuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3VicHJvb2ZTdGF0ZW1lbnRzID0gc3VicHJvb2YuZ2V0U3RhdGVtZW50cygpLFxuICAgICAgICAgIHN1YnByb29mQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnByb29mU3RyaW5nfScgc3VicHJvb2Ygd2l0aCB0aGUgJyR7c3VicHJvb2ZBc3NlcnRpb25TdHJpbmd9JyBzdWJwcm9vZiBhc3NlcnRpb24uLi5gKTtcblxuICAgIHN1YnByb29mVW5pZmllZCA9IG1hdGNoKHRoaXMuc3RhdGVtZW50cywgc3VicHJvb2ZTdGF0ZW1lbnRzLCAoc3RhdGVtZW50LCBzdWJwcm9vZlN0YXRlbWVudCkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgICAgICBzdWJwcm9vZlN0YXRlbWVudE5vZGUgPSBzdWJwcm9vZlN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgICAgICBub2RlQSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIG5vZGVCID0gc3VicHJvb2ZTdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBmaWxlQ29udGV4dEEgPSB0aGlzLmZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBsb2NhbENvbnRleHRBID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dEEpLFxuICAgICAgICAgICAgbG9jYWxDb250ZXh0QiA9IGxvY2FsQ29udGV4dCwgLy8vXG4gICAgICAgICAgICB1bmlmaWVkID0gbWV0YUxldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBpZiAodW5pZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChzdWJwcm9vZlVuaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSAnJHtzdWJwcm9vZkFzc2VydGlvblN0cmluZ30nIHN1YnByb29mIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZVbmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mQXNzZXJ0aW9uID0gbnVsbDtcblxuICAgIGNvbnN0IHN1YnByb29mQXNzZXJ0aW9uTm9kZSA9IHN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKHN1YnByb29mQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZSA9IHN1YnByb29mQXNzZXJ0aW9uTm9kZSwgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVzID0gc3RhdGVtZW50Tm9kZXNRdWVyeShzdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgc3RhdGVtZW50cyA9IHN0YXRlbWVudE5vZGVzLm1hcCgoc3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgICAgICByZXR1cm4gc3RhdGVtZW50O1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIHN1YnByb29mQXNzZXJ0aW9uID0gbmV3IFN1YnByb29mQXNzZXJ0aW9uKGZpbGVDb250ZXh0LCBzdHJpbmcsIHN0YXRlbWVudHMpO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZkFzc2VydGlvbjtcbiAgfVxufSJdLCJuYW1lcyI6WyJTdWJwcm9vZkFzc2VydGlvbiIsInN0YXRlbWVudE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5Iiwic3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJmaWxlQ29udGV4dCIsInN0cmluZyIsInN0YXRlbWVudHMiLCJnZXRGaWxlQ29udGV4dCIsImdldFN0cmluZyIsImdldFN0YXRlbWVudHMiLCJ1bmlmeVN1YnByb29mIiwic3VicHJvb2YiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0Iiwic3VicHJvb2ZVbmlmaWVkIiwic3VicHJvb2ZTdHJpbmciLCJzdWJwcm9vZlN0YXRlbWVudHMiLCJzdWJwcm9vZkFzc2VydGlvblN0cmluZyIsInRyYWNlIiwibWF0Y2giLCJzdGF0ZW1lbnQiLCJzdWJwcm9vZlN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwic3VicHJvb2ZTdGF0ZW1lbnROb2RlIiwibm9kZUEiLCJub2RlQiIsImZpbGVDb250ZXh0QSIsImxvY2FsQ29udGV4dEEiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJsb2NhbENvbnRleHRCIiwidW5pZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSIsImRlYnVnIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJzdWJwcm9vZkFzc2VydGlvbiIsInN1YnByb29mQXNzZXJ0aW9uTm9kZSIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJzdGF0ZW1lbnROb2RlcyIsIm1hcCIsIlN0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
@@ -43,7 +43,7 @@ var MetavariableAssignment = /*#__PURE__*/ function() {
43
43
  key: "assign",
44
44
  value: function assign(fileContext) {
45
45
  var metavariableAdded = fileContext.addMetavariable(this.metavariable), metavariableNode = this.metavariable.getNode(), metavariableString = fileContext.nodeAsString(metavariableNode), metavariableAssigned = metavariableAdded; ///
46
- metavariableAssigned ? fileContext.trace("Assigned the '".concat(metavariableString, "' metavariable."), metavariableNode) : fileContext.debug("Unable to assign the '".concat(metavariableString, "' metavariable."), metavariableNode);
46
+ metavariableAssigned ? fileContext.trace("Assigned the '".concat(metavariableString, "' metavariable.")) : fileContext.debug("Unable to assign the '".concat(metavariableString, "' metavariable."));
47
47
  return metavariableAssigned;
48
48
  }
49
49
  }
@@ -59,4 +59,4 @@ var MetavariableAssignment = /*#__PURE__*/ function() {
59
59
  return MetavariableAssignment;
60
60
  }();
61
61
 
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ25tZW50L21ldGF2YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YXZhcmlhYmxlQXNzaWdubWVudCB7XG4gIGNvbnN0cnVjdG9yKG1ldGF2YXJpYWJsZSkge1xuICAgIHRoaXMubWV0YXZhcmlhYmxlID0gbWV0YXZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIGFzc2lnbihmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUFkZGVkID0gZmlsZUNvbnRleHQuYWRkTWV0YXZhcmlhYmxlKHRoaXMubWV0YXZhcmlhYmxlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5tZXRhdmFyaWFibGUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVBc3NpZ25lZCA9IG1ldGF2YXJpYWJsZUFkZGVkOyAvLy9cblxuICAgIG1ldGF2YXJpYWJsZUFzc2lnbmVkID9cbiAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGBBc3NpZ25lZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpIDpcbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFVuYWJsZSB0byBhc3NpZ24gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVBc3NpZ25lZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUFzc2lnbm1lbnQgPSBuZXcgTWV0YXZhcmlhYmxlQXNzaWdubWVudChtZXRhdmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZUFzc2lnbm1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJNZXRhdmFyaWFibGVBc3NpZ25tZW50IiwibWV0YXZhcmlhYmxlIiwiZ2V0TWV0YXZhcmlhYmxlIiwiYXNzaWduIiwiZmlsZUNvbnRleHQiLCJtZXRhdmFyaWFibGVBZGRlZCIsImFkZE1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXROb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXZhcmlhYmxlQXNzaWduZWQiLCJ0cmFjZSIsImRlYnVnIiwiZnJvbU1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZUFzc2lnbm1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsdUNBQU47YUFBTUEsdUJBQ1BDLFlBQVk7Z0NBRExEO1FBRWpCLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTs7a0JBRkhEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRCxZQUFZO1lBQzFCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLFdBQVc7Z0JBQ2hCLElBQU1DLG9CQUFvQkQsWUFBWUUsZUFBZSxDQUFDLElBQUksQ0FBQ0wsWUFBWSxHQUNqRU0sbUJBQW1CLElBQUksQ0FBQ04sWUFBWSxDQUFDTyxPQUFPLElBQzVDQyxxQkFBcUJMLFlBQVlNLFlBQVksQ0FBQ0gsbUJBQzlDSSx1QkFBdUJOLG1CQUFtQixHQUFHO2dCQUVuRE0sdUJBQ0VQLFlBQVlRLEtBQUssQ0FBQyxBQUFDLGlCQUFtQyxPQUFuQkgsb0JBQW1CLG9CQUFrQkYsb0JBQ3RFSCxZQUFZUyxLQUFLLENBQUMsQUFBQyx5QkFBMkMsT0FBbkJKLG9CQUFtQixvQkFBa0JGO2dCQUVwRixPQUFPSTtZQUNUOzs7O1lBRU9HLEtBQUFBO21CQUFQLFNBQU9BLGlCQUFpQmIsWUFBWTtnQkFDbEMsSUFBTWMseUJBQXlCLElBdkJkZix1QkF1QnlDQztnQkFFMUQsT0FBT2M7WUFDVDs7O1dBMUJtQmYifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ25tZW50L21ldGF2YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YXZhcmlhYmxlQXNzaWdubWVudCB7XG4gIGNvbnN0cnVjdG9yKG1ldGF2YXJpYWJsZSkge1xuICAgIHRoaXMubWV0YXZhcmlhYmxlID0gbWV0YXZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIGFzc2lnbihmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUFkZGVkID0gZmlsZUNvbnRleHQuYWRkTWV0YXZhcmlhYmxlKHRoaXMubWV0YXZhcmlhYmxlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5tZXRhdmFyaWFibGUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVBc3NpZ25lZCA9IG1ldGF2YXJpYWJsZUFkZGVkOyAvLy9cblxuICAgIG1ldGF2YXJpYWJsZUFzc2lnbmVkID9cbiAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGBBc3NpZ25lZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmApIDpcbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFVuYWJsZSB0byBhc3NpZ24gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVBc3NpZ25lZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUFzc2lnbm1lbnQgPSBuZXcgTWV0YXZhcmlhYmxlQXNzaWdubWVudChtZXRhdmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZUFzc2lnbm1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJNZXRhdmFyaWFibGVBc3NpZ25tZW50IiwibWV0YXZhcmlhYmxlIiwiZ2V0TWV0YXZhcmlhYmxlIiwiYXNzaWduIiwiZmlsZUNvbnRleHQiLCJtZXRhdmFyaWFibGVBZGRlZCIsImFkZE1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXROb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXZhcmlhYmxlQXNzaWduZWQiLCJ0cmFjZSIsImRlYnVnIiwiZnJvbU1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZUFzc2lnbm1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsdUNBQU47YUFBTUEsdUJBQ1BDLFlBQVk7Z0NBRExEO1FBRWpCLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTs7a0JBRkhEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRCxZQUFZO1lBQzFCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLFdBQVc7Z0JBQ2hCLElBQU1DLG9CQUFvQkQsWUFBWUUsZUFBZSxDQUFDLElBQUksQ0FBQ0wsWUFBWSxHQUNqRU0sbUJBQW1CLElBQUksQ0FBQ04sWUFBWSxDQUFDTyxPQUFPLElBQzVDQyxxQkFBcUJMLFlBQVlNLFlBQVksQ0FBQ0gsbUJBQzlDSSx1QkFBdUJOLG1CQUFtQixHQUFHO2dCQUVuRE0sdUJBQ0VQLFlBQVlRLEtBQUssQ0FBQyxBQUFDLGlCQUFtQyxPQUFuQkgsb0JBQW1CLHNCQUNwREwsWUFBWVMsS0FBSyxDQUFDLEFBQUMseUJBQTJDLE9BQW5CSixvQkFBbUI7Z0JBRWxFLE9BQU9FO1lBQ1Q7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsaUJBQWlCYixZQUFZO2dCQUNsQyxJQUFNYyx5QkFBeUIsSUF2QmRmLHVCQXVCeUNDO2dCQUUxRCxPQUFPYztZQUNUOzs7V0ExQm1CZiJ9
package/lib/combinator.js CHANGED
@@ -8,7 +8,9 @@ Object.defineProperty(exports, "default", {
8
8
  return Combinator;
9
9
  }
10
10
  });
11
- var _string = require("./utilities/string");
11
+ var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
12
+ var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
13
+ var _query = require("./utilities/query");
12
14
  function _class_call_check(instance, Constructor) {
13
15
  if (!(instance instanceof Constructor)) {
14
16
  throw new TypeError("Cannot call a class as a function");
@@ -28,39 +30,71 @@ function _create_class(Constructor, protoProps, staticProps) {
28
30
  if (staticProps) _defineProperties(Constructor, staticProps);
29
31
  return Constructor;
30
32
  }
33
+ function _interop_require_default(obj) {
34
+ return obj && obj.__esModule ? obj : {
35
+ default: obj
36
+ };
37
+ }
38
+ var statementNodeQuery = (0, _query.nodeQuery)("/combinatorDeclaration/statement");
31
39
  var Combinator = /*#__PURE__*/ function() {
32
- function Combinator(statementNode, string) {
40
+ function Combinator(statement) {
33
41
  _class_call_check(this, Combinator);
34
- this.statementNode = statementNode;
35
- this.string = string;
42
+ this.statement = statement;
36
43
  }
37
44
  _create_class(Combinator, [
38
45
  {
39
- key: "getStatementNode",
40
- value: function getStatementNode() {
41
- return this.statementNode;
46
+ key: "getStatement",
47
+ value: function getStatement() {
48
+ return this.statement;
42
49
  }
43
50
  },
44
51
  {
45
52
  key: "getString",
46
53
  value: function getString() {
47
- return this.string;
54
+ return this.statement.getString();
55
+ }
56
+ },
57
+ {
58
+ key: "getStatementNode",
59
+ value: function getStatementNode() {
60
+ var statementNode = this.statement.getNode();
61
+ return statementNode;
62
+ }
63
+ },
64
+ {
65
+ key: "verify",
66
+ value: function verify(fileContext) {
67
+ var localContext = _local.default.fromFileContext(fileContext), statementVerifiedAsCombinator = this.statement.verifyAsCombinator(localContext), verified = statementVerifiedAsCombinator; ///
68
+ return verified;
69
+ }
70
+ },
71
+ {
72
+ key: "toJSON",
73
+ value: function toJSON() {
74
+ var statementString = this.statement.getString(), statement = statementString, json = {
75
+ statement: statement
76
+ };
77
+ return json;
48
78
  }
49
79
  }
50
80
  ], [
51
81
  {
52
- key: "fromStatementNodeAndTokens",
53
- value: function fromStatementNodeAndTokens(statementNode, tokens) {
54
- var string = stringFromStatementNodeAndTokens(statementNode, tokens), combinator = new Combinator(statementNode, string);
82
+ key: "fromJSON",
83
+ value: function fromJSON(json, fileContext) {
84
+ var combinator = null;
85
+ debugger;
86
+ return combinator;
87
+ }
88
+ },
89
+ {
90
+ key: "fromCombinatorDeclarationNode",
91
+ value: function fromCombinatorDeclarationNode(combinatorDeclarationNode, fileContext) {
92
+ var Statement = _shim.default.Statement, statementNode = statementNodeQuery(combinatorDeclarationNode), localContext = _local.default.fromFileContext(fileContext), statement = Statement.fromStatementNode(statementNode, localContext), combinator = new Combinator(statement);
55
93
  return combinator;
56
94
  }
57
95
  }
58
96
  ]);
59
97
  return Combinator;
60
98
  }();
61
- function stringFromStatementNodeAndTokens(statementNode, tokens) {
62
- var statementString = (0, _string.nodeAsString)(statementNode, tokens), string = statementString; ///
63
- return string;
64
- }
65
99
 
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnROb2RlLCBzdHJpbmcpIHtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZUFuZFRva2VucyhzdGF0ZW1lbnROb2RlLCB0b2tlbnMpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBzdHJpbmdGcm9tU3RhdGVtZW50Tm9kZUFuZFRva2VucyhzdGF0ZW1lbnROb2RlLCB0b2tlbnMpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBzdHJpbmcpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbVN0YXRlbWVudE5vZGVBbmRUb2tlbnMoc3RhdGVtZW50Tm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlLCB0b2tlbnMpLFxuICAgICAgICBzdHJpbmcgPSBzdGF0ZW1lbnRTdHJpbmc7IC8vL1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiQ29tYmluYXRvciIsInN0YXRlbWVudE5vZGUiLCJzdHJpbmciLCJnZXRTdGF0ZW1lbnROb2RlIiwiZ2V0U3RyaW5nIiwiZnJvbVN0YXRlbWVudE5vZGVBbmRUb2tlbnMiLCJ0b2tlbnMiLCJzdHJpbmdGcm9tU3RhdGVtZW50Tm9kZUFuZFRva2VucyIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7O3NCQUZROzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVkLElBQUEsQUFBTUEsMkJBQU47YUFBTUEsV0FDUEMsYUFBYSxFQUFFQyxNQUFNO2dDQURkRjtRQUVqQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7UUFDckIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBOztrQkFIR0Y7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLGFBQWE7WUFDM0I7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLE1BQU07WUFDcEI7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsMkJBQTJCSixhQUFhLEVBQUVLLE1BQU07Z0JBQ3JELElBQU1KLFNBQVNLLGlDQUFpQ04sZUFBZUssU0FDekRFLGFBQWEsSUFoQkZSLFdBZ0JpQkMsZUFBZUM7Z0JBRWpELE9BQU9NO1lBQ1Q7OztXQW5CbUJSOztBQXNCckIsU0FBU08saUNBQWlDTixhQUFhLEVBQUVLLE1BQU07SUFDN0QsSUFBTUcsa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDVCxlQUFlSyxTQUM5Q0osU0FBU08saUJBQWlCLEdBQUc7SUFFbkMsT0FBT1A7QUFDVCJ9
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21iaW5hdG9yRGVjbGFyYXRpb24vc3RhdGVtZW50XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iaW5hdG9yIHtcbiAgY29uc3RydWN0b3Ioc3RhdGVtZW50KSB7XG4gICAgdGhpcy5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkgeyByZXR1cm4gdGhpcy5zdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7IH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSB0aGlzLnN0YXRlbWVudC5nZXROb2RlKCk7XG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHZlcmlmeShmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5QXNDb21iaW5hdG9yKGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgdmVyaWZpZWQgPSBzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvcjsgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gdGhpcy5zdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBjb21iaW5hdG9yID0gbnVsbDtcblxuICAgIGRlYnVnZ2VyXG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldE5vZGUiLCJ2ZXJpZnkiLCJmaWxlQ29udGV4dCIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yIiwidmVyaWZ5QXNDb21iaW5hdG9yIiwidmVyaWZpZWQiLCJ0b0pTT04iLCJzdGF0ZW1lbnRTdHJpbmciLCJqc29uIiwiZnJvbUpTT04iLCJjb21iaW5hdG9yIiwiZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiU3RhdGVtZW50Iiwic2hpbSIsImZyb21TdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzsyREFQSjs0REFDUTtxQkFFQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsSUFBQSxBQUFNRiwyQkFBTjthQUFNQSxXQUNQRyxTQUFTO2dDQURGSDtRQUVqQixJQUFJLENBQUNHLFNBQVMsR0FBR0E7O2tCQUZBSDs7WUFLbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsU0FBUztZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDRSxTQUFTO1lBQUk7OztZQUVqREMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQixJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssT0FBTztnQkFFNUMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxXQUFXO2dCQUNoQixJQUFNQyxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ0gsY0FDNUNJLGdDQUFnQyxJQUFJLENBQUNYLFNBQVMsQ0FBQ1ksa0JBQWtCLENBQUNKLGVBQ2xFSyxXQUFXRiwrQkFBK0IsR0FBRztnQkFFbkQsT0FBT0U7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxrQkFBa0IsSUFBSSxDQUFDZixTQUFTLENBQUNFLFNBQVMsSUFDMUNGLFlBQVllLGlCQUNaQyxPQUFPO29CQUNMaEIsV0FBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT2dCO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFVCxXQUFXO2dCQUMvQixJQUFJVyxhQUFhO2dCQUVqQixRQUFRO2dCQUVSLE9BQU9BO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSw4QkFBOEJDLHlCQUF5QixFQUFFYixXQUFXO2dCQUN6RSxJQUFNLEFBQUVjLFlBQWNDLGFBQUksQ0FBbEJELFdBQ0ZqQixnQkFBZ0JOLG1CQUFtQnNCLDRCQUNuQ1osZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNILGNBQzVDUCxZQUFZcUIsVUFBVUUsaUJBQWlCLENBQUNuQixlQUFlSSxlQUN2RFUsYUFBYSxJQWhERnJCLFdBZ0RpQkc7Z0JBRWxDLE9BQU9rQjtZQUNUOzs7V0FuRG1CckIifQ==
package/lib/conclusion.js CHANGED
@@ -8,7 +8,11 @@ Object.defineProperty(exports, "default", {
8
8
  return Conclusion;
9
9
  }
10
10
  });
11
+ var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
11
12
  var _metaLevel = /*#__PURE__*/ _interop_require_default(require("./unifier/metaLevel"));
13
+ var _unqualified = /*#__PURE__*/ _interop_require_default(require("./statement/unqualified"));
14
+ var _string = require("./utilities/string");
15
+ var _query = require("./utilities/query");
12
16
  function _class_call_check(instance, Constructor) {
13
17
  if (!(instance instanceof Constructor)) {
14
18
  throw new TypeError("Cannot call a class as a function");
@@ -33,34 +37,90 @@ function _interop_require_default(obj) {
33
37
  default: obj
34
38
  };
35
39
  }
40
+ var unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/conclusion/unqualifiedStatement");
36
41
  var Conclusion = /*#__PURE__*/ function() {
37
- function Conclusion(statementNode) {
42
+ function Conclusion(fileContext, unqualifiedStatement) {
38
43
  _class_call_check(this, Conclusion);
39
- this.statementNode = statementNode;
44
+ this.fileContext = fileContext;
45
+ this.unqualifiedStatement = unqualifiedStatement;
40
46
  }
41
47
  _create_class(Conclusion, [
42
48
  {
43
- key: "getStatementNode",
44
- value: function getStatementNode() {
45
- return this.statementNode;
49
+ key: "getFileContext",
50
+ value: function getFileContext() {
51
+ return this.fileContext;
52
+ }
53
+ },
54
+ {
55
+ key: "getUnqualifiedStatement",
56
+ value: function getUnqualifiedStatement() {
57
+ return this.unqualifiedStatement;
58
+ }
59
+ },
60
+ {
61
+ key: "getString",
62
+ value: function getString() {
63
+ return this.unqualifiedStatement.getString();
64
+ }
65
+ },
66
+ {
67
+ key: "getStatement",
68
+ value: function getStatement() {
69
+ return this.unqualifiedStatement.getStatement();
46
70
  }
47
71
  },
48
72
  {
49
73
  key: "unifyStatement",
50
- value: function unifyStatement(statementNodeB, substitutions, localContextA, localContextB) {
51
- var statementUnified = false;
52
- if (this.statementNode !== null) {
53
- var nodeA = this.statementNode, nodeB = statementNodeB, unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
54
- statementUnified = unified; ///
74
+ value: function unifyStatement(statement, substitutions, localContext) {
75
+ var statementUnified;
76
+ var conclusion = this, statementString = statement.getString(), conclusionStatement = conclusion.getStatement(), conclusionStatementString = conclusionStatement.getString();
77
+ localContext.trace("Unifying the '".concat(statementString, "' statement with the conclusion's '").concat(conclusionStatementString, "' statement..."));
78
+ var statementNode = statement.getNode(), conclusionStatementNode = conclusionStatement.getNode(), nodeA = conclusionStatementNode, nodeB = statementNode, fileContextA = this.fileContext, localContextA = _local.default.fromFileContext(fileContextA), localContextB = localContext, unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
79
+ statementUnified = unified; ///
80
+ if (statementUnified) {
81
+ localContext.debug("...unified the '".concat(statementString, "' statement with the conclusion's '").concat(conclusionStatementString, "' statement."));
55
82
  }
56
83
  return statementUnified;
57
84
  }
85
+ },
86
+ {
87
+ key: "verify",
88
+ value: function verify(localContext) {
89
+ var verified = false, conclusionString = this.getString(); ///
90
+ conclusionString = (0, _string.trim)(conclusionString); ///
91
+ localContext.trace("Verifying the '".concat(conclusionString, "' conclusion..."));
92
+ var stated = true, assignments = [], unqualifiedStatementVerified = this.unqualifiedStatement.verify(assignments, stated, localContext);
93
+ if (unqualifiedStatementVerified) {
94
+ verified = true;
95
+ }
96
+ if (verified) {
97
+ localContext.debug("...verified the '".concat(conclusionString, "' conclusion."));
98
+ }
99
+ return verified;
100
+ }
101
+ },
102
+ {
103
+ key: "toJSON",
104
+ value: function toJSON() {
105
+ var unqualifiedStatementString = this.unqualifiedStatement.getString(), unqualifiedStatement = unqualifiedStatementString, json = {
106
+ unqualifiedStatement: unqualifiedStatement
107
+ };
108
+ return json;
109
+ }
58
110
  }
59
111
  ], [
60
112
  {
61
- key: "fromStatementNode",
62
- value: function fromStatementNode(statementNode) {
63
- var conclusion = new Conclusion(statementNode);
113
+ key: "fromJSON",
114
+ value: function fromJSON(json, fileContext) {
115
+ var conclusion = null;
116
+ debugger;
117
+ return conclusion;
118
+ }
119
+ },
120
+ {
121
+ key: "fromConclusionNode",
122
+ value: function fromConclusionNode(conclusionNode, fileContext) {
123
+ var unqualifiedStatementNode = unqualifiedStatementNodeQuery(conclusionNode), unqualifiedStatement = _unqualified.default.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext), conclusion = new Conclusion(fileContext, unqualifiedStatement);
64
124
  return conclusion;
65
125
  }
66
126
  }
@@ -68,4 +128,4 @@ var Conclusion = /*#__PURE__*/ function() {
68
128
  return Conclusion;
69
129
  }();
70
130
 
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25jbHVzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbWV0YUxldmVsVW5pZmllciBmcm9tIFwiLi91bmlmaWVyL21ldGFMZXZlbFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25jbHVzaW9uIHtcbiAgY29uc3RydWN0b3Ioc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgbm9kZUIgPSBzdGF0ZW1lbnROb2RlQiwgIC8vL1xuICAgICAgICAgICAgdW5pZmllZCA9IG1ldGFMZXZlbFVuaWZpZXIudW5pZnkobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgc3RhdGVtZW50VW5pZmllZCA9IHVuaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBjb25jbHVzaW9uID0gbmV3IENvbmNsdXNpb24oc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29uY2x1c2lvbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbmNsdXNpb24iLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJzdGF0ZW1lbnRVbmlmaWVkIiwibm9kZUEiLCJub2RlQiIsInVuaWZpZWQiLCJtZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJmcm9tU3RhdGVtZW50Tm9kZSIsImNvbmNsdXNpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7O2dFQUZROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWQsSUFBQSxBQUFNQSwyQkFBTjthQUFNQSxXQUNQQyxhQUFhO2dDQURORDtRQUVqQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7O2tCQUZKRDs7WUFLbkJFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsYUFBYTtZQUMzQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlQyxjQUFjLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO2dCQUN4RSxJQUFJQyxtQkFBbUI7Z0JBRXZCLElBQUksSUFBSSxDQUFDUCxhQUFhLEtBQUssTUFBTTtvQkFDL0IsSUFBTVEsUUFBUSxJQUFJLENBQUNSLGFBQWEsRUFDMUJTLFFBQVFOLGdCQUNSTyxVQUFVQyxrQkFBZ0IsQ0FBQ0MsS0FBSyxDQUFDSixPQUFPQyxPQUFPTCxlQUFlQyxlQUFlQztvQkFFbkZDLG1CQUFtQkcsU0FBUyxHQUFHO2dCQUNqQztnQkFFQSxPQUFPSDtZQUNUOzs7O1lBRU9NLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQmIsYUFBYTtnQkFDcEMsSUFBTWMsYUFBYSxJQXhCRmYsV0F3QmlCQztnQkFFbEMsT0FBT2M7WUFDVDs7O1dBM0JtQmYifQ==
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25jbHVzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBtZXRhTGV2ZWxVbmlmaWVyIGZyb20gXCIuL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5pbXBvcnQgVW5xdWFsaWZpZWRTdGF0ZW1lbnQgZnJvbSBcIi4vc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IHRyaW0gfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uY2x1c2lvbi91bnF1YWxpZmllZFN0YXRlbWVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uY2x1c2lvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCB1bnF1YWxpZmllZFN0YXRlbWVudCkge1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgICB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50ID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldFVucXVhbGlmaWVkU3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkgeyByZXR1cm4gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC5nZXRTdHJpbmcoKTsgfVxuXG4gIGdldFN0YXRlbWVudCgpIHsgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RhdGVtZW50KCk7IH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVkO1xuXG4gICAgY29uc3QgY29uY2x1c2lvbiA9IHRoaXMsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjb25jbHVzaW9uU3RhdGVtZW50ID0gY29uY2x1c2lvbi5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBjb25jbHVzaW9uU3RhdGVtZW50U3RyaW5nID0gY29uY2x1c2lvblN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBjb25jbHVzaW9uJ3MgJyR7Y29uY2x1c2lvblN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgICAgY29uY2x1c2lvblN0YXRlbWVudE5vZGUgPSBjb25jbHVzaW9uU3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlQSA9IGNvbmNsdXNpb25TdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9kZUIgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgZmlsZUNvbnRleHRBID0gdGhpcy5maWxlQ29udGV4dCwgIC8vL1xuICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0QiA9IGxvY2FsQ29udGV4dCwgLy8vXG4gICAgICAgICAgdW5pZmllZCA9IG1ldGFMZXZlbFVuaWZpZXIudW5pZnkobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSB1bmlmaWVkOyAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBjb25jbHVzaW9uJ3MgJyR7Y29uY2x1c2lvblN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeShsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgICAgY29uY2x1c2lvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbmNsdXNpb25TdHJpbmcgPSB0cmltKGNvbmNsdXNpb25TdHJpbmcpOyAgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29uY2x1c2lvblN0cmluZ30nIGNvbmNsdXNpb24uLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb25jbHVzaW9uU3RyaW5nfScgY29uY2x1c2lvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50ID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcsICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgY29uY2x1c2lvbiA9IG51bGw7XG5cbiAgICBkZWJ1Z2dlclxuXG4gICAgcmV0dXJuIGNvbmNsdXNpb247XG4gIH1cbiAgc3RhdGljIGZyb21Db25jbHVzaW9uTm9kZShjb25jbHVzaW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShjb25jbHVzaW9uTm9kZSksXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSBVbnF1YWxpZmllZFN0YXRlbWVudC5mcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbmNsdXNpb24gPSBuZXcgQ29uY2x1c2lvbihmaWxlQ29udGV4dCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIGNvbmNsdXNpb247XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb25jbHVzaW9uIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJmaWxlQ29udGV4dCIsInVucXVhbGlmaWVkU3RhdGVtZW50IiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRVbnF1YWxpZmllZFN0YXRlbWVudCIsImdldFN0cmluZyIsImdldFN0YXRlbWVudCIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50Iiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWQiLCJjb25jbHVzaW9uIiwic3RhdGVtZW50U3RyaW5nIiwiY29uY2x1c2lvblN0YXRlbWVudCIsImNvbmNsdXNpb25TdGF0ZW1lbnRTdHJpbmciLCJ0cmFjZSIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwiY29uY2x1c2lvblN0YXRlbWVudE5vZGUiLCJub2RlQSIsIm5vZGVCIiwiZmlsZUNvbnRleHRBIiwibG9jYWxDb250ZXh0QSIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImxvY2FsQ29udGV4dEIiLCJ1bmlmaWVkIiwibWV0YUxldmVsVW5pZmllciIsInVuaWZ5IiwiZGVidWciLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsImNvbmNsdXNpb25TdHJpbmciLCJ0cmltIiwic3RhdGVkIiwiYXNzaWdubWVudHMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidG9KU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJqc29uIiwiZnJvbUpTT04iLCJmcm9tQ29uY2x1c2lvbk5vZGUiLCJjb25jbHVzaW9uTm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsIlVucXVhbGlmaWVkU3RhdGVtZW50IiwiZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7NERBVEk7Z0VBQ0k7a0VBQ0k7c0JBRVo7cUJBQ0s7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUMsZ0NBQWdDQyxJQUFBQSxnQkFBUyxFQUFDO0FBRWpDLElBQUEsQUFBTUYsMkJBQU47YUFBTUEsV0FDUEcsV0FBVyxFQUFFQyxvQkFBb0I7Z0NBRDFCSjtRQUVqQixJQUFJLENBQUNHLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxvQkFBb0Is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