occam-verify-cli 1.0.438 → 1.0.448

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 (222) hide show
  1. package/lib/context/file.js +42 -39
  2. package/lib/context/local.js +34 -34
  3. package/lib/context/release.js +3 -7
  4. package/lib/context/temporary.js +26 -26
  5. package/lib/element/assertion/contained.js +45 -45
  6. package/lib/element/assertion/defined.js +13 -13
  7. package/lib/element/assertion/property.js +23 -22
  8. package/lib/element/assertion/satisfies.js +7 -6
  9. package/lib/element/assertion/subproof.js +20 -17
  10. package/lib/element/assertion/type.js +3 -2
  11. package/lib/element/assertion.js +1 -23
  12. package/lib/element/assumption.js +24 -22
  13. package/lib/element/axiom.js +27 -30
  14. package/lib/element/axiomLemmaTheoremConjecture.js +50 -57
  15. package/lib/element/{statement/combinator → combinator}/bracketed.js +16 -16
  16. package/lib/element/combinator.js +229 -0
  17. package/lib/element/conclusion.js +11 -9
  18. package/lib/element/{term/constructor → constructor}/bracketed.js +5 -5
  19. package/lib/element/constructor.js +232 -0
  20. package/lib/element/declaration/combinator.js +2 -16
  21. package/lib/element/declaration/complexType.js +12 -12
  22. package/lib/element/declaration/constructor.js +13 -11
  23. package/lib/element/declaration/simpleType.js +4 -4
  24. package/lib/element/declaration/typePrefix.js +2 -2
  25. package/lib/element/declaration/variable.js +3 -3
  26. package/lib/element/deduction.js +11 -9
  27. package/lib/element/derivation.js +17 -20
  28. package/lib/element/equivalence.js +10 -10
  29. package/lib/element/equivalences.js +5 -5
  30. package/lib/element/frame.js +32 -38
  31. package/lib/element/hypothesis.js +16 -57
  32. package/lib/element/judgement.js +6 -4
  33. package/lib/element/label.js +8 -8
  34. package/lib/element/metaLemmaMetatheorem.js +6 -39
  35. package/lib/element/metaType.js +17 -80
  36. package/lib/element/metavariable.js +38 -34
  37. package/lib/element/parameter.js +3 -3
  38. package/lib/element/premise.js +92 -174
  39. package/lib/element/proof.js +7 -7
  40. package/lib/element/proofAssertion.js +203 -0
  41. package/lib/element/property.js +9 -9
  42. package/lib/element/propertyRelation.js +13 -13
  43. package/lib/element/reference.js +16 -17
  44. package/lib/element/rule.js +46 -46
  45. package/lib/element/signature.js +11 -11
  46. package/lib/element/statement.js +18 -18
  47. package/lib/element/step.js +73 -124
  48. package/lib/element/subDerivation.js +17 -20
  49. package/lib/element/subproof.js +16 -24
  50. package/lib/element/substitution/frame.js +1 -7
  51. package/lib/element/substitution/reference.js +2 -3
  52. package/lib/element/substitution/statement.js +44 -15
  53. package/lib/element/substitution/term.js +10 -57
  54. package/lib/element/substitution.js +5 -11
  55. package/lib/element/substitutions.js +29 -29
  56. package/lib/element/supposition.js +95 -177
  57. package/lib/element/term.js +21 -34
  58. package/lib/element/type.js +47 -60
  59. package/lib/element/typePrefix.js +5 -5
  60. package/lib/element/variable.js +9 -9
  61. package/lib/element.js +9 -3
  62. package/lib/metaTypes.js +63 -0
  63. package/lib/node/axiomLemmaTheoremConjecture.js +9 -9
  64. package/lib/node/body/axiom.js +2 -25
  65. package/lib/node/body/conjecture.js +2 -25
  66. package/lib/node/body/lemma.js +2 -25
  67. package/lib/node/body/metaLemma.js +2 -25
  68. package/lib/node/body/metatheorem.js +2 -25
  69. package/lib/node/body/rule.js +15 -1
  70. package/lib/node/body/theorem.js +2 -25
  71. package/lib/node/body.js +25 -2
  72. package/lib/node/combinator.js +11 -2
  73. package/lib/node/constructor.js +11 -2
  74. package/lib/node/declaration/combinator.js +5 -5
  75. package/lib/node/declaration/constructor.js +8 -8
  76. package/lib/node/declaration/property.js +15 -15
  77. package/lib/node/declaration/simpleType.js +31 -31
  78. package/lib/node/declaration/variable.js +8 -8
  79. package/lib/node/equality.js +8 -8
  80. package/lib/node/frame.js +20 -20
  81. package/lib/node/header.js +22 -22
  82. package/lib/node/metaLemmaMetaTheorem.js +16 -16
  83. package/lib/node/metavariable.js +15 -15
  84. package/lib/node/property.js +8 -8
  85. package/lib/node/propertyRelation.js +8 -8
  86. package/lib/node/rule.js +16 -16
  87. package/lib/node/statement.js +12 -12
  88. package/lib/node/step.js +22 -22
  89. package/lib/node/subDerivation.js +1 -8
  90. package/lib/node/subproof.js +5 -12
  91. package/lib/node/substitution/frame.js +19 -19
  92. package/lib/node/substitution/statement.js +19 -19
  93. package/lib/node/substitution/term.js +19 -19
  94. package/lib/node/term.js +35 -35
  95. package/lib/preamble.js +5 -5
  96. package/lib/process/instantiate.js +20 -2
  97. package/lib/process/unify.js +39 -42
  98. package/lib/process/validate.js +431 -0
  99. package/lib/process/verify.js +44 -135
  100. package/lib/types.js +27 -0
  101. package/lib/utilities/brackets.js +9 -14
  102. package/lib/utilities/element.js +91 -55
  103. package/lib/utilities/instance.js +41 -28
  104. package/lib/utilities/statement.js +2 -2
  105. package/lib/utilities/string.js +25 -14
  106. package/lib/utilities/unification.js +237 -0
  107. package/lib/utilities/validation.js +251 -0
  108. package/package.json +6 -6
  109. package/src/context/file.js +40 -34
  110. package/src/context/local.js +34 -34
  111. package/src/context/release.js +2 -6
  112. package/src/context/temporary.js +15 -15
  113. package/src/element/assertion/contained.js +19 -20
  114. package/src/element/assertion/defined.js +11 -12
  115. package/src/element/assertion/property.js +20 -20
  116. package/src/element/assertion/satisfies.js +6 -6
  117. package/src/element/assertion/subproof.js +17 -15
  118. package/src/element/assertion/type.js +2 -2
  119. package/src/element/assertion.js +0 -2
  120. package/src/element/assumption.js +22 -19
  121. package/src/element/axiom.js +33 -37
  122. package/src/element/axiomLemmaTheoremConjecture.js +54 -73
  123. package/src/element/{statement/combinator → combinator}/bracketed.js +7 -7
  124. package/src/element/combinator.js +90 -0
  125. package/src/element/conclusion.js +12 -10
  126. package/src/element/{term/constructor → constructor}/bracketed.js +5 -5
  127. package/src/element/{term/constructor.js → constructor.js} +17 -25
  128. package/src/element/declaration/combinator.js +1 -22
  129. package/src/element/declaration/complexType.js +11 -11
  130. package/src/element/declaration/constructor.js +13 -10
  131. package/src/element/declaration/simpleType.js +3 -3
  132. package/src/element/declaration/typePrefix.js +1 -1
  133. package/src/element/declaration/variable.js +2 -2
  134. package/src/element/deduction.js +12 -9
  135. package/src/element/derivation.js +15 -19
  136. package/src/element/equivalence.js +8 -8
  137. package/src/element/equivalences.js +4 -4
  138. package/src/element/frame.js +28 -30
  139. package/src/element/hypothesis.js +16 -18
  140. package/src/element/judgement.js +6 -3
  141. package/src/element/label.js +4 -4
  142. package/src/element/metaLemmaMetatheorem.js +5 -69
  143. package/src/element/metaType.js +9 -45
  144. package/src/element/metavariable.js +34 -31
  145. package/src/element/parameter.js +2 -2
  146. package/src/element/premise.js +124 -99
  147. package/src/element/proof.js +6 -6
  148. package/src/element/proofAssertion.js +76 -0
  149. package/src/element/property.js +6 -6
  150. package/src/element/propertyRelation.js +11 -11
  151. package/src/element/reference.js +14 -21
  152. package/src/element/rule.js +39 -38
  153. package/src/element/signature.js +10 -9
  154. package/src/element/statement.js +16 -18
  155. package/src/element/step.js +78 -78
  156. package/src/element/subDerivation.js +15 -19
  157. package/src/element/subproof.js +11 -19
  158. package/src/element/substitution/frame.js +0 -2
  159. package/src/element/substitution/reference.js +1 -5
  160. package/src/element/substitution/statement.js +44 -14
  161. package/src/element/substitution/term.js +10 -13
  162. package/src/element/substitution.js +3 -5
  163. package/src/element/substitutions.js +48 -30
  164. package/src/element/supposition.js +127 -108
  165. package/src/element/term.js +18 -28
  166. package/src/element/type.js +42 -36
  167. package/src/element/typePrefix.js +3 -3
  168. package/src/element/variable.js +7 -7
  169. package/src/element.js +3 -1
  170. package/src/metaTypes.js +55 -0
  171. package/src/node/axiomLemmaTheoremConjecture.js +6 -6
  172. package/src/node/body/axiom.js +0 -21
  173. package/src/node/body/conjecture.js +0 -23
  174. package/src/node/body/lemma.js +0 -23
  175. package/src/node/body/metaLemma.js +0 -23
  176. package/src/node/body/metatheorem.js +0 -23
  177. package/src/node/body/rule.js +12 -0
  178. package/src/node/body/theorem.js +0 -23
  179. package/src/node/body.js +23 -0
  180. package/src/node/combinator.js +9 -0
  181. package/src/node/constructor.js +9 -0
  182. package/src/node/declaration/combinator.js +5 -5
  183. package/src/node/declaration/constructor.js +8 -8
  184. package/src/node/declaration/property.js +14 -14
  185. package/src/node/declaration/simpleType.js +31 -31
  186. package/src/node/declaration/variable.js +7 -7
  187. package/src/node/equality.js +7 -7
  188. package/src/node/frame.js +21 -21
  189. package/src/node/header.js +22 -22
  190. package/src/node/metaLemmaMetaTheorem.js +14 -14
  191. package/src/node/metavariable.js +14 -14
  192. package/src/node/property.js +7 -7
  193. package/src/node/propertyRelation.js +7 -7
  194. package/src/node/rule.js +15 -15
  195. package/src/node/statement.js +12 -12
  196. package/src/node/step.js +21 -21
  197. package/src/node/subDerivation.js +0 -7
  198. package/src/node/subproof.js +4 -11
  199. package/src/node/substitution/frame.js +18 -18
  200. package/src/node/substitution/statement.js +18 -18
  201. package/src/node/substitution/term.js +18 -18
  202. package/src/node/term.js +34 -34
  203. package/src/preamble.js +4 -4
  204. package/src/process/instantiate.js +12 -0
  205. package/src/process/unify.js +53 -57
  206. package/src/process/validate.js +316 -0
  207. package/src/process/verify.js +50 -138
  208. package/src/types.js +18 -0
  209. package/src/utilities/brackets.js +15 -14
  210. package/src/utilities/element.js +125 -82
  211. package/src/utilities/instance.js +42 -24
  212. package/src/utilities/statement.js +2 -2
  213. package/src/utilities/string.js +38 -24
  214. package/src/{mixins/step/unify.js → utilities/unification.js} +99 -85
  215. package/src/{mixins/statement/validate.js → utilities/validation.js} +143 -69
  216. package/lib/element/statement/combinator.js +0 -105
  217. package/lib/element/term/constructor.js +0 -172
  218. package/lib/mixins/statement/validate.js +0 -198
  219. package/lib/mixins/step/unify.js +0 -228
  220. package/lib/mixins/term/verify.js +0 -65
  221. package/src/element/statement/combinator.js +0 -59
  222. package/src/mixins/term/verify.js +0 -81
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import elements from "../../elements";
3
+ import elements from "../elements";
4
4
 
