occam-nominal 1.0.309 → 1.0.310
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/context/file/nominal.js +2 -2
- package/lib/element/assertion/subproof.js +4 -4
- package/lib/element/derivation.js +3 -3
- package/lib/element/frame.js +3 -3
- package/lib/element/procedureCall.js +25 -25
- package/lib/element/proofAssertion/premise.js +26 -19
- package/lib/element/proofAssertion/step.js +4 -4
- package/lib/element/proofAssertion/supposition.js +4 -5
- package/lib/element/rule.js +12 -12
- package/lib/element/subDerivation.js +3 -3
- package/lib/element/subproof.js +5 -5
- package/lib/element/topLevelAssertion.js +5 -5
- package/lib/pass/continuationZip.js +2 -2
- package/lib/process/unify.js +9 -9
- package/lib/process/validate.js +9 -9
- package/lib/process/validation.js +4 -4
- package/lib/process/verify.js +18 -18
- package/lib/utilities/continuation.js +5 -5
- package/package.json +3 -3
- package/src/context/file/nominal.js +1 -1
- package/src/element/assertion/subproof.js +3 -3
- package/src/element/derivation.js +2 -2
- package/src/element/frame.js +2 -2
- package/src/element/procedureCall.js +28 -29
- package/src/element/proofAssertion/premise.js +32 -23
- package/src/element/proofAssertion/step.js +3 -3
- package/src/element/proofAssertion/supposition.js +5 -5
- package/src/element/rule.js +11 -11
- package/src/element/subDerivation.js +2 -2
- package/src/element/subproof.js +4 -4
- package/src/element/topLevelAssertion.js +4 -4
- package/src/pass/continuationZip.js +1 -1
- package/src/process/unify.js +8 -8
- package/src/process/validate.js +8 -8
- package/src/process/validation.js +3 -3
- package/src/process/verify.js +17 -17
- package/src/utilities/continuation.js +4 -4
package/lib/process/verify.js
CHANGED
|
@@ -19,112 +19,112 @@ class TopLevelPass extends _occamlanguages.ContinuationPass {
|
|
|
19
19
|
nodeQuery: errorNodeQuery,
|
|
20
20
|
run: (errorNode, context, continuation)=>{
|
|
21
21
|
const error = (0, _element.errorFromErrorNode)(errorNode, context);
|
|
22
|
-
error.verify(context, continuation);
|
|
22
|
+
return error.verify(context, continuation);
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
nodeQuery: ruleNodeQuery,
|
|
27
27
|
run: (ruleNode, context, continuation)=>{
|
|
28
28
|
const rule = (0, _element.ruleFromRuleNode)(ruleNode, context);
|
|
29
|
-
rule.verify(context, continuation);
|
|
29
|
+
return rule.verify(context, continuation);
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
nodeQuery: axiomNodeQuery,
|
|
34
34
|
run: (axiomNode, context, continuation)=>{
|
|
35
35
|
const axiom = (0, _element.axiomFromAxiomNode)(axiomNode, context);
|
|
36
|
-
axiom.verify(context, continuation);
|
|
36
|
+
return axiom.verify(context, continuation);
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
nodeQuery: lemmaNodeQuery,
|
|
41
41
|
run: (lemmaNode, context, continuation)=>{
|
|
42
42
|
const lemma = (0, _element.lemmaFromLemmaNode)(lemmaNode, context);
|
|
43
|
-
lemma.verify(context, continuation);
|
|
43
|
+
return lemma.verify(context, continuation);
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
nodeQuery: schemaNodeQuery,
|
|
48
48
|
run: (schemaNode, context, continuation)=>{
|
|
49
49
|
const schema = (0, _element.schemaFromSchemaNode)(schemaNode, context);
|
|
50
|
-
schema.verify(context, continuation);
|
|
50
|
+
return schema.verify(context, continuation);
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
nodeQuery: sectionNodeQuery,
|
|
55
55
|
run: (sectionNode, context, continuation)=>{
|
|
56
56
|
const section = (0, _element.sectionFromSectionNode)(sectionNode, context);
|
|
57
|
-
section.verify(context, continuation);
|
|
57
|
+
return section.verify(context, continuation);
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
61
|
nodeQuery: theoremNodeQuery,
|
|
62
62
|
run: (theoremNode, context, continuation)=>{
|
|
63
63
|
const theorem = (0, _element.theoremFromTheoremNode)(theoremNode, context);
|
|
64
|
-
theorem.verify(context, continuation);
|
|
64
|
+
return theorem.verify(context, continuation);
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
68
|
nodeQuery: conjectureNodeQuery,
|
|
69
69
|
run: (conjectureNode, context, continuation)=>{
|
|
70
70
|
const conjecture = (0, _element.conjectureFromConjectureNode)(conjectureNode, context);
|
|
71
|
-
conjecture.verify(context, continuation);
|
|
71
|
+
return conjecture.verify(context, continuation);
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
nodeQuery: typeDeclarationNodeQuery,
|
|
76
76
|
run: (typeDeclarationNode, context, continuation)=>{
|
|
77
77
|
const typeDeclaration = (0, _element.typeDeclarationFromTypeDeclarationNode)(typeDeclarationNode, context);
|
|
78
|
-
typeDeclaration.verify(context, continuation);
|
|
78
|
+
return typeDeclaration.verify(context, continuation);
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
nodeQuery: cotypeDeclarationNodeQuery,
|
|
83
83
|
run: (cotypeDeclarationNode, context, continuation)=>{
|
|
84
84
|
const cotypeDeclaration = (0, _element.cotypeDeclarationFromCotypeDeclarationNode)(cotypeDeclarationNode, context);
|
|
85
|
-
cotypeDeclaration.verify(context, continuation);
|
|
85
|
+
return cotypeDeclaration.verify(context, continuation);
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
89
|
nodeQuery: variableDeclarationNodeQuery,
|
|
90
90
|
run: (variableDeclarationNode, context, continuation)=>{
|
|
91
91
|
const variableDeclaration = (0, _element.variableDeclarationFromVariableDeclarationNode)(variableDeclarationNode, context);
|
|
92
|
-
variableDeclaration.verify(context, continuation);
|
|
92
|
+
return variableDeclaration.verify(context, continuation);
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
nodeQuery: generatorDeclarationNodeQuery,
|
|
97
97
|
run: (generatorDeclarationNode, context, continuation)=>{
|
|
98
98
|
const generatorDeclaration = (0, _element.generatorDeclarationFromGeneratorDeclarationNode)(generatorDeclarationNode, context);
|
|
99
|
-
generatorDeclaration.verify(context, continuation);
|
|
99
|
+
return generatorDeclaration.verify(context, continuation);
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
nodeQuery: typePrefixDeclarationNodeQuery,
|
|
104
104
|
run: (typePrefixDeclarationNode, context, continuation)=>{
|
|
105
105
|
const typePrefixDeclaration = (0, _element.typePrefixDeclarationFromTypePrefixDeclarationNode)(typePrefixDeclarationNode, context);
|
|
106
|
-
typePrefixDeclaration.verify(context, continuation);
|
|
106
|
+
return typePrefixDeclaration.verify(context, continuation);
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
nodeQuery: combinatorDeclarationNodeQuery,
|
|
111
111
|
run: (combinatorDeclarationNode, context, continuation)=>{
|
|
112
112
|
const combinatorDeclaration = (0, _element.combinatorDeclarationFromCombinatorDeclarationNode)(combinatorDeclarationNode, context);
|
|
113
|
-
combinatorDeclaration.verify(context, continuation);
|
|
113
|
+
return combinatorDeclaration.verify(context, continuation);
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
117
|
nodeQuery: constructorDeclarationNodeQuery,
|
|
118
118
|
run: (constructorDeclarationNode, context, continuation)=>{
|
|
119
119
|
const constructorDeclaration = (0, _element.constructorDeclarationFromConstructorDeclarationNode)(constructorDeclarationNode, context);
|
|
120
|
-
constructorDeclaration.verify(context, continuation);
|
|
120
|
+
return constructorDeclaration.verify(context, continuation);
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
124
|
nodeQuery: metavariableDeclarationNodeQuery,
|
|
125
125
|
run: (metavariableDeclarationNode, context, continuation)=>{
|
|
126
126
|
const metavariableDeclaration = (0, _element.metavariableDeclarationFromMetavariableDeclarationNode)(metavariableDeclarationNode, context);
|
|
127
|
-
metavariableDeclaration.verify(context, continuation);
|
|
127
|
+
return metavariableDeclaration.verify(context, continuation);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
];
|
|
@@ -132,7 +132,7 @@ class TopLevelPass extends _occamlanguages.ContinuationPass {
|
|
|
132
132
|
const topLevelPass = new TopLevelPass();
|
|
133
133
|
function verifyFile(fileNode, context, continuation) {
|
|
134
134
|
const node = fileNode; ///
|
|
135
|
-
topLevelPass.run(node, context, continuation);
|
|
135
|
+
return topLevelPass.run(node, context, continuation);
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL3ZlcmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcXVlcnlVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tcXVlcnlcIlxuaW1wb3J0IHsgQ29udGludWF0aW9uUGFzcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgcnVsZUZyb21SdWxlTm9kZSxcbiAgICAgICAgIGVycm9yRnJvbUVycm9yTm9kZSxcbiAgICAgICAgIGF4aW9tRnJvbUF4aW9tTm9kZSxcbiAgICAgICAgIGxlbW1hRnJvbUxlbW1hTm9kZSxcbiAgICAgICAgIHNjaGVtYUZyb21TY2hlbWFOb2RlLFxuICAgICAgICAgc2VjdGlvbkZyb21TZWN0aW9uTm9kZSxcbiAgICAgICAgIHRoZW9yZW1Gcm9tVGhlb3JlbU5vZGUsXG4gICAgICAgICBjb25qZWN0dXJlRnJvbUNvbmplY3R1cmVOb2RlLFxuICAgICAgICAgdHlwZURlY2xhcmF0aW9uRnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gICAgICAgICBjb3R5cGVEZWNsYXJhdGlvbkZyb21Db3R5cGVEZWNsYXJhdGlvbk5vZGUsXG4gICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uRnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLFxuICAgICAgICAgZ2VuZXJhdG9yRGVjbGFyYXRpb25Gcm9tR2VuZXJhdG9yRGVjbGFyYXRpb25Ob2RlLFxuICAgICAgICAgdHlwZVByZWZpeERlY2xhcmF0aW9uRnJvbVR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUsXG4gICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25Gcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSxcbiAgICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Gcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsXG4gICAgICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbkZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcblxuY29uc3QgeyBub2RlUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVcIiksXG4gICAgICBlcnJvck5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9lcnJvclwiKSxcbiAgICAgIGF4aW9tTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tXCIpLFxuICAgICAgbGVtbWFOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbGVtbWFcIiksXG4gICAgICBzY2hlbWFOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc2NoZW1hXCIpLFxuICAgICAgc2VjdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zZWN0aW9uXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgY29uamVjdHVyZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlXCIpLFxuICAgICAgdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvdHlwZURlY2xhcmF0aW9uXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uXCIpLFxuICAgICAgZ2VuZXJhdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZ2VuZXJhdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29tYmluYXRvckRlY2xhcmF0aW9uXCIpLFxuICAgICAgdHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVQcmVmaXhEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvblwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uXCIpO1xuXG5jbGFzcyBUb3BMZXZlbFBhc3MgZXh0ZW5kcyBDb250aW51YXRpb25QYXNzIHtcbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBlcnJvck5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKGVycm9yTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZXJyb3JGcm9tRXJyb3JOb2RlKGVycm9yTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgZXJyb3IudmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHJ1bGVOb2RlUXVlcnksXG4gICAgICBydW46IChydWxlTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHJ1bGUgPSBydWxlRnJvbVJ1bGVOb2RlKHJ1bGVOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICBydWxlLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBheGlvbU5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKGF4aW9tTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGF4aW9tID0gYXhpb21Gcm9tQXhpb21Ob2RlKGF4aW9tTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgYXhpb20udmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGxlbW1hTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAobGVtbWFOb2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgbGVtbWEgPSBsZW1tYUZyb21MZW1tYU5vZGUobGVtbWFOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICBsZW1tYS52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogc2NoZW1hTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoc2NoZW1hTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IHNjaGVtYUZyb21TY2hlbWFOb2RlKHNjaGVtYU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHNjaGVtYS52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogc2VjdGlvbk5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKHNlY3Rpb25Ob2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHNlY3Rpb25Gcm9tU2VjdGlvbk5vZGUoc2VjdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHNlY3Rpb24udmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHRoZW9yZW1Ob2RlUXVlcnksXG4gICAgICBydW46ICh0aGVvcmVtTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHRoZW9yZW0gPSB0aGVvcmVtRnJvbVRoZW9yZW1Ob2RlKHRoZW9yZW1Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgICB0aGVvcmVtLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb25qZWN0dXJlTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoY29uamVjdHVyZU5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBjb25qZWN0dXJlID0gY29uamVjdHVyZUZyb21Db25qZWN0dXJlTm9kZShjb25qZWN0dXJlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgY29uamVjdHVyZS52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAodHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGVEZWNsYXJhdGlvbiA9IHR5cGVEZWNsYXJhdGlvbkZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHR5cGVEZWNsYXJhdGlvbi52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY290eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46IChjb3R5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBjb3R5cGVEZWNsYXJhdGlvbiA9IGNvdHlwZURlY2xhcmF0aW9uRnJvbUNvdHlwZURlY2xhcmF0aW9uTm9kZShjb3R5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvdHlwZURlY2xhcmF0aW9uLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB2YXJpYWJsZURlY2xhcmF0aW9uID0gdmFyaWFibGVEZWNsYXJhdGlvbkZyb21WYXJpYWJsZURlY2xhcmF0aW9uTm9kZSh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbi52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogZ2VuZXJhdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46IChnZW5lcmF0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBnZW5lcmF0b3JEZWNsYXJhdGlvbiA9IGdlbmVyYXRvckRlY2xhcmF0aW9uRnJvbUdlbmVyYXRvckRlY2xhcmF0aW9uTm9kZShnZW5lcmF0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIGdlbmVyYXRvckRlY2xhcmF0aW9uLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46ICh0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgdHlwZVByZWZpeERlY2xhcmF0aW9uID0gdHlwZVByZWZpeERlY2xhcmF0aW9uRnJvbVR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUodHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgdHlwZVByZWZpeERlY2xhcmF0aW9uLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46IChjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgY29tYmluYXRvckRlY2xhcmF0aW9uID0gY29tYmluYXRvckRlY2xhcmF0aW9uRnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgY29tYmluYXRvckRlY2xhcmF0aW9uLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uID0gY29uc3RydWN0b3JEZWNsYXJhdGlvbkZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbi52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46IChtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uRnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuY29uc3QgdG9wTGV2ZWxQYXNzID0gbmV3IFRvcExldmVsUGFzcygpO1xuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5RmlsZShmaWxlTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gIGNvbnN0IG5vZGUgPSBmaWxlTm9kZTsgLy8vXG5cbiAgdG9wTGV2ZWxQYXNzLnJ1bihub2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUZpbGUiLCJub2RlUXVlcnkiLCJxdWVyeVV0aWxpdGllcyIsInJ1bGVOb2RlUXVlcnkiLCJlcnJvck5vZGVRdWVyeSIsImF4aW9tTm9kZVF1ZXJ5IiwibGVtbWFOb2RlUXVlcnkiLCJzY2hlbWFOb2RlUXVlcnkiLCJzZWN0aW9uTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGVRdWVyeSIsImNvbmplY3R1cmVOb2RlUXVlcnkiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb3R5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJnZW5lcmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIlRvcExldmVsUGFzcyIsIkNvbnRpbnVhdGlvblBhc3MiLCJtYXBzIiwicnVuIiwiZXJyb3JOb2RlIiwiY29udGV4dCIsImNvbnRpbnVhdGlvbiIsImVycm9yIiwiZXJyb3JGcm9tRXJyb3JOb2RlIiwidmVyaWZ5IiwicnVsZU5vZGUiLCJydWxlIiwicnVsZUZyb21SdWxlTm9kZSIsImF4aW9tTm9kZSIsImF4aW9tIiwiYXhpb21Gcm9tQXhpb21Ob2RlIiwibGVtbWFOb2RlIiwibGVtbWEiLCJsZW1tYUZyb21MZW1tYU5vZGUiLCJzY2hlbWFOb2RlIiwic2NoZW1hIiwic2NoZW1hRnJvbVNjaGVtYU5vZGUiLCJzZWN0aW9uTm9kZSIsInNlY3Rpb24iLCJzZWN0aW9uRnJvbVNlY3Rpb25Ob2RlIiwidGhlb3JlbU5vZGUiLCJ0aGVvcmVtIiwidGhlb3JlbUZyb21UaGVvcmVtTm9kZSIsImNvbmplY3R1cmVOb2RlIiwiY29uamVjdHVyZSIsImNvbmplY3R1cmVGcm9tQ29uamVjdHVyZU5vZGUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwidHlwZURlY2xhcmF0aW9uIiwidHlwZURlY2xhcmF0aW9uRnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJjb3R5cGVEZWNsYXJhdGlvbk5vZGUiLCJjb3R5cGVEZWNsYXJhdGlvbiIsImNvdHlwZURlY2xhcmF0aW9uRnJvbUNvdHlwZURlY2xhcmF0aW9uTm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvbiIsInZhcmlhYmxlRGVjbGFyYXRpb25Gcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJnZW5lcmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJnZW5lcmF0b3JEZWNsYXJhdGlvbiIsImdlbmVyYXRvckRlY2xhcmF0aW9uRnJvbUdlbmVyYXRvckRlY2xhcmF0aW9uTm9kZSIsInR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUiLCJ0eXBlUHJlZml4RGVjbGFyYXRpb24iLCJ0eXBlUHJlZml4RGVjbGFyYXRpb25Gcm9tVHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb24iLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Gcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbiIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Gcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uRnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsInRvcExldmVsUGFzcyIsImZpbGVOb2RlIiwibm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZ0xnQkE7OztlQUFBQTs7OzRCQTlLZTtnQ0FDRTt5QkFpQnNDO0FBRXZFLE1BQU0sRUFBRUMsU0FBUyxFQUFFLEdBQUdDLDBCQUFjO0FBRXBDLE1BQU1DLGdCQUFnQkYsVUFBVSxVQUMxQkcsaUJBQWlCSCxVQUFVLFdBQzNCSSxpQkFBaUJKLFVBQVUsV0FDM0JLLGlCQUFpQkwsVUFBVSxXQUMzQk0sa0JBQWtCTixVQUFVLFlBQzVCTyxtQkFBbUJQLFVBQVUsYUFDN0JRLG1CQUFtQlIsVUFBVSxhQUM3QlMsc0JBQXNCVCxVQUFVLGdCQUNoQ1UsMkJBQTJCVixVQUFVLHFCQUNyQ1csNkJBQTZCWCxVQUFVLHVCQUN2Q1ksK0JBQStCWixVQUFVLHlCQUN6Q2EsZ0NBQWdDYixVQUFVLDBCQUMxQ2MsaUNBQWlDZCxVQUFVLDJCQUMzQ2UsaUNBQWlDZixVQUFVLDJCQUMzQ2dCLGtDQUFrQ2hCLFVBQVUsNEJBQzVDaUIsbUNBQW1DakIsVUFBVTtBQUVuRCxNQUFNa0IscUJBQXFCQyxnQ0FBZ0I7SUFDekMsT0FBT0MsT0FBTztRQUNaO1lBQ0VwQixXQUFXRztZQUNYa0IsS0FBSyxDQUFDQyxXQUFXQyxTQUFTQztnQkFDeEIsTUFBTUMsUUFBUUMsSUFBQUEsMkJBQWtC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
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL3ZlcmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcXVlcnlVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tcXVlcnlcIlxuaW1wb3J0IHsgQ29udGludWF0aW9uUGFzcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgcnVsZUZyb21SdWxlTm9kZSxcbiAgICAgICAgIGVycm9yRnJvbUVycm9yTm9kZSxcbiAgICAgICAgIGF4aW9tRnJvbUF4aW9tTm9kZSxcbiAgICAgICAgIGxlbW1hRnJvbUxlbW1hTm9kZSxcbiAgICAgICAgIHNjaGVtYUZyb21TY2hlbWFOb2RlLFxuICAgICAgICAgc2VjdGlvbkZyb21TZWN0aW9uTm9kZSxcbiAgICAgICAgIHRoZW9yZW1Gcm9tVGhlb3JlbU5vZGUsXG4gICAgICAgICBjb25qZWN0dXJlRnJvbUNvbmplY3R1cmVOb2RlLFxuICAgICAgICAgdHlwZURlY2xhcmF0aW9uRnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gICAgICAgICBjb3R5cGVEZWNsYXJhdGlvbkZyb21Db3R5cGVEZWNsYXJhdGlvbk5vZGUsXG4gICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uRnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLFxuICAgICAgICAgZ2VuZXJhdG9yRGVjbGFyYXRpb25Gcm9tR2VuZXJhdG9yRGVjbGFyYXRpb25Ob2RlLFxuICAgICAgICAgdHlwZVByZWZpeERlY2xhcmF0aW9uRnJvbVR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUsXG4gICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25Gcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSxcbiAgICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Gcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsXG4gICAgICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbkZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcblxuY29uc3QgeyBub2RlUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVcIiksXG4gICAgICBlcnJvck5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9lcnJvclwiKSxcbiAgICAgIGF4aW9tTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tXCIpLFxuICAgICAgbGVtbWFOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbGVtbWFcIiksXG4gICAgICBzY2hlbWFOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc2NoZW1hXCIpLFxuICAgICAgc2VjdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zZWN0aW9uXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgY29uamVjdHVyZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlXCIpLFxuICAgICAgdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvdHlwZURlY2xhcmF0aW9uXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uXCIpLFxuICAgICAgZ2VuZXJhdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZ2VuZXJhdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29tYmluYXRvckRlY2xhcmF0aW9uXCIpLFxuICAgICAgdHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVQcmVmaXhEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvblwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uXCIpO1xuXG5jbGFzcyBUb3BMZXZlbFBhc3MgZXh0ZW5kcyBDb250aW51YXRpb25QYXNzIHtcbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBlcnJvck5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKGVycm9yTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZXJyb3JGcm9tRXJyb3JOb2RlKGVycm9yTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBydWxlTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAocnVsZU5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBydWxlID0gcnVsZUZyb21SdWxlTm9kZShydWxlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHJ1bGUudmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGF4aW9tTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoYXhpb21Ob2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgYXhpb20gPSBheGlvbUZyb21BeGlvbU5vZGUoYXhpb21Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gYXhpb20udmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGxlbW1hTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAobGVtbWFOb2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgbGVtbWEgPSBsZW1tYUZyb21MZW1tYU5vZGUobGVtbWFOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gbGVtbWEudmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHNjaGVtYU5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKHNjaGVtYU5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBzY2hlbWEgPSBzY2hlbWFGcm9tU2NoZW1hTm9kZShzY2hlbWFOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gc2NoZW1hLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBzZWN0aW9uTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoc2VjdGlvbk5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBzZWN0aW9uID0gc2VjdGlvbkZyb21TZWN0aW9uTm9kZShzZWN0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHNlY3Rpb24udmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHRoZW9yZW1Ob2RlUXVlcnksXG4gICAgICBydW46ICh0aGVvcmVtTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHRoZW9yZW0gPSB0aGVvcmVtRnJvbVRoZW9yZW1Ob2RlKHRoZW9yZW1Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gdGhlb3JlbS52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29uamVjdHVyZU5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKGNvbmplY3R1cmVOb2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgY29uamVjdHVyZSA9IGNvbmplY3R1cmVGcm9tQ29uamVjdHVyZU5vZGUoY29uamVjdHVyZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBjb25qZWN0dXJlLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46ICh0eXBlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgdHlwZURlY2xhcmF0aW9uID0gdHlwZURlY2xhcmF0aW9uRnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUodHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvbi52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY290eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46IChjb3R5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBjb3R5cGVEZWNsYXJhdGlvbiA9IGNvdHlwZURlY2xhcmF0aW9uRnJvbUNvdHlwZURlY2xhcmF0aW9uTm9kZShjb3R5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBjb3R5cGVEZWNsYXJhdGlvbi52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVEZWNsYXJhdGlvbiA9IHZhcmlhYmxlRGVjbGFyYXRpb25Gcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBnZW5lcmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKGdlbmVyYXRvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGdlbmVyYXRvckRlY2xhcmF0aW9uID0gZ2VuZXJhdG9yRGVjbGFyYXRpb25Gcm9tR2VuZXJhdG9yRGVjbGFyYXRpb25Ob2RlKGdlbmVyYXRvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIGdlbmVyYXRvckRlY2xhcmF0aW9uLnZlcmlmeShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46ICh0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgdHlwZVByZWZpeERlY2xhcmF0aW9uID0gdHlwZVByZWZpeERlY2xhcmF0aW9uRnJvbVR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUodHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHR5cGVQcmVmaXhEZWNsYXJhdGlvbi52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbWJpbmF0b3JEZWNsYXJhdGlvbiA9IGNvbWJpbmF0b3JEZWNsYXJhdGlvbkZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5hdG9yRGVjbGFyYXRpb24udmVyaWZ5KGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46IChjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb24gPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gY29uc3RydWN0b3JEZWNsYXJhdGlvbi52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46IChtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uRnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbi52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHRvcExldmVsUGFzcyA9IG5ldyBUb3BMZXZlbFBhc3MoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUZpbGUoZmlsZU5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICBjb25zdCBub2RlID0gZmlsZU5vZGU7IC8vL1xuXG4gIHJldHVybiB0b3BMZXZlbFBhc3MucnVuKG5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5RmlsZSIsIm5vZGVRdWVyeSIsInF1ZXJ5VXRpbGl0aWVzIiwicnVsZU5vZGVRdWVyeSIsImVycm9yTm9kZVF1ZXJ5IiwiYXhpb21Ob2RlUXVlcnkiLCJsZW1tYU5vZGVRdWVyeSIsInNjaGVtYU5vZGVRdWVyeSIsInNlY3Rpb25Ob2RlUXVlcnkiLCJ0aGVvcmVtTm9kZVF1ZXJ5IiwiY29uamVjdHVyZU5vZGVRdWVyeSIsInR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImdlbmVyYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwidHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiVG9wTGV2ZWxQYXNzIiwiQ29udGludWF0aW9uUGFzcyIsIm1hcHMiLCJydW4iLCJlcnJvck5vZGUiLCJjb250ZXh0IiwiY29udGludWF0aW9uIiwiZXJyb3IiLCJlcnJvckZyb21FcnJvck5vZGUiLCJ2ZXJpZnkiLCJydWxlTm9kZSIsInJ1bGUiLCJydWxlRnJvbVJ1bGVOb2RlIiwiYXhpb21Ob2RlIiwiYXhpb20iLCJheGlvbUZyb21BeGlvbU5vZGUiLCJsZW1tYU5vZGUiLCJsZW1tYSIsImxlbW1hRnJvbUxlbW1hTm9kZSIsInNjaGVtYU5vZGUiLCJzY2hlbWEiLCJzY2hlbWFGcm9tU2NoZW1hTm9kZSIsInNlY3Rpb25Ob2RlIiwic2VjdGlvbiIsInNlY3Rpb25Gcm9tU2VjdGlvbk5vZGUiLCJ0aGVvcmVtTm9kZSIsInRoZW9yZW0iLCJ0aGVvcmVtRnJvbVRoZW9yZW1Ob2RlIiwiY29uamVjdHVyZU5vZGUiLCJjb25qZWN0dXJlIiwiY29uamVjdHVyZUZyb21Db25qZWN0dXJlTm9kZSIsInR5cGVEZWNsYXJhdGlvbk5vZGUiLCJ0eXBlRGVjbGFyYXRpb24iLCJ0eXBlRGVjbGFyYXRpb25Gcm9tVHlwZURlY2xhcmF0aW9uTm9kZSIsImNvdHlwZURlY2xhcmF0aW9uTm9kZSIsImNvdHlwZURlY2xhcmF0aW9uIiwiY290eXBlRGVjbGFyYXRpb25Gcm9tQ290eXBlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJ2YXJpYWJsZURlY2xhcmF0aW9uIiwidmFyaWFibGVEZWNsYXJhdGlvbkZyb21WYXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsImdlbmVyYXRvckRlY2xhcmF0aW9uTm9kZSIsImdlbmVyYXRvckRlY2xhcmF0aW9uIiwiZ2VuZXJhdG9yRGVjbGFyYXRpb25Gcm9tR2VuZXJhdG9yRGVjbGFyYXRpb25Ob2RlIiwidHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSIsInR5cGVQcmVmaXhEZWNsYXJhdGlvbiIsInR5cGVQcmVmaXhEZWNsYXJhdGlvbkZyb21UeXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlIiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbkZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbkZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Gcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidG9wTGV2ZWxQYXNzIiwiZmlsZU5vZGUiLCJub2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnTGdCQTs7O2VBQUFBOzs7NEJBOUtlO2dDQUNFO3lCQWlCc0M7QUFFdkUsTUFBTSxFQUFFQyxTQUFTLEVBQUUsR0FBR0MsMEJBQWM7QUFFcEMsTUFBTUMsZ0JBQWdCRixVQUFVLFVBQzFCRyxpQkFBaUJILFVBQVUsV0FDM0JJLGlCQUFpQkosVUFBVSxXQUMzQkssaUJBQWlCTCxVQUFVLFdBQzNCTSxrQkFBa0JOLFVBQVUsWUFDNUJPLG1CQUFtQlAsVUFBVSxhQUM3QlEsbUJBQW1CUixVQUFVLGFBQzdCUyxzQkFBc0JULFVBQVUsZ0JBQ2hDVSwyQkFBMkJWLFVBQVUscUJBQ3JDVyw2QkFBNkJYLFVBQVUsdUJBQ3ZDWSwrQkFBK0JaLFVBQVUseUJBQ3pDYSxnQ0FBZ0NiLFVBQVUsMEJBQzFDYyxpQ0FBaUNkLFVBQVUsMkJBQzNDZSxpQ0FBaUNmLFVBQVUsMkJBQzNDZ0Isa0NBQWtDaEIsVUFBVSw0QkFDNUNpQixtQ0FBbUNqQixVQUFVO0FBRW5E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
|
|
@@ -47,15 +47,15 @@ const _occamlanguages = require("occam-languages");
|
|
|
47
47
|
const { some, every, match, reduce, forEach, extract, resolve, forwardsEvery, backwardsEvery } = _occamlanguages.continuationUtilities;
|
|
48
48
|
function all(callbacks, ...remainingArguments) {
|
|
49
49
|
const continuation = remainingArguments.pop();
|
|
50
|
-
every(callbacks, (callback, continuation)=>{
|
|
51
|
-
callback(...remainingArguments, continuation);
|
|
50
|
+
return every(callbacks, (callback, continuation)=>{
|
|
51
|
+
return callback(...remainingArguments, continuation);
|
|
52
52
|
}, continuation);
|
|
53
53
|
}
|
|
54
54
|
function exists(callbacks, ...remainingArguments) {
|
|
55
55
|
const continuation = remainingArguments.pop();
|
|
56
|
-
some(callbacks, (callback, continuation)=>{
|
|
57
|
-
callback(...remainingArguments, continuation);
|
|
56
|
+
return some(callbacks, (callback, continuation)=>{
|
|
57
|
+
return callback(...remainingArguments, continuation);
|
|
58
58
|
}, continuation);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmV4cG9ydCBjb25zdCB7IHNvbWUsIGV2ZXJ5LCBtYXRjaCwgcmVkdWNlLCBmb3JFYWNoLCBleHRyYWN0LCByZXNvbHZlLCBmb3J3YXJkc0V2ZXJ5LCBiYWNrd2FyZHNFdmVyeSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gYWxsKGNhbGxiYWNrcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICByZXR1cm4gZXZlcnkoY2FsbGJhY2tzLCAoY2FsbGJhY2ssIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIHJldHVybiBjYWxsYmFjayguLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH0sIGNvbnRpbnVhdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGlzdHMoY2FsbGJhY2tzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIHJldHVybiBzb21lKGNhbGxiYWNrcywgKGNhbGxiYWNrLCBjb250aW51YXRpb24pID0+IHtcbiAgICByZXR1cm4gY2FsbGJhY2soLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICB9LCBjb250aW51YXRpb24pO1xufVxuIl0sIm5hbWVzIjpbImFsbCIsImJhY2t3YXJkc0V2ZXJ5IiwiZXZlcnkiLCJleGlzdHMiLCJleHRyYWN0IiwiZm9yRWFjaCIsImZvcndhcmRzRXZlcnkiLCJtYXRjaCIsInJlZHVjZSIsInJlc29sdmUiLCJzb21lIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiY2FsbGJhY2tzIiwicmVtYWluaW5nQXJndW1lbnRzIiwiY29udGludWF0aW9uIiwicG9wIiwiY2FsbGJhY2siXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQU1nQkE7ZUFBQUE7O1FBRnFFQztlQUFBQTs7UUFBaEVDO2VBQUFBOztRQVVMQztlQUFBQTs7UUFWb0NDO2VBQUFBOztRQUFUQztlQUFBQTs7UUFBMkJDO2VBQUFBOztRQUExQ0M7ZUFBQUE7O1FBQU9DO2VBQUFBOztRQUEwQkM7ZUFBQUE7O1FBQTlDQztlQUFBQTs7O2dDQUZ1QjtBQUUvQixNQUFNLEVBQUVBLElBQUksRUFBRVIsS0FBSyxFQUFFSyxLQUFLLEVBQUVDLE1BQU0sRUFBRUgsT0FBTyxFQUFFRCxPQUFPLEVBQUVLLE9BQU8sRUFBRUgsYUFBYSxFQUFFTCxjQUFjLEVBQUUsR0FBR1UscUNBQXFCO0FBRXRILFNBQVNYLElBQUlZLFNBQVMsRUFBRSxHQUFHQyxrQkFBa0I7SUFDbEQsTUFBTUMsZUFBZUQsbUJBQW1CRSxHQUFHO0lBRTNDLE9BQU9iLE1BQU1VLFdBQVcsQ0FBQ0ksVUFBVUY7UUFDakMsT0FBT0UsWUFBWUgsb0JBQW9CQztJQUN6QyxHQUFHQTtBQUNMO0FBRU8sU0FBU1gsT0FBT1MsU0FBUyxFQUFFLEdBQUdDLGtCQUFrQjtJQUNyRCxNQUFNQyxlQUFlRCxtQkFBbUJFLEdBQUc7SUFFM0MsT0FBT0wsS0FBS0UsV0FBVyxDQUFDSSxVQUFVRjtRQUNoQyxPQUFPRSxZQUFZSCxvQkFBb0JDO0lBQ3pDLEdBQUdBO0FBQ0wifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-nominal",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.310",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-nominal",
|
|
7
7
|
"description": "Occam's Nominal language.",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^17.5.2",
|
|
14
|
-
"occam-furtle": "^3.0.
|
|
14
|
+
"occam-furtle": "^3.0.403",
|
|
15
15
|
"occam-grammar-utilities": "^8.1.17",
|
|
16
|
-
"occam-languages": "^2.1.
|
|
16
|
+
"occam-languages": "^2.1.33",
|
|
17
17
|
"occam-query": "^4.1.198"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
@@ -94,7 +94,7 @@ export default define(class SubproofAssertion extends Assertion {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
validateStatements(context, continuation) {
|
|
97
|
-
every(this.statements, (statement, continuation) => {
|
|
97
|
+
return every(this.statements, (statement, continuation) => {
|
|
98
98
|
descend((context) => {
|
|
99
99
|
statement.validate(context, (statement) => {
|
|
100
100
|
let statementValidates = false;
|
|
@@ -280,10 +280,10 @@ export default define(class SubproofAssertion extends Assertion {
|
|
|
280
280
|
|
|
281
281
|
let index = -1;
|
|
282
282
|
|
|
283
|
-
backwardsEvery(suppositions, (supposition, continuation) => {
|
|
283
|
+
return backwardsEvery(suppositions, (supposition, continuation) => {
|
|
284
284
|
index++;
|
|
285
285
|
|
|
286
|
-
this.unifySupposition(supposition, index, generalContext, specificContext, continuation);
|
|
286
|
+
return this.unifySupposition(supposition, index, generalContext, specificContext, continuation);
|
|
287
287
|
}, continuation);
|
|
288
288
|
}
|
|
289
289
|
|
|
@@ -35,7 +35,7 @@ export default define(class Derivation extends Element {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
verify(context, continuation) {
|
|
38
|
-
every(this.subproofOrProofAssertions, (subproofOrProofAssertion, continuation) => {
|
|
38
|
+
return every(this.subproofOrProofAssertions, (subproofOrProofAssertion, continuation) => {
|
|
39
39
|
subproofOrProofAssertion.verify(context, (subproofOrProofAssertionVerifies) => {
|
|
40
40
|
if (subproofOrProofAssertionVerifies) {
|
|
41
41
|
context.assignAssignments();
|
|
@@ -43,7 +43,7 @@ export default define(class Derivation extends Element {
|
|
|
43
43
|
context.addSubproofOrProofAssertion(subproofOrProofAssertion);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
continuation(subproofOrProofAssertionVerifies);
|
|
46
|
+
return continuation(subproofOrProofAssertionVerifies);
|
|
47
47
|
});
|
|
48
48
|
}, continuation);
|
|
49
49
|
}
|
package/src/element/frame.js
CHANGED
|
@@ -221,8 +221,8 @@ export default define(class Frame extends Element {
|
|
|
221
221
|
|
|
222
222
|
const assumptions = [];
|
|
223
223
|
|
|
224
|
-
every(this.assumptions, (assumption) => {
|
|
225
|
-
this.validateAssumption(assumption, assumptions, context, continuation);
|
|
224
|
+
return every(this.assumptions, (assumption) => {
|
|
225
|
+
return this.validateAssumption(assumption, assumptions, context, continuation);
|
|
226
226
|
}, (assumptionsValidate) => {
|
|
227
227
|
if (assumptionsValidate) {
|
|
228
228
|
this.assumptions = assumptions;
|
|
@@ -9,7 +9,7 @@ import { instantiate } from "../utilities/context";
|
|
|
9
9
|
import { instantiateProcedureCall } from "../process/instantiate";
|
|
10
10
|
import { parametersFromProcedureCallNode, procedureReferenceFromProcedureCallNode } from "../utilities/element";
|
|
11
11
|
|
|
12
|
-
const { breakPointFromJSON, breakPointToBreakPointJSON } = breakPointUtilities;
|
|
12
|
+
const { breakable, breakPointFromJSON, breakPointToBreakPointJSON } = breakPointUtilities;
|
|
13
13
|
|
|
14
14
|
export default define(class ProcedureCall extends Element {
|
|
15
15
|
constructor(context, string, node, breakPoint, parameters, procedureReference) {
|
|
@@ -44,7 +44,8 @@ export default define(class ProcedureCall extends Element {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
findValues(context) {
|
|
47
|
-
const
|
|
47
|
+
const derivedSubstitutions = context.getDerivedSubstitutions(),
|
|
48
|
+
substitutions = derivedSubstitutions, ///
|
|
48
49
|
values = this.parameters.map((parameter) => {
|
|
49
50
|
const value = parameter.findValue(substitutions);
|
|
50
51
|
|
|
@@ -83,9 +84,7 @@ export default define(class ProcedureCall extends Element {
|
|
|
83
84
|
continuation(validates);
|
|
84
85
|
}
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
let unifiesIndependently = false;
|
|
88
|
-
|
|
87
|
+
unifyIndependently = breakable(function (context, continuation) {
|
|
89
88
|
const procedureCallString = this.getString(); ///
|
|
90
89
|
|
|
91
90
|
context.trace(`Unifying the '${procedureCallString}' procedure call independently...`);
|
|
@@ -94,38 +93,38 @@ export default define(class ProcedureCall extends Element {
|
|
|
94
93
|
procedure = context.findProcedureByProcedureName(procedureName),
|
|
95
94
|
values = this.findValues(context);
|
|
96
95
|
|
|
97
|
-
let term = null;
|
|
98
|
-
|
|
99
96
|
try {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const message = exception.getMessage();
|
|
97
|
+
return procedure.callNominally(values, (term) => {
|
|
98
|
+
let unifiesIndependently = false;
|
|
103
99
|
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
if (term !== null) {
|
|
101
|
+
const boolean = term.isBoolean();
|
|
106
102
|
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
if (!boolean) {
|
|
104
|
+
context.info(`The '${procedureCallString}' procedure call did not return a boolean.`);
|
|
105
|
+
} else {
|
|
106
|
+
const primitiveValue = term.getPrimitiveValue();
|
|
109
107
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
108
|
+
if (primitiveValue) {
|
|
109
|
+
unifiesIndependently = true;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
114
113
|
|
|
115
|
-
if (
|
|
116
|
-
|
|
114
|
+
if (unifiesIndependently) {
|
|
115
|
+
context.debug(`...unified the '${procedureCallString}' procedure call independently.`);
|
|
117
116
|
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
117
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
118
|
+
return continuation(unifiesIndependently);
|
|
119
|
+
});
|
|
120
|
+
} catch (exception) {
|
|
121
|
+
const message = exception.getMessage();
|
|
124
122
|
|
|
125
|
-
|
|
126
|
-
|
|
123
|
+
context.info(message);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
127
126
|
|
|
128
|
-
|
|
127
|
+
dischargeGivenTerm(term, context) {
|
|
129
128
|
let dischargedGivenTerm = false;
|
|
130
129
|
|
|
131
130
|
const termString = term.getString(),
|
|
@@ -146,7 +145,7 @@ export default define(class ProcedureCall extends Element {
|
|
|
146
145
|
term = null;
|
|
147
146
|
|
|
148
147
|
try {
|
|
149
|
-
term =
|
|
148
|
+
term = procedure.callNominally(values);
|
|
150
149
|
} catch (exception) {
|
|
151
150
|
const message = exception.getMessage();
|
|
152
151
|
|
|
@@ -177,9 +177,7 @@ export default define(class Premise extends ProofAssertion {
|
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
unifyIndependently(context) {
|
|
181
|
-
let unifiesIndependently = false;
|
|
182
|
-
|
|
180
|
+
unifyIndependently(context, continuation) {
|
|
183
181
|
const premiseString = this.getString(); ///
|
|
184
182
|
|
|
185
183
|
context.trace(`Unifying the '${premiseString}' premise independently...`);
|
|
@@ -191,28 +189,39 @@ export default define(class Premise extends ProofAssertion {
|
|
|
191
189
|
if (statement !== null) {
|
|
192
190
|
const premiseContext = this.getContext(), ///
|
|
193
191
|
generalContext = premiseContext, ///
|
|
194
|
-
specificContext = context
|
|
195
|
-
statementUnifiesIndependently = statement.unifyIndependently(generalContext, specificContext);
|
|
192
|
+
specificContext = context; ///
|
|
196
193
|
|
|
197
|
-
|
|
198
|
-
unifiesIndependently =
|
|
199
|
-
|
|
194
|
+
return statement.unifyIndependently(generalContext, specificContext, (statementUnifiesIndependently) => {
|
|
195
|
+
let unifiesIndependently = false;
|
|
196
|
+
|
|
197
|
+
if (statementUnifiesIndependently) {
|
|
198
|
+
unifiesIndependently = true;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (unifiesIndependently) {
|
|
202
|
+
context.debug(`...unified the '${premiseString}' premise independently.`);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return continuation(unifiesIndependently);
|
|
206
|
+
});
|
|
200
207
|
}
|
|
201
208
|
|
|
202
209
|
if (procedureCall !== null) {
|
|
203
|
-
|
|
210
|
+
return procedureCall.unifyIndependently(context, (procedureCallResolvedIndependently) => {
|
|
211
|
+
let unifiesIndependently = false;
|
|
204
212
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
}, context);
|
|
213
|
+
if (procedureCallResolvedIndependently) {
|
|
214
|
+
unifiesIndependently = true;
|
|
215
|
+
}
|
|
210
216
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
217
|
+
if (unifiesIndependently) {
|
|
218
|
+
context.debug(`...unified the '${premiseString}' premise independently.`);
|
|
219
|
+
}
|
|
214
220
|
|
|
215
|
-
|
|
221
|
+
return continuation(unifiesIndependently);
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
}, context);
|
|
216
225
|
}
|
|
217
226
|
|
|
218
227
|
unifySubproof(subproof, context, continuation) {
|
|
@@ -288,12 +297,12 @@ export default define(class Premise extends ProofAssertion {
|
|
|
288
297
|
if (subproofOrProofAssertionProofAssertion) {
|
|
289
298
|
const proofAssertion = subproofOrProofAssertion; ///
|
|
290
299
|
|
|
291
|
-
this.unifyProofAssertion(proofAssertion, context, continuation);
|
|
292
|
-
} else {
|
|
293
|
-
const subproof = subproofOrProofAssertion; ///
|
|
294
|
-
|
|
295
|
-
this.unifySubproof(subproof, context, continuation);
|
|
300
|
+
return this.unifyProofAssertion(proofAssertion, context, continuation);
|
|
296
301
|
}
|
|
302
|
+
|
|
303
|
+
const subproof = subproofOrProofAssertion; ///
|
|
304
|
+
|
|
305
|
+
return this.unifySubproof(subproof, context, continuation);
|
|
297
306
|
}
|
|
298
307
|
|
|
299
308
|
toJSON() {
|
|
@@ -275,16 +275,16 @@ export default define(class Step extends ProofAssertion {
|
|
|
275
275
|
|
|
276
276
|
const step = this; ///
|
|
277
277
|
|
|
278
|
-
some(unifySteps, (unifyStep, continuation) => {
|
|
278
|
+
return some(unifySteps, (unifyStep, continuation) => {
|
|
279
279
|
reconcile((context) => {
|
|
280
|
-
unifyStep(step, context, continuation);
|
|
280
|
+
return unifyStep(step, context, continuation);
|
|
281
281
|
}, context);
|
|
282
282
|
}, (unifies) => {
|
|
283
283
|
if (unifies) {
|
|
284
284
|
context.debug(`...unified the '${stepString}' step.`);
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
continuation(unifies);
|
|
287
|
+
return continuation(unifies);
|
|
288
288
|
});
|
|
289
289
|
}
|
|
290
290
|
|
|
@@ -288,12 +288,12 @@ export default define(class Supposition extends ProofAssertion {
|
|
|
288
288
|
if (subproofOrProofAssertionProofAssertion) {
|
|
289
289
|
const proofAssertion = subproofOrProofAssertion; ///
|
|
290
290
|
|
|
291
|
-
this.unifyProofAssertion(proofAssertion, context, continuation);
|
|
292
|
-
} else {
|
|
293
|
-
const subproof = subproofOrProofAssertion; ///
|
|
294
|
-
|
|
295
|
-
this.unifySubproof(subproof, context, continuation);
|
|
291
|
+
return this.unifyProofAssertion(proofAssertion, context, continuation);
|
|
296
292
|
}
|
|
293
|
+
|
|
294
|
+
const subproof = subproofOrProofAssertion; ///
|
|
295
|
+
|
|
296
|
+
return this.unifySubproof(subproof, context, continuation);
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
toJSON() {
|
package/src/element/rule.js
CHANGED
|
@@ -129,14 +129,14 @@ export default define(class Rule extends Element {
|
|
|
129
129
|
|
|
130
130
|
context.trace(`Verifying the '${ruleString}' rule's labels...`);
|
|
131
131
|
|
|
132
|
-
every(this.labels, (label, continuation) => {
|
|
133
|
-
this.verifyLabel(label, context, continuation);
|
|
132
|
+
return every(this.labels, (label, continuation) => {
|
|
133
|
+
return this.verifyLabel(label, context, continuation);
|
|
134
134
|
}, (labelsVerify) => {
|
|
135
135
|
if (labelsVerify) {
|
|
136
136
|
context.debug(`...verified the '${ruleString}' rule's labels.`);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
conntinuation(labelsVerify);
|
|
139
|
+
return conntinuation(labelsVerify);
|
|
140
140
|
});
|
|
141
141
|
}
|
|
142
142
|
|
|
@@ -168,8 +168,8 @@ export default define(class Rule extends Element {
|
|
|
168
168
|
|
|
169
169
|
context.trace(`Verifying the '${ruleString}' rule's premises...`);
|
|
170
170
|
|
|
171
|
-
forwardsEvery(this.premises, (premise, continuation) => {
|
|
172
|
-
this.verifyPremise(premise, context, continuation);
|
|
171
|
+
return forwardsEvery(this.premises, (premise, continuation) => {
|
|
172
|
+
return this.verifyPremise(premise, context, continuation);
|
|
173
173
|
}, (premisesVerify) => {
|
|
174
174
|
if (premisesVerify) {
|
|
175
175
|
context.debug(`...verified the '${ruleString}' rule's premises.`);
|
|
@@ -194,7 +194,7 @@ export default define(class Rule extends Element {
|
|
|
194
194
|
});
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
-
unifyStepWithConclusion
|
|
197
|
+
unifyStepWithConclusion(step, context, continuation) {
|
|
198
198
|
const ruleString = this.getString(),
|
|
199
199
|
stepString = step.getString(),
|
|
200
200
|
conclusionString = this.conclusion.getString();
|
|
@@ -214,7 +214,7 @@ export default define(class Rule extends Element {
|
|
|
214
214
|
|
|
215
215
|
return continuation(stepUnifiesWithConclusion);
|
|
216
216
|
});
|
|
217
|
-
}
|
|
217
|
+
}
|
|
218
218
|
|
|
219
219
|
unifyStepAndSubproofOrProofAssertions(step, subproofOrProofAssertions, context, continuation) {
|
|
220
220
|
this.unifyStepWithConclusion(step, context, (statementUnifiesWithConclusion) => {
|
|
@@ -241,7 +241,7 @@ export default define(class Rule extends Element {
|
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context, continuation) {
|
|
244
|
-
extract(subproofOrProofAssertions, (subproofOrProofAssertion, continuation) => {
|
|
244
|
+
return extract(subproofOrProofAssertions, (subproofOrProofAssertion, continuation) => {
|
|
245
245
|
premise.unifySubproofOrProofAssertion(subproofOrProofAssertion, context, continuation);
|
|
246
246
|
}, (subproofOrProofAssertion = null) => {
|
|
247
247
|
if (subproofOrProofAssertion !== null) {
|
|
@@ -250,15 +250,15 @@ export default define(class Rule extends Element {
|
|
|
250
250
|
return continuation(subproofOrProofAssertionsUnifiesWithPremise);
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
premise.unifyIndependently(context, continuation);
|
|
253
|
+
return premise.unifyIndependently(context, continuation);
|
|
254
254
|
});
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
unifySubproofOrProofAssertionsWithPremises(subproofOrProofAssertions, context, continuation) {
|
|
258
258
|
subproofOrProofAssertions = reverse(subproofOrProofAssertions); ///
|
|
259
259
|
|
|
260
|
-
backwardsEvery(this.premises, (premise, continuation) => {
|
|
261
|
-
this.unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context, continuation);
|
|
260
|
+
return backwardsEvery(this.premises, (premise, continuation) => {
|
|
261
|
+
return this.unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context, continuation);
|
|
262
262
|
}, continuation);
|
|
263
263
|
}
|
|
264
264
|
|
|
@@ -35,7 +35,7 @@ export default define(class SubDerivation extends Element {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
verify(context, continuation) {
|
|
38
|
-
every(this.subproofOrProofAssertions, (subproofOrProofAssertion, continuation) => {
|
|
38
|
+
return every(this.subproofOrProofAssertions, (subproofOrProofAssertion, continuation) => {
|
|
39
39
|
subproofOrProofAssertion.verify(context, (subproofOrProofAssertionVerifies) => {
|
|
40
40
|
if (subproofOrProofAssertionVerifies) {
|
|
41
41
|
context.assignAssignments();
|
|
@@ -43,7 +43,7 @@ export default define(class SubDerivation extends Element {
|
|
|
43
43
|
context.addSubproofOrProofAssertion(subproofOrProofAssertion);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
continuation(subproofOrProofAssertionVerifies);
|
|
46
|
+
return continuation(subproofOrProofAssertionVerifies);
|
|
47
47
|
});
|
|
48
48
|
}, continuation);
|
|
49
49
|
}
|