occam-verify-cli 0.0.506 → 0.0.507
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/conclusion.js +5 -160
- package/lib/consequence.js +3 -81
- package/lib/matcher/conclusion.js +194 -0
- package/lib/matcher/consequence.js +194 -0
- package/lib/matcher/premise.js +199 -0
- package/lib/matcher/supposition.js +199 -0
- package/lib/matcher.js +36 -0
- package/lib/metaMatcher/conclusion.js +194 -0
- package/lib/metaMatcher/premise.js +199 -0
- package/lib/metaMatcher.js +36 -0
- package/lib/metaSubstitution.js +7 -6
- package/lib/mixins/matcher.js +109 -0
- package/lib/premise.js +9 -178
- package/lib/ruleNames.js +5 -1
- package/lib/step/metaproof.js +5 -5
- package/lib/substitution.js +7 -6
- package/lib/supposition.js +5 -92
- package/lib/utilities/substitution.js +61 -0
- package/lib/verify/metaproof.js +3 -3
- package/lib/verify/proof.js +3 -3
- package/lib/verify/ruleProof.js +3 -3
- package/package.json +1 -1
- package/src/conclusion.js +6 -277
- package/src/consequence.js +3 -141
- package/src/matcher/conclusion.js +86 -0
- package/src/matcher/consequence.js +89 -0
- package/src/matcher/premise.js +94 -0
- package/src/matcher/supposition.js +97 -0
- package/src/matcher.js +9 -0
- package/src/metaMatcher/conclusion.js +86 -0
- package/src/metaMatcher/premise.js +94 -0
- package/src/metaMatcher.js +9 -0
- package/src/metaSubstitution.js +4 -3
- package/src/mixins/matcher.js +81 -0
- package/src/premise.js +10 -298
- package/src/ruleNames.js +1 -0
- package/src/step/metaproof.js +1 -1
- package/src/substitution.js +3 -2
- package/src/supposition.js +12 -159
- package/src/utilities/{node.js → substitution.js} +4 -74
- package/src/verify/metaproof.js +2 -2
- package/src/verify/proof.js +2 -2
- package/src/verify/ruleProof.js +2 -2
- package/lib/metaSupposition.js +0 -167
- package/lib/utilities/node.js +0 -106
- package/lib/verify/metaSupposition.js +0 -41
- package/src/metaSupposition.js +0 -196
- package/src/verify/metaSupposition.js +0 -44
package/lib/matcher.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
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 Matcher;
|
|
14
|
+
},
|
|
15
|
+
matcher: function() {
|
|
16
|
+
return matcher;
|
|
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 Matcher = function Matcher() {
|
|
31
|
+
_classCallCheck(this, Matcher);
|
|
32
|
+
};
|
|
33
|
+
Object.assign(Matcher.prototype, _matcher.default);
|
|
34
|
+
var matcher = new Matcher();
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXRjaGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbWF0Y2hlck1peGlucyBmcm9tIFwiLi9taXhpbnMvbWF0Y2hlclwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNYXRjaGVyIHt9XG5cbk9iamVjdC5hc3NpZ24oTWF0Y2hlci5wcm90b3R5cGUsIG1hdGNoZXJNaXhpbnMpO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hlciA9IG5ldyBNYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsiTWF0Y2hlciIsIm1hdGNoZXIiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJtYXRjaGVyTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O2VBSXFCQTs7SUFJUkMsT0FBTztlQUFQQTs7OzREQU5hOzs7Ozs7Ozs7OztBQUVYLElBQUEsQUFBTUQsVUFBTixTQUFNQTswQkFBQUE7O0FBRXJCRSxPQUFPQyxNQUFNLENBQUNILFFBQVFJLFNBQVMsRUFBRUMsZ0JBQWE7QUFFdkMsSUFBTUosVUFBVSxJQUFJRCJ9
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "conclusionMetaMatcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return conclusionMetaMatcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _metaMatcher = /*#__PURE__*/ _interopRequireDefault(require("../metaMatcher"));
|
|
12
|
+
var _array = require("../utilities/array");
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
var _ruleNames = require("../ruleNames");
|
|
15
|
+
function _assertThisInitialized(self) {
|
|
16
|
+
if (self === void 0) {
|
|
17
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
18
|
+
}
|
|
19
|
+
return self;
|
|
20
|
+
}
|
|
21
|
+
function _classCallCheck(instance, Constructor) {
|
|
22
|
+
if (!(instance instanceof Constructor)) {
|
|
23
|
+
throw new TypeError("Cannot call a class as a function");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _defineProperties(target, props) {
|
|
27
|
+
for(var i = 0; i < props.length; i++){
|
|
28
|
+
var descriptor = props[i];
|
|
29
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
30
|
+
descriptor.configurable = true;
|
|
31
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
32
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
36
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
37
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
38
|
+
return Constructor;
|
|
39
|
+
}
|
|
40
|
+
function _get(target, property, receiver) {
|
|
41
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
42
|
+
_get = Reflect.get;
|
|
43
|
+
} else {
|
|
44
|
+
_get = function _get(target, property, receiver) {
|
|
45
|
+
var base = _superPropBase(target, property);
|
|
46
|
+
if (!base) return;
|
|
47
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
48
|
+
if (desc.get) {
|
|
49
|
+
return desc.get.call(receiver);
|
|
50
|
+
}
|
|
51
|
+
return desc.value;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return _get(target, property, receiver || target);
|
|
55
|
+
}
|
|
56
|
+
function _getPrototypeOf(o) {
|
|
57
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
58
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
59
|
+
};
|
|
60
|
+
return _getPrototypeOf(o);
|
|
61
|
+
}
|
|
62
|
+
function _inherits(subClass, superClass) {
|
|
63
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
64
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
65
|
+
}
|
|
66
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
67
|
+
constructor: {
|
|
68
|
+
value: subClass,
|
|
69
|
+
writable: true,
|
|
70
|
+
configurable: true
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
74
|
+
}
|
|
75
|
+
function _interopRequireDefault(obj) {
|
|
76
|
+
return obj && obj.__esModule ? obj : {
|
|
77
|
+
default: obj
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function _possibleConstructorReturn(self, call) {
|
|
81
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
82
|
+
return call;
|
|
83
|
+
}
|
|
84
|
+
return _assertThisInitialized(self);
|
|
85
|
+
}
|
|
86
|
+
function _setPrototypeOf(o, p) {
|
|
87
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
88
|
+
o.__proto__ = p;
|
|
89
|
+
return o;
|
|
90
|
+
};
|
|
91
|
+
return _setPrototypeOf(o, p);
|
|
92
|
+
}
|
|
93
|
+
function _superPropBase(object, property) {
|
|
94
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
95
|
+
object = _getPrototypeOf(object);
|
|
96
|
+
if (object === null) break;
|
|
97
|
+
}
|
|
98
|
+
return object;
|
|
99
|
+
}
|
|
100
|
+
var _typeof = function(obj) {
|
|
101
|
+
"@swc/helpers - typeof";
|
|
102
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
103
|
+
};
|
|
104
|
+
function _isNativeReflectConstruct() {
|
|
105
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
106
|
+
if (Reflect.construct.sham) return false;
|
|
107
|
+
if (typeof Proxy === "function") return true;
|
|
108
|
+
try {
|
|
109
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
110
|
+
return true;
|
|
111
|
+
} catch (e) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function _createSuper(Derived) {
|
|
116
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
117
|
+
return function _createSuperInternal() {
|
|
118
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
119
|
+
if (hasNativeReflectConstruct) {
|
|
120
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
121
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
122
|
+
} else {
|
|
123
|
+
result = Super.apply(this, arguments);
|
|
124
|
+
}
|
|
125
|
+
return _possibleConstructorReturn(this, result);
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
var ConclusionMetaMatcher = /*#__PURE__*/ function(MetaMatcher) {
|
|
129
|
+
_inherits(ConclusionMetaMatcher, MetaMatcher);
|
|
130
|
+
var _super = _createSuper(ConclusionMetaMatcher);
|
|
131
|
+
function ConclusionMetaMatcher() {
|
|
132
|
+
_classCallCheck(this, ConclusionMetaMatcher);
|
|
133
|
+
return _super.apply(this, arguments);
|
|
134
|
+
}
|
|
135
|
+
_createClass(ConclusionMetaMatcher, [
|
|
136
|
+
{
|
|
137
|
+
key: "matchNonTerminalNode",
|
|
138
|
+
value: function matchNonTerminalNode(conclusionNonTerminalNode, nonTerminalNode, metaSubstitutions) {
|
|
139
|
+
var nonTerminalNodeMatches = false;
|
|
140
|
+
var ruleName = nonTerminalNode.getRuleName(), conclusionNonTerminalNodeRuleName = conclusionNonTerminalNode.getRuleName(), ruleNameMetastatementRuleName = ruleName === _ruleNames.METASTATEMENT_RULE_NAME, conclusionNonTerminalNodeRuleNameMetastatementRuleName = conclusionNonTerminalNodeRuleName === _ruleNames.METASTATEMENT_RULE_NAME;
|
|
141
|
+
if (ruleNameMetastatementRuleName && conclusionNonTerminalNodeRuleNameMetastatementRuleName) {
|
|
142
|
+
var statementNode = nonTerminalNode, conclusionMetastatementNode = conclusionNonTerminalNode, metastatementNodeMatches = this.matchMetastatementNode(conclusionMetastatementNode, statementNode, metaSubstitutions);
|
|
143
|
+
if (metastatementNodeMatches) {
|
|
144
|
+
nonTerminalNodeMatches = true; ///
|
|
145
|
+
} else {
|
|
146
|
+
nonTerminalNodeMatches = _get(_getPrototypeOf(ConclusionMetaMatcher.prototype), "matchNonTerminalNode", this).call(this, conclusionNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
147
|
+
}
|
|
148
|
+
} else if (ruleName === conclusionNonTerminalNodeRuleName) {
|
|
149
|
+
nonTerminalNodeMatches = _get(_getPrototypeOf(ConclusionMetaMatcher.prototype), "matchNonTerminalNode", this).call(this, conclusionNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
150
|
+
}
|
|
151
|
+
return nonTerminalNodeMatches;
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
key: "matchMetavariableNode",
|
|
156
|
+
value: function matchMetavariableNode(conclusionMetavariableNode, metastatementNode, metaSubstitutions) {
|
|
157
|
+
var metavariableNodeMatches = true;
|
|
158
|
+
var conclusionMetavariableName = (0, _query.metavariableNameFromMetavariableNode)(conclusionMetavariableNode), metaSubstitution = metaSubstitutions.find(function(metaSubstitution) {
|
|
159
|
+
var metavariableName = metaSubstitution.getMetavariableName();
|
|
160
|
+
if (metavariableName === conclusionMetavariableName) {
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
}) || null;
|
|
164
|
+
if (metaSubstitution !== null) {
|
|
165
|
+
var metaSubstitutionNodesMatch = metaSubstitution.matchMetastatementNode(metastatementNode);
|
|
166
|
+
metavariableNodeMatches = metaSubstitutionNodesMatch; ///
|
|
167
|
+
}
|
|
168
|
+
return metavariableNodeMatches;
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
key: "matchMetastatementNode",
|
|
173
|
+
value: function matchMetastatementNode(conclusionMetastatementNode, metastatementNode, metaSubstitutions) {
|
|
174
|
+
var metastatementNodeMatches = false;
|
|
175
|
+
var conclusionNonTerminalNode = conclusionMetastatementNode, conclusionNonTerminalNodeChildNodes = conclusionNonTerminalNode.getChildNodes(), conclusionNonTerminalNodeChildNodesLength = conclusionNonTerminalNodeChildNodes.length;
|
|
176
|
+
if (conclusionNonTerminalNodeChildNodesLength === 1) {
|
|
177
|
+
var firstConclusionChildNode = (0, _array.first)(conclusionNonTerminalNodeChildNodes), conclusionChildNode = firstConclusionChildNode, conclusionChildNodeNonTerminalNode = conclusionChildNode.isNonTerminalNode();
|
|
178
|
+
if (conclusionChildNodeNonTerminalNode) {
|
|
179
|
+
var conclusionNonTerminalChildNode = conclusionChildNode, conclusionNonTerminalChildNodeRuleName = conclusionNonTerminalChildNode.getRuleName(), conclusionNonTerminalChildNodeRuleNameMetavariableRuleName = conclusionNonTerminalChildNodeRuleName === _ruleNames.METAVARIABLE_RULE_NAME;
|
|
180
|
+
if (conclusionNonTerminalChildNodeRuleNameMetavariableRuleName) {
|
|
181
|
+
var conclusionMetavariableNode = conclusionNonTerminalChildNode, metavariableNodeMatches = this.matchMetavariableNode(conclusionMetavariableNode, metastatementNode, metaSubstitutions);
|
|
182
|
+
metastatementNodeMatches = metavariableNodeMatches; ///
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return metastatementNodeMatches;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
]);
|
|
190
|
+
return ConclusionMetaMatcher;
|
|
191
|
+
}(_metaMatcher.default);
|
|
192
|
+
var conclusionMetaMatcher = new ConclusionMetaMatcher();
|
|
193
|
+
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRhTWF0Y2hlci9jb25jbHVzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YU1hdGNoZXIgZnJvbSBcIi4uL21ldGFNYXRjaGVyXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSwgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNsYXNzIENvbmNsdXNpb25NZXRhTWF0Y2hlciBleHRlbmRzIE1ldGFNYXRjaGVyIHtcbiAgbWF0Y2hOb25UZXJtaW5hbE5vZGUoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBydWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChydWxlTmFtZSA9PT0gTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUpLFxuICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKTtcblxuICAgIGlmIChydWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSAmJiBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICAgIGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdHJ1ZTsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gc3VwZXIubWF0Y2hOb25UZXJtaW5hbE5vZGUoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChydWxlTmFtZSA9PT0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lKSB7XG4gICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gc3VwZXIubWF0Y2hOb25UZXJtaW5hbE5vZGUoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUoY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRydWU7XG5cbiAgICBjb25zdCBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgbWV0YVN1YnN0aXR1dGlvbiA9IG1ldGFTdWJzdGl0dXRpb25zLmZpbmQoKG1ldGFTdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhU3Vic3RpdHV0aW9uLmdldE1ldGF2YXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgICAgaWYgKG1ldGF2YXJpYWJsZU5hbWUgPT09IGNvbmNsdXNpb25NZXRhdmFyaWFibGVOYW1lKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICBpZiAobWV0YVN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBtZXRhU3Vic3RpdHV0aW9uLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTGVuZ3RoID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdENvbmNsdXNpb25DaGlsZE5vZGUgPSBmaXJzdChjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyksXG4gICAgICAgICAgICBjb25jbHVzaW9uQ2hpbGROb2RlID0gZmlyc3RDb25jbHVzaW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBjb25jbHVzaW9uQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY29uY2x1c2lvbkNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICBpZiAoY29uY2x1c2lvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGUgPSBjb25jbHVzaW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID0gY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUgPSAoY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPT09IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUpO1xuXG4gICAgICAgIGlmIChjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lKSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUgPSBjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hNZXRhdmFyaWFibGVOb2RlKGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXM7IC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY29uY2x1c2lvbk1ldGFNYXRjaGVyID0gbmV3IENvbmNsdXNpb25NZXRhTWF0Y2hlcigpO1xuIl0sIm5hbWVzIjpbImNvbmNsdXNpb25NZXRhTWF0Y2hlciIsIkNvbmNsdXNpb25NZXRhTWF0Y2hlciIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm1ldGFTdWJzdGl0dXRpb25zIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlUnVsZU5hbWUiLCJydWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lIiwic3RhdGVtZW50Tm9kZSIsImNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMiLCJjb25jbHVzaW9uTWV0YXZhcmlhYmxlTmFtZSIsIm1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFTdWJzdGl0dXRpb24iLCJmaW5kIiwibWV0YXZhcmlhYmxlTmFtZSIsImdldE1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhU3Vic3RpdHV0aW9uTm9kZXNNYXRjaCIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RDb25jbHVzaW9uQ2hpbGROb2RlIiwiZmlyc3QiLCJjb25jbHVzaW9uQ2hpbGROb2RlIiwiY29uY2x1c2lvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIk1ldGFNYXRjaGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxRmFBOzs7ZUFBQUE7OztnRUFuRlc7cUJBRUY7cUJBQytCO3lCQUNXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -0,0 +1,199 @@
|
|
|
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=
|
|
@@ -0,0 +1,36 @@
|
|
|
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
CHANGED
|
@@ -8,8 +8,9 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return MetaSubstitution;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _matcher = require("./matcher");
|
|
11
12
|
var _ruleNames = require("./ruleNames");
|
|
12
|
-
var
|
|
13
|
+
var _substitution = require("./utilities/substitution");
|
|
13
14
|
function _classCallCheck(instance, Constructor) {
|
|
14
15
|
if (!(instance instanceof Constructor)) {
|
|
15
16
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -52,13 +53,13 @@ var MetaSubstitution = /*#__PURE__*/ function() {
|
|
|
52
53
|
key: "matchMetastatementNode",
|
|
53
54
|
value: function matchMetastatementNode(metastatementNode) {
|
|
54
55
|
var matchesMetastatementNode;
|
|
55
|
-
var nodeA = this.metastatementNode, nodeB = metastatementNode, nodeMatches =
|
|
56
|
+
var nodeA = this.metastatementNode, nodeB = metastatementNode, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
56
57
|
matchesMetastatementNode = nodeMatches; ///
|
|
57
58
|
if (!matchesMetastatementNode) {
|
|
58
59
|
var nonTerminalNode = metastatementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.METASTATEMENT_RULE_NAME;
|
|
59
|
-
metastatementNode = (0,
|
|
60
|
+
metastatementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
60
61
|
if (metastatementNode !== null) {
|
|
61
|
-
var nodeA1 = this.metastatementNode, nodeB1 = metastatementNode, nodeMatches1 =
|
|
62
|
+
var nodeA1 = this.metastatementNode, nodeB1 = metastatementNode, nodeMatches1 = _matcher.matcher.matchNode(nodeA1, nodeB1);
|
|
62
63
|
matchesMetastatementNode = nodeMatches1; ///
|
|
63
64
|
}
|
|
64
65
|
}
|
|
@@ -71,7 +72,7 @@ var MetaSubstitution = /*#__PURE__*/ function() {
|
|
|
71
72
|
value: function fromMetavariableNameAndMetastatementNode(metavariableName, metastatementNode) {
|
|
72
73
|
var metaSubstitution = new MetaSubstitution(metavariableName, metastatementNode);
|
|
73
74
|
var nonTerminalNode = metastatementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.METASTATEMENT_RULE_NAME;
|
|
74
|
-
metastatementNode = (0,
|
|
75
|
+
metastatementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
75
76
|
if (metastatementNode !== null) {
|
|
76
77
|
metaSubstitution = new MetaSubstitution(metavariableName, metastatementNode);
|
|
77
78
|
}
|
|
@@ -82,4 +83,4 @@ var MetaSubstitution = /*#__PURE__*/ function() {
|
|
|
82
83
|
return MetaSubstitution;
|
|
83
84
|
}();
|
|
84
85
|
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhU3Vic3RpdHV0aW9uLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhU3Vic3RpdHV0aW9uLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBtYXRjaGVyIH0gZnJvbSBcIi4vbWF0Y2hlclwiO1xuaW1wb3J0IHsgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3Vic3RpdHV0aW9uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFTdWJzdGl0dXRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXRhdmFyaWFibGVOYW1lLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMubWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWU7XG4gICAgdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZTtcblxuICAgIGNvbnN0IG5vZGVBID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVCID0gbWV0YXN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgbm9kZU1hdGNoZXMgPSBtYXRjaGVyLm1hdGNoTm9kZShub2RlQSwgbm9kZUIpO1xuXG4gICAgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbm9kZU1hdGNoZXM7ICAvLy9cblxuICAgIGlmICghbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRTtcblxuICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgbm9kZUEgPSB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG5vZGVCID0gbWV0YXN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hlci5tYXRjaE5vZGUobm9kZUEsIG5vZGVCKTtcblxuICAgICAgICBtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGUgPSBub2RlTWF0Y2hlczsgIC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRNZXRhc3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOYW1lLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBtZXRhU3Vic3RpdHV0aW9uID0gbmV3IE1ldGFTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTmFtZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBydWxlTmFtZSA9IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FO1xuXG4gICAgbWV0YXN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBtZXRhU3Vic3RpdHV0aW9uID0gbmV3IE1ldGFTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTmFtZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhU3Vic3RpdHV0aW9uO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIk1ldGFTdWJzdGl0dXRpb24iLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlIiwibm9kZUEiLCJub2RlQiIsIm5vZGVNYXRjaGVzIiwibWF0Y2hlciIsIm1hdGNoTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwicnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsImJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMiLCJmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7dUJBSkc7eUJBQ2dCOzRCQUNvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0MsSUFBQSxBQUFNQSxpQ0FBTjthQUFNQSxpQkFDUEMsZ0JBQWdCLEVBQUVDLGlCQUFpQjs4QkFENUJGO1FBRWpCLElBQUksQ0FBQ0MsZ0JBQWdCLEdBQUdBO1FBQ3hCLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUdBOztpQkFIUkY7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCO2dCQUNwQixPQUFPLElBQUksQ0FBQ0YsZ0JBQWdCO1lBQzlCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QjtnQkFDckIsT0FBTyxJQUFJLENBQUNGLGlCQUFpQjtZQUMvQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUJILGlCQUFpQixFQUFFO2dCQUN4QyxJQUFJSTtnQkFFSixJQUFNQyxRQUFRLElBQUksQ0FBQ0wsaUJBQWlCLEVBQzlCTSxRQUFRTixtQkFDUk8sY0FBY0MsZ0JBQU8sQ0FBQ0MsU0FBUyxDQUFDSixPQUFPQztnQkFFN0NGLDJCQUEyQkcsYUFBYyxHQUFHO2dCQUU1QyxJQUFJLENBQUNILDBCQUEwQjtvQkFDN0IsSUFBTU0sa0JBQWtCVixtQkFDbEJXLGFBQWFELGdCQUFnQkUsYUFBYSxJQUMxQ0MsV0FBV0Msa0NBQXVCO29CQUV4Q2Qsb0JBQW9CZSxJQUFBQSx5REFBMkMsRUFBQ0osWUFBWUUsV0FBWSxHQUFHO29CQUUzRixJQUFJYixzQkFBc0IsSUFBSSxFQUFFO3dCQUM5QixJQUFNSyxTQUFRLElBQUksQ0FBQ0wsaUJBQWlCLEVBQzlCTSxTQUFRTixtQkFDUk8sZUFBY0MsZ0JBQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFPQzt3QkFFN0NGLDJCQUEyQkcsY0FBYyxHQUFHO29CQUM5QyxDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBT0g7WUFDVDs7OztZQUVPWSxLQUFBQTttQkFBUCxTQUFPQSx5Q0FBeUNqQixnQkFBZ0IsRUFBRUMsaUJBQWlCLEVBQUU7Z0JBQ25GLElBQUlpQixtQkFBbUIsSUEzQ05uQixpQkEyQzJCQyxrQkFBa0JDO2dCQUU5RCxJQUFNVSxrQkFBa0JWLG1CQUNsQlcsYUFBYUQsZ0JBQWdCRSxhQUFhLElBQzFDQyxXQUFXQyxrQ0FBdUI7Z0JBRXhDZCxvQkFBb0JlLElBQUFBLHlEQUEyQyxFQUFDSixZQUFZRSxXQUFZLEdBQUc7Z0JBRTNGLElBQUliLHNCQUFzQixJQUFJLEVBQUU7b0JBQzlCaUIsbUJBQW1CLElBcERKbkIsaUJBb0R5QkMsa0JBQWtCQztnQkFDNUQsQ0FBQztnQkFFRCxPQUFPaUI7WUFDVDs7O1dBeERtQm5CIn0=
|