occam-verify-cli 0.0.525 → 0.0.527
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.
- package/lib/assertion/type.js +10 -40
- package/lib/axiom.js +7 -7
- package/lib/axiomLemmaTheoremConjecture.js +190 -0
- package/lib/combinator.js +5 -5
- package/lib/conclusion.js +3 -3
- package/lib/conjecture.js +141 -0
- package/lib/consequence.js +5 -5
- package/lib/constants.js +4 -16
- package/lib/constructor.js +6 -6
- package/lib/context/file.js +85 -32
- package/lib/context/metaproof.js +46 -4
- package/lib/context/proof.js +38 -93
- package/lib/context/release/directory.js +20 -1
- package/lib/context/release/file.js +27 -3
- package/lib/equality.js +78 -51
- package/lib/index.js +1 -13
- package/lib/kinds.js +5 -1
- package/lib/label.js +5 -5
- package/lib/lemma.js +7 -7
- package/lib/matcher/metastatementForMetavariable.js +16 -19
- package/lib/matcher/statementForMetavariable.js +22 -20
- package/lib/matcher/{statementForVariable → termForVariable}/consequence.js +13 -13
- package/lib/matcher/{statementForVariable → termForVariable}/supposition.js +13 -13
- package/lib/matcher/termForVariable.js +198 -0
- package/lib/matcher.js +23 -64
- package/lib/mixins/file.js +62 -2
- package/lib/premise.js +6 -6
- package/lib/rule.js +5 -5
- package/lib/ruleNames.js +1 -9
- package/lib/step/proof.js +22 -1
- package/lib/substitution/statementForMetavariable.js +12 -8
- package/lib/substitution/termForVariable.js +86 -0
- package/lib/supposition.js +6 -6
- package/lib/theorem.js +7 -7
- package/lib/type.js +13 -6
- package/lib/utilities/string.js +17 -16
- package/lib/utilities/substitution.js +4 -5
- package/lib/variable.js +5 -39
- package/lib/verify/assertion/type.js +60 -37
- package/lib/verify/axiom.js +2 -3
- package/lib/verify/conclusion.js +2 -3
- package/lib/verify/conjecture.js +56 -0
- package/lib/verify/consequence.js +3 -4
- package/lib/verify/declaration/topLevel.js +7 -3
- package/lib/verify/label.js +2 -3
- package/lib/verify/lemma.js +2 -3
- package/lib/verify/metastatement/qualified.js +3 -4
- package/lib/verify/metastatement/unqualified.js +3 -4
- package/lib/verify/premise.js +3 -4
- package/lib/verify/rule.js +2 -3
- package/lib/verify/statement/qualified.js +41 -12
- package/lib/verify/statement/unqualified.js +3 -4
- package/lib/verify/statement.js +47 -51
- package/lib/verify/statementAsCombinator.js +2 -3
- package/lib/verify/supposition.js +3 -4
- package/lib/verify/term.js +3 -4
- package/lib/verify/termAsConstructor.js +4 -5
- package/lib/verify/theorem.js +2 -3
- package/lib/verify/type.js +2 -3
- package/lib/verify/variable.js +2 -3
- package/package.json +1 -1
- package/src/assertion/type.js +7 -32
- package/src/axiom.js +4 -4
- package/src/{axiomLemmaTheorem.js → axiomLemmaTheoremConjecture.js} +9 -9
- package/src/combinator.js +4 -4
- package/src/conclusion.js +2 -2
- package/src/conjecture.js +13 -0
- package/src/consequence.js +4 -4
- package/src/constants.js +1 -4
- package/src/constructor.js +6 -6
- package/src/context/file.js +89 -32
- package/src/context/metaproof.js +44 -3
- package/src/context/proof.js +42 -37
- package/src/context/release/directory.js +24 -0
- package/src/context/release/file.js +34 -3
- package/src/equality.js +110 -61
- package/src/index.js +0 -3
- package/src/kinds.js +1 -0
- package/src/label.js +4 -4
- package/src/lemma.js +4 -4
- package/src/matcher/metastatementForMetavariable.js +22 -32
- package/src/matcher/statementForMetavariable.js +40 -34
- package/src/matcher/termForVariable/consequence.js +9 -0
- package/src/matcher/termForVariable/supposition.js +9 -0
- package/src/matcher/termForVariable.js +89 -0
- package/src/matcher.js +28 -22
- package/src/mixins/file.js +46 -1
- package/src/premise.js +6 -6
- package/src/rule.js +4 -4
- package/src/ruleNames.js +0 -2
- package/src/step/proof.js +27 -0
- package/src/substitution/statementForMetavariable.js +17 -10
- package/src/substitution/termForVariable.js +64 -0
- package/src/supposition.js +5 -5
- package/src/theorem.js +4 -4
- package/src/type.js +18 -8
- package/src/utilities/string.js +27 -21
- package/src/utilities/substitution.js +6 -4
- package/src/variable.js +5 -38
- package/src/verify/assertion/type.js +71 -65
- package/src/verify/axiom.js +1 -2
- package/src/verify/conclusion.js +1 -2
- package/src/verify/conjecture.js +73 -0
- package/src/verify/consequence.js +2 -3
- package/src/verify/declaration/topLevel.js +7 -0
- package/src/verify/label.js +1 -2
- package/src/verify/lemma.js +1 -2
- package/src/verify/metastatement/qualified.js +2 -3
- package/src/verify/metastatement/unqualified.js +2 -3
- package/src/verify/premise.js +2 -3
- package/src/verify/rule.js +1 -2
- package/src/verify/statement/qualified.js +55 -15
- package/src/verify/statement/unqualified.js +2 -3
- package/src/verify/statement.js +49 -70
- package/src/verify/statementAsCombinator.js +1 -2
- package/src/verify/supposition.js +2 -3
- package/src/verify/term.js +2 -3
- package/src/verify/termAsConstructor.js +3 -4
- package/src/verify/theorem.js +1 -2
- package/src/verify/type.js +1 -2
- package/src/verify/variable.js +1 -2
- package/lib/axiomLemmaTheorem.js +0 -190
- package/lib/jsonTypes.js +0 -30
- package/lib/matcher/statementForVariable.js +0 -201
- package/lib/substitution/statementForVariable.js +0 -86
- package/lib/utilities/json.js +0 -187
- package/lib/utilities/version.js +0 -32
- package/lib/versionChanges.js +0 -34
- package/src/jsonTypes.js +0 -6
- package/src/matcher/statementForVariable/consequence.js +0 -9
- package/src/matcher/statementForVariable/supposition.js +0 -9
- package/src/matcher/statementForVariable.js +0 -99
- package/src/substitution/statementForVariable.js +0 -64
- package/src/utilities/json.js +0 -264
- package/src/utilities/version.js +0 -30
- package/src/versionChanges.js +0 -11
package/src/verify/statement.js
CHANGED
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
import Equality from "../equality";
|
|
4
4
|
import verifyTerm from "../verify/term";
|
|
5
|
-
import equalityCombinator from "../ocmbinator/equality";
|
|
6
5
|
import bracketedCombinator from "../ocmbinator/bracketed";
|
|
7
6
|
import verifyTypeAssertion from "../verify/assertion/type";
|
|
8
7
|
|
|
9
8
|
import { first } from "../utilities/array";
|
|
10
9
|
import { objectType } from "../type";
|
|
11
|
-
import { nodeAsString } from "../utilities/string";
|
|
12
10
|
import { OBJECT_TYPE_NAME } from "../typeNames";
|
|
13
11
|
import { STATEMENT_META_TYPE } from "../metaTypes";
|
|
14
|
-
import { MAXIMUM_INDEXES_LENGTH } from "../constants";
|
|
15
12
|
import { nodeQuery, typeNameFromTypeNode } from "../utilities/query";
|
|
16
13
|
import { ARGUMENT_RULE_NAME, META_ARGUMENT_RULE_NAME } from "../ruleNames";
|
|
17
14
|
|
|
@@ -27,21 +24,21 @@ export default function verifyStatement(statementNode, assertions, derived, cont
|
|
|
27
24
|
context.begin(statementNode);
|
|
28
25
|
|
|
29
26
|
if (!statementVerified) {
|
|
30
|
-
const
|
|
27
|
+
const statementVerifiedAgainstCombinators = verifyStatementAgainstCombinators(statementNode, context);
|
|
31
28
|
|
|
32
|
-
statementVerified =
|
|
29
|
+
statementVerified = statementVerifiedAgainstCombinators; ///
|
|
33
30
|
}
|
|
34
31
|
|
|
35
32
|
if (!statementVerified) {
|
|
36
|
-
const statementVerifiedAsTypeAssertion = verifyStatementAsTypeAssertion(statementNode, assertions, context);
|
|
33
|
+
const statementVerifiedAsTypeAssertion = verifyStatementAsTypeAssertion(statementNode, assertions, derived, context);
|
|
37
34
|
|
|
38
35
|
statementVerified = statementVerifiedAsTypeAssertion; ///
|
|
39
36
|
}
|
|
40
37
|
|
|
41
38
|
if (!statementVerified) {
|
|
42
|
-
const
|
|
39
|
+
const statementVerifiedAsEquality = verifyStatementAsEquality(statementNode, derived, context);
|
|
43
40
|
|
|
44
|
-
statementVerified =
|
|
41
|
+
statementVerified = statementVerifiedAsEquality; //
|
|
45
42
|
}
|
|
46
43
|
|
|
47
44
|
statementVerified ?
|
|
@@ -51,40 +48,14 @@ export default function verifyStatement(statementNode, assertions, derived, cont
|
|
|
51
48
|
return statementVerified;
|
|
52
49
|
}
|
|
53
50
|
|
|
54
|
-
function
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (statementVerifiedAgainstCombinator) {
|
|
61
|
-
statementVerifiedAsEquality = true;
|
|
62
|
-
|
|
63
|
-
if (derived) {
|
|
64
|
-
const equality = Equality.fromStatementNode(statementNode),
|
|
65
|
-
proofSteps = context.getProofSteps(),
|
|
66
|
-
equalities = equalitiesFromProofSteps(proofSteps),
|
|
67
|
-
equalityEquates = equality.equate(equalities);
|
|
68
|
-
|
|
69
|
-
statementVerifiedAsEquality = equalityEquates; ///
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return statementVerifiedAsEquality;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function verifyStatementAsTypeAssertion(statementNode, assertions, context) {
|
|
77
|
-
let statementVerifiedAsTypeAssertion = false;
|
|
78
|
-
|
|
79
|
-
const typeAssertionNode = typeAssertionNodeQuery(statementNode);
|
|
80
|
-
|
|
81
|
-
if (typeAssertionNode !== null) {
|
|
82
|
-
const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assertions, context);
|
|
83
|
-
|
|
84
|
-
statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
|
|
85
|
-
}
|
|
51
|
+
export function verifyStatementAgainstCombinator(statementNode, combinator, context) {
|
|
52
|
+
const combinatorStatementNode = combinator.getStatementNode(),
|
|
53
|
+
node = statementNode, ///
|
|
54
|
+
combinatorNode = combinatorStatementNode, ///
|
|
55
|
+
nodeVerified = verifyNode(node, combinatorNode, context),
|
|
56
|
+
statementVerifiedAgainstCombinator = nodeVerified; ///
|
|
86
57
|
|
|
87
|
-
return
|
|
58
|
+
return statementVerifiedAgainstCombinator;
|
|
88
59
|
}
|
|
89
60
|
|
|
90
61
|
function verifyStatementAgainstCombinators(statementNode, context) {
|
|
@@ -112,14 +83,40 @@ function verifyStatementAgainstCombinators(statementNode, context) {
|
|
|
112
83
|
return statementVerifiedAgainstCombinators;
|
|
113
84
|
}
|
|
114
85
|
|
|
115
|
-
function
|
|
116
|
-
|
|
117
|
-
node = statementNode, ///
|
|
118
|
-
combinatorNode = combinatorStatementNode, ///
|
|
119
|
-
nodeVerified = verifyNode(node, combinatorNode, context),
|
|
120
|
-
statementVerifiedAgainstCombinator = nodeVerified; ///
|
|
86
|
+
function verifyStatementAsTypeAssertion(statementNode, assertions, derived, context) {
|
|
87
|
+
let statementVerifiedAsTypeAssertion = false;
|
|
121
88
|
|
|
122
|
-
|
|
89
|
+
const typeAssertionNode = typeAssertionNodeQuery(statementNode);
|
|
90
|
+
|
|
91
|
+
if (typeAssertionNode !== null) {
|
|
92
|
+
const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assertions, derived, context);
|
|
93
|
+
|
|
94
|
+
statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return statementVerifiedAsTypeAssertion;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function verifyStatementAsEquality(statementNode, derived, context) {
|
|
101
|
+
let statementVerifiedAsEquality = false;
|
|
102
|
+
|
|
103
|
+
const equality = Equality.fromStatementNode(statementNode, context);
|
|
104
|
+
|
|
105
|
+
if (equality !== null) {
|
|
106
|
+
statementVerifiedAsEquality = true; ///
|
|
107
|
+
|
|
108
|
+
if (derived) {
|
|
109
|
+
const equalities = context.getEqualities();
|
|
110
|
+
|
|
111
|
+
if (equalities !== null) {
|
|
112
|
+
const equalityEquates = equality.equate(equalities, context);
|
|
113
|
+
|
|
114
|
+
statementVerifiedAsEquality = equalityEquates; ///
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return statementVerifiedAsEquality;
|
|
123
120
|
}
|
|
124
121
|
|
|
125
122
|
function verifyNode(node, combinatorNode, context) {
|
|
@@ -230,7 +227,7 @@ function verifyArgumentNode(argumentNode, combinatorArgumentNode, context) {
|
|
|
230
227
|
const termNode = termNodeQuery(argumentNode);
|
|
231
228
|
|
|
232
229
|
if (termNode === null) {
|
|
233
|
-
const argumentString = nodeAsString(argumentNode);
|
|
230
|
+
const argumentString = context.nodeAsString(argumentNode);
|
|
234
231
|
|
|
235
232
|
context.error(`The ${argumentString} argument should be a term, not a type`);
|
|
236
233
|
} else {
|
|
@@ -262,12 +259,12 @@ function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, co
|
|
|
262
259
|
const statementNode = statementNodeQuery(metaArgumentNode);
|
|
263
260
|
|
|
264
261
|
if (statementNode === null) {
|
|
265
|
-
const metaArgumentString = nodeAsString(metaArgumentNode);
|
|
262
|
+
const metaArgumentString = context.nodeAsString(metaArgumentNode);
|
|
266
263
|
|
|
267
264
|
context.error(`The '${metaArgumentString}' meta-argument should be a statement, not a meta-type.`);
|
|
268
265
|
} else {
|
|
269
266
|
const derived = false,
|
|
270
|
-
assertions =
|
|
267
|
+
assertions = [],
|
|
271
268
|
statementVerified = verifyStatement(statementNode, assertions, derived, context);
|
|
272
269
|
|
|
273
270
|
if (statementVerified) {
|
|
@@ -282,7 +279,7 @@ function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, co
|
|
|
282
279
|
}
|
|
283
280
|
|
|
284
281
|
if (!metaArgumentNodeVerified) {
|
|
285
|
-
const combinatorMetaargumentString = nodeAsString(combinatorMetaargumentNode);
|
|
282
|
+
const combinatorMetaargumentString = context.nodeAsString(combinatorMetaargumentNode);
|
|
286
283
|
|
|
287
284
|
context.error(`The '${combinatorMetaargumentString}' combinator meta-argument should be the 'Statement' meta-type.`);
|
|
288
285
|
}
|
|
@@ -291,21 +288,3 @@ function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, co
|
|
|
291
288
|
|
|
292
289
|
return metaArgumentNodeVerified;
|
|
293
290
|
}
|
|
294
|
-
|
|
295
|
-
function equalitiesFromProofSteps(proofSteps) {
|
|
296
|
-
const start = -MAXIMUM_INDEXES_LENGTH; ///
|
|
297
|
-
|
|
298
|
-
proofSteps = proofSteps.slice(start); ///
|
|
299
|
-
|
|
300
|
-
const equalities = proofSteps.reduce((equalities, proofStep, index) => {
|
|
301
|
-
const equality = Equality.fromProofStep(proofStep);
|
|
302
|
-
|
|
303
|
-
if (equality !== null) {
|
|
304
|
-
equalities.push(equality);
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
return equalities;
|
|
308
|
-
}, []);
|
|
309
|
-
|
|
310
|
-
return equalities;
|
|
311
|
-
}
|
|
@@ -4,7 +4,6 @@ import Combinator from "../combinator";
|
|
|
4
4
|
import verifyTerm from "../verify/term";
|
|
5
5
|
import verifyStatement from "../verify/statement";
|
|
6
6
|
|
|
7
|
-
import { nodeAsString } from "../utilities/string";
|
|
8
7
|
import { typeNameFromTypeNode } from "../utilities/query";
|
|
9
8
|
import { TYPE_RULE_NAME, TERM_RULE_NAME, STATEMENT_RULE_NAME } from "../ruleNames";
|
|
10
9
|
|
|
@@ -13,7 +12,7 @@ export default function verifyStatementAsCombinator(statementNode, fileContext)
|
|
|
13
12
|
|
|
14
13
|
fileContext.begin(statementNode);
|
|
15
14
|
|
|
16
|
-
const statementString = nodeAsString(statementNode);
|
|
15
|
+
const statementString = fileContext.nodeAsString(statementNode);
|
|
17
16
|
|
|
18
17
|
fileContext.debug(`Verifying the '${statementString}' combinator....`);
|
|
19
18
|
|
|
@@ -5,7 +5,6 @@ import Supposition from "../supposition";
|
|
|
5
5
|
import verifyUnqualifiedStatement from "./statement/unqualified";
|
|
6
6
|
|
|
7
7
|
import { nodeQuery } from "../utilities/query";
|
|
8
|
-
import { nodeAsString } from "../utilities/string";
|
|
9
8
|
|
|
10
9
|
const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
|
|
11
10
|
unqualifiedStatementNodeQuery = nodeQuery("/supposition/unqualifiedStatement!");
|
|
@@ -15,9 +14,9 @@ export default function verifySupposition(suppositionNode, suppositions, proofCo
|
|
|
15
14
|
|
|
16
15
|
proofContext.begin(suppositionNode);
|
|
17
16
|
|
|
18
|
-
const suppositionString = nodeAsString(suppositionNode);
|
|
17
|
+
const suppositionString = proofContext.nodeAsString(suppositionNode);
|
|
19
18
|
|
|
20
|
-
proofContext.debug(`Verifying the ${suppositionString} supposition...`);
|
|
19
|
+
proofContext.debug(`Verifying the '${suppositionString}' supposition...`);
|
|
21
20
|
|
|
22
21
|
const derived = false,
|
|
23
22
|
assertions = [],
|
package/src/verify/term.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import { first } from "../utilities/array";
|
|
4
4
|
import { objectType } from "../type";
|
|
5
|
-
import { nodeAsString } from "../utilities/string";
|
|
6
5
|
import { OBJECT_TYPE_NAME } from "../typeNames";
|
|
7
6
|
import { ARGUMENT_RULE_NAME } from "../ruleNames";
|
|
8
7
|
import { nodeQuery, typeNameFromTypeNode, variableNameFromVariableNode } from "../utilities/query";
|
|
@@ -16,7 +15,7 @@ export default function verifyTerm(termNode, types, context) {
|
|
|
16
15
|
|
|
17
16
|
context.begin(termNode);
|
|
18
17
|
|
|
19
|
-
const termString = nodeAsString(termNode);
|
|
18
|
+
const termString = context.nodeAsString(termNode);
|
|
20
19
|
|
|
21
20
|
context.debug(`Verifying the '${termString}' term...`);
|
|
22
21
|
|
|
@@ -218,7 +217,7 @@ function verifyArgumentNode(argumentNode, constructorArgumentNode, context) {
|
|
|
218
217
|
const termNode = termNodeQuery(argumentNode);
|
|
219
218
|
|
|
220
219
|
if (termNode === null) {
|
|
221
|
-
const argumentString = nodeAsString(argumentNode);
|
|
220
|
+
const argumentString = context.nodeAsString(argumentNode);
|
|
222
221
|
|
|
223
222
|
context.error(`The ${argumentString} argument should be a term, not a type`);
|
|
224
223
|
} else {
|
|
@@ -4,7 +4,6 @@ import verifyTerm from "../verify/term";
|
|
|
4
4
|
import Constructor from "../constructor";
|
|
5
5
|
|
|
6
6
|
import { first } from "../utilities/array";
|
|
7
|
-
import { nodeAsString } from "../utilities/string";
|
|
8
7
|
import { nodeQuery, typeNameFromTypeNode } from "../utilities/query";
|
|
9
8
|
import { TERM_RULE_NAME, ARGUMENT_RULE_NAME } from "../ruleNames";
|
|
10
9
|
|
|
@@ -18,7 +17,7 @@ export default function verifyTermAsConstructor(termNode, typeNode, fileContext)
|
|
|
18
17
|
let type = null;
|
|
19
18
|
|
|
20
19
|
const nonTerminalNode = termNode, ///
|
|
21
|
-
termString = nodeAsString(termNode);
|
|
20
|
+
termString = fileContext.nodeAsString(termNode);
|
|
22
21
|
|
|
23
22
|
fileContext.debug(`Verifying the '${termString}' constructor...`);
|
|
24
23
|
|
|
@@ -123,7 +122,7 @@ function verifyNonTerminalNode(nonTerminalNode, fileContext) {
|
|
|
123
122
|
type = firstType; ///
|
|
124
123
|
|
|
125
124
|
if (type !== null) {
|
|
126
|
-
const termString = nodeAsString(termNode);
|
|
125
|
+
const termString = fileContext.nodeAsString(termNode);
|
|
127
126
|
|
|
128
127
|
fileContext.error(`The type of the constructor's compound '${termString}' term node is not null.`);
|
|
129
128
|
} else {
|
|
@@ -153,7 +152,7 @@ function verifyArgumentNode(argumentNode, fileContext) {
|
|
|
153
152
|
const typeNode = typeNodeQuery(argumentNode);
|
|
154
153
|
|
|
155
154
|
if (typeNode === null) {
|
|
156
|
-
const argumentString = nodeAsString(argumentNode);
|
|
155
|
+
const argumentString = fileContext.nodeAsString(argumentNode);
|
|
157
156
|
|
|
158
157
|
fileContext.error(`The ${argumentString} argument should be a type.`);
|
|
159
158
|
} else {
|
package/src/verify/theorem.js
CHANGED
|
@@ -8,7 +8,6 @@ import verifySupposition from "./supposition";
|
|
|
8
8
|
import verifyConsequence from "./consequence";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
|
11
|
-
import { nodesAsString } from "../utilities/string";
|
|
12
11
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
13
12
|
|
|
14
13
|
const proofNodeQuery = nodeQuery("/theorem/proof!"),
|
|
@@ -22,7 +21,7 @@ export default function verifyTheorem(theoremNode, fileContext) {
|
|
|
22
21
|
fileContext.begin(theoremNode);
|
|
23
22
|
|
|
24
23
|
const labelNodes = labelNodesQuery(theoremNode),
|
|
25
|
-
labelsString = nodesAsString(labelNodes),
|
|
24
|
+
labelsString = fileContext.nodesAsString(labelNodes),
|
|
26
25
|
proofContext = ProofContext.fromFileContext(fileContext);
|
|
27
26
|
|
|
28
27
|
fileContext.debug(`Verifying the '${labelsString}' theorem...`);
|
package/src/verify/type.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import Type from "../type";
|
|
4
4
|
|
|
5
|
-
import { nodeAsString } from "../utilities/string";
|
|
6
5
|
import { typeNameFromTypeNode } from "../utilities/query";
|
|
7
6
|
|
|
8
7
|
export default function verifyType(typeNode, superTypeNode, fileContext) {
|
|
@@ -10,7 +9,7 @@ export default function verifyType(typeNode, superTypeNode, fileContext) {
|
|
|
10
9
|
|
|
11
10
|
fileContext.begin(typeNode);
|
|
12
11
|
|
|
13
|
-
const typeString = nodeAsString(typeNode);
|
|
12
|
+
const typeString = fileContext.nodeAsString(typeNode);
|
|
14
13
|
|
|
15
14
|
fileContext.debug(`Verifying the '${typeString}' type...`);
|
|
16
15
|
|
package/src/verify/variable.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import Variable from "../variable";
|
|
4
4
|
|
|
5
5
|
import { objectType } from "../type";
|
|
6
|
-
import { nodeAsString } from "../utilities/string";
|
|
7
6
|
import { typeNameFromTypeNode, variableNameFromVariableNode } from "../utilities/query";
|
|
8
7
|
|
|
9
8
|
export default function verifyVariable(variableNode, typeNode, fileContext) {
|
|
@@ -11,7 +10,7 @@ export default function verifyVariable(variableNode, typeNode, fileContext) {
|
|
|
11
10
|
|
|
12
11
|
fileContext.begin(variableNode);
|
|
13
12
|
|
|
14
|
-
const variableString = nodeAsString(variableNode);
|
|
13
|
+
const variableString = fileContext.nodeAsString(variableNode);
|
|
15
14
|
|
|
16
15
|
fileContext.debug(`Verifying the '${variableString}' variable...`);
|
|
17
16
|
|
package/lib/axiomLemmaTheorem.js
DELETED
|
@@ -1,190 +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 AxiomLemmaTheorem;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _label = /*#__PURE__*/ _interopRequireDefault(require("./label"));
|
|
12
|
-
var _supposition = /*#__PURE__*/ _interopRequireDefault(require("./supposition"));
|
|
13
|
-
var _consequence = /*#__PURE__*/ _interopRequireDefault(require("./consequence"));
|
|
14
|
-
var _array = require("./utilities/array");
|
|
15
|
-
function _classCallCheck(instance, Constructor) {
|
|
16
|
-
if (!(instance instanceof Constructor)) {
|
|
17
|
-
throw new TypeError("Cannot call a class as a function");
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function _defineProperties(target, props) {
|
|
21
|
-
for(var i = 0; i < props.length; i++){
|
|
22
|
-
var descriptor = props[i];
|
|
23
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
24
|
-
descriptor.configurable = true;
|
|
25
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
26
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
30
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
-
return Constructor;
|
|
33
|
-
}
|
|
34
|
-
function _interopRequireDefault(obj) {
|
|
35
|
-
return obj && obj.__esModule ? obj : {
|
|
36
|
-
default: obj
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
var AxiomLemmaTheorem = /*#__PURE__*/ function() {
|
|
40
|
-
function AxiomLemmaTheorem(labels, suppositions, consequence) {
|
|
41
|
-
_classCallCheck(this, AxiomLemmaTheorem);
|
|
42
|
-
this.labels = labels;
|
|
43
|
-
this.suppositions = suppositions;
|
|
44
|
-
this.consequence = consequence;
|
|
45
|
-
}
|
|
46
|
-
_createClass(AxiomLemmaTheorem, [
|
|
47
|
-
{
|
|
48
|
-
key: "getLabels",
|
|
49
|
-
value: function getLabels() {
|
|
50
|
-
return this.labels;
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
key: "getSuppositions",
|
|
55
|
-
value: function getSuppositions() {
|
|
56
|
-
return this.suppositions;
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
key: "getConsequence",
|
|
61
|
-
value: function getConsequence() {
|
|
62
|
-
return this.consequence;
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
key: "matchLabelName",
|
|
67
|
-
value: function matchLabelName(labelName) {
|
|
68
|
-
var matchesLabelName = this.labels.some(function(label) {
|
|
69
|
-
var name = labelName, labelMatchesName = label.matchName(name);
|
|
70
|
-
if (labelMatchesName) {
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
return matchesLabelName;
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
key: "matchStatement",
|
|
79
|
-
value: function matchStatement(statementNode, proofContext) {
|
|
80
|
-
var _this = this;
|
|
81
|
-
var statementNatches;
|
|
82
|
-
var suppositionsLength = this.suppositions.length;
|
|
83
|
-
if (suppositionsLength === 0) {
|
|
84
|
-
var substitutions = [], consequenceMatches = matchConsequence(this.consequence, statementNode, substitutions);
|
|
85
|
-
statementNatches = consequenceMatches; ///
|
|
86
|
-
} else {
|
|
87
|
-
var proofSteps = proofContext.getProofSteps();
|
|
88
|
-
statementNatches = (0, _array.someSubArray)(proofSteps, suppositionsLength, function(proofSteps) {
|
|
89
|
-
var suppositionsMatchConsequence = matchSuppositionsAndConsequence(_this.suppositions, _this.consequence, proofSteps, statementNode);
|
|
90
|
-
if (suppositionsMatchConsequence) {
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
return statementNatches;
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
key: "toJSON",
|
|
100
|
-
value: function toJSON() {
|
|
101
|
-
var kind = this.constructor.kind, labelsJSON = this.labels.map(function(label) {
|
|
102
|
-
var labelJSON = label.toJSON();
|
|
103
|
-
return labelJSON;
|
|
104
|
-
}), suppositionsJSON = this.suppositions.map(function(supposition) {
|
|
105
|
-
var suppositionJSON = supposition.toJSON();
|
|
106
|
-
return suppositionJSON;
|
|
107
|
-
}), consequenceJSON = this.consequence.toJSON(), labels = labelsJSON, suppositions = suppositionsJSON, consequence = consequenceJSON, json = {
|
|
108
|
-
kind: kind,
|
|
109
|
-
labels: labels,
|
|
110
|
-
suppositions: suppositions,
|
|
111
|
-
consequence: consequence
|
|
112
|
-
};
|
|
113
|
-
return json;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
], [
|
|
117
|
-
{
|
|
118
|
-
key: "fromJSON",
|
|
119
|
-
value: function fromJSON(Class, json, releaseContext) {
|
|
120
|
-
var labels = json.labels;
|
|
121
|
-
var labelsJSON = labels; ///
|
|
122
|
-
labels = labelsJSON.map(function(labelJSON) {
|
|
123
|
-
var _$json = labelJSON, label = _label.default.fromJSON(_$json, releaseContext);
|
|
124
|
-
return label;
|
|
125
|
-
});
|
|
126
|
-
var suppositions = json.suppositions;
|
|
127
|
-
var suppositionsJSON = suppositions; ///
|
|
128
|
-
suppositions = suppositionsJSON.map(function(suppositionJSON) {
|
|
129
|
-
var _$json = suppositionJSON, supposition = _supposition.default.fromJSON(_$json, releaseContext);
|
|
130
|
-
return supposition;
|
|
131
|
-
});
|
|
132
|
-
var consequence = json.consequence;
|
|
133
|
-
var consequenceJSON = consequence; ///
|
|
134
|
-
json = consequenceJSON; ///
|
|
135
|
-
consequence = _consequence.default.fromJSON(json, releaseContext);
|
|
136
|
-
return new Class(labels, suppositions, consequence); ///
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
key: "fromLabelsSuppositionsAndConsequence",
|
|
141
|
-
value: function fromLabelsSuppositionsAndConsequence(Class, labels, suppositions, consequence) {
|
|
142
|
-
return new Class(labels, suppositions, consequence);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
]);
|
|
146
|
-
return AxiomLemmaTheorem;
|
|
147
|
-
}();
|
|
148
|
-
function matchSupposition(supposition, proofSteps, substitutions) {
|
|
149
|
-
var proofStep = (0, _array.prune)(proofSteps, function(proofStep) {
|
|
150
|
-
var subproofNode = proofStep.getSubproofNode(), statementNode = proofStep.getStatementNode();
|
|
151
|
-
if (subproofNode !== null) {
|
|
152
|
-
var subProofMatches = supposition.matchSubproofNode(subproofNode, substitutions);
|
|
153
|
-
if (!subProofMatches) {
|
|
154
|
-
return true;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
if (statementNode !== null) {
|
|
158
|
-
var statementMatches = supposition.matchStatementNode(statementNode, substitutions);
|
|
159
|
-
if (!statementMatches) {
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}) || null;
|
|
164
|
-
var suppositionMatches = proofStep !== null;
|
|
165
|
-
return suppositionMatches;
|
|
166
|
-
}
|
|
167
|
-
function matchSuppositions(supposition, proofSteps, substitutions) {
|
|
168
|
-
var suppositionsMatches = supposition.every(function(supposition) {
|
|
169
|
-
var suppositionMatches = matchSupposition(supposition, proofSteps, substitutions);
|
|
170
|
-
if (suppositionMatches) {
|
|
171
|
-
return true;
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
return suppositionsMatches;
|
|
175
|
-
}
|
|
176
|
-
function matchConsequence(consequence, statementNode, substitutions) {
|
|
177
|
-
var nonTerminalNodeMatches = consequence.matchStatementNode(statementNode, substitutions), consequenceMatches = nonTerminalNodeMatches; ///
|
|
178
|
-
return consequenceMatches;
|
|
179
|
-
}
|
|
180
|
-
function matchSuppositionsAndConsequence(suppositions, consequence, proofSteps, statementNode) {
|
|
181
|
-
var suppositionsMatchConsequence = false;
|
|
182
|
-
var substitutions = [], suppositionsMatches = matchSuppositions(suppositions, proofSteps, substitutions);
|
|
183
|
-
if (suppositionsMatches) {
|
|
184
|
-
var consequenceMatches = matchConsequence(consequence, statementNode, substitutions);
|
|
185
|
-
suppositionsMatchConsequence = consequenceMatches; ///
|
|
186
|
-
}
|
|
187
|
-
return suppositionsMatchConsequence;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbUxlbW1hVGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5pbXBvcnQgU3VwcG9zaXRpb24gZnJvbSBcIi4vc3VwcG9zaXRpb25cIjtcbmltcG9ydCBDb25zZXF1ZW5jZSBmcm9tIFwiLi9jb25zZXF1ZW5jZVwiO1xuXG5pbXBvcnQgeyBwcnVuZSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgc29tZVN1YkFycmF5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF4aW9tTGVtbWFUaGVvcmVtIHtcbiAgY29uc3RydWN0b3IobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy5zdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnM7XG4gICAgdGhpcy5jb25zZXF1ZW5jZSA9IGNvbnNlcXVlbmNlO1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFN1cHBvc2l0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBwb3NpdGlvbnM7XG4gIH1cblxuICBnZXRDb25zZXF1ZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25zZXF1ZW5jZTtcbiAgfVxuXG4gIG1hdGNoTGFiZWxOYW1lKGxhYmVsTmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNMYWJlbE5hbWUgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IGxhYmVsTmFtZSwgLy8vXG4gICAgICAgICAgICBsYWJlbE1hdGNoZXNOYW1lID0gbGFiZWwubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICBpZiAobGFiZWxNYXRjaGVzTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtYXRjaGVzTGFiZWxOYW1lO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNMZW5ndGggPSB0aGlzLnN1cHBvc2l0aW9ucy5sZW5ndGg7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW5jZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlKHRoaXMuY29uc2VxdWVuY2UsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gY29uc2VxdWVuY2VNYXRjaGVzOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJvb2ZTdGVwcyA9IHByb29mQ29udGV4dC5nZXRQcm9vZlN0ZXBzKCk7XG5cbiAgICAgIHN0YXRlbWVudE5hdGNoZXMgPSBzb21lU3ViQXJyYXkocHJvb2ZTdGVwcywgc3VwcG9zaXRpb25zTGVuZ3RoLCAocHJvb2ZTdGVwcykgPT4ge1xuICAgICAgICBjb25zdCBzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlID0gbWF0Y2hTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZSh0aGlzLnN1cHBvc2l0aW9ucywgdGhpcy5jb25zZXF1ZW5jZSwgcHJvb2ZTdGVwcywgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgaWYgKHN1cHBvc2l0aW9uc01hdGNoQ29uc2VxdWVuY2UpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgeyBraW5kIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIGxhYmVsc0pTT04gPSB0aGlzLmxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbEpTT04gPSBsYWJlbC50b0pTT04oKTtcblxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNKU09OID0gdGhpcy5zdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25KU09OID0gc3VwcG9zaXRpb24udG9KU09OKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvbkpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY29uc2VxdWVuY2VKU09OID0gdGhpcy5jb25zZXF1ZW5jZS50b0pTT04oKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbmNlID0gY29uc2VxdWVuY2VKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnMsXG4gICAgICAgICAgICBjb25zZXF1ZW5jZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihDbGFzcywganNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBsZXQgeyBsYWJlbHMgfSA9IGpzb247XG5cbiAgICBjb25zdCBsYWJlbHNKU09OID0gbGFiZWxzOyAgLy8vXG5cbiAgICBsYWJlbHMgPSBsYWJlbHNKU09OLm1hcCgobGFiZWxKU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gbGFiZWxKU09OLCAvLy9cbiAgICAgICAgICAgIGxhYmVsID0gTGFiZWwuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfSk7XG5cbiAgICBsZXQgeyBzdXBwb3NpdGlvbnMgfSA9IGpzb247XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNKU09OID0gc3VwcG9zaXRpb25zOyAgLy8vXG5cbiAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNKU09OLm1hcCgoc3VwcG9zaXRpb25KU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gc3VwcG9zaXRpb25KU09OLCAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uID0gU3VwcG9zaXRpb24uZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gICAgfSk7XG5cbiAgICBsZXQgeyBjb25zZXF1ZW5jZSB9ID0ganNvbjtcblxuICAgIGNvbnN0IGNvbnNlcXVlbmNlSlNPTiA9IGNvbnNlcXVlbmNlOyAgLy8vXG5cbiAgICBqc29uID0gY29uc2VxdWVuY2VKU09OOyAgLy8vXG5cbiAgICBjb25zZXF1ZW5jZSA9IENvbnNlcXVlbmNlLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIHJldHVybiBuZXcgQ2xhc3MobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKTsgIC8vL1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZShDbGFzcywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKSB7IHJldHVybiBuZXcgQ2xhc3MobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKTsgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHByb29mU3RlcCA9IHBydW5lKHByb29mU3RlcHMsIChwcm9vZlN0ZXApID0+IHtcbiAgICBjb25zdCBzdWJwcm9vZk5vZGUgPSBwcm9vZlN0ZXAuZ2V0U3VicHJvb2ZOb2RlKCksXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJQcm9vZk1hdGNoZXMgPSBzdXBwb3NpdGlvbi5tYXRjaFN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXN1YlByb29mTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRNYXRjaGVzID0gc3VwcG9zaXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXN0YXRlbWVudE1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfSkgfHwgbnVsbDtcblxuICBjb25zdCBzdXBwb3NpdGlvbk1hdGNoZXMgPSAocHJvb2ZTdGVwICE9PSBudWxsKTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25NYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbiwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBzdXBwb3NpdGlvbnNNYXRjaGVzID0gc3VwcG9zaXRpb24uZXZlcnkoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25NYXRjaGVzID0gbWF0Y2hTdXBwb3NpdGlvbihzdXBwb3NpdGlvbiwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25NYXRjaGVzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBzdXBwb3NpdGlvbnNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbnNlcXVlbmNlKGNvbnNlcXVlbmNlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBjb25zZXF1ZW5jZS5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyksXG4gICAgICAgIGNvbnNlcXVlbmNlTWF0Y2hlcyA9IG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25zZXF1ZW5jZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2Uoc3VwcG9zaXRpb25zLCBjb25zZXF1ZW5jZSwgcHJvb2ZTdGVwcywgc3RhdGVtZW50Tm9kZSkge1xuICBsZXQgc3VwcG9zaXRpb25zTWF0Y2hDb25zZXF1ZW5jZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgc3VwcG9zaXRpb25zTWF0Y2hlcyA9IG1hdGNoU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucywgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgaWYgKHN1cHBvc2l0aW9uc01hdGNoZXMpIHtcbiAgICBjb25zdCBjb25zZXF1ZW5jZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlKGNvbnNlcXVlbmNlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHN1cHBvc2l0aW9uc01hdGNoQ29uc2VxdWVuY2UgPSBjb25zZXF1ZW5jZU1hdGNoZXM7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlO1xufVxuIl0sIm5hbWVzIjpbIkF4aW9tTGVtbWFUaGVvcmVtIiwibGFiZWxzIiwic3VwcG9zaXRpb25zIiwiY29uc2VxdWVuY2UiLCJnZXRMYWJlbHMiLCJnZXRTdXBwb3NpdGlvbnMiLCJnZXRDb25zZXF1ZW5jZSIsIm1hdGNoTGFiZWxOYW1lIiwibGFiZWxOYW1lIiwibWF0Y2hlc0xhYmVsTmFtZSIsInNvbWUiLCJsYWJlbCIsIm5hbWUiLCJsYWJlbE1hdGNoZXNOYW1lIiwibWF0Y2hOYW1lIiwibWF0Y2hTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwicHJvb2ZDb250ZXh0Iiwic3RhdGVtZW50TmF0Y2hlcyIsInN1cHBvc2l0aW9uc0xlbmd0aCIsImxlbmd0aCIsInN1YnN0aXR1dGlvbnMiLCJjb25zZXF1ZW5jZU1hdGNoZXMiLCJtYXRjaENvbnNlcXVlbmNlIiwicHJvb2ZTdGVwcyIsImdldFByb29mU3RlcHMiLCJzb21lU3ViQXJyYXkiLCJzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlIiwibWF0Y2hTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZSIsInRvSlNPTiIsImtpbmQiLCJjb25zdHJ1Y3RvciIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJzdXBwb3NpdGlvbnNKU09OIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbkpTT04iLCJjb25zZXF1ZW5jZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJDbGFzcyIsInJlbGVhc2VDb250ZXh0IiwiTGFiZWwiLCJTdXBwb3NpdGlvbiIsIkNvbnNlcXVlbmNlIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZENvbnNlcXVlbmNlIiwibWF0Y2hTdXBwb3NpdGlvbiIsInByb29mU3RlcCIsInBydW5lIiwic3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN1YlByb29mTWF0Y2hlcyIsIm1hdGNoU3VicHJvb2ZOb2RlIiwic3RhdGVtZW50TWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uTWF0Y2hlcyIsIm1hdGNoU3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25zTWF0Y2hlcyIsImV2ZXJ5Iiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFTcUJBOzs7MERBUEg7Z0VBQ007Z0VBQ0E7cUJBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHUCxJQUFBLEFBQU1BLGtDQXdIbEIsQUF4SFk7YUFBTUEsa0JBQ1BDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxXQUFXOzhCQUQxQkg7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTs7aUJBSkZIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCO2dCQUNoQixPQUFPLElBQUksQ0FBQ0gsWUFBWTtZQUMxQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUI7Z0JBQ2YsT0FBTyxJQUFJLENBQUNILFdBQVc7WUFDekI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUMsU0FBUyxFQUFFO2dCQUN4QixJQUFNQyxtQkFBbUIsSUFBSSxDQUFDUixNQUFNLENBQUNTLElBQUksQ0FBQyxTQUFDQyxPQUFVO29CQUNuRCxJQUFNQyxPQUFPSixXQUNQSyxtQkFBbUJGLE1BQU1HLFNBQVMsQ0FBQ0Y7b0JBRXpDLElBQUlDLGtCQUFrQjt3QkFDcEIsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0g7Z0JBRUEsT0FBT0o7WUFDVDs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlQyxhQUFhLEVBQUVDLFlBQVksRUFBRTs7Z0JBQzFDLElBQUlDO2dCQUVKLElBQU1DLHFCQUFxQixJQUFJLENBQUNqQixZQUFZLENBQUNrQixNQUFNO2dCQUVuRCxJQUFJRCx1QkFBdUIsR0FBRztvQkFDNUIsSUFBTUUsZ0JBQWdC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
|
package/lib/jsonTypes.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
NULL_JSON_TYPE: function() {
|
|
13
|
-
return NULL_JSON_TYPE;
|
|
14
|
-
},
|
|
15
|
-
ARRAY_JSON_TYPE: function() {
|
|
16
|
-
return ARRAY_JSON_TYPE;
|
|
17
|
-
},
|
|
18
|
-
OBJECT_JSON_TYPE: function() {
|
|
19
|
-
return OBJECT_JSON_TYPE;
|
|
20
|
-
},
|
|
21
|
-
PRIMITIVE_JSON_TYPE: function() {
|
|
22
|
-
return PRIMITIVE_JSON_TYPE;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
var NULL_JSON_TYPE = "null";
|
|
26
|
-
var ARRAY_JSON_TYPE = "array";
|
|
27
|
-
var OBJECT_JSON_TYPE = "object";
|
|
28
|
-
var PRIMITIVE_JSON_TYPE = "primitive";
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qc29uVHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBOVUxMX0pTT05fVFlQRSA9IFwibnVsbFwiO1xuZXhwb3J0IGNvbnN0IEFSUkFZX0pTT05fVFlQRSA9IFwiYXJyYXlcIjtcbmV4cG9ydCBjb25zdCBPQkpFQ1RfSlNPTl9UWVBFID0gXCJvYmplY3RcIjtcbmV4cG9ydCBjb25zdCBQUklNSVRJVkVfSlNPTl9UWVBFID0gXCJwcmltaXRpdmVcIjtcbiJdLCJuYW1lcyI6WyJOVUxMX0pTT05fVFlQRSIsIkFSUkFZX0pTT05fVFlQRSIsIk9CSkVDVF9KU09OX1RZUEUiLCJQUklNSVRJVkVfSlNPTl9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFYUEsY0FBYztlQUFkQTs7SUFDQUMsZUFBZTtlQUFmQTs7SUFDQUMsZ0JBQWdCO2VBQWhCQTs7SUFDQUMsbUJBQW1CO2VBQW5CQTs7O0FBSE4sSUFBTUgsaUJBQWlCO0FBQ3ZCLElBQU1DLGtCQUFrQjtBQUN4QixJQUFNQyxtQkFBbUI7QUFDekIsSUFBTUMsc0JBQXNCIn0=
|