5
5
  import { equalityFromStatement,
6
6
  judgementFromStatement,
@@ -10,10 +10,80 @@ import { equalityFromStatement,
10
10
  propertyAssertionFromStatement,
11
11
  subproofAssertionFromStatement,
12
12
  containedAssertionFromStatement,
13
- satisfiesAssertionFromStatement } from "../../utilities/statement";
13
+ satisfiesAssertionFromStatement } from "../utilities/statement";
14
14
 
15
- function validateAsMetavariableAndSubstitution(statement, assignments, stated, context) {
16
- let validatesAsMetavariableAndSubstitution = false;
15
+ function unifyTermWithBracketedConstructor(term, context, validateAhead) {
16
+ let termUnifiesWithBracketedConstructor;
17
+
18
+ const { BracketedConstructor } = elements,
19
+ bracketedConstructor = BracketedConstructor.fromNothing();
20
+
21
+ termUnifiesWithBracketedConstructor = bracketedConstructor.unifyTerm(term, context, validateAhead);
22
+
23
+ return termUnifiesWithBracketedConstructor;
24
+ }
25
+
26
+ function unifyTermWithConstructors(term, context, validateAhead) {
27
+ let termUnifiesWithConstructors;
28
+
29
+ const constructors = context.getConstructors();
30
+
31
+ termUnifiesWithConstructors = constructors.some((constructor) => {
32
+ const unifiesWithConstructor = constructor.unifyTerm(term, context, validateAhead);
33
+
34
+ if (unifiesWithConstructor) {
35
+ return true;
36
+ }
37
+ });
38
+
39
+ return termUnifiesWithConstructors;
40
+ }
41
+
42
+ function validateTermAsVariable(term, context, validateAhead) {
43
+ let termValidatesAsVariable = false;
44
+
45
+ const { Variable } = elements,
46
+ termNode = term.getNode(),
47
+ singularVariableNode = termNode.getSingularVariableNode();
48
+
49
+ if (singularVariableNode !== null) {
50
+ let variable;
51
+
52
+ const termString = term.getString(),
53
+ variableNode = singularVariableNode; ///
54
+
55
+ variable = Variable.fromVariableNode(variableNode, context);
56
+
57
+ context.trace(`Verifying the '${termString}' term as a variable...`);
58
+
59
+ const variableValidates = variable.validate(context);
60
+
61
+ if (variableValidates) {
62
+ let verifiesAhead;
63
+
64
+ const variableIdentifier = variable.getIdentifier();
65
+
66
+ variable = context.findVariableByVariableIdentifier(variableIdentifier);
67
+
68
+ const type = variable.getType();
69
+
70
+ term.setType(type);
71
+
72
+ verifiesAhead = validateAhead();
73
+
74
+ termValidatesAsVariable = verifiesAhead; ///
75
+ }
76
+
77
+ if (termValidatesAsVariable) {
78
+ context.debug(`...verified the '${termString}' term as a variable.`);
79
+ }
80
+ }
81
+
82
+ return termValidatesAsVariable;
83
+ }
84
+
85
+ function validateStatementAsMetavariableAndSubstitution(statement, assignments, stated, context) {
86
+ let statementValidatesAsMetavariableAndSubstitution = false;
17
87
 
18
88
  const metavariable = metavariableFromStatement(statement, context);
19
89
 
@@ -34,40 +104,40 @@ function validateAsMetavariableAndSubstitution(statement, assignments, stated, c
34
104
  const substitutionValidates = substitution.validate(context);
35
105
 
36
106
  if (substitutionValidates) {
37
- validatesAsMetavariableAndSubstitution = true;
107
+ statementValidatesAsMetavariableAndSubstitution = true;
38
108
  }
39
109
  } else {
40
- validatesAsMetavariableAndSubstitution = true;
110
+ statementValidatesAsMetavariableAndSubstitution = true;
41
111
  }
42
112
  }
43
113
 
44
- if (validatesAsMetavariableAndSubstitution) {
114
+ if (statementValidatesAsMetavariableAndSubstitution) {
45
115
  context.debug(`...validated the '${statementString}' statement as a metavariable and substitution.`);
46
116
  }
47
117
  }
48
118
 
49
- return validatesAsMetavariableAndSubstitution;
119
+ return statementValidatesAsMetavariableAndSubstitution;
50
120
  }
