occam-verify-cli 0.0.507 → 0.0.508
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/axiomLemmaTheorem.js +2 -2
- package/lib/conclusion.js +6 -6
- package/lib/consequence.js +4 -4
- package/lib/matcher/metastatementForMetavariable/conclusion.js +113 -0
- package/lib/matcher/metastatementForMetavariable/premise.js +113 -0
- package/lib/matcher/metastatementForMetavariable.js +201 -0
- package/lib/matcher/statementForMetavariable/conclusion.js +113 -0
- package/lib/matcher/statementForMetavariable/premise.js +113 -0
- package/lib/matcher/statementForMetavariable.js +201 -0
- package/lib/matcher/statementForVariable/consequence.js +113 -0
- package/lib/matcher/statementForVariable/supposition.js +113 -0
- package/lib/matcher/statementForVariable.js +201 -0
- package/lib/matcher.js +124 -10
- package/lib/premise.js +19 -19
- package/lib/rule.js +11 -11
- package/lib/substitution/metastatementForMetavariable.js +86 -0
- package/lib/substitution/statementForMetavariable.js +86 -0
- package/lib/substitution/statementForVariable.js +86 -0
- package/lib/supposition.js +9 -9
- package/package.json +1 -1
- package/src/axiomLemmaTheorem.js +1 -1
- package/src/conclusion.js +9 -9
- package/src/consequence.js +5 -5
- package/src/matcher/metastatementForMetavariable/conclusion.js +9 -0
- package/src/matcher/metastatementForMetavariable/premise.js +9 -0
- package/src/matcher/metastatementForMetavariable.js +99 -0
- package/src/matcher/statementForMetavariable/conclusion.js +9 -0
- package/src/matcher/statementForMetavariable/premise.js +9 -0
- package/src/matcher/statementForMetavariable.js +99 -0
- package/src/matcher/statementForVariable/consequence.js +9 -0
- package/src/matcher/statementForVariable/supposition.js +9 -0
- package/src/matcher/statementForVariable.js +99 -0
- package/src/matcher.js +70 -3
- package/src/premise.js +42 -42
- package/src/rule.js +12 -12
- package/src/{metaSubstitution.js → substitution/metastatementForMetavariable.js} +7 -7
- package/src/{substitution.js → substitution/statementForMetavariable.js} +7 -7
- package/src/substitution/statementForVariable.js +64 -0
- package/src/supposition.js +20 -20
- package/lib/matcher/conclusion.js +0 -194
- package/lib/matcher/consequence.js +0 -194
- package/lib/matcher/premise.js +0 -199
- package/lib/matcher/supposition.js +0 -199
- package/lib/metaMatcher/conclusion.js +0 -194
- package/lib/metaMatcher/premise.js +0 -199
- package/lib/metaMatcher.js +0 -36
- package/lib/metaSubstitution.js +0 -86
- package/lib/mixins/matcher.js +0 -109
- package/lib/substitution.js +0 -86
- package/src/matcher/conclusion.js +0 -86
- package/src/matcher/consequence.js +0 -89
- package/src/matcher/premise.js +0 -94
- package/src/matcher/supposition.js +0 -97
- package/src/metaMatcher/conclusion.js +0 -86
- package/src/metaMatcher/premise.js +0 -94
- package/src/metaMatcher.js +0 -9
- package/src/mixins/matcher.js +0 -81
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "premiseMetaMatcher", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return premiseMetaMatcher;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _metaMatcher = /*#__PURE__*/ _interopRequireDefault(require("../metaMatcher"));
|
|
12
|
-
var _metaSubstitution = /*#__PURE__*/ _interopRequireDefault(require("../metaSubstitution"));
|
|
13
|
-
var _array = require("../utilities/array");
|
|
14
|
-
var _query = require("../utilities/query");
|
|
15
|
-
var _ruleNames = require("../ruleNames");
|
|
16
|
-
function _assertThisInitialized(self) {
|
|
17
|
-
if (self === void 0) {
|
|
18
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
19
|
-
}
|
|
20
|
-
return self;
|
|
21
|
-
}
|
|
22
|
-
function _classCallCheck(instance, Constructor) {
|
|
23
|
-
if (!(instance instanceof Constructor)) {
|
|
24
|
-
throw new TypeError("Cannot call a class as a function");
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function _defineProperties(target, props) {
|
|
28
|
-
for(var i = 0; i < props.length; i++){
|
|
29
|
-
var descriptor = props[i];
|
|
30
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
31
|
-
descriptor.configurable = true;
|
|
32
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
33
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
37
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
38
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
39
|
-
return Constructor;
|
|
40
|
-
}
|
|
41
|
-
function _get(target, property, receiver) {
|
|
42
|
-
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
43
|
-
_get = Reflect.get;
|
|
44
|
-
} else {
|
|
45
|
-
_get = function _get(target, property, receiver) {
|
|
46
|
-
var base = _superPropBase(target, property);
|
|
47
|
-
if (!base) return;
|
|
48
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
49
|
-
if (desc.get) {
|
|
50
|
-
return desc.get.call(receiver);
|
|
51
|
-
}
|
|
52
|
-
return desc.value;
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
return _get(target, property, receiver || target);
|
|
56
|
-
}
|
|
57
|
-
function _getPrototypeOf(o) {
|
|
58
|
-
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
59
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
60
|
-
};
|
|
61
|
-
return _getPrototypeOf(o);
|
|
62
|
-
}
|
|
63
|
-
function _inherits(subClass, superClass) {
|
|
64
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
65
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
66
|
-
}
|
|
67
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
68
|
-
constructor: {
|
|
69
|
-
value: subClass,
|
|
70
|
-
writable: true,
|
|
71
|
-
configurable: true
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
75
|
-
}
|
|
76
|
-
function _interopRequireDefault(obj) {
|
|
77
|
-
return obj && obj.__esModule ? obj : {
|
|
78
|
-
default: obj
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
function _possibleConstructorReturn(self, call) {
|
|
82
|
-
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
83
|
-
return call;
|
|
84
|
-
}
|
|
85
|
-
return _assertThisInitialized(self);
|
|
86
|
-
}
|
|
87
|
-
function _setPrototypeOf(o, p) {
|
|
88
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
89
|
-
o.__proto__ = p;
|
|
90
|
-
return o;
|
|
91
|
-
};
|
|
92
|
-
return _setPrototypeOf(o, p);
|
|
93
|
-
}
|
|
94
|
-
function _superPropBase(object, property) {
|
|
95
|
-
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
96
|
-
object = _getPrototypeOf(object);
|
|
97
|
-
if (object === null) break;
|
|
98
|
-
}
|
|
99
|
-
return object;
|
|
100
|
-
}
|
|
101
|
-
var _typeof = function(obj) {
|
|
102
|
-
"@swc/helpers - typeof";
|
|
103
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
104
|
-
};
|
|
105
|
-
function _isNativeReflectConstruct() {
|
|
106
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
107
|
-
if (Reflect.construct.sham) return false;
|
|
108
|
-
if (typeof Proxy === "function") return true;
|
|
109
|
-
try {
|
|
110
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
111
|
-
return true;
|
|
112
|
-
} catch (e) {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
function _createSuper(Derived) {
|
|
117
|
-
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
118
|
-
return function _createSuperInternal() {
|
|
119
|
-
var Super = _getPrototypeOf(Derived), result;
|
|
120
|
-
if (hasNativeReflectConstruct) {
|
|
121
|
-
var NewTarget = _getPrototypeOf(this).constructor;
|
|
122
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
123
|
-
} else {
|
|
124
|
-
result = Super.apply(this, arguments);
|
|
125
|
-
}
|
|
126
|
-
return _possibleConstructorReturn(this, result);
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
var PremiseMetaMatcher = /*#__PURE__*/ function(MetaMatcher) {
|
|
130
|
-
_inherits(PremiseMetaMatcher, MetaMatcher);
|
|
131
|
-
var _super = _createSuper(PremiseMetaMatcher);
|
|
132
|
-
function PremiseMetaMatcher() {
|
|
133
|
-
_classCallCheck(this, PremiseMetaMatcher);
|
|
134
|
-
return _super.apply(this, arguments);
|
|
135
|
-
}
|
|
136
|
-
_createClass(PremiseMetaMatcher, [
|
|
137
|
-
{
|
|
138
|
-
key: "matchNonTerminalNode",
|
|
139
|
-
value: function matchNonTerminalNode(premiseNonTerminalNode, nonTerminalNode, metaSubstitutions) {
|
|
140
|
-
var nonTerminalNodeMatches = false;
|
|
141
|
-
var ruleName = nonTerminalNode.getRuleName(), premiseNonTerminalNodeRuleName = premiseNonTerminalNode.getRuleName(), ruleNameMetastatementRuleName = ruleName === _ruleNames.METASTATEMENT_RULE_NAME, premiseNonTerminalNodeRuleNameMetastatementRuleName = premiseNonTerminalNodeRuleName === _ruleNames.METASTATEMENT_RULE_NAME;
|
|
142
|
-
if (ruleNameMetastatementRuleName && premiseNonTerminalNodeRuleNameMetastatementRuleName) {
|
|
143
|
-
var metastatementNode = nonTerminalNode, premiseMetastatementNode = premiseNonTerminalNode, metastatementNodeMatches = this.matchMetastatementNode(premiseMetastatementNode, metastatementNode, metaSubstitutions);
|
|
144
|
-
if (metastatementNodeMatches) {
|
|
145
|
-
nonTerminalNodeMatches = true;
|
|
146
|
-
} else {
|
|
147
|
-
nonTerminalNodeMatches = _get(_getPrototypeOf(PremiseMetaMatcher.prototype), "matchNonTerminalNode", this).call(this, premiseNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
148
|
-
}
|
|
149
|
-
} else if (ruleName === premiseNonTerminalNodeRuleName) {
|
|
150
|
-
nonTerminalNodeMatches = _get(_getPrototypeOf(PremiseMetaMatcher.prototype), "matchNonTerminalNode", this).call(this, premiseNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
151
|
-
}
|
|
152
|
-
return nonTerminalNodeMatches;
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
key: "matchMetavariableNode",
|
|
157
|
-
value: function matchMetavariableNode(premiseMetavariableNode, metastatementNode, metaSubstitutions) {
|
|
158
|
-
var metavariableNodeMatches;
|
|
159
|
-
var premiseMetavariableName = (0, _query.metavariableNameFromMetavariableNode)(premiseMetavariableNode), metaSubstitution = metaSubstitutions.find(function(metaSubstitution) {
|
|
160
|
-
var metavariableName = metaSubstitution.getMetavariableName();
|
|
161
|
-
if (metavariableName === premiseMetavariableName) {
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
}) || null;
|
|
165
|
-
if (metaSubstitution !== null) {
|
|
166
|
-
var metaSubstitutionNodesMatch = metaSubstitution.matchMetastatementNode(metastatementNode);
|
|
167
|
-
metavariableNodeMatches = metaSubstitutionNodesMatch; ///
|
|
168
|
-
} else {
|
|
169
|
-
var metavariableName = premiseMetavariableName, metaSubstitution1 = _metaSubstitution.default.fromMetavariableNameAndMetastatementNode(metavariableName, metastatementNode);
|
|
170
|
-
metaSubstitutions.push(metaSubstitution1);
|
|
171
|
-
metavariableNodeMatches = true;
|
|
172
|
-
}
|
|
173
|
-
return metavariableNodeMatches;
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
key: "matchMetastatementNode",
|
|
178
|
-
value: function matchMetastatementNode(premiseMetastatementNode, metastatementNode, metaSubstitutions) {
|
|
179
|
-
var metastatementNodeMatches = false;
|
|
180
|
-
var premiseNonTerminalNode = premiseMetastatementNode, premiseNonTerminalNodeChildNodes = premiseNonTerminalNode.getChildNodes(), premiseNonTerminalNodeChildNodesLength = premiseNonTerminalNodeChildNodes.length;
|
|
181
|
-
if (premiseNonTerminalNodeChildNodesLength === 1) {
|
|
182
|
-
var firstPremiseChildNode = (0, _array.first)(premiseNonTerminalNodeChildNodes), premiseChildNode = firstPremiseChildNode, premiseChildNodeNonTerminalNode = premiseChildNode.isNonTerminalNode();
|
|
183
|
-
if (premiseChildNodeNonTerminalNode) {
|
|
184
|
-
var premiseNonTerminalChildNode = premiseChildNode, premiseNonTerminalChildNodeRuleName = premiseNonTerminalChildNode.getRuleName(), premiseNonTerminalChildNodeRuleNameMetavariableRuleName = premiseNonTerminalChildNodeRuleName === _ruleNames.METAVARIABLE_RULE_NAME;
|
|
185
|
-
if (premiseNonTerminalChildNodeRuleNameMetavariableRuleName) {
|
|
186
|
-
var premiseMetavariableNode = premiseNonTerminalChildNode, metaVariableNodeMatches = this.matchMetavariableNode(premiseMetavariableNode, metastatementNode, metaSubstitutions);
|
|
187
|
-
metastatementNodeMatches = metaVariableNodeMatches; ///
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return metastatementNodeMatches;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
]);
|
|
195
|
-
return PremiseMetaMatcher;
|
|
196
|
-
}(_metaMatcher.default);
|
|
197
|
-
var premiseMetaMatcher = new PremiseMetaMatcher();
|
|
198
|
-
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRhTWF0Y2hlci9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YU1hdGNoZXIgZnJvbSBcIi4uL21ldGFNYXRjaGVyXCI7XG5pbXBvcnQgTWV0YVN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vbWV0YVN1YnN0aXR1dGlvblwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsIE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jbGFzcyBQcmVtaXNlTWV0YU1hdGNoZXIgZXh0ZW5kcyBNZXRhTWF0Y2hlciB7XG4gIG1hdGNoTm9uVGVybWluYWxOb2RlKHByZW1pc2VOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgcnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKSxcbiAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAocHJlbWlzZU5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID09PSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgICBpZiAocnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgJiYgcHJlbWlzZU5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgICAgcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBlci5tYXRjaE5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJ1bGVOYW1lID09PSBwcmVtaXNlTm9uVGVybWluYWxOb2RlUnVsZU5hbWUpIHtcbiAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBlci5tYXRjaE5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuXG4gICAgY29uc3QgcHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUocHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIG1ldGFTdWJzdGl0dXRpb24gPSBtZXRhU3Vic3RpdHV0aW9ucy5maW5kKChtZXRhU3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YVN1YnN0aXR1dGlvbi5nZXRNZXRhdmFyaWFibGVOYW1lKCk7XG5cbiAgICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVOYW1lID09PSBwcmVtaXNlTWV0YXZhcmlhYmxlTmFtZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKG1ldGFTdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoID0gbWV0YVN1YnN0aXR1dGlvbi5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSBtZXRhU3Vic3RpdHV0aW9uTm9kZXNNYXRjaDsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gcHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUsIC8vL1xuICAgICAgICAgICAgbWV0YVN1YnN0aXR1dGlvbiA9IE1ldGFTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRNZXRhc3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOYW1lLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGFTdWJzdGl0dXRpb25zLnB1c2gobWV0YVN1YnN0aXR1dGlvbik7XG5cbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJlbWlzZU5vblRlcm1pbmFsTm9kZSA9IHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXNMZW5ndGggPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlQ2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAocHJlbWlzZU5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0UHJlbWlzZUNoaWxkTm9kZSA9IGZpcnN0KHByZW1pc2VOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzKSxcbiAgICAgICAgICAgIHByZW1pc2VDaGlsZE5vZGUgPSBmaXJzdFByZW1pc2VDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIHByZW1pc2VDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBwcmVtaXNlQ2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChwcmVtaXNlQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZSA9IHByZW1pc2VDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPSBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSA9IChwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9PT0gTUVUQVZBUklBQkxFX1JVTEVfTkFNRSk7XG5cbiAgICAgICAgaWYgKHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUpIHtcbiAgICAgICAgICBjb25zdCBwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSA9IHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFWYXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaE1ldGF2YXJpYWJsZU5vZGUocHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtZXRhVmFyaWFibGVOb2RlTWF0Y2hlczsgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwcmVtaXNlTWV0YU1hdGNoZXIgPSBuZXcgUHJlbWlzZU1ldGFNYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsicHJlbWlzZU1ldGFNYXRjaGVyIiwiUHJlbWlzZU1ldGFNYXRjaGVyIiwibWF0Y2hOb25UZXJtaW5hbE5vZGUiLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwibWV0YVN1YnN0aXR1dGlvbnMiLCJub25UZXJtaW5hbE5vZGVNYXRjaGVzIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInByZW1pc2VOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSIsInJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lIiwiTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwicHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhU3Vic3RpdHV0aW9uIiwiZmluZCIsIm1ldGF2YXJpYWJsZU5hbWUiLCJnZXRNZXRhdmFyaWFibGVOYW1lIiwibWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2giLCJNZXRhU3Vic3RpdHV0aW9uIiwiZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRNZXRhc3RhdGVtZW50Tm9kZSIsInB1c2giLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlQ2hpbGROb2Rlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0UHJlbWlzZUNoaWxkTm9kZSIsImZpcnN0IiwicHJlbWlzZUNoaWxkTm9kZSIsInByZW1pc2VDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsInByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZSIsInByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSIsIk1FVEFWQVJJQUJMRV9SVUxFX05BTUUiLCJtZXRhVmFyaWFibGVOb2RlTWF0Y2hlcyIsIk1ldGFNYXRjaGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE2RmFBOzs7ZUFBQUE7OztnRUEzRlc7cUVBQ0s7cUJBRVA7cUJBQytCO3lCQUNXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEUsSUFBQSxBQUFNQyxtQ0FvRkgsQUFwRkg7Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O2lCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLHFCQUFxQkMsc0JBQXNCLEVBQUVDLGVBQWUsRUFBRUMsaUJBQWlCLEVBQUU7Z0JBQy9FLElBQUlDLHlCQUF5QixLQUFLO2dCQUVsQyxJQUFNQyxXQUFXSCxnQkFBZ0JJLFdBQVcsSUFDdENDLGlDQUFpQ04sdUJBQXVCSyxXQUFXLElBQ25FRSxnQ0FBaUNILGFBQWFJLGtDQUF1QixFQUNyRUMsc0RBQXVESCxtQ0FBbUNFLGtDQUF1QjtnQkFFdkgsSUFBSUQsaUNBQWlDRSxxREFBcUQ7b0JBQ3hGLElBQU1DLG9CQUFvQlQsaUJBQ3BCVSwyQkFBMkJYLHdCQUMzQlksMkJBQTJCLElBQUksQ0FBQ0Msc0JBQXNCLENBQUNGLDBCQUEwQkQsbUJBQW1CUjtvQkFFMUcsSUFBSVUsMEJBQTBCO3dCQUM1QlQseUJBQXlCLElBQUk7b0JBQy9CLE9BQU87d0JBQ0xBLHlCQUF5QixxQkFqQjNCTCwrQkFpQmlDQyx3QkFBTixJQUFLLGFBQXNCQyx3QkFBd0JDLGlCQUFpQkM7b0JBQy9GLENBQUM7Z0JBQ0gsT0FBTyxJQUFJRSxhQUFhRSxnQ0FBZ0M7b0JBQ3RESCx5QkFBeUIscUJBcEJ6QkwsK0JBb0IrQkMsd0JBQU4sSUFBSyxhQUFzQkMsd0JBQXdCQyxpQkFBaUJDO2dCQUMvRixDQUFDO2dCQUVELE9BQU9DO1lBQ1Q7OztZQUVBVyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyx1QkFBdUIsRUFBRUwsaUJBQWlCLEVBQUVSLGlCQUFpQixFQUFFO2dCQUNuRixJQUFJYztnQkFFSixJQUFNQywwQkFBMEJDLElBQUFBLDJDQUFvQyxFQUFDSCwwQkFDL0RJLG1CQUFtQmpCLGtCQUFrQmtCLElBQUksQ0FBQyxTQUFDRCxrQkFBcUI7b0JBQzlELElBQU1FLG1CQUFtQkYsaUJBQWlCRyxtQkFBbUI7b0JBRTdELElBQUlELHFCQUFxQkoseUJBQXlCO3dCQUNoRCxPQUFPLElBQUk7b0JBQ2IsQ0FBQztnQkFDSCxNQUFNLElBQUk7Z0JBRWhCLElBQUlFLHFCQUFxQixJQUFJLEVBQUU7b0JBQzdCLElBQU1JLDZCQUE2QkosaUJBQWlCTixzQkFBc0IsQ0FBQ0g7b0JBRTNFTSwwQkFBMEJPLDRCQUE2QixHQUFHO2dCQUM1RCxPQUFPO29CQUNMLElBQU1GLG1CQUFtQkoseUJBQ25CRSxvQkFBbUJLLHlCQUFnQixDQUFDQyx3Q0FBd0MsQ0FBQ0osa0JBQWtCWDtvQkFFckdSLGtCQUFrQndCLElBQUksQ0FBQ1A7b0JBRXZCSCwwQkFBMEIsSUFBSTtnQkFDaEMsQ0FBQztnQkFFRCxPQUFPQTtZQUNUOzs7WUFFQUgsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QkYsd0JBQXdCLEVBQUVELGlCQUFpQixFQUFFUixpQkFBaUIsRUFBRTtnQkFDckYsSUFBSVUsMkJBQTJCLEtBQUs7Z0JBRXBDLElBQU1aLHlCQUF5QlcsMEJBQ3pCZ0IsbUNBQW1DM0IsdUJBQXVCNEIsYUFBYSxJQUN2RUMseUNBQXlDRixpQ0FBaUNHLE1BQU07Z0JBRXRGLElBQUlELDJDQUEyQyxHQUFHO29CQUNoRCxJQUFNRSx3QkFBd0JDLElBQUFBLFlBQUssRUFBQ0wsbUNBQzlCTSxtQkFBbUJGLHVCQUNuQkcsa0NBQWtDRCxpQkFBaUJFLGlCQUFpQjtvQkFFMUUsSUFBSUQsaUNBQWlDO3dCQUNuQyxJQUFNRSw4QkFBOEJILGtCQUM5Qkksc0NBQXNDRCw0QkFBNEIvQixXQUFXLElBQzdFaUMsMERBQTJERCx3Q0FBd0NFLGlDQUFzQjt3QkFFL0gsSUFBSUQseURBQXlEOzRCQUMzRCxJQUFNdkIsMEJBQTBCcUIsNkJBQzFCSSwwQkFBMEIsSUFBSSxDQUFDMUIscUJBQXFCLENBQUNDLHlCQUF5QkwsbUJBQW1CUjs0QkFFdkdVLDJCQUEyQjRCLHlCQUF5QixHQUFHO3dCQUN6RCxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPNUI7WUFDVDs7O1dBakZJZDtFQUEyQjJDLG9CQUFXO0FBb0ZyQyxJQUFNNUMscUJBQXFCLElBQUlDIn0=
|
package/lib/metaMatcher.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
13
|
-
return MetaMatcher;
|
|
14
|
-
},
|
|
15
|
-
metaMatcher: function() {
|
|
16
|
-
return metaMatcher;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
var _matcher = /*#__PURE__*/ _interopRequireDefault(require("./mixins/matcher"));
|
|
20
|
-
function _classCallCheck(instance, Constructor) {
|
|
21
|
-
if (!(instance instanceof Constructor)) {
|
|
22
|
-
throw new TypeError("Cannot call a class as a function");
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
function _interopRequireDefault(obj) {
|
|
26
|
-
return obj && obj.__esModule ? obj : {
|
|
27
|
-
default: obj
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
var MetaMatcher = function MetaMatcher() {
|
|
31
|
-
_classCallCheck(this, MetaMatcher);
|
|
32
|
-
};
|
|
33
|
-
Object.assign(MetaMatcher.prototype, _matcher.default);
|
|
34
|
-
var metaMatcher = new MetaMatcher();
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhTWF0Y2hlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1hdGNoZXJNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21hdGNoZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YU1hdGNoZXIge31cblxuT2JqZWN0LmFzc2lnbihNZXRhTWF0Y2hlci5wcm90b3R5cGUsIG1hdGNoZXJNaXhpbnMpO1xuXG5leHBvcnQgY29uc3QgbWV0YU1hdGNoZXIgPSBuZXcgTWV0YU1hdGNoZXIoKTtcbiJdLCJuYW1lcyI6WyJNZXRhTWF0Y2hlciIsIm1ldGFNYXRjaGVyIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwibWF0Y2hlck1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUlxQkE7O0lBSVJDLFdBQVc7ZUFBWEE7Ozs0REFOYTs7Ozs7Ozs7Ozs7QUFFWCxJQUFBLEFBQU1ELGNBQU4sU0FBTUE7MEJBQUFBOztBQUVyQkUsT0FBT0MsTUFBTSxDQUFDSCxZQUFZSSxTQUFTLEVBQUVDLGdCQUFhO0FBRTNDLElBQU1KLGNBQWMsSUFBSUQifQ==
|
package/lib/metaSubstitution.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return MetaSubstitution;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _matcher = require("./matcher");
|
|
12
|
-
var _ruleNames = require("./ruleNames");
|
|
13
|
-
var _substitution = require("./utilities/substitution");
|
|
14
|
-
function _classCallCheck(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
var MetaSubstitution = /*#__PURE__*/ function() {
|
|
34
|
-
function MetaSubstitution(metavariableName, metastatementNode) {
|
|
35
|
-
_classCallCheck(this, MetaSubstitution);
|
|
36
|
-
this.metavariableName = metavariableName;
|
|
37
|
-
this.metastatementNode = metastatementNode;
|
|
38
|
-
}
|
|
39
|
-
_createClass(MetaSubstitution, [
|
|
40
|
-
{
|
|
41
|
-
key: "getMetavariableName",
|
|
42
|
-
value: function getMetavariableName() {
|
|
43
|
-
return this.metavariableName;
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
key: "getMetastatementNode",
|
|
48
|
-
value: function getMetastatementNode() {
|
|
49
|
-
return this.metastatementNode;
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
key: "matchMetastatementNode",
|
|
54
|
-
value: function matchMetastatementNode(metastatementNode) {
|
|
55
|
-
var matchesMetastatementNode;
|
|
56
|
-
var nodeA = this.metastatementNode, nodeB = metastatementNode, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
57
|
-
matchesMetastatementNode = nodeMatches; ///
|
|
58
|
-
if (!matchesMetastatementNode) {
|
|
59
|
-
var nonTerminalNode = metastatementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.METASTATEMENT_RULE_NAME;
|
|
60
|
-
metastatementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
61
|
-
if (metastatementNode !== null) {
|
|
62
|
-
var nodeA1 = this.metastatementNode, nodeB1 = metastatementNode, nodeMatches1 = _matcher.matcher.matchNode(nodeA1, nodeB1);
|
|
63
|
-
matchesMetastatementNode = nodeMatches1; ///
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return matchesMetastatementNode;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
], [
|
|
70
|
-
{
|
|
71
|
-
key: "fromMetavariableNameAndMetastatementNode",
|
|
72
|
-
value: function fromMetavariableNameAndMetastatementNode(metavariableName, metastatementNode) {
|
|
73
|
-
var metaSubstitution = new MetaSubstitution(metavariableName, metastatementNode);
|
|
74
|
-
var nonTerminalNode = metastatementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.METASTATEMENT_RULE_NAME;
|
|
75
|
-
metastatementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
76
|
-
if (metastatementNode !== null) {
|
|
77
|
-
metaSubstitution = new MetaSubstitution(metavariableName, metastatementNode);
|
|
78
|
-
}
|
|
79
|
-
return metaSubstitution;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
]);
|
|
83
|
-
return MetaSubstitution;
|
|
84
|
-
}();
|
|
85
|
-
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhU3Vic3RpdHV0aW9uLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBtYXRjaGVyIH0gZnJvbSBcIi4vbWF0Y2hlclwiO1xuaW1wb3J0IHsgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3Vic3RpdHV0aW9uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFTdWJzdGl0dXRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXRhdmFyaWFibGVOYW1lLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMubWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWU7XG4gICAgdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZTtcblxuICAgIGNvbnN0IG5vZGVBID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVCID0gbWV0YXN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgbm9kZU1hdGNoZXMgPSBtYXRjaGVyLm1hdGNoTm9kZShub2RlQSwgbm9kZUIpO1xuXG4gICAgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbm9kZU1hdGNoZXM7ICAvLy9cblxuICAgIGlmICghbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRTtcblxuICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgbm9kZUEgPSB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG5vZGVCID0gbWV0YXN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hlci5tYXRjaE5vZGUobm9kZUEsIG5vZGVCKTtcblxuICAgICAgICBtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGUgPSBub2RlTWF0Y2hlczsgIC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRNZXRhc3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOYW1lLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBtZXRhU3Vic3RpdHV0aW9uID0gbmV3IE1ldGFTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTmFtZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBydWxlTmFtZSA9IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FO1xuXG4gICAgbWV0YXN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBtZXRhU3Vic3RpdHV0aW9uID0gbmV3IE1ldGFTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTmFtZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhU3Vic3RpdHV0aW9uO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIk1ldGFTdWJzdGl0dXRpb24iLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlIiwibm9kZUEiLCJub2RlQiIsIm5vZGVNYXRjaGVzIiwibWF0Y2hlciIsIm1hdGNoTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwicnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsImJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMiLCJmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7dUJBSkc7eUJBQ2dCOzRCQUNvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0MsSUFBQSxBQUFNQSxpQ0FBTjthQUFNQSxpQkFDUEMsZ0JBQWdCLEVBQUVDLGlCQUFpQjs4QkFENUJGO1FBRWpCLElBQUksQ0FBQ0MsZ0JBQWdCLEdBQUdBO1FBQ3hCLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUdBOztpQkFIUkY7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCO2dCQUNwQixPQUFPLElBQUksQ0FBQ0YsZ0JBQWdCO1lBQzlCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QjtnQkFDckIsT0FBTyxJQUFJLENBQUNGLGlCQUFpQjtZQUMvQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUJILGlCQUFpQixFQUFFO2dCQUN4QyxJQUFJSTtnQkFFSixJQUFNQyxRQUFRLElBQUksQ0FBQ0wsaUJBQWlCLEVBQzlCTSxRQUFRTixtQkFDUk8sY0FBY0MsZ0JBQU8sQ0FBQ0MsU0FBUyxDQUFDSixPQUFPQztnQkFFN0NGLDJCQUEyQkcsYUFBYyxHQUFHO2dCQUU1QyxJQUFJLENBQUNILDBCQUEwQjtvQkFDN0IsSUFBTU0sa0JBQWtCVixtQkFDbEJXLGFBQWFELGdCQUFnQkUsYUFBYSxJQUMxQ0MsV0FBV0Msa0NBQXVCO29CQUV4Q2Qsb0JBQW9CZSxJQUFBQSx5REFBMkMsRUFBQ0osWUFBWUUsV0FBWSxHQUFHO29CQUUzRixJQUFJYixzQkFBc0IsSUFBSSxFQUFFO3dCQUM5QixJQUFNSyxTQUFRLElBQUksQ0FBQ0wsaUJBQWlCLEVBQzlCTSxTQUFRTixtQkFDUk8sZUFBY0MsZ0JBQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFPQzt3QkFFN0NGLDJCQUEyQkcsY0FBYyxHQUFHO29CQUM5QyxDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBT0g7WUFDVDs7OztZQUVPWSxLQUFBQTttQkFBUCxTQUFPQSx5Q0FBeUNqQixnQkFBZ0IsRUFBRUMsaUJBQWlCLEVBQUU7Z0JBQ25GLElBQUlpQixtQkFBbUIsSUEzQ05uQixpQkEyQzJCQyxrQkFBa0JDO2dCQUU5RCxJQUFNVSxrQkFBa0JWLG1CQUNsQlcsYUFBYUQsZ0JBQWdCRSxhQUFhLElBQzFDQyxXQUFXQyxrQ0FBdUI7Z0JBRXhDZCxvQkFBb0JlLElBQUFBLHlEQUEyQyxFQUFDSixZQUFZRSxXQUFZLEdBQUc7Z0JBRTNGLElBQUliLHNCQUFzQixJQUFJLEVBQUU7b0JBQzlCaUIsbUJBQW1CLElBcERKbkIsaUJBb0R5QkMsa0JBQWtCQztnQkFDNUQsQ0FBQztnQkFFRCxPQUFPaUI7WUFDVDs7O1dBeERtQm5CIn0=
|
package/lib/mixins/matcher.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function _arrayLikeToArray(arr, len) {
|
|
12
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
13
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
14
|
-
return arr2;
|
|
15
|
-
}
|
|
16
|
-
function _arrayWithoutHoles(arr) {
|
|
17
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
18
|
-
}
|
|
19
|
-
function _iterableToArray(iter) {
|
|
20
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
21
|
-
}
|
|
22
|
-
function _nonIterableSpread() {
|
|
23
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
24
|
-
}
|
|
25
|
-
function _toConsumableArray(arr) {
|
|
26
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
27
|
-
}
|
|
28
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
29
|
-
if (!o) return;
|
|
30
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
31
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
32
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
33
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
34
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
35
|
-
}
|
|
36
|
-
function matchNode(nodeA, nodeB) {
|
|
37
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
38
|
-
remainingArguments[_key - 2] = arguments[_key];
|
|
39
|
-
}
|
|
40
|
-
var nodeMatches = false;
|
|
41
|
-
var nodeATerminalNode = nodeA.isTerminalNode(), nodeBTerminalNode = nodeB.isTerminalNode();
|
|
42
|
-
if (nodeATerminalNode === nodeBTerminalNode) {
|
|
43
|
-
if (nodeATerminalNode) {
|
|
44
|
-
var terminalNodeA = nodeA, terminalNodeB = nodeB, terminalNodeMatches = this.matchTerminalNode.apply(this, [
|
|
45
|
-
terminalNodeA,
|
|
46
|
-
terminalNodeB
|
|
47
|
-
].concat(_toConsumableArray(remainingArguments)));
|
|
48
|
-
nodeMatches = terminalNodeMatches; ///
|
|
49
|
-
} else {
|
|
50
|
-
var nonTerminalNodeA = nodeA, nonTerminalNodeB = nodeB, nonTerminalNodeMatches = this.matchNonTerminalNode.apply(this, [
|
|
51
|
-
nonTerminalNodeA,
|
|
52
|
-
nonTerminalNodeB
|
|
53
|
-
].concat(_toConsumableArray(remainingArguments)));
|
|
54
|
-
nodeMatches = nonTerminalNodeMatches; ///
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return nodeMatches;
|
|
58
|
-
}
|
|
59
|
-
function matchNodes(nodesA, nodesB) {
|
|
60
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
61
|
-
remainingArguments[_key - 2] = arguments[_key];
|
|
62
|
-
}
|
|
63
|
-
var _this = this;
|
|
64
|
-
var nodesMatch = false;
|
|
65
|
-
var nodesALength = nodesA.length, nodesBLength = nodesB.length;
|
|
66
|
-
if (nodesALength === nodesBLength) {
|
|
67
|
-
nodesMatch = nodesA.every(function(nodeA, index) {
|
|
68
|
-
var nodeB = nodesB[index], nodeMatches = _this.matchNode.apply(_this, [
|
|
69
|
-
nodeA,
|
|
70
|
-
nodeB
|
|
71
|
-
].concat(_toConsumableArray(remainingArguments)));
|
|
72
|
-
if (nodeMatches) {
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
return nodesMatch;
|
|
78
|
-
}
|
|
79
|
-
function matchTerminalNode(terminalNodeA, terminalNodeB) {
|
|
80
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
81
|
-
remainingArguments[_key - 2] = arguments[_key];
|
|
82
|
-
}
|
|
83
|
-
var matches = terminalNodeA.match(terminalNodeB), terminalNodeMatches = matches; ///
|
|
84
|
-
return terminalNodeMatches;
|
|
85
|
-
}
|
|
86
|
-
function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
87
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
88
|
-
remainingArguments[_key - 2] = arguments[_key];
|
|
89
|
-
}
|
|
90
|
-
var nonTerminalNodeMatches = false;
|
|
91
|
-
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
|
|
92
|
-
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
93
|
-
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), nodesA = nonTerminalNodeAChildNodes, nodesB = nonTerminalNodeBChildNodes, nodesMatch = this.matchNodes.apply(this, [
|
|
94
|
-
nodesA,
|
|
95
|
-
nodesB
|
|
96
|
-
].concat(_toConsumableArray(remainingArguments)));
|
|
97
|
-
nonTerminalNodeMatches = nodesMatch; ///
|
|
98
|
-
}
|
|
99
|
-
return nonTerminalNodeMatches;
|
|
100
|
-
}
|
|
101
|
-
var matcherMixins = {
|
|
102
|
-
matchNode: matchNode,
|
|
103
|
-
matchNodes: matchNodes,
|
|
104
|
-
matchTerminalNode: matchTerminalNode,
|
|
105
|
-
matchNonTerminalNode: matchNonTerminalNode
|
|
106
|
-
};
|
|
107
|
-
var _default = matcherMixins;
|
|
108
|
-
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbWF0Y2hlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gbWF0Y2hOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGxldCBub2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVBVGVybWluYWxOb2RlID0gbm9kZUEuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgbm9kZUJUZXJtaW5hbE5vZGUgPSBub2RlQi5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlQVRlcm1pbmFsTm9kZSA9PT0gbm9kZUJUZXJtaW5hbE5vZGUpIHtcbiAgICBpZiAobm9kZUFUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgdGVybWluYWxOb2RlQiA9IG5vZGVCLCAgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGVBLCB0ZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICBub2RlTWF0Y2hlcyA9IHRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbm9kZUIsIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgbm9kZU1hdGNoZXMgPSBub25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTm9kZXMobm9kZXNBLCBub2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgbm9kZXNNYXRjaCA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVzQUxlbmd0aCA9IG5vZGVzQS5sZW5ndGgsXG4gICAgICAgIG5vZGVzQkxlbmd0aCA9IG5vZGVzQi5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzQUxlbmd0aCA9PT0gbm9kZXNCTGVuZ3RoKSB7XG4gICAgbm9kZXNNYXRjaCA9IG5vZGVzQS5ldmVyeSgobm9kZUEsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBub2RlQiA9IG5vZGVzQltpbmRleF0sXG4gICAgICAgICAgICBub2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgaWYgKG5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbm9kZXNNYXRjaDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSB0ZXJtaW5hbE5vZGVBLm1hdGNoKHRlcm1pbmFsTm9kZUIpLFxuICAgICAgICB0ZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlczsgIC8vL1xuXG4gIHJldHVybiB0ZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBLmdldFJ1bGVOYW1lKCksIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2Rlc0EgPSBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIG5vZGVzTWF0Y2ggPSB0aGlzLm1hdGNoTm9kZXMobm9kZXNBLCBub2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbm9kZXNNYXRjaDsgLy8vXG4gIH1cblxuICByZXR1cm4gbm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuY29uc3QgbWF0Y2hlck1peGlucyA9IHtcbiAgbWF0Y2hOb2RlLFxuICBtYXRjaE5vZGVzLFxuICBtYXRjaFRlcm1pbmFsTm9kZSxcbiAgbWF0Y2hOb25UZXJtaW5hbE5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG1hdGNoZXJNaXhpbnM7XG4iXSwibmFtZXMiOlsibWF0Y2hOb2RlIiwibm9kZUEiLCJub2RlQiIsInJlbWFpbmluZ0FyZ3VtZW50cyIsIm5vZGVNYXRjaGVzIiwibm9kZUFUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsIm5vZGVCVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlQSIsInRlcm1pbmFsTm9kZUIiLCJ0ZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hUZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaE5vblRlcm1pbmFsTm9kZSIsIm1hdGNoTm9kZXMiLCJub2Rlc0EiLCJub2Rlc0IiLCJub2Rlc01hdGNoIiwibm9kZXNBTGVuZ3RoIiwibGVuZ3RoIiwibm9kZXNCTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsIm1hdGNoZXMiLCJtYXRjaCIsIm5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMiLCJtYXRjaGVyTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnRkE7OztlQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOUVBLFNBQVNBLFVBQVVDLEtBQUssRUFBRUMsS0FBSyxFQUF5QjtJQUF2QixJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0MscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxLQUFxQixHQUFyQixPQUFBLEdBQUEsT0FBQSxNQUFBLE9BQUE7UUFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjtJQUFEO0lBQ25ELElBQUlDLGNBQWMsS0FBSztJQUV2QixJQUFNQyxvQkFBb0JKLE1BQU1LLGNBQWMsSUFDeENDLG9CQUFvQkwsTUFBTUksY0FBYztJQUU5QyxJQUFJRCxzQkFBc0JFLG1CQUFtQjtRQUMzQyxJQUFJRixtQkFBbUI7WUFDckIsSUFBTUcsZ0JBQWdCUCxPQUNoQlEsZ0JBQWdCUCxPQUNoQlEsc0JBQXNCLElBQUksQ0FBQ0MsaUJBQWlCLENBQXRCLE1BQUEsSUFBSSxFQUFKO2dCQUF1Qkg7Z0JBQWVDO2FBQXFDLENBQTNFLE9BQXFELG1CQUFHTjtZQUVwRkMsY0FBY00scUJBQXNCLEdBQUc7UUFDekMsT0FBTztZQUNMLElBQU1FLG1CQUFtQlgsT0FDbkJZLG1CQUFtQlgsT0FDbkJZLHlCQUF5QixJQUFJLENBQUNDLG9CQUFvQixDQUF6QixNQUFBLElBQUksRUFBSjtnQkFBMEJIO2dCQUFrQkM7YUFBd0MsQ0FBcEYsT0FBOEQsbUJBQUdWO1lBRWhHQyxjQUFjVSx3QkFBd0IsR0FBRztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9WO0FBQ1Q7QUFFQSxTQUFTWSxXQUFXQyxNQUFNLEVBQUVDLE1BQU0sRUFBeUI7SUFBdkIsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdmLHFCQUFILFVBQUEsT0FBQSxJQUFBLE9BQUEsS0FBcUIsR0FBckIsT0FBQSxHQUFBLE9BQUEsTUFBQSxPQUFBO1FBQUdBLG1CQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBcUI7SUFBRDs7SUFDdEQsSUFBSWdCLGFBQWEsS0FBSztJQUV0QixJQUFNQyxlQUFlSCxPQUFPSSxNQUFNLEVBQzVCQyxlQUFlSixPQUFPRyxNQUFNO0lBRWxDLElBQUlELGlCQUFpQkUsY0FBYztRQUNqQ0gsYUFBYUYsT0FBT00sS0FBSyxDQUFDLFNBQUN0QixPQUFPdUIsT0FBVTtZQUMxQyxJQUFNdEIsUUFBUWdCLE1BQU0sQ0FBQ00sTUFBTSxFQUNyQnBCLGNBQWMsTUFBS0osU0FBUyxDQUFkLGFBQUE7Z0JBQWVDO2dCQUFPQzthQUE2QixDQUFuRCxPQUE2QixtQkFBR0M7WUFFcEQsSUFBSUMsYUFBYTtnQkFDZixPQUFPLElBQUk7WUFDYixDQUFDO1FBQ0g7SUFDRixDQUFDO0lBRUQsT0FBT2U7QUFDVDtBQUVBLFNBQVNSLGtCQUFrQkgsYUFBYSxFQUFFQyxhQUFhLEVBQXlCO0lBQXZCLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHTixxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLEtBQXFCLEdBQXJCLE9BQUEsR0FBQSxPQUFBLE1BQUEsT0FBQTtRQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCO0lBQUQ7SUFDM0UsSUFBTXNCLFVBQVVqQixjQUFja0IsS0FBSyxDQUFDakIsZ0JBQzlCQyxzQkFBc0JlLFNBQVUsR0FBRztJQUV6QyxPQUFPZjtBQUNUO0FBRUEsU0FBU0sscUJBQXFCSCxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQXlCO0lBQXZCLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHVixxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLEtBQXFCLEdBQXJCLE9BQUEsR0FBQSxPQUFBLE1BQUEsT0FBQTtRQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCO0lBQUQ7SUFDcEYsSUFBSVcseUJBQXlCLEtBQUs7SUFFbEMsSUFBTWEsMkJBQTJCZixpQkFBaUJnQixXQUFXLElBQ3ZEQywyQkFBMkJoQixpQkFBaUJlLFdBQVcsSUFBSSxHQUFHO0lBRXBFLElBQUlELDZCQUE2QkUsMEJBQTBCO1FBQ3pELElBQU1DLDZCQUE2QmxCLGlCQUFpQm1CLGFBQWEsSUFDM0RDLDZCQUE2Qm5CLGlCQUFpQmtCLGFBQWEsSUFDM0RkLFNBQVNhLDRCQUNUWixTQUFTYyw0QkFDVGIsYUFBYSxJQUFJLENBQUNILFVBQVUsQ0FBZixNQUFBLElBQUksRUFBSjtZQUFnQkM7WUFBUUM7U0FBOEIsQ0FBdEQsT0FBZ0MsbUJBQUdmO1FBRXREVyx5QkFBeUJLLFlBQVksR0FBRztJQUMxQyxDQUFDO0lBRUQsT0FBT0w7QUFDVDtBQUVBLElBQU1tQixnQkFBZ0I7SUFDcEJqQyxXQUFBQTtJQUNBZ0IsWUFBQUE7SUFDQUwsbUJBQUFBO0lBQ0FJLHNCQUFBQTtBQUNGO0lBRUEsV0FBZWtCIn0=
|
package/lib/substitution.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return Substitution;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _matcher = require("./matcher");
|
|
12
|
-
var _ruleNames = require("./ruleNames");
|
|
13
|
-
var _substitution = require("./utilities/substitution");
|
|
14
|
-
function _classCallCheck(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
var Substitution = /*#__PURE__*/ function() {
|
|
34
|
-
function Substitution(metavariableName, statementNode) {
|
|
35
|
-
_classCallCheck(this, Substitution);
|
|
36
|
-
this.metavariableName = metavariableName;
|
|
37
|
-
this.statementNode = statementNode;
|
|
38
|
-
}
|
|
39
|
-
_createClass(Substitution, [
|
|
40
|
-
{
|
|
41
|
-
key: "getMetavariableName",
|
|
42
|
-
value: function getMetavariableName() {
|
|
43
|
-
return this.metavariableName;
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
key: "getStatementNode",
|
|
48
|
-
value: function getStatementNode() {
|
|
49
|
-
return this.statementNode;
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
key: "matchStatementNode",
|
|
54
|
-
value: function matchStatementNode(statementNode) {
|
|
55
|
-
var matchesStatementNode;
|
|
56
|
-
var nodeA = this.statementNode, nodeB = statementNode, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
57
|
-
matchesStatementNode = nodeMatches; ///
|
|
58
|
-
if (!matchesStatementNode) {
|
|
59
|
-
var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.STATEMENT_RULE_NAME;
|
|
60
|
-
statementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
61
|
-
if (statementNode !== null) {
|
|
62
|
-
var nodeA1 = this.statementNode, nodeB1 = statementNode, nodeMatches1 = matchNode(nodeA1, nodeB1);
|
|
63
|
-
matchesStatementNode = nodeMatches1; ///
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return matchesStatementNode;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
], [
|
|
70
|
-
{
|
|
71
|
-
key: "fromMetavariableNameAndStatementNode",
|
|
72
|
-
value: function fromMetavariableNameAndStatementNode(metavariableName, statementNode) {
|
|
73
|
-
var substitution = new Substitution(metavariableName, statementNode);
|
|
74
|
-
var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.STATEMENT_RULE_NAME;
|
|
75
|
-
statementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
76
|
-
if (statementNode !== null) {
|
|
77
|
-
substitution = new Substitution(metavariableName, statementNode);
|
|
78
|
-
}
|
|
79
|
-
return substitution;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
]);
|
|
83
|
-
return Substitution;
|
|
84
|
-
}();
|
|
85
|
-
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzdGl0dXRpb24uanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG1hdGNoZXIgfSBmcm9tIFwiLi9tYXRjaGVyXCI7XG5pbXBvcnQgeyBTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N1YnN0aXR1dGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJzdGl0dXRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXRhdmFyaWFibGVOYW1lLCBzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5tZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZTtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgbWF0Y2hlc1N0YXRlbWVudE5vZGU7XG5cbiAgICBjb25zdCBub2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVCID0gc3RhdGVtZW50Tm9kZSxcbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICBtYXRjaGVzU3RhdGVtZW50Tm9kZSA9IG5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgICBpZiAoIW1hdGNoZXNTdGF0ZW1lbnROb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IFNUQVRFTUVOVF9SVUxFX05BTUU7XG5cbiAgICAgIHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBub2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBub2RlQiA9IHN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICAgICAgbWF0Y2hlc1N0YXRlbWVudE5vZGUgPSBub2RlTWF0Y2hlczsgIC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzU3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZFN0YXRlbWVudE5vZGUobWV0YXZhcmlhYmxlTmFtZSwgc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBzdWJzdGl0dXRpb24gPSBuZXcgU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5hbWUsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gU1RBVEVNRU5UX1JVTEVfTkFNRTtcblxuICAgIHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIHN1YnN0aXR1dGlvbiA9IG5ldyBTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTmFtZSwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJTdWJzdGl0dXRpb24iLCJtZXRhdmFyaWFibGVOYW1lIiwic3RhdGVtZW50Tm9kZSIsImdldE1ldGF2YXJpYWJsZU5hbWUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibWF0Y2hlc1N0YXRlbWVudE5vZGUiLCJub2RlQSIsIm5vZGVCIiwibm9kZU1hdGNoZXMiLCJtYXRjaGVyIiwibWF0Y2hOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJydWxlTmFtZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzIiwiZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRTdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7Ozt1QkFKRzt5QkFDWTs0QkFDd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdDLElBQUEsQUFBTUEsNkJBQU47YUFBTUEsYUFDUEMsZ0JBQWdCLEVBQUVDLGFBQWE7OEJBRHhCRjtRQUVqQixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTtRQUN4QixJQUFJLENBQUNDLGFBQWEsR0FBR0E7O2lCQUhKRjs7WUFNbkJHLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0I7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDRixnQkFBZ0I7WUFDOUI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsbUJBQW1CO2dCQUNqQixPQUFPLElBQUksQ0FBQ0YsYUFBYTtZQUMzQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJILGFBQWEsRUFBRTtnQkFDaEMsSUFBSUk7Z0JBRUosSUFBTUMsUUFBUSxJQUFJLENBQUNMLGFBQWEsRUFDMUJNLFFBQVFOLGVBQ1JPLGNBQWNDLGdCQUFPLENBQUNDLFNBQVMsQ0FBQ0osT0FBT0M7Z0JBRTdDRix1QkFBdUJHLGFBQWMsR0FBRztnQkFFeEMsSUFBSSxDQUFDSCxzQkFBc0I7b0JBQ3pCLElBQU1NLGtCQUFrQlYsZUFDbEJXLGFBQWFELGdCQUFnQkUsYUFBYSxJQUMxQ0MsV0FBV0MsOEJBQW1CO29CQUVwQ2QsZ0JBQWdCZSxJQUFBQSx5REFBMkMsRUFBQ0osWUFBWUUsV0FBWSxHQUFHO29CQUV2RixJQUFJYixrQkFBa0IsSUFBSSxFQUFFO3dCQUMxQixJQUFNSyxTQUFRLElBQUksQ0FBQ0wsYUFBYSxFQUMxQk0sU0FBUU4sZUFDUk8sZUFBY0UsVUFBVUosUUFBT0M7d0JBRXJDRix1QkFBdUJHLGNBQWMsR0FBRztvQkFDMUMsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU9IO1lBQ1Q7Ozs7WUFFT1ksS0FBQUE7bUJBQVAsU0FBT0EscUNBQXFDakIsZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRTtnQkFDM0UsSUFBSWlCLGVBQWUsSUEzQ0ZuQixhQTJDbUJDLGtCQUFrQkM7Z0JBRXRELElBQU1VLGtCQUFrQlYsZUFDbEJXLGFBQWFELGdCQUFnQkUsYUFBYSxJQUMxQ0MsV0FBV0MsOEJBQW1CO2dCQUVwQ2QsZ0JBQWdCZSxJQUFBQSx5REFBMkMsRUFBQ0osWUFBWUUsV0FBWSxHQUFHO2dCQUV2RixJQUFJYixrQkFBa0IsSUFBSSxFQUFFO29CQUMxQmlCLGVBQWUsSUFwREFuQixhQW9EaUJDLGtCQUFrQkM7Z0JBQ3BELENBQUM7Z0JBRUQsT0FBT2lCO1lBQ1Q7OztXQXhEbUJuQiJ9
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Matcher from "../matcher";
|
|
4
|
-
|
|
5
|
-
import { first } from "../utilities/array";
|
|
6
|
-
import { metavariableNameFromMetavariableNode } from "../utilities/query";
|
|
7
|
-
import { STATEMENT_RULE_NAME, METAVARIABLE_RULE_NAME, METASTATEMENT_RULE_NAME } from "../ruleNames";
|
|
8
|
-
|
|
9
|
-
class ConclusionMatcher extends Matcher {
|
|
10
|
-
matchNonTerminalNode(conclusionNonTerminalNode, nonTerminalNode, substitutions) {
|
|
11
|
-
let nonTerminalNodeMatches = false;
|
|
12
|
-
|
|
13
|
-
const ruleName = nonTerminalNode.getRuleName(),
|
|
14
|
-
conclusionNonTerminalNodeRuleName = conclusionNonTerminalNode.getRuleName(),
|
|
15
|
-
ruleNameStatementRuleName = (ruleName === STATEMENT_RULE_NAME),
|
|
16
|
-
conclusionNonTerminalNodeRuleNameMetastatementRuleName = (conclusionNonTerminalNodeRuleName === METASTATEMENT_RULE_NAME);
|
|
17
|
-
|
|
18
|
-
if (ruleNameStatementRuleName && conclusionNonTerminalNodeRuleNameMetastatementRuleName) {
|
|
19
|
-
const statementNode = nonTerminalNode, ///
|
|
20
|
-
conclusionMetastatementNode = conclusionNonTerminalNode, ///
|
|
21
|
-
metastatementNodeMatches = this.matchMetastatementNode(conclusionMetastatementNode, statementNode, substitutions);
|
|
22
|
-
|
|
23
|
-
if (metastatementNodeMatches) {
|
|
24
|
-
nonTerminalNodeMatches = true; ///
|
|
25
|
-
} else {
|
|
26
|
-
nonTerminalNodeMatches = super.matchNonTerminalNode(conclusionNonTerminalNode, nonTerminalNode, substitutions);
|
|
27
|
-
}
|
|
28
|
-
} else if (ruleName === conclusionNonTerminalNodeRuleName) {
|
|
29
|
-
nonTerminalNodeMatches = super.matchNonTerminalNode(conclusionNonTerminalNode, nonTerminalNode, substitutions);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return nonTerminalNodeMatches;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
matchMetavariableNode(conclusionMetavariableNode, statementNode, substitutions) {
|
|
36
|
-
let metavariableNodeMatches = true;
|
|
37
|
-
|
|
38
|
-
const conclusionMetavariableName = metavariableNameFromMetavariableNode(conclusionMetavariableNode),
|
|
39
|
-
substitution = substitutions.find((substitution) => {
|
|
40
|
-
const metavariableName = substitution.getMetavariableName();
|
|
41
|
-
|
|
42
|
-
if (metavariableName === conclusionMetavariableName) {
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
}) || null;
|
|
46
|
-
|
|
47
|
-
if (substitution !== null) {
|
|
48
|
-
const substitutionNodesMatch = substitution.matchStatementNode(statementNode);
|
|
49
|
-
|
|
50
|
-
metavariableNodeMatches = substitutionNodesMatch; ///
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return metavariableNodeMatches;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
matchMetastatementNode(conclusionMetastatementNode, statementNode, substitutions) {
|
|
57
|
-
let metastatementNodeMatches = false;
|
|
58
|
-
|
|
59
|
-
const conclusionNonTerminalNode = conclusionMetastatementNode, ///
|
|
60
|
-
conclusionNonTerminalNodeChildNodes = conclusionNonTerminalNode.getChildNodes(),
|
|
61
|
-
conclusionNonTerminalNodeChildNodesLength = conclusionNonTerminalNodeChildNodes.length;
|
|
62
|
-
|
|
63
|
-
if (conclusionNonTerminalNodeChildNodesLength === 1) {
|
|
64
|
-
const firstConclusionChildNode = first(conclusionNonTerminalNodeChildNodes),
|
|
65
|
-
conclusionChildNode = firstConclusionChildNode, ///
|
|
66
|
-
conclusionChildNodeNonTerminalNode = conclusionChildNode.isNonTerminalNode();
|
|
67
|
-
|
|
68
|
-
if (conclusionChildNodeNonTerminalNode) {
|
|
69
|
-
const conclusionNonTerminalChildNode = conclusionChildNode, ///
|
|
70
|
-
conclusionNonTerminalChildNodeRuleName = conclusionNonTerminalChildNode.getRuleName(),
|
|
71
|
-
conclusionNonTerminalChildNodeRuleNameMetavariableRuleName = (conclusionNonTerminalChildNodeRuleName === METAVARIABLE_RULE_NAME);
|
|
72
|
-
|
|
73
|
-
if (conclusionNonTerminalChildNodeRuleNameMetavariableRuleName) {
|
|
74
|
-
const conclusionMetavariableNode = conclusionNonTerminalChildNode, ///
|
|
75
|
-
metavariableNodeMatches = this.matchMetavariableNode(conclusionMetavariableNode, statementNode, substitutions);
|
|
76
|
-
|
|
77
|
-
metastatementNodeMatches = metavariableNodeMatches; ///
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return metastatementNodeMatches;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export const conclusionMatcher = new ConclusionMatcher();
|