occam-verify-cli 0.0.968 → 0.0.971
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/bin/action/verify.js +6 -8
- package/lib/constants.js +5 -1
- package/lib/context/file.js +48 -53
- package/lib/context/local.js +45 -39
- package/lib/context/release.js +3 -3
- package/lib/declaration.js +9 -7
- package/lib/equivalence.js +23 -21
- package/lib/judgement.js +3 -3
- package/lib/label.js +3 -3
- package/lib/log.js +3 -3
- package/lib/metaType.js +7 -7
- package/lib/metavariable.js +7 -7
- package/lib/node/term/bracketed.js +16 -0
- package/lib/proofStep.js +3 -29
- package/lib/releaseContext/initialise.js +11 -17
- package/lib/resolve/substitutions.js +99 -0
- package/lib/rule.js +10 -6
- package/lib/substitution/statementForMetavariable.js +93 -98
- package/lib/substitution/termForVariable.js +45 -54
- package/lib/substitution.js +51 -9
- package/lib/substitutions.js +165 -12
- package/lib/term.js +8 -1
- package/lib/topLevelAssertion.js +10 -6
- package/lib/type.js +5 -5
- package/lib/unifier/metaLevel.js +10 -3
- package/lib/unifier/statementWithCombinator.js +6 -6
- package/lib/unifier.js +2 -2
- package/lib/unify/metavariableWithStatement.js +13 -48
- package/lib/unify/metavariableWithStatementGivenSubstitution.js +39 -0
- package/lib/unify/premiseWithProofStep.js +3 -3
- package/lib/unify/statement/qualified.js +117 -0
- package/lib/unify/statement/unqualified.js +25 -0
- package/lib/unify/statementWithBracketedCombinator.js +3 -3
- package/lib/unify/statementWithCombinators.js +5 -5
- package/lib/unify/statementWithMetaType.js +3 -3
- package/lib/unify/statementWithSttaemetnGivenEquivalences.js +45 -0
- package/lib/unify/suppositionWithProffStep.js +3 -3
- package/lib/unify/variableWithTerm.js +11 -26
- package/lib/utilities/array.js +5 -14
- package/lib/utilities/assertion.js +24 -0
- package/lib/utilities/brackets.js +60 -0
- package/lib/utilities/message.js +52 -0
- package/lib/utilities/name.js +7 -7
- package/lib/utilities/node.js +10 -17
- package/lib/utilities/string.js +1 -7
- package/lib/utilities/subproof.js +19 -0
- package/lib/utilities/unify.js +30 -11
- package/lib/variable.js +8 -8
- package/lib/verifier/metaLevel.js +6 -6
- package/lib/verifier/statementAsCombinator.js +2 -2
- package/lib/verify/assertion/contained.js +66 -32
- package/lib/verify/assertion/defined.js +51 -46
- package/lib/verify/assertion/subproof.js +9 -9
- package/lib/verify/assertion/type.js +11 -11
- package/lib/verify/conclusion.js +6 -6
- package/lib/verify/consequent.js +6 -6
- package/lib/verify/declaration/metavariable.js +2 -2
- package/lib/verify/declaration.js +34 -20
- package/lib/verify/equality.js +13 -13
- package/lib/verify/frame.js +38 -24
- package/lib/verify/judgement.js +13 -13
- package/lib/verify/metavariable.js +2 -2
- package/lib/verify/premise.js +5 -5
- package/lib/verify/proofStep.js +15 -24
- package/lib/verify/statement/qualified.js +15 -124
- package/lib/verify/statement/unqualified.js +23 -24
- package/lib/verify/statement.js +24 -24
- package/lib/verify/statementGivenMetaType.js +3 -3
- package/lib/verify/supposition.js +5 -5
- package/package.json +2 -2
- package/src/constants.js +1 -0
- package/src/context/file.js +49 -55
- package/src/context/local.js +34 -31
- package/src/context/release.js +2 -2
- package/src/declaration.js +12 -10
- package/src/equivalence.js +27 -26
- package/src/judgement.js +2 -2
- package/src/label.js +2 -2
- package/src/log.js +1 -1
- package/src/metaType.js +7 -7
- package/src/metavariable.js +7 -7
- package/src/node/term/bracketed.js +9 -0
- package/src/proofStep.js +3 -48
- package/src/releaseContext/initialise.js +13 -24
- package/src/resolve/substitutions.js +134 -0
- package/src/rule.js +10 -5
- package/src/substitution/statementForMetavariable.js +99 -85
- package/src/substitution/termForVariable.js +50 -65
- package/src/substitution.js +46 -8
- package/src/substitutions.js +176 -10
- package/src/term.js +6 -0
- package/src/topLevelAssertion.js +10 -5
- package/src/type.js +4 -4
- package/src/unifier/metaLevel.js +11 -3
- package/src/unifier/statementWithCombinator.js +5 -5
- package/src/unifier.js +1 -1
- package/src/unify/metavariableWithStatement.js +17 -71
- package/src/unify/metavariableWithStatementGivenSubstitution.js +39 -0
- package/src/unify/premiseWithProofStep.js +1 -1
- package/src/unify/statement/qualified.js +183 -0
- package/src/unify/statement/unqualified.js +24 -0
- package/src/unify/statementWithBracketedCombinator.js +2 -2
- package/src/unify/statementWithCombinators.js +4 -4
- package/src/unify/statementWithMetaType.js +2 -2
- package/src/unify/statementWithSttaemetnGivenEquivalences.js +51 -0
- package/src/unify/suppositionWithProffStep.js +1 -1
- package/src/unify/variableWithTerm.js +14 -35
- package/src/utilities/array.js +1 -16
- package/src/utilities/assertion.js +19 -0
- package/src/utilities/brackets.js +56 -0
- package/src/utilities/name.js +8 -8
- package/src/utilities/node.js +14 -17
- package/src/utilities/string.js +2 -2
- package/src/utilities/subproof.js +18 -0
- package/src/utilities/unify.js +24 -12
- package/src/variable.js +11 -11
- package/src/verifier/metaLevel.js +5 -5
- package/src/verifier/statementAsCombinator.js +2 -2
- package/src/verify/assertion/contained.js +80 -38
- package/src/verify/assertion/defined.js +64 -55
- package/src/verify/assertion/subproof.js +8 -8
- package/src/verify/assertion/type.js +11 -11
- package/src/verify/conclusion.js +8 -8
- package/src/verify/consequent.js +8 -8
- package/src/verify/declaration/metavariable.js +4 -3
- package/src/verify/declaration.js +46 -23
- package/src/verify/equality.js +13 -13
- package/src/verify/frame.js +48 -28
- package/src/verify/judgement.js +13 -13
- package/src/verify/metavariable.js +3 -3
- package/src/verify/premise.js +6 -6
- package/src/verify/proofStep.js +14 -31
- package/src/verify/statement/qualified.js +18 -199
- package/src/verify/statement/unqualified.js +25 -31
- package/src/verify/statement.js +23 -23
- package/src/verify/statementGivenMetaType.js +2 -2
- package/src/verify/supposition.js +6 -6
- package/lib/unify/statementAtainstStatement.js +0 -49
- package/lib/utilities/lineIndex.js +0 -52
- package/lib/utilities/match.js +0 -59
- package/lib/utilities/verify.js +0 -19
- package/src/unify/statementAtainstStatement.js +0 -56
- package/src/utilities/match.js +0 -53
- package/src/utilities/verify.js +0 -14
- /package/src/utilities/{lineIndex.js → message.js} +0 -0
|
@@ -0,0 +1,117 @@
|
|
|
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 unifyQualifiedStatement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _query = require("../../utilities/query");
|
|
12
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!"), metavariableNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/reference/metavariable!");
|
|
13
|
+
var unifyQualifiedStatementFunctions = [
|
|
14
|
+
unifyQualifiedStatementAWithRule,
|
|
15
|
+
unifyQualifiedStatementAWithAxiom,
|
|
16
|
+
unifyQualifiedStatementAWithLemma,
|
|
17
|
+
unifyQualifiedStatementAWithTheorem,
|
|
18
|
+
unifyQualifiedStatementAWithConjecture,
|
|
19
|
+
unifyQualifiedStatementAWithReference
|
|
20
|
+
];
|
|
21
|
+
function unifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
|
|
22
|
+
var qualifiedStatementUnified;
|
|
23
|
+
var qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
24
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement..."), qualifiedStatementNode);
|
|
25
|
+
qualifiedStatementUnified = unifyQualifiedStatementFunctions.some(function(unifyQualifiedStatementFunction) {
|
|
26
|
+
var qualifiedStatementUnified = unifyQualifiedStatementFunction(qualifiedStatementNode, substitutions, localContext);
|
|
27
|
+
return qualifiedStatementUnified;
|
|
28
|
+
});
|
|
29
|
+
if (qualifiedStatementUnified) {
|
|
30
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement."), qualifiedStatementNode);
|
|
31
|
+
}
|
|
32
|
+
return qualifiedStatementUnified;
|
|
33
|
+
}
|
|
34
|
+
function unifyQualifiedStatementAWithRule(qualifiedStatementNode, substitutions, localContext) {
|
|
35
|
+
var qualifiedStatementUnifiedWithRule = false;
|
|
36
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), rule = localContext.findRuleByMetavariableNode(metavariableNode);
|
|
37
|
+
if (rule !== null) {
|
|
38
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
39
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' rule..."), qualifiedStatementNode);
|
|
40
|
+
var statementUnified = rule.unifyStatement(statementNode, localContext);
|
|
41
|
+
qualifiedStatementUnifiedWithRule = statementUnified; ///
|
|
42
|
+
if (qualifiedStatementUnifiedWithRule) {
|
|
43
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' rule."), qualifiedStatementNode);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return qualifiedStatementUnifiedWithRule;
|
|
47
|
+
}
|
|
48
|
+
function unifyQualifiedStatementAWithAxiom(qualifiedStatementNode, substitutions, localContext) {
|
|
49
|
+
var qualifiedStatementUnifiedWithAxiom = false;
|
|
50
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
|
|
51
|
+
if (axiom !== null) {
|
|
52
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
53
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' axiom..."), qualifiedStatementNode);
|
|
54
|
+
var statementUnified = axiom.unifyStatement(statementNode, localContext);
|
|
55
|
+
qualifiedStatementUnifiedWithAxiom = statementUnified; ///
|
|
56
|
+
if (qualifiedStatementUnifiedWithAxiom) {
|
|
57
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' axiom."), qualifiedStatementNode);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return qualifiedStatementUnifiedWithAxiom;
|
|
61
|
+
}
|
|
62
|
+
function unifyQualifiedStatementAWithLemma(qualifiedStatementNode, substitutions, localContext) {
|
|
63
|
+
var qualifiedStatementUnifiedWithLemma = false;
|
|
64
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
|
|
65
|
+
if (lemma !== null) {
|
|
66
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
67
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' lemma..."), qualifiedStatementNode);
|
|
68
|
+
var statementUnified = lemma.unifyStatement(statementNode, localContext);
|
|
69
|
+
qualifiedStatementUnifiedWithLemma = statementUnified; ///
|
|
70
|
+
if (qualifiedStatementUnifiedWithLemma) {
|
|
71
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' lemma."), qualifiedStatementNode);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return qualifiedStatementUnifiedWithLemma;
|
|
75
|
+
}
|
|
76
|
+
function unifyQualifiedStatementAWithTheorem(qualifiedStatementNode, substitutions, localContext) {
|
|
77
|
+
var qualifiedStatementUnifiedWithTheorem = false;
|
|
78
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
|
|
79
|
+
if (theorem !== null) {
|
|
80
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
81
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' theorem..."), qualifiedStatementNode);
|
|
82
|
+
var statementUnified = theorem.unifyStatement(statementNode, localContext);
|
|
83
|
+
qualifiedStatementUnifiedWithTheorem = statementUnified; ///
|
|
84
|
+
if (qualifiedStatementUnifiedWithTheorem) {
|
|
85
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' theorem."), qualifiedStatementNode);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return qualifiedStatementUnifiedWithTheorem;
|
|
89
|
+
}
|
|
90
|
+
function unifyQualifiedStatementAWithConjecture(qualifiedStatementNode, substitutions, localContext) {
|
|
91
|
+
var qualifiedStatementUnifiedWithConjecture = false;
|
|
92
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
|
|
93
|
+
if (conjecture !== null) {
|
|
94
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
95
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' conjecture..."), qualifiedStatementNode);
|
|
96
|
+
var statementUnified = conjecture.unifyStatement(statementNode, localContext);
|
|
97
|
+
qualifiedStatementUnifiedWithConjecture = statementUnified; ///
|
|
98
|
+
if (qualifiedStatementUnifiedWithConjecture) {
|
|
99
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' conjecture."), qualifiedStatementNode);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return qualifiedStatementUnifiedWithConjecture;
|
|
103
|
+
}
|
|
104
|
+
function unifyQualifiedStatementAWithReference(qualifiedStatementNode, substitutions, localContext) {
|
|
105
|
+
var qualifiedStatementUnifiedWithReference = false;
|
|
106
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), metavariablePresent = localContext.isMetavariablePresentByMetavariableNode(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
107
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' reference..."), qualifiedStatementNode);
|
|
108
|
+
if (metavariablePresent) {
|
|
109
|
+
debugger;
|
|
110
|
+
}
|
|
111
|
+
if (qualifiedStatementUnifiedWithReference) {
|
|
112
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' reference."), qualifiedStatementNode);
|
|
113
|
+
}
|
|
114
|
+
return qualifiedStatementUnifiedWithReference;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnQvcXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnQvcmVmZXJlbmNlL21ldGF2YXJpYWJsZSFcIik7XG5cbmNvbnN0IHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUnVsZSxcbiAgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aEF4aW9tLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoTGVtbWEsXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhUaGVvcmVtLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQ29uamVjdHVyZSxcbiAgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFJlZmVyZW5jZVxuXTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkO1xuXG4gIGNvbnN0IHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudC4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQgPSB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKCh1bmlmeVF1YWxpZmllZFN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCA9IHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb24ocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkO1xuICB9KTtcblxuICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudC5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUnVsZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHJ1bGUgPSBsb2NhbENvbnRleHQuZmluZFJ1bGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKHJ1bGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcnVsZS4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllZCA9IHJ1bGUudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZSA9IHN0YXRlbWVudFVuaWZpZWQ7ICAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFJ1bGUpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBydWxlLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFJ1bGU7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhBeGlvbShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQXhpb20gPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICBheGlvbSA9IGxvY2FsQ29udGV4dC5maW5kQXhpb21CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKGF4aW9tICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIGF4aW9tLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gYXhpb20udW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQXhpb20gPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgYXhpb20uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQXhpb207XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoTGVtbWEgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICBsZW1tYSA9IGxvY2FsQ29udGV4dC5maW5kTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKGxlbW1hICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIGxlbW1hLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gbGVtbWEudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoTGVtbWEgPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbGVtbWEuYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoTGVtbWE7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhUaGVvcmVtKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdGhlb3JlbSA9IGxvY2FsQ29udGV4dC5maW5kVGhlb3JlbUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAodGhlb3JlbSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyB0aGVvcmVtLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gdGhlb3JlbS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtID0gc3RhdGVtZW50VW5pZmllZDsgLy8vXG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgdGhlb3JlbS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQ29uamVjdHVyZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQ29uamVjdHVyZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbmplY3R1cmUgPSBsb2NhbENvbnRleHQuZmluZENvbmplY3R1cmVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKGNvbmplY3R1cmUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgY29uamVjdHVyZS4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllZCA9IGNvbmplY3R1cmUudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQ29uamVjdHVyZSA9IHN0YXRlbWVudFVuaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQ29uamVjdHVyZSkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIGNvbmplY3R1cmUuYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQ29uamVjdHVyZTtcbn1cblxuZnVuY3Rpb24gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFJlZmVyZW5jZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlUHJlc2VudCA9IGxvY2FsQ29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyByZWZlcmVuY2UuLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBpZiAobWV0YXZhcmlhYmxlUHJlc2VudCkge1xuXG4gICAgZGVidWdnZXJcblxuICB9XG5cbiAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJlZmVyZW5jZS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFJlZmVyZW5jZTtcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb25zIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFJ1bGUiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQXhpb20iLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoTGVtbWEiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoVGhlb3JlbSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhDb25qZWN0dXJlIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFJlZmVyZW5jZSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0IiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCIsInF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwic29tZSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsInF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJydWxlIiwiZmluZFJ1bGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3RhdGVtZW50IiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbSIsImF4aW9tIiwiZmluZEF4aW9tQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYSIsImxlbW1hIiwiZmluZExlbW1hQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtIiwidGhlb3JlbSIsImZpbmRUaGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlIiwiY29uamVjdHVyZSIsImZpbmRDb25qZWN0dXJlQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UiLCJtZXRhdmFyaWFibGVQcmVzZW50IiwiaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQkE7OztlQUF3QkE7OztxQkFkRTtBQUUxQixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsbUNBQy9CQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFeEMsSUFBTUUsbUNBQW1DO0lBQ3ZDQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztDQUNEO0FBRWMsU0FBU1Ysd0JBQXdCVyxzQkFBc0IsRUFBRUMsYUFBYSxFQUFFQyxZQUFZO0lBQ2pHLElBQUlDO0lBRUosSUFBTUMsMkJBQTJCRixhQUFhRyxZQUFZLENBQUNMO0lBRTNERSxhQUFhSSxLQUFLLENBQUMsQUFBQyxpQkFBeUMsT0FBekJGLDBCQUF5Qiw2QkFBMkJKO0lBRXhGRyw0QkFBNEJWLGlDQUFpQ2MsSUFBSSxDQUFDLFNBQUNDO1FBQ2pFLElBQU1MLDRCQUE0QkssZ0NBQWdDUix3QkFBd0JDLGVBQWVDO1FBRXpHLE9BQU9DO0lBQ1Q7SUFFQSxJQUFJQSwyQkFBMkI7UUFDN0JELGFBQWFPLEtBQUssQ0FBQyxBQUFDLG1CQUEyQyxPQUF6QkwsMEJBQXlCLDJCQUF5Qko7SUFDMUY7SUFFQSxPQUFPRztB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
|
|
@@ -0,0 +1,25 @@
|
|
|
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 unifyUnqualifiedStatement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _query = require("../../utilities/query");
|
|
12
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!");
|
|
13
|
+
function unifyUnqualifiedStatement(unqualifiedStatementNode, localContext) {
|
|
14
|
+
var unqualifiedStatementUnified;
|
|
15
|
+
var unqualifiedStatementString = localContext.nodeAsString(unqualifiedStatementNode);
|
|
16
|
+
localContext.trace("Unifying the '".concat(unqualifiedStatementString, "' unqualified statement..."), unqualifiedStatementNode);
|
|
17
|
+
var statementNode = statementNodeQuery(unqualifiedStatementNode), statementUnified = localContext.unifyStatement(statementNode, localContext);
|
|
18
|
+
unqualifiedStatementUnified = statementUnified; ///
|
|
19
|
+
if (unqualifiedStatementUnified) {
|
|
20
|
+
localContext.debug("...unified the '".concat(unqualifiedStatementString, "' unqualified statement."), unqualifiedStatementNode);
|
|
21
|
+
}
|
|
22
|
+
return unqualifiedStatementUnified;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnQvdW5xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHVucXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZDtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHt1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIHN0YXRlbWVudC4uLmAsIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gbG9jYWxDb250ZXh0LnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkID0gc3RhdGVtZW50VW5pZmllZDsgIC8vL1xuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50LmAsIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gdW5xdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJsb2NhbENvbnRleHQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudFVuaWZpZWQiLCJ1bmlmeVN0YXRlbWVudCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXdCQTs7O3FCQUpFO0FBRTFCLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUV0QixTQUFTRiwwQkFBMEJHLHdCQUF3QixFQUFFQyxZQUFZO0lBQ3RGLElBQUlDO0lBRUosSUFBTUMsNkJBQTZCRixhQUFhRyxZQUFZLENBQUNKO0lBRTdEQyxhQUFhSSxLQUFLLENBQUMsQUFBQyxpQkFBMkMsT0FBM0JGLDRCQUEyQiwrQkFBNkJIO0lBRTVGLElBQU1NLGdCQUFnQlIsbUJBQW1CRSwyQkFDbkNPLG1CQUFtQk4sYUFBYU8sY0FBYyxDQUFDRixlQUFlTDtJQUVwRUMsOEJBQThCSyxrQkFBbUIsR0FBRztJQUVwRCxJQUFJTCw2QkFBNkI7UUFDL0JELGFBQWFRLEtBQUssQ0FBQyxBQUFDLG1CQUE2QyxPQUEzQk4sNEJBQTJCLDZCQUEyQkg7SUFDOUY7SUFFQSxPQUFPRTtBQUNUIn0=
|
|
@@ -15,16 +15,16 @@ function _interop_require_default(obj) {
|
|
|
15
15
|
default: obj
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
function unifyStatementWithBracketedCombinator(statementNode, assignments,
|
|
18
|
+
function unifyStatementWithBracketedCombinator(statementNode, assignments, stated, localContext) {
|
|
19
19
|
var statementUnifiedWithBracketedCombinator;
|
|
20
20
|
var statementString = localContext.nodeAsString(statementNode);
|
|
21
21
|
localContext.trace("Unifying the '".concat(statementString, "' statement with the bracketed combinator..."), statementNode);
|
|
22
22
|
var bracketedCombinatorStatementNode = _bracketed.default.getStatementNode();
|
|
23
|
-
statementUnifiedWithBracketedCombinator = _statementWithCombinator.default.unify(statementNode, bracketedCombinatorStatementNode, assignments,
|
|
23
|
+
statementUnifiedWithBracketedCombinator = _statementWithCombinator.default.unify(statementNode, bracketedCombinatorStatementNode, assignments, stated, localContext);
|
|
24
24
|
if (statementUnifiedWithBracketedCombinator) {
|
|
25
25
|
localContext.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."), statementNode);
|
|
26
26
|
}
|
|
27
27
|
return statementUnifiedWithBracketedCombinator;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQnJhY2tldGVkQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL29jbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL3N0YXRlbWVudFdpdGhDb21iaW5hdG9yXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50V2l0aEJyYWNrZXRlZENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkV2l0aEJyYWNrZXRlZENvbWJpbmF0b3I7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgYnJhY2tldGVkIGNvbWJpbmF0b3IuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBicmFja2V0ZWRDb21iaW5hdG9yU3RhdGVtZW50Tm9kZSA9IGJyYWNrZXRlZENvbWJpbmF0b3IuZ2V0U3RhdGVtZW50Tm9kZSgpO1xuXG4gIHN0YXRlbWVudFVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvciA9IHN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllci51bmlmeShzdGF0ZW1lbnROb2RlLCBicmFja2V0ZWRDb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAoc3RhdGVtZW50VW5pZmllZFdpdGhCcmFja2V0ZWRDb21iaW5hdG9yKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgYnJhY2tldGVkIGNvbWJpbmF0b3IuYCwgc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllZFdpdGhCcmFja2V0ZWRDb21iaW5hdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50V2l0aEJyYWNrZXRlZENvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aEJyYWNrZXRlZENvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsImJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnROb2RlIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImdldFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRXaXRoQ29tYmluYXRvclVuaWZpZXIiLCJ1bmlmeSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXdCQTs7O2dFQUhROzhFQUNXOzs7Ozs7QUFFNUIsU0FBU0Esc0NBQXNDQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQzVHLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNOO0lBRWxERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxpQkFBZ0MsT0FBaEJGLGlCQUFnQixpREFBK0NMO0lBRW5HLElBQU1RLG1DQUFtQ0Msa0JBQW1CLENBQUNDLGdCQUFnQjtJQUU3RU4sMENBQTBDTyxnQ0FBOEIsQ0FBQ0MsS0FBSyxDQUFDWixlQUFlUSxrQ0FBa0NQLGFBQWFDLFFBQVFDO0lBRXJKLElBQUlDLHlDQUF5QztRQUMzQ0QsYUFBYVUsS0FBSyxDQUFDLEFBQUMsbUJBQWtDLE9BQWhCUixpQkFBZ0IsK0NBQTZDTDtJQUNyRztJQUVBLE9BQU9JO0FBQ1QifQ==
|
|
@@ -14,27 +14,27 @@ function _interop_require_default(obj) {
|
|
|
14
14
|
default: obj
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
function unifyStatementWithCombinators(statementNode, assignments,
|
|
17
|
+
function unifyStatementWithCombinators(statementNode, assignments, stated, localContext) {
|
|
18
18
|
var statementUnifiedWithCombinators;
|
|
19
19
|
var combinators = localContext.getCombinators();
|
|
20
20
|
statementUnifiedWithCombinators = combinators.some(function(combinator) {
|
|
21
|
-
var statementUnifiedWithCombinator = unifyStatementWithCombinator(statementNode, combinator, assignments,
|
|
21
|
+
var statementUnifiedWithCombinator = unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext);
|
|
22
22
|
if (statementUnifiedWithCombinator) {
|
|
23
23
|
return true;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
return statementUnifiedWithCombinators;
|
|
27
27
|
}
|
|
28
|
-
function unifyStatementWithCombinator(statementNode, combinator, assignments,
|
|
28
|
+
function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
|
|
29
29
|
var statementUnifiedWithCombinator;
|
|
30
30
|
var statementString = localContext.nodeAsString(statementNode), combinatorString = combinator.getString();
|
|
31
31
|
localContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."), statementNode);
|
|
32
32
|
var combinatorStatementNode = combinator.getStatementNode();
|
|
33
|
-
statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments,
|
|
33
|
+
statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
|
|
34
34
|
if (statementUnifiedWithCombinator) {
|
|
35
35
|
localContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."), statementNode);
|
|
36
36
|
}
|
|
37
37
|
return statementUnifiedWithCombinator;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzdGF0ZW1lbnRXaXRoQ29tYmluYXRvclVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvc3RhdGVtZW50V2l0aENvbWJpbmF0b3JcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JzID0gbG9jYWxDb250ZXh0LmdldENvbWJpbmF0b3JzKCk7XG5cbiAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IgPSB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzO1xufVxuXG5mdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvci5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yID0gc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyLnVuaWZ5KHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRDb21iaW5hdG9ycyIsInNvbWUiLCJjb21iaW5hdG9yIiwic3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImNvbWJpbmF0b3JTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllciIsInVuaWZ5IiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7OEVBRm1COzs7Ozs7QUFFNUIsU0FBU0EsOEJBQThCQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQ3BHLElBQUlDO0lBRUosSUFBTUMsY0FBY0YsYUFBYUcsY0FBYztJQUUvQ0Ysa0NBQWtDQyxZQUFZRSxJQUFJLENBQUMsU0FBQ0M7UUFDbEQsSUFBTUMsaUNBQWlDQyw2QkFBNkJWLGVBQWVRLFlBQVlQLGFBQWFDLFFBQVFDO1FBRXBILElBQUlNLGdDQUFnQztZQUNsQyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9MO0FBQ1Q7QUFFQSxTQUFTTSw2QkFBNkJWLGFBQWEsRUFBRVEsVUFBVSxFQUFFUCxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtJQUNoRyxJQUFJTTtJQUVKLElBQU1FLGtCQUFrQlIsYUFBYVMsWUFBWSxDQUFDWixnQkFDNUNhLG1CQUFtQkwsV0FBV00sU0FBUztJQUU3Q1gsYUFBYVksS0FBSyxDQUFDLEFBQUMsaUJBQXdERixPQUF4Q0YsaUJBQWdCLDBCQUF5QyxPQUFqQkUsa0JBQWlCLG9CQUFrQmI7SUFFL0csSUFBTWdCLDBCQUEwQlIsV0FBV1MsZ0JBQWdCO0lBRTNEUixpQ0FBaUNTLGdDQUE4QixDQUFDQyxLQUFLLENBQUNuQixlQUFlZ0IseUJBQXlCZixhQUFhQyxRQUFRQztJQUVuSSxJQUFJTSxnQ0FBZ0M7UUFDbENOLGFBQWFpQixLQUFLLENBQUMsQUFBQyxtQkFBMERQLE9BQXhDRixpQkFBZ0IsMEJBQXlDLE9BQWpCRSxrQkFBaUIsa0JBQWdCYjtJQUNqSDtJQUVBLE9BQU9TO0FBQ1QifQ==
|
|
@@ -14,11 +14,11 @@ function _interop_require_default(obj) {
|
|
|
14
14
|
default: obj
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
function unifyStatementWithMetaType(statementNode, metaTypeNode, assignments,
|
|
17
|
+
function unifyStatementWithMetaType(statementNode, metaTypeNode, assignments, stated, localContext) {
|
|
18
18
|
var statementUnifiedWithMetaType;
|
|
19
|
-
var metaType = localContext.findMetaTypeByMetaTypeNode(metaTypeNode), statementVerifiedGivenMetaType = (0, _statementGivenMetaType.default)(statementNode, metaType, assignments,
|
|
19
|
+
var metaType = localContext.findMetaTypeByMetaTypeNode(metaTypeNode), statementVerifiedGivenMetaType = (0, _statementGivenMetaType.default)(statementNode, metaType, assignments, stated, localContext);
|
|
20
20
|
statementUnifiedWithMetaType = statementVerifiedGivenMetaType; ///
|
|
21
21
|
return statementUnifiedWithMetaType;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoTWV0YVR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlTdGF0ZW1lbnRHaXZlbk1ldGFUeXBlIGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50R2l2ZW5NZXRhVHlwZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhNZXRhVHlwZShzdGF0ZW1lbnROb2RlLCBtZXRhVHlwZU5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhNZXRhVHlwZTtcblxuICBjb25zdCBtZXRhVHlwZSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YVR5cGVCeU1ldGFUeXBlTm9kZShtZXRhVHlwZU5vZGUpLFxuICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZEdpdmVuTWV0YVR5cGUgPSB2ZXJpZnlTdGF0ZW1lbnRHaXZlbk1ldGFUeXBlKHN0YXRlbWVudE5vZGUsIG1ldGFUeXBlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gIHN0YXRlbWVudFVuaWZpZWRXaXRoTWV0YVR5cGUgPSBzdGF0ZW1lbnRWZXJpZmllZEdpdmVuTWV0YVR5cGU7ICAvLy9cblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllZFdpdGhNZXRhVHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeVN0YXRlbWVudFdpdGhNZXRhVHlwZSIsInN0YXRlbWVudE5vZGUiLCJtZXRhVHlwZU5vZGUiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWRXaXRoTWV0YVR5cGUiLCJtZXRhVHlwZSIsImZpbmRNZXRhVHlwZUJ5TWV0YVR5cGVOb2RlIiwic3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlIiwidmVyaWZ5U3RhdGVtZW50R2l2ZW5NZXRhVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7Ozs2RUFGaUI7Ozs7OztBQUUxQixTQUFTQSwyQkFBMkJDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtJQUMvRyxJQUFJQztJQUVKLElBQU1DLFdBQVdGLGFBQWFHLDBCQUEwQixDQUFDTixlQUNuRE8saUNBQWlDQyxJQUFBQSwrQkFBNEIsRUFBQ1QsZUFBZU0sVUFBVUosYUFBYUMsUUFBUUM7SUFFbEhDLCtCQUErQkcsZ0NBQWlDLEdBQUc7SUFFbkUsT0FBT0g7QUFDVCJ9
|
|
@@ -0,0 +1,45 @@
|
|
|
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 unifyStatementWithStatementGivenEquivalences;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
12
|
+
var _intrinsicLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/intrinsicLevel"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function unifyStatementWithStatementGivenEquivalences(statementNodeA, statementNodeB, equivalences, localContextA, localContextB) {
|
|
19
|
+
var statementUnifiedWithStatementGivenEquivalences = false;
|
|
20
|
+
var statementStringA = localContextA.nodeAsString(statementNodeA), statementStringB = localContextB.nodeAsString(statementNodeB);
|
|
21
|
+
localContextB.trace("Unifying the '".concat(statementStringB, "' statement with the '").concat(statementStringA, "' statement given equivalences..."), statementNodeB);
|
|
22
|
+
if (!statementUnifiedWithStatementGivenEquivalences) {
|
|
23
|
+
var substitutions = _substitutions.default.fromNothing(), nodeA = statementNodeA, nodeB = statementNodeB, unified = _intrinsicLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
|
|
24
|
+
if (unified) {
|
|
25
|
+
var substitutionsUnifiedWithEquivalences = substitutions.unifyWithEquivalences(equivalences, localContextA, localContextB);
|
|
26
|
+
statementUnifiedWithStatementGivenEquivalences = substitutionsUnifiedWithEquivalences; ///
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (!statementUnifiedWithStatementGivenEquivalences) {
|
|
30
|
+
var localContext = localContextA; ///
|
|
31
|
+
localContextA = localContextB; ///
|
|
32
|
+
localContextB = localContext; ///
|
|
33
|
+
var substitutions1 = _substitutions.default.fromNothing(), nodeA1 = statementNodeB, nodeB1 = statementNodeA, unified1 = _intrinsicLevel.default.unify(nodeA1, nodeB1, substitutions1, localContextA, localContextB);
|
|
34
|
+
if (unified1) {
|
|
35
|
+
var substitutionsUnifiedWithEquivalences1 = substitutions1.unifyWithEquivalences(equivalences, localContextA, localContextB);
|
|
36
|
+
statementUnifiedWithStatementGivenEquivalences = substitutionsUnifiedWithEquivalences1; ///
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (statementUnifiedWithStatementGivenEquivalences) {
|
|
40
|
+
localContextB.debug("...unified the '".concat(statementStringB, "' statement with the '").concat(statementStringA, "' statement given equivalences."), statementNodeB);
|
|
41
|
+
}
|
|
42
|
+
return statementUnifiedWithStatementGivenEquivalences;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoU3R0YWVtZXRuR2l2ZW5FcXVpdmFsZW5jZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBTdWJzdGl0dXRpb25zIGZyb20gXCIuLi9zdWJzdGl0dXRpb25zXCI7XG5pbXBvcnQgaW50cmluc2ljTGV2ZWxVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL2ludHJpbnNpY0xldmVsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50V2l0aFN0YXRlbWVudEdpdmVuRXF1aXZhbGVuY2VzKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgZXF1aXZhbGVuY2VzLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkV2l0aFN0YXRlbWVudEdpdmVuRXF1aXZhbGVuY2VzID0gZmFsc2U7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nQSA9IGxvY2FsQ29udGV4dEEubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVBKSxcbiAgICAgICAgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKTtcblxuICBsb2NhbENvbnRleHRCLnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nQn0nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50IGdpdmVuIGVxdWl2YWxlbmNlcy4uLmAsIHN0YXRlbWVudE5vZGVCKTtcblxuICBpZiAoIXN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50R2l2ZW5FcXVpdmFsZW5jZXMpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vZGVBID0gc3RhdGVtZW50Tm9kZUEsICAvLy9cbiAgICAgICAgICBub2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgdW5pZmllZCA9IGludHJpbnNpY0xldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgaWYgKHVuaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnNVbmlmaWVkV2l0aEVxdWl2YWxlbmNlcyA9IHN1YnN0aXR1dGlvbnMudW5pZnlXaXRoRXF1aXZhbGVuY2VzKGVxdWl2YWxlbmNlcywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIHN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50R2l2ZW5FcXVpdmFsZW5jZXMgPSBzdWJzdGl0dXRpb25zVW5pZmllZFdpdGhFcXVpdmFsZW5jZXM7ICAvLy9cbiAgICB9XG4gIH1cblxuICBpZiAoIXN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50R2l2ZW5FcXVpdmFsZW5jZXMpIHtcbiAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbENvbnRleHRBOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dEEgPSBsb2NhbENvbnRleHRCOyAgLy8vXG5cbiAgICBsb2NhbENvbnRleHRCID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbm9kZUEgPSBzdGF0ZW1lbnROb2RlQiwgIC8vL1xuICAgICAgICAgIG5vZGVCID0gc3RhdGVtZW50Tm9kZUEsICAvLy9cbiAgICAgICAgICB1bmlmaWVkID0gaW50cmluc2ljTGV2ZWxVbmlmaWVyLnVuaWZ5KG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBpZiAodW5pZmllZCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uc1VuaWZpZWRXaXRoRXF1aXZhbGVuY2VzID0gc3Vic3RpdHV0aW9ucy51bmlmeVdpdGhFcXVpdmFsZW5jZXMoZXF1aXZhbGVuY2VzLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnRHaXZlbkVxdWl2YWxlbmNlcyA9IHN1YnN0aXR1dGlvbnNVbmlmaWVkV2l0aEVxdWl2YWxlbmNlczsgIC8vL1xuICAgIH1cbiAgfVxuXG4gIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aFN0YXRlbWVudEdpdmVuRXF1aXZhbGVuY2VzKSB7XG4gICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nQn0nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50IGdpdmVuIGVxdWl2YWxlbmNlcy5gLCBzdGF0ZW1lbnROb2RlQik7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnRHaXZlbkVxdWl2YWxlbmNlcztcbn0iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoU3RhdGVtZW50R2l2ZW5FcXVpdmFsZW5jZXMiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudE5vZGVCIiwiZXF1aXZhbGVuY2VzIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aFN0YXRlbWVudEdpdmVuRXF1aXZhbGVuY2VzIiwic3RhdGVtZW50U3RyaW5nQSIsIm5vZGVBc1N0cmluZyIsInN0YXRlbWVudFN0cmluZ0IiLCJ0cmFjZSIsInN1YnN0aXR1dGlvbnMiLCJTdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJub2RlQSIsIm5vZGVCIiwidW5pZmllZCIsImludHJpbnNpY0xldmVsVW5pZmllciIsInVuaWZ5Iiwic3Vic3RpdHV0aW9uc1VuaWZpZWRXaXRoRXF1aXZhbGVuY2VzIiwidW5pZnlXaXRoRXF1aXZhbGVuY2VzIiwibG9jYWxDb250ZXh0IiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBd0JBOzs7b0VBSEU7cUVBQ1E7Ozs7OztBQUVuQixTQUFTQSw2Q0FBNkNDLGNBQWMsRUFBRUMsY0FBYyxFQUFFQyxZQUFZLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUM3SSxJQUFJQyxpREFBaUQ7SUFFckQsSUFBTUMsbUJBQW1CSCxjQUFjSSxZQUFZLENBQUNQLGlCQUM5Q1EsbUJBQW1CSixjQUFjRyxZQUFZLENBQUNOO0lBRXBERyxjQUFjSyxLQUFLLENBQUMsQUFBQyxpQkFBeURILE9BQXpDRSxrQkFBaUIsMEJBQXlDLE9BQWpCRixrQkFBaUIsc0NBQW9DTDtJQUVuSSxJQUFJLENBQUNJLGdEQUFnRDtRQUNuRCxJQUFNSyxnQkFBZ0JDLHNCQUFhLENBQUNDLFdBQVcsSUFDekNDLFFBQVFiLGdCQUNSYyxRQUFRYixnQkFDUmMsVUFBVUMsdUJBQXFCLENBQUNDLEtBQUssQ0FBQ0osT0FBT0MsT0FBT0osZUFBZVAsZUFBZUM7UUFFeEYsSUFBSVcsU0FBUztZQUNYLElBQU1HLHVDQUF1Q1IsY0FBY1MscUJBQXFCLENBQUNqQixjQUFjQyxlQUFlQztZQUU5R0MsaURBQWlEYSxzQ0FBdUMsR0FBRztRQUM3RjtJQUNGO0lBRUEsSUFBSSxDQUFDYixnREFBZ0Q7UUFDbkQsSUFBTWUsZUFBZWpCLGVBQWUsR0FBRztRQUV2Q0EsZ0JBQWdCQyxlQUFnQixHQUFHO1FBRW5DQSxnQkFBZ0JnQixjQUFjLEdBQUc7UUFFakMsSUFBTVYsaUJBQWdCQyxzQkFBYSxDQUFDQyxXQUFXLElBQ3pDQyxTQUFRWixnQkFDUmEsU0FBUWQsZ0JBQ1JlLFdBQVVDLHVCQUFxQixDQUFDQyxLQUFLLENBQUNKLFFBQU9DLFFBQU9KLGdCQUFlUCxlQUFlQztRQUV4RixJQUFJVyxVQUFTO1lBQ1gsSUFBTUcsd0NBQXVDUixlQUFjUyxxQkFBcUIsQ0FBQ2pCLGNBQWNDLGVBQWVDO1lBRTlHQyxpREFBaURhLHVDQUF1QyxHQUFHO1FBQzdGO0lBQ0Y7SUFFQSxJQUFJYixnREFBZ0Q7UUFDbERELGNBQWNpQixLQUFLLENBQUMsQUFBQyxtQkFBMkRmLE9BQXpDRSxrQkFBaUIsMEJBQXlDLE9BQWpCRixrQkFBaUIsb0NBQWtDTDtJQUNySTtJQUVBLE9BQU9JO0FBQ1QifQ==
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return unifySuppositionWithProofStep;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _subproof = require("../utilities/subproof");
|
|
12
12
|
function unifySuppositionWithProofStep(suppositionA, proofStepB, substitutions, localContextA, localContextB) {
|
|
13
13
|
var suppositionUnified = false;
|
|
14
14
|
var suppositionAStatementNode = suppositionA.getStatementNode();
|
|
@@ -16,7 +16,7 @@ function unifySuppositionWithProofStep(suppositionA, proofStepB, substitutions,
|
|
|
16
16
|
var proofStepBSubproofNode = proofStepB.getSubproofNode(), proofStepBStatementNode = proofStepB.getStatementNode(), subproofNodeB = proofStepBSubproofNode, statementNodeB = proofStepBStatementNode, statementNodeA = suppositionAStatementNode, statementStringA = localContextA.nodeAsString(statementNodeA);
|
|
17
17
|
substitutions.snapshot();
|
|
18
18
|
if (subproofNodeB !== null) {
|
|
19
|
-
var subproofStringB = (0,
|
|
19
|
+
var subproofStringB = (0, _subproof.subproofNodeAsSubproofString)(subproofNodeB, localContextB);
|
|
20
20
|
localContextB.trace("Unifying the '".concat(subproofStringB, "' subproof with the supposition's '").concat(statementStringA, "' statement..."), subproofNodeB);
|
|
21
21
|
var subproofUnified = suppositionA.unifySubproof(subproofNodeB, substitutions, localContextA, localContextB);
|
|
22
22
|
if (subproofUnified) {
|
|
@@ -38,4 +38,4 @@ function unifySuppositionWithProofStep(suppositionA, proofStepB, substitutions,
|
|
|
38
38
|
return suppositionUnified;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdXBwb3NpdGlvbldpdGhQcm9mZlN0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHN1YnByb29mTm9kZUFzU3VicHJvb2ZTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N1YnByb29mXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3VwcG9zaXRpb25XaXRoUHJvb2ZTdGVwKHN1cHBvc2l0aW9uQSwgcHJvb2ZTdGVwQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgc3VwcG9zaXRpb25VbmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3VwcG9zaXRpb25BU3RhdGVtZW50Tm9kZSA9IHN1cHBvc2l0aW9uQS5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgaWYgKHN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlID0gcHJvb2ZTdGVwQi5nZXRTdWJwcm9vZk5vZGUoKSxcbiAgICAgICAgICBwcm9vZlN0ZXBCU3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcEIuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIHN1YnByb29mTm9kZUIgPSBwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHByb29mU3RlcEJTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlQSA9IHN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZ0EgPSBsb2NhbENvbnRleHRBLm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlQSlcblxuICAgIHN1YnN0aXR1dGlvbnMuc25hcHNob3QoKTtcblxuICAgIGlmIChzdWJwcm9vZk5vZGVCICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJwcm9vZlN0cmluZ0IgPSBzdWJwcm9vZk5vZGVBc1N1YnByb29mU3RyaW5nKHN1YnByb29mTm9kZUIsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBsb2NhbENvbnRleHRCLnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmdCfScgc3VicHJvb2Ygd2l0aCB0aGUgc3VwcG9zaXRpb24ncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgIGNvbnN0IHN1YnByb29mVW5pZmllZCA9IHN1cHBvc2l0aW9uQS51bmlmeVN1YnByb29mKHN1YnByb29mTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBpZiAoc3VicHJvb2ZVbmlmaWVkKSB7XG4gICAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnByb29mU3RyaW5nQn0nIHN1YnByb29mIHdpdGggdGhlIHN1cHBvc2l0aW9uJ3MgJyR7c3RhdGVtZW50U3RyaW5nQX0nIHN0YXRlbWVudC5gLCBzdWJwcm9vZk5vZGVCKTtcblxuICAgICAgICBzdXBwb3NpdGlvblVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgc3VwcG9zaXRpb24ncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gc3VwcG9zaXRpb25BLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nQn0nIHN0YXRlbWVudCB3aXRoIHRoZSBzdXBwb3NpdGlvbidzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIHN1cHBvc2l0aW9uVW5pZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwcG9zaXRpb25VbmlmaWVkID9cbiAgICAgIHN1YnN0aXR1dGlvbnMuY29udGludWUoKSA6XG4gICAgICAgIHN1YnN0aXR1dGlvbnMucm9sbGJhY2sobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG4gIH1cblxuICByZXR1cm4gc3VwcG9zaXRpb25VbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3VwcG9zaXRpb25XaXRoUHJvb2ZTdGVwIiwic3VwcG9zaXRpb25BIiwicHJvb2ZTdGVwQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInN1cHBvc2l0aW9uVW5pZmllZCIsInN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwicHJvb2ZTdGVwQlN1YnByb29mTm9kZSIsImdldFN1YnByb29mTm9kZSIsInByb29mU3RlcEJTdGF0ZW1lbnROb2RlIiwic3VicHJvb2ZOb2RlQiIsInN0YXRlbWVudE5vZGVCIiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnRTdHJpbmdBIiwibm9kZUFzU3RyaW5nIiwic25hcHNob3QiLCJzdWJwcm9vZlN0cmluZ0IiLCJzdWJwcm9vZk5vZGVBc1N1YnByb29mU3RyaW5nIiwidHJhY2UiLCJzdWJwcm9vZlVuaWZpZWQiLCJ1bmlmeVN1YnByb29mIiwiZGVidWciLCJzdGF0ZW1lbnRTdHJpbmdCIiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3RhdGVtZW50IiwiY29udGludWUiLCJyb2xsYmFjayJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7Ozt3QkFGcUI7QUFFOUIsU0FBU0EsOEJBQThCQyxZQUFZLEVBQUVDLFVBQVUsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWE7SUFDekgsSUFBSUMscUJBQXFCO0lBRXpCLElBQU1DLDRCQUE0Qk4sYUFBYU8sZ0JBQWdCO0lBRS9ELElBQUlELDhCQUE4QixNQUFNO1FBQ3RDLElBQU1FLHlCQUF5QlAsV0FBV1EsZUFBZSxJQUNuREMsMEJBQTBCVCxXQUFXTSxnQkFBZ0IsSUFDckRJLGdCQUFnQkgsd0JBQ2hCSSxpQkFBaUJGLHlCQUNqQkcsaUJBQWlCUCwyQkFDakJRLG1CQUFtQlgsY0FBY1ksWUFBWSxDQUFDRjtRQUVwRFgsY0FBY2MsUUFBUTtRQUV0QixJQUFJTCxrQkFBa0IsTUFBTTtZQUMxQixJQUFNTSxrQkFBa0JDLElBQUFBLHNDQUE0QixFQUFDUCxlQUFlUDtZQUVwRUEsY0FBY2UsS0FBSyxDQUFDLEFBQUMsaUJBQXFFTCxPQUFyREcsaUJBQWdCLHVDQUFzRCxPQUFqQkgsa0JBQWlCLG1CQUFpQkg7WUFFNUgsSUFBTVMsa0JBQWtCcEIsYUFBYXFCLGFBQWEsQ0FBQ1YsZUFBZVQsZUFBZUMsZUFBZUM7WUFFaEcsSUFBSWdCLGlCQUFpQjtnQkFDbkJoQixjQUFja0IsS0FBSyxDQUFDLEFBQUMsbUJBQXVFUixPQUFyREcsaUJBQWdCLHVDQUFzRCxPQUFqQkgsa0JBQWlCLGlCQUFlSDtnQkFFNUhOLHFCQUFxQjtZQUN2QjtRQUNGO1FBRUEsSUFBSU8sbUJBQW1CLE1BQU07WUFDM0IsSUFBTVcsbUJBQW1CbkIsY0FBY1csWUFBWSxDQUFDSDtZQUVwRFIsY0FBY2UsS0FBSyxDQUFDLEFBQUMsaUJBQXVFTCxPQUF2RFMsa0JBQWlCLHdDQUF1RCxPQUFqQlQsa0JBQWlCLG1CQUFpQkY7WUFFOUgsSUFBTVksbUJBQW1CeEIsYUFBYXlCLGNBQWMsQ0FBQ2IsZ0JBQWdCVixlQUFlQyxlQUFlQztZQUVuRyxJQUFJb0Isa0JBQWtCO2dCQUNwQnBCLGNBQWNrQixLQUFLLENBQUMsQUFBQyxtQkFBeUVSLE9BQXZEUyxrQkFBaUIsd0NBQXVELE9BQWpCVCxrQkFBaUIsaUJBQWVGO2dCQUU5SFAscUJBQXFCO1lBQ3ZCO1FBQ0Y7UUFFQUEscUJBQ0VILGNBQWN3QixRQUFRLEtBQ3BCeEIsY0FBY3lCLFFBQVEsQ0FBQ3hCLGVBQWVDO0lBQzVDO0lBRUEsT0FBT0M7QUFDVCJ9
|
|
@@ -9,46 +9,31 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../substitution/termForVariable"));
|
|
12
|
-
var
|
|
12
|
+
var _unify = require("../utilities/unify");
|
|
13
13
|
function _interop_require_default(obj) {
|
|
14
14
|
return obj && obj.__esModule ? obj : {
|
|
15
15
|
default: obj
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable");
|
|
19
18
|
function unifyVariableWithTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB) {
|
|
20
19
|
var variableUnifiedWithTerm = false;
|
|
21
|
-
var substitution = substitutions.
|
|
22
|
-
var substitutionMatchesVariableNodeA = substitution.matchVariableNode(variableNodeA);
|
|
23
|
-
if (substitutionMatchesVariableNodeA) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
}) || null;
|
|
20
|
+
var substitution = substitutions.findSubstitutionByVariableNode(variableNodeA);
|
|
27
21
|
if (substitution !== null) {
|
|
28
|
-
var
|
|
29
|
-
if (
|
|
22
|
+
var termNodeMatches = substitution.matchTermNode(termNodeB);
|
|
23
|
+
if (termNodeMatches) {
|
|
30
24
|
variableUnifiedWithTerm = true;
|
|
31
25
|
}
|
|
32
26
|
} else {
|
|
33
|
-
var variableA = localContextA.findVariableByVariableNode(variableNodeA);
|
|
34
|
-
if (variableA
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
27
|
+
var variableA = localContextA.findVariableByVariableNode(variableNodeA), variableB = (0, _unify.variableFromTermNode)(termNodeB, localContextB);
|
|
28
|
+
if (variableA === variableB) {
|
|
29
|
+
variableUnifiedWithTerm = true;
|
|
30
|
+
} else {
|
|
31
|
+
var termNode = termNodeB, variableNode = variableNodeA, termForVariableSubstitution = _termForVariable.default.fromTernNodeAndVariableNode(termNode, variableNode), substitution1 = termForVariableSubstitution; ///
|
|
32
|
+
substitutions.addSubstitution(substitution1, localContextA, localContextB);
|
|
40
33
|
variableUnifiedWithTerm = true;
|
|
41
34
|
}
|
|
42
35
|
}
|
|
43
36
|
return variableUnifiedWithTerm;
|
|
44
37
|
}
|
|
45
|
-
function variableFromTermNode(termNode, localContext) {
|
|
46
|
-
var variable = null;
|
|
47
|
-
var variableNode = variableNodeQuery(termNode);
|
|
48
|
-
if (variableNode !== null) {
|
|
49
|
-
variable = localContext.findVariableByVariableNode(variableNode);
|
|
50
|
-
}
|
|
51
|
-
return variable;
|
|
52
|
-
}
|
|
53
38
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS92YXJpYWJsZVdpdGhUZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IHZhcmlhYmxlRnJvbVRlcm1Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy91bmlmeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVZhcmlhYmxlV2l0aFRlcm0odmFyaWFibGVOb2RlQSwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCB2YXJpYWJsZVVuaWZpZWRXaXRoVGVybSA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZFN1YnN0aXR1dGlvbkJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZUEpO1xuXG4gIGlmIChzdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCB0ZXJtTm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZUIpO1xuXG4gICAgaWYgKHRlcm1Ob2RlTWF0Y2hlcykge1xuICAgICAgdmFyaWFibGVVbmlmaWVkV2l0aFRlcm0gPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCB2YXJpYWJsZUEgPSBsb2NhbENvbnRleHRBLmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZUEpLFxuICAgICAgICAgIHZhcmlhYmxlQiA9IHZhcmlhYmxlRnJvbVRlcm1Ob2RlKHRlcm1Ob2RlQiwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBpZiAodmFyaWFibGVBID09PSB2YXJpYWJsZUIpIHtcbiAgICAgIHZhcmlhYmxlVW5pZmllZFdpdGhUZXJtID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlQSwgLy8vXG4gICAgICAgICAgICB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVRlcm5Ob2RlQW5kVmFyaWFibGVOb2RlKHRlcm1Ob2RlLCB2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgICAgIHN1YnN0aXR1dGlvbnMuYWRkU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIHZhcmlhYmxlVW5pZmllZFdpdGhUZXJtID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFyaWFibGVVbmlmaWVkV2l0aFRlcm07XG59XG4iXSwibmFtZXMiOlsidW5pZnlWYXJpYWJsZVdpdGhUZXJtIiwidmFyaWFibGVOb2RlQSIsInRlcm1Ob2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZhcmlhYmxlVW5pZmllZFdpdGhUZXJtIiwic3Vic3RpdHV0aW9uIiwiZmluZFN1YnN0aXR1dGlvbkJ5VmFyaWFibGVOb2RlIiwidGVybU5vZGVNYXRjaGVzIiwibWF0Y2hUZXJtTm9kZSIsInZhcmlhYmxlQSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlIiwidmFyaWFibGVCIiwidmFyaWFibGVGcm9tVGVybU5vZGUiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTm9kZSIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21UZXJuTm9kZUFuZFZhcmlhYmxlTm9kZSIsImFkZFN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7OztzRUFKZ0I7cUJBRUg7Ozs7OztBQUV0QixTQUFTQSxzQkFBc0JDLGFBQWEsRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNqSCxJQUFJQywwQkFBMEI7SUFFOUIsSUFBTUMsZUFBZUosY0FBY0ssOEJBQThCLENBQUNQO0lBRWxFLElBQUlNLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1FLGtCQUFrQkYsYUFBYUcsYUFBYSxDQUFDUjtRQUVuRCxJQUFJTyxpQkFBaUI7WUFDbkJILDBCQUEwQjtRQUM1QjtJQUNGLE9BQU87UUFDTCxJQUFNSyxZQUFZUCxjQUFjUSwwQkFBMEIsQ0FBQ1gsZ0JBQ3JEWSxZQUFZQyxJQUFBQSwyQkFBb0IsRUFBQ1osV0FBV0c7UUFFbEQsSUFBSU0sY0FBY0UsV0FBVztZQUMzQlAsMEJBQTBCO1FBQzVCLE9BQU87WUFDTCxJQUFNUyxXQUFXYixXQUNYYyxlQUFlZixlQUNmZ0IsOEJBQThCQyx3QkFBMkIsQ0FBQ0MsMkJBQTJCLENBQUNKLFVBQVVDLGVBQ2hHVCxnQkFBZVUsNkJBQThCLEdBQUc7WUFFdERkLGNBQWNpQixlQUFlLENBQUNiLGVBQWNILGVBQWVDO1lBRTNEQywwQkFBMEI7UUFDNUI7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
|
package/lib/utilities/array.js
CHANGED
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
compare: function() {
|
|
13
|
-
return compare;
|
|
14
|
-
},
|
|
15
12
|
compress: function() {
|
|
16
13
|
return compress;
|
|
17
14
|
},
|
|
@@ -24,6 +21,9 @@ _export(exports, {
|
|
|
24
21
|
filter: function() {
|
|
25
22
|
return filter;
|
|
26
23
|
},
|
|
24
|
+
find: function() {
|
|
25
|
+
return find;
|
|
26
|
+
},
|
|
27
27
|
first: function() {
|
|
28
28
|
return first;
|
|
29
29
|
},
|
|
@@ -84,20 +84,11 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
84
84
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
85
85
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
86
86
|
}
|
|
87
|
-
var first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second, last = _necessary.arrayUtilities.last, extract = _necessary.arrayUtilities.extract, tail = _necessary.arrayUtilities.tail, push = _necessary.arrayUtilities.push, match = _necessary.arrayUtilities.match, prune = _necessary.arrayUtilities.prune, filter = _necessary.arrayUtilities.filter, compress = _necessary.arrayUtilities.compress, separate = _necessary.arrayUtilities.separate;
|
|
87
|
+
var first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second, last = _necessary.arrayUtilities.last, extract = _necessary.arrayUtilities.extract, tail = _necessary.arrayUtilities.tail, push = _necessary.arrayUtilities.push, find = _necessary.arrayUtilities.find, match = _necessary.arrayUtilities.match, prune = _necessary.arrayUtilities.prune, filter = _necessary.arrayUtilities.filter, compress = _necessary.arrayUtilities.compress, separate = _necessary.arrayUtilities.separate;
|
|
88
88
|
function reverse(array) {
|
|
89
89
|
array = _to_consumable_array(array).reverse();
|
|
90
90
|
return array;
|
|
91
91
|
}
|
|
92
|
-
function compare(arrayA, arrayB) {
|
|
93
|
-
var compares = false;
|
|
94
|
-
var arrayALength = arrayA.length, arrayBLength = arrayB.length;
|
|
95
|
-
if (arrayALength === arrayBLength) {
|
|
96
|
-
var correlates = correlate(arrayA, arrayB);
|
|
97
|
-
compares = correlates; ///
|
|
98
|
-
}
|
|
99
|
-
return compares;
|
|
100
|
-
}
|
|
101
92
|
function correlate(arrayA, arrayB, callback) {
|
|
102
93
|
arrayB = _to_consumable_array(arrayB);
|
|
103
94
|
var correlates = arrayA.every(function(elementA) {
|
|
@@ -130,4 +121,4 @@ function rightDifference(arrayA, arrayB) {
|
|
|
130
121
|
});
|
|
131
122
|
}
|
|
132
123
|
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5leHBvcnQgY29uc3QgeyBmaXJzdCwgc2Vjb25kLCBsYXN0LCBleHRyYWN0LCB0YWlsLCBwdXNoLCBmaW5kLCBtYXRjaCwgcHJ1bmUsIGZpbHRlciwgY29tcHJlc3MsIHNlcGFyYXRlIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHJldmVyc2UoYXJyYXkpIHtcbiAgYXJyYXkgPSBbIC8vL1xuICAgIC4uLmFycmF5XG4gIF0ucmV2ZXJzZSgpO1xuXG4gIHJldHVybiBhcnJheTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvcnJlbGF0ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2spIHtcbiAgYXJyYXlCID0gWyAgLy8vXG4gICAgLi4uYXJyYXlCXG4gIF07XG5cbiAgY29uc3QgY29ycmVsYXRlcyA9IGFycmF5QS5ldmVyeSgoZWxlbWVudEEpID0+IHtcbiAgICBjb25zdCBlbGVtZW50QiA9IGV4dHJhY3QoYXJyYXlCLCAoZWxlbWVudEIpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnRBLCBlbGVtZW50Qik7XG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChlbGVtZW50QiAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gY29ycmVsYXRlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxlZnREaWZmZXJlbmNlKGFycmF5QSwgYXJyYXlCKSB7XG4gIGZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmlnaHREaWZmZXJlbmNlKGFycmF5QSwgYXJyYXlCKSB7XG4gIGZpbHRlcihhcnJheUIsIChlbGVtZW50QikgPT4ge1xuICAgIGNvbnN0IGFycmF5QUluY2x1ZGVzRWxlbWVudEIgPSBhcnJheUEuaW5jbHVkZXMoZWxlbWVudEIpO1xuXG4gICAgaWYgKCFhcnJheUFJbmNsdWRlc0VsZW1lbnRCKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImNvbXByZXNzIiwiY29ycmVsYXRlIiwiZXh0cmFjdCIsImZpbHRlciIsImZpbmQiLCJmaXJzdCIsImxhc3QiLCJsZWZ0RGlmZmVyZW5jZSIsIm1hdGNoIiwicHJ1bmUiLCJwdXNoIiwicmV2ZXJzZSIsInJpZ2h0RGlmZmVyZW5jZSIsInNlY29uZCIsInNlcGFyYXRlIiwidGFpbCIsImFycmF5VXRpbGl0aWVzIiwiYXJyYXkiLCJhcnJheUEiLCJhcnJheUIiLCJjYWxsYmFjayIsImNvcnJlbGF0ZXMiLCJldmVyeSIsImVsZW1lbnRBIiwiZWxlbWVudEIiLCJyZXN1bHQiLCJhcnJheUJJbmNsdWRlc0VsZW1lbnRBIiwiaW5jbHVkZXMiLCJhcnJheUFJbmNsdWRlc0VsZW1lbnRCIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFJcUZBLFFBQVE7ZUFBUkE7O0lBVXJFQyxTQUFTO2VBQVRBOztJQVZvQkMsT0FBTztlQUFQQTs7SUFBeUNDLE1BQU07ZUFBTkE7O0lBQXBCQyxJQUFJO2VBQUpBOztJQUExQ0MsS0FBSztlQUFMQTs7SUFBZUMsSUFBSTtlQUFKQTs7SUFnQ2RDLGNBQWM7ZUFBZEE7O0lBaEMrQ0MsS0FBSztlQUFMQTs7SUFBT0MsS0FBSztlQUFMQTs7SUFBbkJDLElBQUk7ZUFBSkE7O0lBRW5DQyxPQUFPO2VBQVBBOztJQXdDQUMsZUFBZTtlQUFmQTs7SUExQ01DLE1BQU07ZUFBTkE7O0lBQXlFQyxRQUFRO2VBQVJBOztJQUFsREMsSUFBSTtlQUFKQTs7O3lCQUZkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QixJQUFRVixRQUE2RlcseUJBQWMsQ0FBM0dYLE9BQU9RLFNBQXNGRyx5QkFBYyxDQUFwR0gsUUFBUVAsT0FBOEVVLHlCQUFjLENBQTVGVixNQUFNSixVQUF3RWMseUJBQWMsQ0FBdEZkLFNBQVNhLE9BQStEQyx5QkFBYyxDQUE3RUQsTUFBTUwsT0FBeURNLHlCQUFjLENBQXZFTixNQUFNTixPQUFtRFkseUJBQWMsQ0FBakVaLE1BQU1JLFFBQTZDUSx5QkFBYyxDQUEzRFIsT0FBT0MsUUFBc0NPLHlCQUFjLENBQXBEUCxPQUFPTixTQUErQmEseUJBQWMsQ0FBN0NiLFFBQVFILFdBQXVCZ0IseUJBQWMsQ0FBckNoQixVQUFVYyxXQUFhRSx5QkFBYyxDQUEzQkY7QUFFeEYsU0FBU0gsUUFBUU0sS0FBSztJQUMzQkEsUUFBUSxBQUNOLHFCQUFHQSxPQUNITixPQUFPO0lBRVQsT0FBT007QUFDVDtBQUVPLFNBQVNoQixVQUFVaUIsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLFFBQVE7SUFDaERELFNBQ0UscUJBQUdBO0lBR0wsSUFBTUUsYUFBYUgsT0FBT0ksS0FBSyxDQUFDLFNBQUNDO1FBQy9CLElBQU1DLFdBQVd0QixRQUFRaUIsUUFBUSxTQUFDSztZQUNoQyxJQUFNQyxTQUFTTCxTQUFTRyxVQUFVQztZQUVsQyxJQUFJQyxRQUFRO2dCQUNWLE9BQU87WUFDVDtRQUNGLE1BQU07UUFFTixJQUFJRCxhQUFhLE1BQU07WUFDckIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPSDtBQUNUO0FBRU8sU0FBU2QsZUFBZVcsTUFBTSxFQUFFQyxNQUFNO0lBQzNDaEIsT0FBT2UsUUFBUSxTQUFDSztRQUNkLElBQU1HLHlCQUF5QlAsT0FBT1EsUUFBUSxDQUFDSjtRQUUvQyxJQUFJLENBQUNHLHdCQUF3QjtZQUMzQixPQUFPO1FBQ1Q7SUFDRjtBQUNGO0FBRU8sU0FBU2QsZ0JBQWdCTSxNQUFNLEVBQUVDLE1BQU07SUFDNUNoQixPQUFPZ0IsUUFBUSxTQUFDSztRQUNkLElBQU1JLHlCQUF5QlYsT0FBT1MsUUFBUSxDQUFDSDtRQUUvQyxJQUFJLENBQUNJLHdCQUF3QjtZQUMzQixPQUFPO1FBQ1Q7SUFDRjtBQUNGIn0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "isAssertionNegated", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return isAssertionNegated;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _constants = require("../constants");
|
|
12
|
+
var _query = require("../utilities/query");
|
|
13
|
+
var operatorTerminalNodesQuery = (0, _query.nodesQuery)("/*/@operator");
|
|
14
|
+
function isAssertionNegated(assertionNode) {
|
|
15
|
+
var operatorTerminalNodes = operatorTerminalNodesQuery(assertionNode), assertionNegated = operatorTerminalNodes.some(function(operatorTerminalNode) {
|
|
16
|
+
var content = operatorTerminalNode.getContent();
|
|
17
|
+
if (content === _constants.NOT) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return assertionNegated;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXNzZXJ0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOT1QgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvKi9Ab3BlcmF0b3JcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Fzc2VydGlvbk5lZ2F0ZWQoYXNzZXJ0aW9uTm9kZSkge1xuICBjb25zdCBvcGVyYXRvclRlcm1pbmFsTm9kZXMgPSBvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeShhc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgYXNzZXJ0aW9uTmVnYXRlZCA9IG9wZXJhdG9yVGVybWluYWxOb2Rlcy5zb21lKChvcGVyYXRvclRlcm1pbmFsTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBvcGVyYXRvclRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICAgICAgICBpZiAoY29udGVudCA9PT0gTk9UKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBhc3NlcnRpb25OZWdhdGVkO1xufVxuIl0sIm5hbWVzIjpbImlzQXNzZXJ0aW9uTmVnYXRlZCIsIm9wZXJhdG9yVGVybWluYWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImFzc2VydGlvbk5vZGUiLCJvcGVyYXRvclRlcm1pbmFsTm9kZXMiLCJhc3NlcnRpb25OZWdhdGVkIiwic29tZSIsIm9wZXJhdG9yVGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJOT1QiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9nQkE7OztlQUFBQTs7O3lCQUxJO3FCQUNPO0FBRTNCLElBQU1DLDZCQUE2QkMsSUFBQUEsaUJBQVUsRUFBQztBQUV2QyxTQUFTRixtQkFBbUJHLGFBQWE7SUFDOUMsSUFBTUMsd0JBQXdCSCwyQkFBMkJFLGdCQUNuREUsbUJBQW1CRCxzQkFBc0JFLElBQUksQ0FBQyxTQUFDQztRQUM3QyxJQUFNQyxVQUFVRCxxQkFBcUJFLFVBQVU7UUFFL0MsSUFBSUQsWUFBWUUsY0FBRyxFQUFFO1lBQ25CLE9BQU87UUFDVDtJQUNGO0lBRU4sT0FBT0w7QUFDVCJ9
|