occam-verify-cli 0.0.507 → 0.0.509
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assertion/type.js +90 -0
- package/lib/axiomLemmaTheorem.js +2 -2
- package/lib/combinator.js +7 -1
- 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/lib/verify/assertion/type.js +19 -23
- package/lib/verify/conclusion.js +6 -5
- package/lib/verify/consequence.js +6 -5
- package/lib/verify/derivation.js +2 -2
- package/lib/verify/metastatement/qualified.js +19 -5
- package/lib/verify/metastatement/unqualified.js +16 -4
- package/lib/verify/metastatement.js +3 -3
- package/lib/verify/premise.js +6 -5
- package/lib/verify/ruleDerivation.js +2 -2
- package/lib/verify/statement/qualified.js +9 -8
- package/lib/verify/statement/unqualified.js +16 -4
- package/lib/verify/statement.js +106 -9
- package/lib/verify/supposition.js +11 -11
- package/package.json +3 -3
- package/src/assertion/type.js +46 -0
- package/src/axiomLemmaTheorem.js +1 -1
- package/src/combinator.js +4 -0
- 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/src/verify/assertion/type.js +24 -25
- package/src/verify/conclusion.js +11 -5
- package/src/verify/consequence.js +10 -4
- package/src/verify/derivation.js +4 -2
- package/src/verify/metastatement/qualified.js +20 -6
- package/src/verify/metastatement/unqualified.js +13 -3
- package/src/verify/metastatement.js +2 -2
- package/src/verify/premise.js +10 -4
- package/src/verify/ruleDerivation.js +4 -2
- package/src/verify/statement/qualified.js +13 -11
- package/src/verify/statement/unqualified.js +13 -3
- package/src/verify/statement.js +175 -9
- package/src/verify/supposition.js +16 -12
- 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/lib/verify/metaDerivation.js +0 -63
- package/lib/verify/metaproof.js +0 -32
- 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
- package/src/verify/metaDerivation.js +0 -75
- package/src/verify/metaproof.js +0 -35
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "consequenceStatementForVariableMatcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return consequenceStatementForVariableMatcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _statementForVariable = /*#__PURE__*/ _interopRequireDefault(require("../../matcher/statementForVariable"));
|
|
12
|
+
function _assertThisInitialized(self) {
|
|
13
|
+
if (self === void 0) {
|
|
14
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
15
|
+
}
|
|
16
|
+
return self;
|
|
17
|
+
}
|
|
18
|
+
function _classCallCheck(instance, Constructor) {
|
|
19
|
+
if (!(instance instanceof Constructor)) {
|
|
20
|
+
throw new TypeError("Cannot call a class as a function");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function _defineProperty(obj, key, value) {
|
|
24
|
+
if (key in obj) {
|
|
25
|
+
Object.defineProperty(obj, key, {
|
|
26
|
+
value: value,
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
obj[key] = value;
|
|
33
|
+
}
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
function _getPrototypeOf(o) {
|
|
37
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
38
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
39
|
+
};
|
|
40
|
+
return _getPrototypeOf(o);
|
|
41
|
+
}
|
|
42
|
+
function _inherits(subClass, superClass) {
|
|
43
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
44
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
45
|
+
}
|
|
46
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
47
|
+
constructor: {
|
|
48
|
+
value: subClass,
|
|
49
|
+
writable: true,
|
|
50
|
+
configurable: true
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
54
|
+
}
|
|
55
|
+
function _interopRequireDefault(obj) {
|
|
56
|
+
return obj && obj.__esModule ? obj : {
|
|
57
|
+
default: obj
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function _possibleConstructorReturn(self, call) {
|
|
61
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
62
|
+
return call;
|
|
63
|
+
}
|
|
64
|
+
return _assertThisInitialized(self);
|
|
65
|
+
}
|
|
66
|
+
function _setPrototypeOf(o, p) {
|
|
67
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
68
|
+
o.__proto__ = p;
|
|
69
|
+
return o;
|
|
70
|
+
};
|
|
71
|
+
return _setPrototypeOf(o, p);
|
|
72
|
+
}
|
|
73
|
+
var _typeof = function(obj) {
|
|
74
|
+
"@swc/helpers - typeof";
|
|
75
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
76
|
+
};
|
|
77
|
+
function _isNativeReflectConstruct() {
|
|
78
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
79
|
+
if (Reflect.construct.sham) return false;
|
|
80
|
+
if (typeof Proxy === "function") return true;
|
|
81
|
+
try {
|
|
82
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
83
|
+
return true;
|
|
84
|
+
} catch (e) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function _createSuper(Derived) {
|
|
89
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
90
|
+
return function _createSuperInternal() {
|
|
91
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
92
|
+
if (hasNativeReflectConstruct) {
|
|
93
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
94
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
95
|
+
} else {
|
|
96
|
+
result = Super.apply(this, arguments);
|
|
97
|
+
}
|
|
98
|
+
return _possibleConstructorReturn(this, result);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
var ConsequenceStatementForVariableMatcher = /*#__PURE__*/ function(StatementForVariableMatcher) {
|
|
102
|
+
_inherits(ConsequenceStatementForVariableMatcher, StatementForVariableMatcher);
|
|
103
|
+
var _super = _createSuper(ConsequenceStatementForVariableMatcher);
|
|
104
|
+
function ConsequenceStatementForVariableMatcher() {
|
|
105
|
+
_classCallCheck(this, ConsequenceStatementForVariableMatcher);
|
|
106
|
+
return _super.apply(this, arguments);
|
|
107
|
+
}
|
|
108
|
+
return ConsequenceStatementForVariableMatcher;
|
|
109
|
+
}(_statementForVariable.default);
|
|
110
|
+
_defineProperty(ConsequenceStatementForVariableMatcher, "createSubstitutions", false);
|
|
111
|
+
var consequenceStatementForVariableMatcher = new ConsequenceStatementForVariableMatcher();
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlL2NvbnNlcXVlbmNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIGZyb20gXCIuLi8uLi9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlXCI7XG5cbmNsYXNzIENvbnNlcXVlbmNlU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIGV4dGVuZHMgU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIHtcbiAgc3RhdGljIGNyZWF0ZVN1YnN0aXR1dGlvbnMgPSBmYWxzZTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbnNlcXVlbmNlU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyID0gbmV3IENvbnNlcXVlbmNlU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsiY29uc2VxdWVuY2VTdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIiLCJDb25zZXF1ZW5jZVN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsIlN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFhQTs7O2VBQUFBOzs7eUVBTjJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEMsSUFBQSxBQUFNQyx1REFJSCxBQUpIO2NBQU1BOzhCQUFBQTthQUFBQTs4QkFBQUE7OztXQUFBQTtFQUErQ0MsNkJBQTJCO0FBQzlFLGdCQURJRCx3Q0FDR0UsdUJBQXNCLEtBQUs7QUFHN0IsSUFBTUgseUNBQXlDLElBQUlDIn0=
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "suppositionStatementForVariableMatcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return suppositionStatementForVariableMatcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _statementForVariable = /*#__PURE__*/ _interopRequireDefault(require("../../matcher/statementForVariable"));
|
|
12
|
+
function _assertThisInitialized(self) {
|
|
13
|
+
if (self === void 0) {
|
|
14
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
15
|
+
}
|
|
16
|
+
return self;
|
|
17
|
+
}
|
|
18
|
+
function _classCallCheck(instance, Constructor) {
|
|
19
|
+
if (!(instance instanceof Constructor)) {
|
|
20
|
+
throw new TypeError("Cannot call a class as a function");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function _defineProperty(obj, key, value) {
|
|
24
|
+
if (key in obj) {
|
|
25
|
+
Object.defineProperty(obj, key, {
|
|
26
|
+
value: value,
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
obj[key] = value;
|
|
33
|
+
}
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
function _getPrototypeOf(o) {
|
|
37
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
38
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
39
|
+
};
|
|
40
|
+
return _getPrototypeOf(o);
|
|
41
|
+
}
|
|
42
|
+
function _inherits(subClass, superClass) {
|
|
43
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
44
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
45
|
+
}
|
|
46
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
47
|
+
constructor: {
|
|
48
|
+
value: subClass,
|
|
49
|
+
writable: true,
|
|
50
|
+
configurable: true
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
54
|
+
}
|
|
55
|
+
function _interopRequireDefault(obj) {
|
|
56
|
+
return obj && obj.__esModule ? obj : {
|
|
57
|
+
default: obj
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function _possibleConstructorReturn(self, call) {
|
|
61
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
62
|
+
return call;
|
|
63
|
+
}
|
|
64
|
+
return _assertThisInitialized(self);
|
|
65
|
+
}
|
|
66
|
+
function _setPrototypeOf(o, p) {
|
|
67
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
68
|
+
o.__proto__ = p;
|
|
69
|
+
return o;
|
|
70
|
+
};
|
|
71
|
+
return _setPrototypeOf(o, p);
|
|
72
|
+
}
|
|
73
|
+
var _typeof = function(obj) {
|
|
74
|
+
"@swc/helpers - typeof";
|
|
75
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
76
|
+
};
|
|
77
|
+
function _isNativeReflectConstruct() {
|
|
78
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
79
|
+
if (Reflect.construct.sham) return false;
|
|
80
|
+
if (typeof Proxy === "function") return true;
|
|
81
|
+
try {
|
|
82
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
83
|
+
return true;
|
|
84
|
+
} catch (e) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function _createSuper(Derived) {
|
|
89
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
90
|
+
return function _createSuperInternal() {
|
|
91
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
92
|
+
if (hasNativeReflectConstruct) {
|
|
93
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
94
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
95
|
+
} else {
|
|
96
|
+
result = Super.apply(this, arguments);
|
|
97
|
+
}
|
|
98
|
+
return _possibleConstructorReturn(this, result);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
var SuppositionStatementForVariableMatcher = /*#__PURE__*/ function(StatementForVariableMatcher) {
|
|
102
|
+
_inherits(SuppositionStatementForVariableMatcher, StatementForVariableMatcher);
|
|
103
|
+
var _super = _createSuper(SuppositionStatementForVariableMatcher);
|
|
104
|
+
function SuppositionStatementForVariableMatcher() {
|
|
105
|
+
_classCallCheck(this, SuppositionStatementForVariableMatcher);
|
|
106
|
+
return _super.apply(this, arguments);
|
|
107
|
+
}
|
|
108
|
+
return SuppositionStatementForVariableMatcher;
|
|
109
|
+
}(_statementForVariable.default);
|
|
110
|
+
_defineProperty(SuppositionStatementForVariableMatcher, "createSubstitutions", true);
|
|
111
|
+
var suppositionStatementForVariableMatcher = new SuppositionStatementForVariableMatcher();
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlL3N1cHBvc2l0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIGZyb20gXCIuLi8uLi9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlXCI7XG5cbmNsYXNzIFN1cHBvc2l0aW9uU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIGV4dGVuZHMgU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIHtcbiAgc3RhdGljIGNyZWF0ZVN1YnN0aXR1dGlvbnMgPSB0cnVlO1xufVxuXG5leHBvcnQgY29uc3Qgc3VwcG9zaXRpb25TdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIgPSBuZXcgU3VwcG9zaXRpb25TdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIoKTtcbiJdLCJuYW1lcyI6WyJzdXBwb3NpdGlvblN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsIlN1cHBvc2l0aW9uU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIiwiU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIiwiY3JlYXRlU3Vic3RpdHV0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUWFBOzs7ZUFBQUE7Ozt5RUFOMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QyxJQUFBLEFBQU1DLHVEQUlILEFBSkg7Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O1dBQUFBO0VBQStDQyw2QkFBMkI7QUFDOUUsZ0JBRElELHdDQUNHRSx1QkFBc0IsSUFBSTtBQUc1QixJQUFNSCx5Q0FBeUMsSUFBSUMifQ==
|
|
@@ -0,0 +1,201 @@
|
|
|
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 StatementForVariableMatcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
|
|
12
|
+
var _statementForVariable = /*#__PURE__*/ _interopRequireDefault(require("../substitution/statementForVariable"));
|
|
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 StatementForVariableMatcher = /*#__PURE__*/ function(Matcher) {
|
|
130
|
+
_inherits(StatementForVariableMatcher, Matcher);
|
|
131
|
+
var _super = _createSuper(StatementForVariableMatcher);
|
|
132
|
+
function StatementForVariableMatcher() {
|
|
133
|
+
_classCallCheck(this, StatementForVariableMatcher);
|
|
134
|
+
return _super.apply(this, arguments);
|
|
135
|
+
}
|
|
136
|
+
_createClass(StatementForVariableMatcher, [
|
|
137
|
+
{
|
|
138
|
+
key: "matchNonTerminalNode",
|
|
139
|
+
value: function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions) {
|
|
140
|
+
var nonTerminalNodeMatches = false;
|
|
141
|
+
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(), nonTerminalNodeARuleNameMetastatementRuleName = nonTerminalNodeARuleName === _ruleNames.STATEMENT_RULE_NAME, nonTerminalNodeBRuleNameMetastatementRuleName = nonTerminalNodeBRuleName === _ruleNames.STATEMENT_RULE_NAME;
|
|
142
|
+
if (nonTerminalNodeARuleNameMetastatementRuleName && nonTerminalNodeBRuleNameMetastatementRuleName) {
|
|
143
|
+
var statementNodeA = nonTerminalNodeA, statementNodeB = nonTerminalNodeB, statementNodeMatches = this.matchStatementNode(statementNodeA, statementNodeB, substitutions);
|
|
144
|
+
if (statementNodeMatches) {
|
|
145
|
+
nonTerminalNodeMatches = true; ///
|
|
146
|
+
} else {
|
|
147
|
+
nonTerminalNodeMatches = _get(_getPrototypeOf(StatementForVariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
|
|
148
|
+
}
|
|
149
|
+
} else if (nonTerminalNodeBRuleName === nonTerminalNodeARuleName) {
|
|
150
|
+
nonTerminalNodeMatches = _get(_getPrototypeOf(StatementForVariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
|
|
151
|
+
}
|
|
152
|
+
return nonTerminalNodeMatches;
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
key: "matchStatementNode",
|
|
157
|
+
value: function matchStatementNode(statementNodeA, statementNodeB, substitutions) {
|
|
158
|
+
var statementNodeMatches = false;
|
|
159
|
+
var nonTerminalNodeA = statementNodeA, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeAChildNodesLength = nonTerminalNodeAChildNodes.length;
|
|
160
|
+
if (nonTerminalNodeAChildNodesLength === 1) {
|
|
161
|
+
var firstNonTerminalNodeAChildNode = (0, _array.first)(nonTerminalNodeAChildNodes), childNodeA = firstNonTerminalNodeAChildNode, childNodeANonTerminalNode = childNodeA.isNonTerminalNode();
|
|
162
|
+
if (childNodeANonTerminalNode) {
|
|
163
|
+
var nonTerminalNodeA1 = childNodeA, nonTerminalNodeARuleName = nonTerminalNodeA1.getRuleName(), nonTerminalNodeARuleNameVariableRuleName = nonTerminalNodeARuleName === _ruleNames.VARIABLE_RULE_NAME;
|
|
164
|
+
if (nonTerminalNodeARuleNameVariableRuleName) {
|
|
165
|
+
var variableNodeA = nonTerminalNodeA1, variableMatches = this.matchVariableNode(variableNodeA, statementNodeB, substitutions);
|
|
166
|
+
statementNodeMatches = variableMatches; ///
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return statementNodeMatches;
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
key: "matchVariableNode",
|
|
175
|
+
value: function matchVariableNode(variableNodeB, statementNodeB, substitutions) {
|
|
176
|
+
var variableMatches;
|
|
177
|
+
var variableNameA = (0, _query.variableNameFromVariableNode)(variableNodeB), substitution = substitutions.find(function(substitution) {
|
|
178
|
+
var variableName = substitution.getVariableName();
|
|
179
|
+
if (variableName === variableNameA) {
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
}) || null;
|
|
183
|
+
if (substitution !== null) {
|
|
184
|
+
var statementNode = statementNodeB, substitutionNodesMatch = substitution.matchStatementNode(statementNode);
|
|
185
|
+
variableMatches = substitutionNodesMatch; ///
|
|
186
|
+
} else {
|
|
187
|
+
var createSubstitutions = this.constructor.createSubstitutions;
|
|
188
|
+
if (createSubstitutions) {
|
|
189
|
+
var variableName = variableNameA, statementNode1 = statementNodeB, statementForVariableSubstitution = _statementForVariable.default.fromVariableNameAndStatementNode(variableName, statementNode1), substitution1 = statementForVariableSubstitution; ///
|
|
190
|
+
substitutions.push(substitution1);
|
|
191
|
+
}
|
|
192
|
+
variableMatches = true;
|
|
193
|
+
}
|
|
194
|
+
return variableMatches;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
]);
|
|
198
|
+
return StatementForVariableMatcher;
|
|
199
|
+
}(_matcher.default);
|
|
200
|
+
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWF0Y2hlciBmcm9tIFwiLi4vbWF0Y2hlclwiO1xuaW1wb3J0IFN0YXRlbWVudEZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yVmFyaWFibGVcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgVkFSSUFCTEVfUlVMRV9OQU1FLCBTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIgZXh0ZW5kcyBNYXRjaGVyIHtcbiAgbWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSAmJiBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdHJ1ZTsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID09PSBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUpIHtcbiAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXNMZW5ndGggPSBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAobm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZSA9IGZpcnN0KG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZUEgPSBmaXJzdE5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIGNoaWxkTm9kZUFOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGVBLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVBTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBjaGlsZE5vZGVBLCAgLy8vXG4gICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IFZBUklBQkxFX1JVTEVfTkFNRSk7XG5cbiAgICAgICAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZVZhcmlhYmxlUnVsZU5hbWUpIHtcbiAgICAgICAgICBjb25zdCB2YXJpYWJsZU5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgIC8vL1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlTWF0Y2hlcyA9IHRoaXMubWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB2YXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQiwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgdmFyaWFibGVNYXRjaGVzO1xuXG4gICAgY29uc3QgdmFyaWFibGVOYW1lQSA9IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQiksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRWYXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTmFtZSA9PT0gdmFyaWFibGVOYW1lQSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBzdWJzdGl0dXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICB2YXJpYWJsZU1hdGNoZXMgPSBzdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgY3JlYXRlU3Vic3RpdHV0aW9ucyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgICAgaWYgKGNyZWF0ZVN1YnN0aXR1dGlvbnMpIHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lQSwgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlQiwgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudEZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gU3RhdGVtZW50Rm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVZhcmlhYmxlTmFtZUFuZFN0YXRlbWVudE5vZGUodmFyaWFibGVOYW1lLCBzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLnB1c2goc3Vic3RpdHV0aW9uKTtcbiAgICAgIH1cblxuICAgICAgdmFyaWFibGVNYXRjaGVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVNYXRjaGVzO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3ROb25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlIiwiZmlyc3QiLCJjaGlsZE5vZGVBIiwiY2hpbGROb2RlQU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSIsIlZBUklBQkxFX1JVTEVfTkFNRSIsInZhcmlhYmxlTm9kZUEiLCJ2YXJpYWJsZU1hdGNoZXMiLCJtYXRjaFZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTm9kZUIiLCJ2YXJpYWJsZU5hbWVBIiwidmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZpbmQiLCJ2YXJpYWJsZU5hbWUiLCJnZXRWYXJpYWJsZU5hbWUiLCJzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9uTm9kZXNNYXRjaCIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiLCJjb25zdHJ1Y3RvciIsInN0YXRlbWVudEZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiU3RhdGVtZW50Rm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tVmFyaWFibGVOYW1lQW5kU3RhdGVtZW50Tm9kZSIsInB1c2giLCJNYXRjaGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozs0REFQRDt5RUFDeUI7cUJBRXZCO3FCQUN1Qjt5QkFDVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/lib/matcher.js
CHANGED
|
@@ -16,21 +16,135 @@ _export(exports, {
|
|
|
16
16
|
return matcher;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
|
|
19
|
+
function _arrayLikeToArray(arr, len) {
|
|
20
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
21
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
22
|
+
return arr2;
|
|
23
|
+
}
|
|
24
|
+
function _arrayWithoutHoles(arr) {
|
|
25
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
26
|
+
}
|
|
20
27
|
function _classCallCheck(instance, Constructor) {
|
|
21
28
|
if (!(instance instanceof Constructor)) {
|
|
22
29
|
throw new TypeError("Cannot call a class as a function");
|
|
23
30
|
}
|
|
24
31
|
}
|
|
25
|
-
function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
function _defineProperties(target, props) {
|
|
33
|
+
for(var i = 0; i < props.length; i++){
|
|
34
|
+
var descriptor = props[i];
|
|
35
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
36
|
+
descriptor.configurable = true;
|
|
37
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
38
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
42
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
43
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
44
|
+
return Constructor;
|
|
45
|
+
}
|
|
46
|
+
function _iterableToArray(iter) {
|
|
47
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
29
48
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
49
|
+
function _nonIterableSpread() {
|
|
50
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
51
|
+
}
|
|
52
|
+
function _toConsumableArray(arr) {
|
|
53
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
54
|
+
}
|
|
55
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
56
|
+
if (!o) return;
|
|
57
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
58
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
59
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
60
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
61
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
62
|
+
}
|
|
63
|
+
var Matcher = /*#__PURE__*/ function() {
|
|
64
|
+
function Matcher() {
|
|
65
|
+
_classCallCheck(this, Matcher);
|
|
66
|
+
}
|
|
67
|
+
_createClass(Matcher, [
|
|
68
|
+
{
|
|
69
|
+
key: "matchNode",
|
|
70
|
+
value: function matchNode(nodeA, nodeB) {
|
|
71
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
72
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
73
|
+
}
|
|
74
|
+
var nodeMatches = false;
|
|
75
|
+
var nodeATerminalNode = nodeA.isTerminalNode(), nodeBTerminalNode = nodeB.isTerminalNode();
|
|
76
|
+
if (nodeATerminalNode === nodeBTerminalNode) {
|
|
77
|
+
if (nodeATerminalNode) {
|
|
78
|
+
var terminalNodeA = nodeA, terminalNodeB = nodeB, terminalNodeMatches = this.matchTerminalNode.apply(this, [
|
|
79
|
+
terminalNodeA,
|
|
80
|
+
terminalNodeB
|
|
81
|
+
].concat(_toConsumableArray(remainingArguments)));
|
|
82
|
+
nodeMatches = terminalNodeMatches; ///
|
|
83
|
+
} else {
|
|
84
|
+
var nonTerminalNodeA = nodeA, nonTerminalNodeB = nodeB, nonTerminalNodeMatches = this.matchNonTerminalNode.apply(this, [
|
|
85
|
+
nonTerminalNodeA,
|
|
86
|
+
nonTerminalNodeB
|
|
87
|
+
].concat(_toConsumableArray(remainingArguments)));
|
|
88
|
+
nodeMatches = nonTerminalNodeMatches; ///
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return nodeMatches;
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
key: "matchNodes",
|
|
96
|
+
value: function matchNodes(nodesA, nodesB) {
|
|
97
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
98
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
99
|
+
}
|
|
100
|
+
var _this = this;
|
|
101
|
+
var nodesMatch = false;
|
|
102
|
+
var nodesALength = nodesA.length, nodesBLength = nodesB.length;
|
|
103
|
+
if (nodesALength === nodesBLength) {
|
|
104
|
+
nodesMatch = nodesA.every(function(nodeA, index) {
|
|
105
|
+
var nodeB = nodesB[index], nodeMatches = _this.matchNode.apply(_this, [
|
|
106
|
+
nodeA,
|
|
107
|
+
nodeB
|
|
108
|
+
].concat(_toConsumableArray(remainingArguments)));
|
|
109
|
+
if (nodeMatches) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return nodesMatch;
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "matchTerminalNode",
|
|
119
|
+
value: function matchTerminalNode(terminalNodeA, terminalNodeB) {
|
|
120
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
121
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
122
|
+
}
|
|
123
|
+
var matches = terminalNodeA.match(terminalNodeB), terminalNodeMatches = matches; ///
|
|
124
|
+
return terminalNodeMatches;
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
key: "matchNonTerminalNode",
|
|
129
|
+
value: function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
130
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
131
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
132
|
+
}
|
|
133
|
+
var nonTerminalNodeMatches = false;
|
|
134
|
+
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
|
|
135
|
+
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
136
|
+
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), nodesA = nonTerminalNodeAChildNodes, nodesB = nonTerminalNodeBChildNodes, nodesMatch = this.matchNodes.apply(this, [
|
|
137
|
+
nodesA,
|
|
138
|
+
nodesB
|
|
139
|
+
].concat(_toConsumableArray(remainingArguments)));
|
|
140
|
+
nonTerminalNodeMatches = nodesMatch; ///
|
|
141
|
+
}
|
|
142
|
+
return nonTerminalNodeMatches;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
]);
|
|
146
|
+
return Matcher;
|
|
147
|
+
}();
|
|
34
148
|
var matcher = new Matcher();
|
|
35
149
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXRjaGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNYXRjaGVyIHtcbiAgbWF0Y2hOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub2RlQVRlcm1pbmFsTm9kZSA9IG5vZGVBLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZUJUZXJtaW5hbE5vZGUgPSBub2RlQi5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVBVGVybWluYWxOb2RlID09PSBub2RlQlRlcm1pbmFsTm9kZSkge1xuICAgICAgaWYgKG5vZGVBVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgICB0ZXJtaW5hbE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgdGVybWluYWxOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICBub2RlTWF0Y2hlcyA9IHRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbm9kZUIsIC8vL1xuICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICAgIG5vZGVNYXRjaGVzID0gbm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hOb2Rlcyhub2Rlc0EsIG5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vZGVzTWF0Y2ggPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGVzQUxlbmd0aCA9IG5vZGVzQS5sZW5ndGgsXG4gICAgICAgICAgbm9kZXNCTGVuZ3RoID0gbm9kZXNCLmxlbmd0aDtcblxuICAgIGlmIChub2Rlc0FMZW5ndGggPT09IG5vZGVzQkxlbmd0aCkge1xuICAgICAgbm9kZXNNYXRjaCA9IG5vZGVzQS5ldmVyeSgobm9kZUEsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVCID0gbm9kZXNCW2luZGV4XSxcbiAgICAgICAgICAgICAgbm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoTm9kZShub2RlQSwgbm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgaWYgKG5vZGVNYXRjaGVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVzTWF0Y2g7XG4gIH1cblxuICBtYXRjaFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGVBLCB0ZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdGVybWluYWxOb2RlQS5tYXRjaCh0ZXJtaW5hbE5vZGVCKSxcbiAgICAgICAgICB0ZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gICAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9PT0gbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIG5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgIG5vZGVzQiA9IG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgIG5vZGVzTWF0Y2ggPSB0aGlzLm1hdGNoTm9kZXMobm9kZXNBLCBub2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBub2Rlc01hdGNoOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgbWF0Y2hlciA9IG5ldyBNYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsiTWF0Y2hlciIsIm1hdGNoZXIiLCJtYXRjaE5vZGUiLCJub2RlQSIsIm5vZGVCIiwicmVtYWluaW5nQXJndW1lbnRzIiwibm9kZU1hdGNoZXMiLCJub2RlQVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwibm9kZUJUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVBIiwidGVybWluYWxOb2RlQiIsInRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibWF0Y2hOb2RlcyIsIm5vZGVzQSIsIm5vZGVzQiIsIm5vZGVzTWF0Y2giLCJub2Rlc0FMZW5ndGgiLCJsZW5ndGgiLCJub2Rlc0JMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUVxQkE7O0lBeUVSQyxPQUFPO2VBQVBBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXpFRSxJQUFBLEFBQU1ELHdCQXlFbEIsQUF6RVk7YUFBTUE7OEJBQUFBOztpQkFBQUE7O1lBQ25CRSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsS0FBSyxFQUFFQyxLQUFLLEVBQXlCO2dCQUF2QixJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0MscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxLQUFxQixHQUFyQixPQUFBLEdBQUEsT0FBQSxNQUFBLE9BQUE7b0JBQUdBLG1CQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBcUI7Z0JBQUQ7Z0JBQzFDLElBQUlDLGNBQWMsS0FBSztnQkFFdkIsSUFBTUMsb0JBQW9CSixNQUFNSyxjQUFjLElBQ3hDQyxvQkFBb0JMLE1BQU1JLGNBQWM7Z0JBRTlDLElBQUlELHNCQUFzQkUsbUJBQW1CO29CQUMzQyxJQUFJRixtQkFBbUI7d0JBQ3JCLElBQU1H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
|