51
121
 
52
- function unifyWithBracketedCombinatorStatement(statement, assignments, stated, context) {
122
+ function unifyStatementWithBracketedCombinator(statement, assignments, stated, context) {
53
123
  stated = true; ///
54
124
 
55
125
  assignments = null; ///
56
126
 
57
- const { BracketedCombinatorStatement } = elements,
58
- bracketedCombinatorStatement = BracketedCombinatorStatement.fromNothing(),
59
- unifiesWithBracketedCombinatorStatement = bracketedCombinatorStatement.unifyStatement(statement, assignments, stated, context);
127
+ const { BracketedCombinator } = elements,
128
+ bracketedCombinator = BracketedCombinator.fromNothing(),
129
+ statementUnifiesWithBracketedCombinator = bracketedCombinator.unifyStatement(statement, assignments, stated, context);
60
130
 
61
- return unifiesWithBracketedCombinatorStatement;
131
+ return statementUnifiesWithBracketedCombinator;
62
132
  }
63
133
 
64
- function unifyWithCombinators(statement, assignments, stated, context) {
134
+ function unifyStatementWithCombinators(statement, assignments, stated, context) {
65
135
  stated = true; ///
66
136
 
67
137
  assignments = null; ///
68
138
 
69
139
  const combinators = context.getCombinators(),
70
- unifiesWithCombinators = combinators.some((combinator) => {
140
+ statementUnifiesWithCombinators = combinators.some((combinator) => {
71
141
  const unifiesWithCombinator = combinator.unifyStatement(statement, assignments, stated, context);
72
142
 
73
143
  if (unifiesWithCombinator) {
@@ -75,11 +145,11 @@ function unifyWithCombinators(statement, assignments, stated, context) {
75
145
  }
76
146
  });
77
147
 
78
- return unifiesWithCombinators;
148
+ return statementUnifiesWithCombinators;
79
149
  }
80
150
 
81
- function validateAsEquality(statement, assignments, stated, context) {
82
- let validatesAsEquality = false;
151
+ function validateStatementAsEquality(statement, assignments, stated, context) {
152
+ let statementValidatesAsEquality = false;
83
153
 
84
154
  const equality = equalityFromStatement(statement, context);
85
155
 
@@ -90,18 +160,18 @@ function validateAsEquality(statement, assignments, stated, context) {
90
160
 
91
161
  const equalityValidates = equality.validate(assignments, stated, context);
92
162
 
93
- validatesAsEquality = equalityValidates; ///
163
+ statementValidatesAsEquality = equalityValidates; ///
94
164
 
95
- if (validatesAsEquality) {
165
+ if (statementValidatesAsEquality) {
96
166
  context.debug(`...validated the '${statementString}' statement as an equality.`);
97
167
  }
98
168
  }
99
169
 
100
- return validatesAsEquality;
170
+ return statementValidatesAsEquality;
101
171
  }
102
172
 
103
- function validateAsJudgement(statement, assignments, stated, context) {
104
- let validatesAsJudgement = false;
173
+ function validateStatementAsJudgement(statement, assignments, stated, context) {
174
+ let validatesStatementAsJudgement = false;
105
175
 
106
176
  const judgement = judgementFromStatement(statement, context);
107
177
 
@@ -112,18 +182,18 @@ function validateAsJudgement(statement, assignments, stated, context) {
112
182
 
113
183
  const judgementValidates = judgement.validate(assignments, stated, context);
114
184
 
115
- validatesAsJudgement = judgementValidates; ///
185
+ validatesStatementAsJudgement = judgementValidates; ///
116
186
 
117
- if (validatesAsJudgement) {
187
+ if (validatesStatementAsJudgement) {
118
188
  context.debug(`...validated the '${statementString}' statement as a judgement.`);
119
189
  }
120
190
  }
121
191
 
122
- return validatesAsJudgement;
192
+ return validatesStatementAsJudgement;
123
193
  }
124
194
 
125
- function validateAsTypeAssertion(statement, assignments, stated, context) {
126
- let validatesAsTypeAssertion = false;
195
+ function validateStatementAsTypeAssertion(statement, assignments, stated, context) {
196
+ let validatesStatementAsTypeAssertion = false;
127
197
 
128
198
  const typeAssertion = typeAssertionFromStatement(statement, context);
129
199
 
@@ -134,9 +204,9 @@ function validateAsTypeAssertion(statement, assignments, stated, context) {
134
204
 
135
205
  const typeAssertionValidates = typeAssertion.validate(assignments, stated, context);
136
206
 
137
- validatesAsTypeAssertion = typeAssertionValidates; ///
207
+ validatesStatementAsTypeAssertion = typeAssertionValidates; ///
138
208
 
139
- if (validatesAsTypeAssertion) {
209
+ if (validatesStatementAsTypeAssertion) {
140
210
  const assertion = typeAssertion; ///
141
211
 
142
212
  context.addAssertion(assertion);
@@ -145,11 +215,11 @@ function validateAsTypeAssertion(statement, assignments, stated, context) {
145
215
  }
146
216
  }
147
217
 
148
- return validatesAsTypeAssertion;
218
+ return validatesStatementAsTypeAssertion;
149
219
  }
150
220
 
151
- function validateAsDefinedAssertion(statement, assignments, stated, context) {
152
- let validatesAsDefinedAssertion = false;
221
+ function validateStatementAsDefinedAssertion(statement, assignments, stated, context) {
222
+ let validatesStatementAsDefinedAssertion = false;
153
223
 
154
224
  const definedAssertion = definedAssertionFromStatement(statement, context);
155
225
 
@@ -160,9 +230,9 @@ function validateAsDefinedAssertion(statement, assignments, stated, context) {
160
230
 
161
231
  const definedAssertionValidates = definedAssertion.validate(assignments, stated, context);
162
232
 
163
- validatesAsDefinedAssertion = definedAssertionValidates; ///
233
+ validatesStatementAsDefinedAssertion = definedAssertionValidates; ///
164
234
 
165
- if (validatesAsDefinedAssertion) {
235
+ if (validatesStatementAsDefinedAssertion) {
166
236
  const assertion = definedAssertion; ///
167
237
 
168
238
  context.addAssertion(assertion);
@@ -171,11 +241,11 @@ function validateAsDefinedAssertion(statement, assignments, stated, context) {
171
241
  }
172
242
  }
173
243
 
174
- return validatesAsDefinedAssertion;
244
+ return validatesStatementAsDefinedAssertion;
175
245
  }
176
246
 
177
- function validateAsPropertyAssertion(statement, assignments, stated, context) {
178
- let validatesAsPropertyAssertion = false;
247
+ function validateStatementAsPropertyAssertion(statement, assignments, stated, context) {
248
+ let statementValidatesAsPropertyAssertion = false;
179
249
 
180
250
  const propertyAssertion = propertyAssertionFromStatement(statement, context);
181
251
 
@@ -186,9 +256,9 @@ function validateAsPropertyAssertion(statement, assignments, stated, context) {
186
256
 
187
257
  const propertyAssertionValidates = propertyAssertion.validate(assignments, stated, context);
188
258
 
189
- validatesAsPropertyAssertion = propertyAssertionValidates; ///
259
+ statementValidatesAsPropertyAssertion = propertyAssertionValidates; ///
190
260
 
191
- if (validatesAsPropertyAssertion) {
261
+ if (statementValidatesAsPropertyAssertion) {
192
262
  const assertion = propertyAssertion; ///
193
263
 
194
264
  context.addAssertion(assertion);
@@ -197,11 +267,11 @@ function validateAsPropertyAssertion(statement, assignments, stated, context) {
197
267
  }
198
268
  }
199
269
 
200
- return validatesAsPropertyAssertion;
270
+ return statementValidatesAsPropertyAssertion;
201
271
  }
202
272
 
203
- function validateAsSubproofAssertion(statement, assignments, stated, context) {
204
- let validatesAsSubproofAssertion = false;
273
+ function validateStatementAsSubproofAssertion(statement, assignments, stated, context) {
274
+ let statementValidatesAsSubproofAssertion = false;
205
275
 
206
276
  const subproofAssertion = subproofAssertionFromStatement(statement, context);
207
277
 
@@ -212,9 +282,9 @@ function validateAsSubproofAssertion(statement, assignments, stated, context) {
212
282
 
213
283
  const subproofAssertionValidates = subproofAssertion.validate(assignments, stated, context);
214
284
 
215
- validatesAsSubproofAssertion = subproofAssertionValidates; ///
285
+ statementValidatesAsSubproofAssertion = subproofAssertionValidates; ///
216
286
 
217
- if (validatesAsSubproofAssertion) {
287
+ if (statementValidatesAsSubproofAssertion) {
218
288
  const assertion = subproofAssertion; ///
219
289
 
220
290
  context.addAssertion(assertion);
@@ -223,11 +293,11 @@ function validateAsSubproofAssertion(statement, assignments, stated, context) {
223
293
  }
224
294
  }
225
295
 
226
- return validatesAsSubproofAssertion;
296
+ return statementValidatesAsSubproofAssertion;
227
297
  }
228
298
 
229
- function validateAsContainedAssertion(statement, assignments, stated, context) {
230
- let validatesAsContainedAssertion = false;
299
+ function validateStatementAsContainedAssertion(statement, assignments, stated, context) {
300
+ let validatesStatementAsContainedAssertion = false;
231
301
 
232
302
  const containedAssertion = containedAssertionFromStatement(statement, context);
233
303
 
@@ -238,9 +308,9 @@ function validateAsContainedAssertion(statement, assignments, stated, context) {
238
308
 
239
309
  const containedAssertionValidates = containedAssertion.validate(assignments, stated, context);
240
310
 
241
- validatesAsContainedAssertion = containedAssertionValidates; ///
311
+ validatesStatementAsContainedAssertion = containedAssertionValidates; ///
242
312
 
243
- if (validatesAsContainedAssertion) {
313
+ if (validatesStatementAsContainedAssertion) {
244
314
  const assertion = containedAssertion; ///
245
315
 
246
316
  context.addAssertion(assertion);
@@ -249,11 +319,11 @@ function validateAsContainedAssertion(statement, assignments, stated, context) {
249
319
  }
250
320
  }
251
321
 
252
- return validatesAsContainedAssertion;
322
+ return validatesStatementAsContainedAssertion;
253
323
  }
254
324
 
255
- function validateAsSatisfiesAssertion(statement, assignments, stated, context) {
256
- let validatesAsSatisfiesAssertion = false;
325
+ function validateStatementAsSatisfiesAssertion(statement, assignments, stated, context) {
326
+ let validatesAStatementsSatisfiesAssertion = false;
257
327
 
258
328
  const satisfiesAssertion = satisfiesAssertionFromStatement(statement, context);
259
329
 
@@ -264,9 +334,9 @@ function validateAsSatisfiesAssertion(statement, assignments, stated, context) {
264
334
 
265
335
  const satisfiesAssertionValidates = satisfiesAssertion.validate(assignments, stated, context);
266
336
 
267
- validatesAsSatisfiesAssertion = satisfiesAssertionValidates; ///
337
+ validatesAStatementsSatisfiesAssertion = satisfiesAssertionValidates; ///
268
338
 
269
- if (validatesAsSatisfiesAssertion) {
339
+ if (validatesAStatementsSatisfiesAssertion) {
270
340
  const assertion = satisfiesAssertion; ///
271
341
 
272
342
  context.addAssertion(assertion);
@@ -275,21 +345,25 @@ function validateAsSatisfiesAssertion(statement, assignments, stated, context) {
275
345
  }
276
346
  }
277
347
 
278
- return validatesAsSatisfiesAssertion;
348
+ return validatesAStatementsSatisfiesAssertion;
279
349
  }
280
350
 
281
- const validateMixins = [
282
- validateAsMetavariableAndSubstitution,
283
- unifyWithBracketedCombinatorStatement,
284
- unifyWithCombinators,
285
- validateAsEquality,
286
- validateAsJudgement,
287
- validateAsTypeAssertion,
288
- validateAsDefinedAssertion,
289
- validateAsPropertyAssertion,
290
- validateAsSubproofAssertion,
291
- validateAsContainedAssertion,
292
- validateAsSatisfiesAssertion
351
+ export const validateTerms = [
352
+ unifyTermWithBracketedConstructor,
353
+ unifyTermWithConstructors,
354
+ validateTermAsVariable
293
355
  ];
294
356
 
295
- export default validateMixins;
357
+ export const validateStatements = [
358
+ validateStatementAsMetavariableAndSubstitution,
359
+ unifyStatementWithBracketedCombinator,
360
+ unifyStatementWithCombinators,
361
+ validateStatementAsEquality,
362
+ validateStatementAsJudgement,
363
+ validateStatementAsTypeAssertion,
364
+ validateStatementAsDefinedAssertion,
365
+ validateStatementAsPropertyAssertion,
366
+ validateStatementAsSubproofAssertion,
367
+ validateStatementAsContainedAssertion,
368
+ validateStatementAsSatisfiesAssertion
369
+ ];
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _elements = require("../../elements");
12
- var _unify = require("../../process/unify");
13
- var _json = require("../../utilities/json");
14
- function _class_call_check(instance, Constructor) {
15
- if (!(instance instanceof Constructor)) {
16
- throw new TypeError("Cannot call a class as a function");
17
- }
18
- }
19
- function _defineProperties(target, props) {
20
- for(var i = 0; i < props.length; i++){
21
- var descriptor = props[i];
22
- descriptor.enumerable = descriptor.enumerable || false;
23
- descriptor.configurable = true;
24
- if ("value" in descriptor) descriptor.writable = true;
25
- Object.defineProperty(target, descriptor.key, descriptor);
26
- }
27
- }
28
- function _create_class(Constructor, protoProps, staticProps) {
29
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
- if (staticProps) _defineProperties(Constructor, staticProps);
31
- return Constructor;
32
- }
33
- function _define_property(obj, key, value) {
34
- if (key in obj) {
35
- Object.defineProperty(obj, key, {
36
- value: value,
37
- enumerable: true,
38
- configurable: true,
39
- writable: true
40
- });
41
- } else {
42
- obj[key] = value;
43
- }
44
- return obj;
45
- }
46
- var _CombinatorStatement;
47
- var _default = (0, _elements.define)((_CombinatorStatement = /*#__PURE__*/ function() {
48
- function CombinatorStatement(statement) {
49
- _class_call_check(this, CombinatorStatement);
50
- this.statement = statement;
51
- }
52
- _create_class(CombinatorStatement, [
53
- {
54
- key: "getStatement",
55
- value: function getStatement() {
56
- return this.statement;
57
- }
58
- },
59
- {
60
- key: "getString",
61
- value: function getString() {
62
- return this.statement.getString();
63
- }
64
- },
65
- {
66
- key: "getStatementNode",
67
- value: function getStatementNode() {
68
- var statementNode = this.statement.getNode();
69
- return statementNode;
70
- }
71
- },
72
- {
73
- key: "unifyStatement",
74
- value: function unifyStatement(statement, assignments, stated, context) {
75
- var statementUnifies;
76
- var statementString = statement.getString(), combinatorStatementString = this.getString();
77
- context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorStatementString, "' combinator's statement..."));
78
- var combinatorStatement = this, statementUnifiesWithCombinator = (0, _unify.unifyStatementWithCombinatorStatement)(statement, combinatorStatement, assignments, stated, context);
79
- statementUnifies = statementUnifiesWithCombinator; ///
80
- if (statementUnifies) {
81
- context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorStatementString, "' combinator's statement."));
82
- }
83
- return statementUnifies;
84
- }
85
- },
86
- {
87
- key: "toJSON",
88
- value: function toJSON() {
89
- var statementJSON = (0, _json.statementToStatementJSON)(this.statement), json = statementJSON;
90
- return json;
91
- }
92
- }
93
- ], [
94
- {
95
- key: "fromJSON",
96
- value: function fromJSON(json, context) {
97
- var statement = (0, _json.statementFromJSON)(json, context), combinator = new CombinatorStatement(statement);
98
- return combinator;
99
- }
100
- }
101
- ]);
102
- return CombinatorStatement;
103
- }(), _define_property(_CombinatorStatement, "name", "CombinatorStatement"), _CombinatorStatement));
104
-
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3N0YXRlbWVudC9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3JTdGF0ZW1lbnQgfSBmcm9tIFwiLi4vLi4vcHJvY2Vzcy91bmlmeVwiO1xuaW1wb3J0IHsgc3RhdGVtZW50RnJvbUpTT04sIHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvanNvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgQ29tYmluYXRvclN0YXRlbWVudCB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlbWVudCkge1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHsgcmV0dXJuIHRoaXMuc3RhdGVtZW50LmdldFN0cmluZygpOyB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gdGhpcy5zdGF0ZW1lbnQuZ2V0Tm9kZSgpO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllcztcblxuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjb21iaW5hdG9yU3RhdGVtZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7Y29tYmluYXRvclN0YXRlbWVudFN0cmluZ30nIGNvbWJpbmF0b3IncyBzdGF0ZW1lbnQuLi5gKTtcblxuICAgIGNvbnN0IGNvbWJpbmF0b3JTdGF0ZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbWJpbmF0b3IgPSB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yU3RhdGVtZW50KHN0YXRlbWVudCwgY29tYmluYXRvclN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVzID0gc3RhdGVtZW50VW5pZmllc1dpdGhDb21iaW5hdG9yOyAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7Y29tYmluYXRvclN0YXRlbWVudFN0cmluZ30nIGNvbWJpbmF0b3IncyBzdGF0ZW1lbnQuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAganNvbiA9IHN0YXRlbWVudEpTT047XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb21iaW5hdG9yU3RhdGVtZW50XCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3JTdGF0ZW1lbnQoc3RhdGVtZW50KTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJDb21iaW5hdG9yU3RhdGVtZW50Iiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwidW5pZnlTdGF0ZW1lbnQiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVzIiwic3RhdGVtZW50U3RyaW5nIiwiY29tYmluYXRvclN0YXRlbWVudFN0cmluZyIsInRyYWNlIiwiY29tYmluYXRvclN0YXRlbWVudCIsInN0YXRlbWVudFVuaWZpZXNXaXRoQ29tYmluYXRvciIsInVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3JTdGF0ZW1lbnQiLCJkZWJ1ZyIsInRvSlNPTiIsInN0YXRlbWVudEpTT04iLCJzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJzdGF0ZW1lbnRGcm9tSlNPTiIsImNvbWJpbmF0b3IiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQUE7Ozt3QkFKdUI7cUJBQytCO29CQUNNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRTVELFdBQWVBLElBQUFBLGdCQUFNLHdDQUFDO2FBQU1DLG9CQUNkQyxTQUFTO2dDQURLRDtRQUV4QixJQUFJLENBQUNDLFNBQVMsR0FBR0E7Ozs7WUFHbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsU0FBUztZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDRSxTQUFTO1lBQUk7OztZQUVqREMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQixJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssT0FBTztnQkFFNUMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlTixTQUFTLEVBQUVPLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPO2dCQUNwRCxJQUFJQztnQkFFSixJQUFNQyxrQkFBa0JYLFVBQVVFLFNBQVMsSUFDckNVLDRCQUE0QixJQUFJLENBQUNWLFNBQVM7Z0JBRWhETyxRQUFRSSxLQUFLLENBQUMsQUFBQyxpQkFBd0RELE9BQXhDRCxpQkFBZ0IsMEJBQWtELE9BQTFCQywyQkFBMEI7Z0JBRWpHLElBQU1FLHNCQUFzQixJQUFJLEVBQzFCQyxpQ0FBaUNDLElBQUFBLDRDQUFxQyxFQUFDaEIsV0FBV2MscUJBQXFCUCxhQUFhQyxRQUFRQztnQkFFbElDLG1CQUFtQkssZ0NBQWdDLEdBQUc7Z0JBRXRELElBQUlMLGtCQUFrQjtvQkFDcEJELFFBQVFRLEtBQUssQ0FBQyxBQUFDLG1CQUEwREwsT0FBeENELGlCQUFnQiwwQkFBa0QsT0FBMUJDLDJCQUEwQjtnQkFDckc7Z0JBRUEsT0FBT0Y7WUFDVDs7O1lBRUFRLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxnQkFBZ0JDLElBQUFBLDhCQUF3QixFQUFDLElBQUksQ0FBQ3BCLFNBQVMsR0FDdkRxQixPQUFPRjtnQkFFYixPQUFPRTtZQUNUOzs7O1lBSU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRVosT0FBTztnQkFDM0IsSUFBTVQsWUFBWXVCLElBQUFBLHVCQUFpQixFQUFDRixNQUFNWixVQUNwQ2UsYUFBYSxJQUFJekIsb0JBQW9CQztnQkFFM0MsT0FBT3dCO1lBQ1Q7Ozs7S0FQQSx1Q0FBT0MsUUFBTyJ9
@@ -1,172 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _elements = /*#__PURE__*/ _interop_require_wildcard(require("../../elements"));
12
- var _unify = require("../../process/unify");
13
- var _json = require("../../utilities/json");
14
- function _class_call_check(instance, Constructor) {
15
- if (!(instance instanceof Constructor)) {
16
- throw new TypeError("Cannot call a class as a function");
17
- }
18
- }
19
- function _defineProperties(target, props) {
20
- for(var i = 0; i < props.length; i++){
21
- var descriptor = props[i];
22
- descriptor.enumerable = descriptor.enumerable || false;
23
- descriptor.configurable = true;
24
- if ("value" in descriptor) descriptor.writable = true;
25
- Object.defineProperty(target, descriptor.key, descriptor);
26
- }
27
- }
28
- function _create_class(Constructor, protoProps, staticProps) {
29
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
- if (staticProps) _defineProperties(Constructor, staticProps);
31
- return Constructor;
32
- }
33
- function _define_property(obj, key, value) {
34
- if (key in obj) {
35
- Object.defineProperty(obj, key, {
36
- value: value,
37
- enumerable: true,
38
- configurable: true,
39
- writable: true
40
- });
41
- } else {
42
- obj[key] = value;
43
- }
44
- return obj;
45
- }
46
- function _getRequireWildcardCache(nodeInterop) {
47
- if (typeof WeakMap !== "function") return null;
48
- var cacheBabelInterop = new WeakMap();
49
- var cacheNodeInterop = new WeakMap();
50
- return (_getRequireWildcardCache = function(nodeInterop) {
51
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
52
- })(nodeInterop);
53
- }
54
- function _interop_require_wildcard(obj, nodeInterop) {
55
- if (!nodeInterop && obj && obj.__esModule) {
56
- return obj;
57
- }
58
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
59
- return {
60
- default: obj
61
- };
62
- }
63
- var cache = _getRequireWildcardCache(nodeInterop);
64
- if (cache && cache.has(obj)) {
65
- return cache.get(obj);
66
- }
67
- var newObj = {
68
- __proto__: null
69
- };
70
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
71
- for(var key in obj){
72
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
73
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
74
- if (desc && (desc.get || desc.set)) {
75
- Object.defineProperty(newObj, key, desc);
76
- } else {
77
- newObj[key] = obj[key];
78
- }
79
- }
80
- }
81
- newObj.default = obj;
82
- if (cache) {
83
- cache.set(obj, newObj);
84
- }
85
- return newObj;
86
- }
87
- var _ConstructorTerm;
88
- var _default = (0, _elements.define)((_ConstructorTerm = /*#__PURE__*/ function() {
89
- function ConstructorTerm(term) {
90
- _class_call_check(this, ConstructorTerm);
91
- this.term = term;
92
- }
93
- _create_class(ConstructorTerm, [
94
- {
95
- key: "getTerm",
96
- value: function getTerm() {
97
- return this.term;
98
- }
99
- },
100
- {
101
- key: "getType",
102
- value: function getType() {
103
- return this.term.getType();
104
- }
105
- },
106
- {
107
- key: "getString",
108
- value: function getString() {
109
- return this.term.getString();
110
- }
111
- },
112
- {
113
- key: "isProvisional",
114
- value: function isProvisional() {
115
- return this.term.isProvisional();
116
- }
117
- },
118
- {
119
- key: "setType",
120
- value: function setType(type) {
121
- this.term.setType(type);
122
- }
123
- },
124
- {
125
- key: "unifyTerm",
126
- value: function unifyTerm(term, context, verifyAhead) {
127
- var termUnifies = false;
128
- var termString = term.getString(), constructorTermString = this.getString();
129
- context.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorTermString, "' constructor's term..."));
130
- var constructorTerm = this, termUnifiesWithConstructor = (0, _unify.unifyTermWithConstructorTerm)(term, constructorTerm, context);
131
- if (termUnifiesWithConstructor) {
132
- var verifiesAhead;
133
- var type = this.getType();
134
- term.setType(type);
135
- verifiesAhead = verifyAhead();
136
- termUnifies = verifiesAhead; ///
137
- }
138
- if (termUnifies) {
139
- context.debug("...unified the '".concat(termString, "' term with the '").concat(constructorTermString, "' constructor's term."));
140
- }
141
- return termUnifies;
142
- }
143
- },
144
- {
145
- key: "toJSON",
146
- value: function toJSON() {
147
- var termJSON = (0, _json.termToTermJSON)(this.term), term = termJSON, json = {
148
- term: term
149
- };
150
- return json;
151
- }
152
- }
153
- ], [
154
- {
155
- key: "fromJSON",
156
- value: function fromJSON(json, context) {
157
- var term = (0, _json.termFromJSON)(json, context), constructor = new ConstructorTerm(term);
158
- return constructor;
159
- }
160
- },
161
- {
162
- key: "fromConstructorDeclarationNode",
163
- value: function fromConstructorDeclarationNode(constructorDeclarationNode, context) {
164
- var Term = _elements.default.Term, term = Term.fromConstructorDeclarationNode(constructorDeclarationNode, context), constructor = new ConstructorTerm(term);
165
- return constructor;
166
- }
167
- }
168
- ]);
169
- return ConstructorTerm;
170
- }(), _define_property(_ConstructorTerm, "name", "ConstructorTerm"), _ConstructorTerm));
171
-
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vY29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3JUZXJtIH0gZnJvbSBcIi4uLy4uL3Byb2Nlc3MvdW5pZnlcIjtcbmltcG9ydCB7IHRlcm1Gcm9tSlNPTiwgdGVybVRvVGVybUpTT04gfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIENvbnN0cnVjdG9yVGVybSB7XG4gIGNvbnN0cnVjdG9yKHRlcm0pIHtcbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICB9XG5cbiAgZ2V0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHsgcmV0dXJuIHRoaXMudGVybS5nZXRUeXBlKCk7IH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLnRlcm0uZ2V0U3RyaW5nKCk7IH1cblxuICBpc1Byb3Zpc2lvbmFsKCkgeyByZXR1cm4gdGhpcy50ZXJtLmlzUHJvdmlzaW9uYWwoKTsgfVxuXG4gIHNldFR5cGUodHlwZSkgeyB0aGlzLnRlcm0uc2V0VHlwZSh0eXBlKTsgfVxuXG4gIHVuaWZ5VGVybSh0ZXJtLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCB0ZXJtVW5pZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgY29uc3RydWN0b3JUZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtjb25zdHJ1Y3RvclRlcm1TdHJpbmd9JyBjb25zdHJ1Y3RvcidzIHRlcm0uLi5gKTtcblxuICAgIGNvbnN0IGNvbnN0cnVjdG9yVGVybSA9IHRoaXMsIC8vL1xuICAgICAgICAgIHRlcm1VbmlmaWVzV2l0aENvbnN0cnVjdG9yID0gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yVGVybSh0ZXJtLCBjb25zdHJ1Y3RvclRlcm0sIGNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1VbmlmaWVzV2l0aENvbnN0cnVjdG9yKSB7XG4gICAgICBsZXQgdmVyaWZpZXNBaGVhZDtcblxuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHlwZSgpO1xuXG4gICAgICB0ZXJtLnNldFR5cGUodHlwZSk7XG5cbiAgICAgIHZlcmlmaWVzQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICB0ZXJtVW5pZmllcyA9IHZlcmlmaWVzQWhlYWQ7ICAvLy9cbiAgICB9XG5cbiAgICBpZiAodGVybVVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlICcke2NvbnN0cnVjdG9yVGVybVN0cmluZ30nIGNvbnN0cnVjdG9yJ3MgdGVybS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybVVuaWZpZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdGVybUpTT04gPSB0ZXJtVG9UZXJtSlNPTih0aGlzLnRlcm0pLFxuICAgICAgICAgIHRlcm0gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkNvbnN0cnVjdG9yVGVybVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdGVybSA9IHRlcm1Gcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3RvclRlcm0odGVybSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyBUZXJtIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yVGVybSh0ZXJtKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiQ29uc3RydWN0b3JUZXJtIiwidGVybSIsImdldFRlcm0iLCJnZXRUeXBlIiwiZ2V0U3RyaW5nIiwiaXNQcm92aXNpb25hbCIsInNldFR5cGUiLCJ0eXBlIiwidW5pZnlUZXJtIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVVuaWZpZXMiLCJ0ZXJtU3RyaW5nIiwiY29uc3RydWN0b3JUZXJtU3RyaW5nIiwidHJhY2UiLCJjb25zdHJ1Y3RvclRlcm0iLCJ0ZXJtVW5pZmllc1dpdGhDb25zdHJ1Y3RvciIsInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvclRlcm0iLCJ2ZXJpZmllc0FoZWFkIiwiZGVidWciLCJ0b0pTT04iLCJ0ZXJtSlNPTiIsInRlcm1Ub1Rlcm1KU09OIiwianNvbiIsImZyb21KU09OIiwidGVybUZyb21KU09OIiwiY29uc3RydWN0b3IiLCJmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIlRlcm0iLCJlbGVtZW50cyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFB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