occam-verify-cli 0.0.935 → 0.0.937
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 +3 -6
- package/lib/consequent.js +3 -6
- package/lib/context/local.js +1 -1
- package/lib/equality.js +2 -5
- package/lib/premise.js +5 -11
- package/lib/proofStep.js +3 -6
- package/lib/substitution/statementForMetavariable.js +3 -6
- package/lib/supposition.js +5 -11
- package/lib/unifier/equality.js +37 -107
- package/lib/unifier/metaLevel.js +48 -121
- package/lib/unifier/statementAgainstCombinator.js +41 -123
- package/lib/unifier/termAgainstConstructor.js +29 -103
- package/lib/unifier.js +60 -41
- package/lib/unify/metavariableAgainstStatement.js +5 -5
- package/lib/unify/statementAgainstMetaType.js +10 -4
- package/lib/unify/statementAtainstStatement.js +3 -6
- package/lib/unify/termAgainstTerm.js +1 -1
- package/lib/unify/termAgainstType.js +10 -4
- package/lib/utilities/unifier.js +51 -0
- package/lib/verifier/metaLevel.js +48 -128
- package/lib/verifier/statementAsCombinator.js +48 -128
- package/lib/verifier/termAsConstructor.js +42 -112
- package/lib/verifier.js +50 -33
- package/lib/verify/assertion/contained.js +2 -5
- package/lib/verify/assertion/defined.js +2 -5
- package/lib/verify/statement/qualified.js +2 -2
- package/lib/verify/statement.js +23 -13
- package/lib/verify/statementAsCombinator.js +4 -8
- package/lib/verify/term.js +5 -5
- package/lib/verify/termAsConstructor.js +30 -23
- package/package.json +4 -4
- package/src/conclusion.js +5 -9
- package/src/consequent.js +5 -9
- package/src/context/local.js +7 -7
- package/src/equality.js +2 -8
- package/src/premise.js +10 -18
- package/src/proofStep.js +5 -9
- package/src/substitution/statementForMetavariable.js +4 -8
- package/src/supposition.js +10 -18
- package/src/unifier/equality.js +31 -59
- package/src/unifier/metaLevel.js +50 -83
- package/src/unifier/statementAgainstCombinator.js +33 -83
- package/src/unifier/termAgainstConstructor.js +19 -57
- package/src/unifier.js +57 -31
- package/src/unify/metavariableAgainstStatement.js +5 -3
- package/src/unify/statementAgainstMetaType.js +8 -3
- package/src/unify/statementAtainstStatement.js +4 -8
- package/src/unify/termAgainstTerm.js +1 -1
- package/src/unify/termAgainstType.js +7 -3
- package/src/verifier/metaLevel.js +37 -81
- package/src/verifier/statementAsCombinator.js +39 -82
- package/src/verifier/termAsConstructor.js +33 -62
- package/src/verifier.js +47 -21
- package/src/verify/assertion/contained.js +1 -5
- package/src/verify/assertion/defined.js +1 -5
- package/src/verify/statement/qualified.js +2 -2
- package/src/verify/statement.js +31 -19
- package/src/verify/statementAsCombinator.js +3 -11
- package/src/verify/term.js +8 -8
- package/src/verify/termAsConstructor.js +40 -27
- package/lib/unify/argumentAgainstArgument.js +0 -24
- package/lib/utilities/terminalNodes.js +0 -51
- package/src/unify/argumentAgainstArgument.js +0 -15
- /package/src/utilities/{terminalNodes.js → unifier.js} +0 -0
|
@@ -8,9 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var _argumentAgainstArgument = /*#__PURE__*/ _interop_require_default(require("../unify/argumentAgainstArgument"));
|
|
11
|
+
var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
|
|
12
|
+
var _termAgainstType = /*#__PURE__*/ _interop_require_default(require("../unify/termAgainstType"));
|
|
14
13
|
var _statementAgainstMetaType = /*#__PURE__*/ _interop_require_default(require("../unify/statementAgainstMetaType"));
|
|
15
14
|
var _query = require("../utilities/query");
|
|
16
15
|
function _assert_this_initialized(self) {
|
|
@@ -42,21 +41,18 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
42
41
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
43
42
|
return Constructor;
|
|
44
43
|
}
|
|
45
|
-
function
|
|
46
|
-
if (
|
|
47
|
-
|
|
44
|
+
function _define_property(obj, key, value) {
|
|
45
|
+
if (key in obj) {
|
|
46
|
+
Object.defineProperty(obj, key, {
|
|
47
|
+
value: value,
|
|
48
|
+
enumerable: true,
|
|
49
|
+
configurable: true,
|
|
50
|
+
writable: true
|
|
51
|
+
});
|
|
48
52
|
} else {
|
|
49
|
-
|
|
50
|
-
var base = _super_prop_base(target, property);
|
|
51
|
-
if (!base) return;
|
|
52
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
53
|
-
if (desc.get) {
|
|
54
|
-
return desc.get.call(receiver || target);
|
|
55
|
-
}
|
|
56
|
-
return desc.value;
|
|
57
|
-
};
|
|
53
|
+
obj[key] = value;
|
|
58
54
|
}
|
|
59
|
-
return
|
|
55
|
+
return obj;
|
|
60
56
|
}
|
|
61
57
|
function _get_prototype_of(o) {
|
|
62
58
|
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
@@ -82,47 +78,6 @@ function _interop_require_default(obj) {
|
|
|
82
78
|
default: obj
|
|
83
79
|
};
|
|
84
80
|
}
|
|
85
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
86
|
-
if (typeof WeakMap !== "function") return null;
|
|
87
|
-
var cacheBabelInterop = new WeakMap();
|
|
88
|
-
var cacheNodeInterop = new WeakMap();
|
|
89
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
90
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
91
|
-
})(nodeInterop);
|
|
92
|
-
}
|
|
93
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
94
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
95
|
-
return obj;
|
|
96
|
-
}
|
|
97
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
98
|
-
return {
|
|
99
|
-
default: obj
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
103
|
-
if (cache && cache.has(obj)) {
|
|
104
|
-
return cache.get(obj);
|
|
105
|
-
}
|
|
106
|
-
var newObj = {
|
|
107
|
-
__proto__: null
|
|
108
|
-
};
|
|
109
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
110
|
-
for(var key in obj){
|
|
111
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
112
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
113
|
-
if (desc && (desc.get || desc.set)) {
|
|
114
|
-
Object.defineProperty(newObj, key, desc);
|
|
115
|
-
} else {
|
|
116
|
-
newObj[key] = obj[key];
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
newObj.default = obj;
|
|
121
|
-
if (cache) {
|
|
122
|
-
cache.set(obj, newObj);
|
|
123
|
-
}
|
|
124
|
-
return newObj;
|
|
125
|
-
}
|
|
126
81
|
function _possible_constructor_return(self, call) {
|
|
127
82
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
128
83
|
return call;
|
|
@@ -136,13 +91,6 @@ function _set_prototype_of(o, p) {
|
|
|
136
91
|
};
|
|
137
92
|
return _set_prototype_of(o, p);
|
|
138
93
|
}
|
|
139
|
-
function _super_prop_base(object, property) {
|
|
140
|
-
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
141
|
-
object = _get_prototype_of(object);
|
|
142
|
-
if (object === null) break;
|
|
143
|
-
}
|
|
144
|
-
return object;
|
|
145
|
-
}
|
|
146
94
|
function _type_of(obj) {
|
|
147
95
|
"@swc/helpers - typeof";
|
|
148
96
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
@@ -155,7 +103,7 @@ function _is_native_reflect_construct() {
|
|
|
155
103
|
return !!result;
|
|
156
104
|
})();
|
|
157
105
|
}
|
|
158
|
-
var
|
|
106
|
+
var termNodeQuery = (0, _query.nodeQuery)("/term!"), typeNodeQuery = (0, _query.nodeQuery)("/type!"), metaTypeNodeQuery = (0, _query.nodeQuery)("/metaType!"), statementNodeQuery = (0, _query.nodeQuery)("/statement!");
|
|
159
107
|
var StatementAgainstCombinatorUnifier = /*#__PURE__*/ function(Unifier) {
|
|
160
108
|
_inherits(StatementAgainstCombinatorUnifier, Unifier);
|
|
161
109
|
function StatementAgainstCombinatorUnifier() {
|
|
@@ -164,69 +112,39 @@ var StatementAgainstCombinatorUnifier = /*#__PURE__*/ function(Unifier) {
|
|
|
164
112
|
}
|
|
165
113
|
_create_class(StatementAgainstCombinatorUnifier, [
|
|
166
114
|
{
|
|
167
|
-
key: "
|
|
168
|
-
value: function
|
|
169
|
-
var
|
|
170
|
-
var nonTerminalNodeUnified
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
var nonTerminalNodeUnified;
|
|
177
|
-
var metaTypeNodeB = nodeB, statementNodeA = nodeA, statementUnifiedAgainstMetaType = _this.unifyMetaArgumentStatementAgainstMetaType(statementNodeA, metaTypeNodeB, localContext, unifyAhead);
|
|
178
|
-
nonTerminalNodeUnified = statementUnifiedAgainstMetaType; ///
|
|
179
|
-
return nonTerminalNodeUnified;
|
|
180
|
-
}
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
nodeQueryA: argumentNodeQuery,
|
|
184
|
-
nodeQueryB: argumentNodeQuery,
|
|
185
|
-
unify: function(nodeA, nodeB, localContext, unifyAhead) {
|
|
186
|
-
var nonTerminalNodeUnified;
|
|
187
|
-
var argumentNodeA = nodeA, argumentNodeB = nodeB, argumentNodeUnifiedAgainstArgumentNode = _this.unifyArgumentNodeAgainstArgumentNode(argumentNodeA, argumentNodeB, localContext, unifyAhead);
|
|
188
|
-
nonTerminalNodeUnified = argumentNodeUnifiedAgainstArgumentNode; ///
|
|
189
|
-
return nonTerminalNodeUnified;
|
|
190
|
-
}
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
nodeQueryA: nonTerminalNodeQuery,
|
|
194
|
-
nodeQueryB: nonTerminalNodeQuery,
|
|
195
|
-
unify: function(nodeA, nodeB, localContext, unifyAhead) {
|
|
196
|
-
var nonTerminalNodeUnified;
|
|
197
|
-
var _$nonTerminalNodeA = nodeA, _$nonTerminalNodeB = nodeB; ///
|
|
198
|
-
nonTerminalNodeUnified = _get(_get_prototype_of(StatementAgainstCombinatorUnifier.prototype), "unifyNonTerminalNode", _this).call(_this, _$nonTerminalNodeA, _$nonTerminalNodeB, localContext, unifyAhead);
|
|
199
|
-
return nonTerminalNodeUnified;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
];
|
|
203
|
-
var nodesUnified = (0, _unifier.unify)(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, unifyAhead);
|
|
204
|
-
nonTerminalNodeUnified = nodesUnified; ///
|
|
205
|
-
return nonTerminalNodeUnified;
|
|
206
|
-
}
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
key: "unifyMetaArgumentStatementAgainstMetaType",
|
|
210
|
-
value: function unifyMetaArgumentStatementAgainstMetaType(statementNodeA, metaTypeNodeB, localContext, unifyAhead) {
|
|
211
|
-
var statementUnifiedAgainstMetaType;
|
|
212
|
-
var verifyStatement = _shim.default.verifyStatement, metaTypeNode = metaTypeNodeB, statementNode = statementNodeA; ///
|
|
213
|
-
statementUnifiedAgainstMetaType = (0, _statementAgainstMetaType.default)(statementNode, metaTypeNode, localContext, unifyAhead, verifyStatement);
|
|
214
|
-
return statementUnifiedAgainstMetaType;
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
key: "unifyArgumentNodeAgainstArgumentNode",
|
|
219
|
-
value: function unifyArgumentNodeAgainstArgumentNode(argumentNodeA, argumentNodeB, localContext, unifyAhead) {
|
|
220
|
-
var argumentNodeUnifiedAgainstArgumentNode;
|
|
221
|
-
var argumentUnifiedAgainstArgument = (0, _argumentAgainstArgument.default)(argumentNodeA, argumentNodeB, localContext, unifyAhead);
|
|
222
|
-
argumentNodeUnifiedAgainstArgumentNode = argumentUnifiedAgainstArgument; ///
|
|
223
|
-
return argumentNodeUnifiedAgainstArgumentNode;
|
|
115
|
+
key: "unify",
|
|
116
|
+
value: function unify(statementNode, combinatorStatementNode, localContext) {
|
|
117
|
+
var statementUnifiedAgainstCombinator;
|
|
118
|
+
var nonTerminalNodeA = statementNode, nonTerminalNodeB = combinatorStatementNode, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, function() {
|
|
119
|
+
var unifiedAhead = true;
|
|
120
|
+
return unifiedAhead;
|
|
121
|
+
});
|
|
122
|
+
statementUnifiedAgainstCombinator = nonTerminalNodeUnified; ///
|
|
123
|
+
return statementUnifiedAgainstCombinator;
|
|
224
124
|
}
|
|
225
125
|
}
|
|
226
126
|
]);
|
|
227
127
|
return StatementAgainstCombinatorUnifier;
|
|
228
128
|
}(_unifier.default);
|
|
129
|
+
_define_property(StatementAgainstCombinatorUnifier, "maps", [
|
|
130
|
+
{
|
|
131
|
+
nodeQueryA: statementNodeQuery,
|
|
132
|
+
nodeQueryB: metaTypeNodeQuery,
|
|
133
|
+
unify: function(statementNodeA, metaTypeNodeB, localContext, unifyAhead) {
|
|
134
|
+
var statementUnifiedAgainstMetaType = (0, _statementAgainstMetaType.default)(statementNodeA, metaTypeNodeB, localContext, unifyAhead);
|
|
135
|
+
return statementUnifiedAgainstMetaType;
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
nodeQueryA: termNodeQuery,
|
|
140
|
+
nodeQueryB: typeNodeQuery,
|
|
141
|
+
unify: function(termNodeA, typeNodeB, localContext, unifyAhead) {
|
|
142
|
+
var termUnifiedAgainstType = (0, _termAgainstType.default)(termNodeA, typeNodeB, localContext, unifyAhead);
|
|
143
|
+
return termUnifiedAgainstType;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
]);
|
|
229
147
|
var statementAgainstCombinatorUnifier = new StatementAgainstCombinatorUnifier();
|
|
230
148
|
var _default = statementAgainstCombinatorUnifier;
|
|
231
149
|
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL3N0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVW5pZmllciBmcm9tIFwiLi4vdW5pZmllclwiO1xuaW1wb3J0IHVuaWZ5VGVybUFnYWluc3RUeXBlIGZyb20gXCIuLi91bmlmeS90ZXJtQWdhaW5zdFR5cGVcIjtcbmltcG9ydCB1bmlmeVN0YXRlbWVudEFnYWluc3RNZXRhVHlwZSBmcm9tIFwiLi4vdW5pZnkvc3RhdGVtZW50QWdhaW5zdE1ldGFUeXBlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtIVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZSFcIiksXG4gICAgICBtZXRhVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhVHlwZSFcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50IVwiKTtcblxuY2xhc3MgU3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JVbmlmaWVyIGV4dGVuZHMgVW5pZmllciB7XG4gIHVuaWZ5KHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZEFnYWluc3RDb21iaW5hdG9yO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICByZXR1cm4gdW5pZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgc3RhdGVtZW50VW5pZmllZEFnYWluc3RDb21iaW5hdG9yID0gbm9uVGVybWluYWxOb2RlVW5pZmllZDsgLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZEFnYWluc3RDb21iaW5hdG9yO1xuICB9O1xuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeUE6IHN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgIG5vZGVRdWVyeUI6IG1ldGFUeXBlTm9kZVF1ZXJ5LFxuICAgICAgdW5pZnk6IChzdGF0ZW1lbnROb2RlQSwgbWV0YVR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0TWV0YVR5cGUgPSB1bmlmeVN0YXRlbWVudEFnYWluc3RNZXRhVHlwZShzdGF0ZW1lbnROb2RlQSwgbWV0YVR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKTtcblxuICAgICAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZEFnYWluc3RNZXRhVHlwZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeUE6IHRlcm1Ob2RlUXVlcnksXG4gICAgICBub2RlUXVlcnlCOiB0eXBlTm9kZVF1ZXJ5LFxuICAgICAgdW5pZnk6ICh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlcm1VbmlmaWVkQWdhaW5zdFR5cGUgPSB1bmlmeVRlcm1BZ2FpbnN0VHlwZSh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKTtcblxuICAgICAgICByZXR1cm4gdGVybVVuaWZpZWRBZ2FpbnN0VHlwZTtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yVW5pZmllciA9IG5ldyBTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvclVuaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JVbmlmaWVyO1xuIl0sIm5hbWVzIjpbInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwibWV0YVR5cGVOb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvclVuaWZpZXIiLCJ1bmlmeSIsInN0YXRlbWVudE5vZGUiLCJjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0Q29tYmluYXRvciIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVW5pZmllZCIsInVuaWZ5Tm9uVGVybWluYWxOb2RlIiwidW5pZmllZEFoZWFkIiwiVW5pZmllciIsIm1hcHMiLCJub2RlUXVlcnlBIiwibm9kZVF1ZXJ5QiIsInN0YXRlbWVudE5vZGVBIiwibWV0YVR5cGVOb2RlQiIsInVuaWZ5QWhlYWQiLCJzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdE1ldGFUeXBlIiwidW5pZnlTdGF0ZW1lbnRBZ2FpbnN0TWV0YVR5cGUiLCJ0ZXJtTm9kZUEiLCJ0eXBlTm9kZUIiLCJ0ZXJtVW5pZmllZEFnYWluc3RUeXBlIiwidW5pZnlUZXJtQWdhaW5zdFR5cGUiLCJzdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvclVuaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNEQTs7O2VBQUE7Ozs4REFwRG9CO3NFQUNhOytFQUNTO3FCQUVoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUEsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLFdBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUMsV0FDMUJFLG9CQUFvQkYsSUFBQUEsZ0JBQVMsRUFBQyxlQUM5QkcscUJBQXFCSCxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLElBQUEsQUFBTUksa0RBQUQsQUFBTDtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNQyxhQUFhLEVBQUVDLHVCQUF1QixFQUFFQyxZQUFZO2dCQUN4RCxJQUFJQztnQkFFSixJQUFNQyxtQkFBbUJKLGVBQ25CSyxtQkFBbUJKLHlCQUNuQksseUJBQXlCLElBQUksQ0FBQ0Msb0JBQW9CLENBQUNILGtCQUFrQkMsa0JBQWtCSCxjQUFjO29CQUNuRyxJQUFNTSxlQUFlO29CQUVyQixPQUFPQTtnQkFDVDtnQkFFTkwsb0NBQW9DRyx3QkFBd0IsR0FBRztnQkFFL0QsT0FBT0g7WUFDVDs7O1dBZklMO0VBQTBDVyxnQkFBTztBQWlCckQsaUJBakJJWCxtQ0FpQkdZLFFBQU87SUFDWjtRQUNFQyxZQUFZZDtRQUNaZSxZQUFZaEI7UUFDWkcsT0FBTyxTQUFDYyxnQkFBZ0JDLGVBQWVaLGNBQWNhO1lBQ25ELElBQU1DLGtDQUFrQ0MsSUFBQUEsaUNBQTZCLEVBQUNKLGdCQUFnQkMsZUFBZVosY0FBY2E7WUFFbkgsT0FBT0M7UUFDVDtJQUNGO0lBQ0E7UUFDRUwsWUFBWWxCO1FBQ1ptQixZQUFZakI7UUFDWkksT0FBTyxTQUFDbUIsV0FBV0MsV0FBV2pCLGNBQWNhO1lBQzFDLElBQU1LLHlCQUF5QkMsSUFBQUEsd0JBQW9CLEVBQUNILFdBQVdDLFdBQVdqQixjQUFjYTtZQUV4RixPQUFPSztRQUNUO0lBQ0Y7Q0FDRDtBQUdILElBQU1FLG9DQUFvQyxJQUFJeEI7SUFFOUMsV0FBZXdCIn0=
|
|
@@ -8,8 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
12
|
-
var _unifier = /*#__PURE__*/ _interop_require_wildcard(require("../unifier"));
|
|
11
|
+
var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
|
|
13
12
|
var _termAgainstType = /*#__PURE__*/ _interop_require_default(require("../unify/termAgainstType"));
|
|
14
13
|
var _query = require("../utilities/query");
|
|
15
14
|
function _assert_this_initialized(self) {
|
|
@@ -41,21 +40,18 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
41
40
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
42
41
|
return Constructor;
|
|
43
42
|
}
|
|
44
|
-
function
|
|
45
|
-
if (
|
|
46
|
-
|
|
43
|
+
function _define_property(obj, key, value) {
|
|
44
|
+
if (key in obj) {
|
|
45
|
+
Object.defineProperty(obj, key, {
|
|
46
|
+
value: value,
|
|
47
|
+
enumerable: true,
|
|
48
|
+
configurable: true,
|
|
49
|
+
writable: true
|
|
50
|
+
});
|
|
47
51
|
} else {
|
|
48
|
-
|
|
49
|
-
var base = _super_prop_base(target, property);
|
|
50
|
-
if (!base) return;
|
|
51
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
52
|
-
if (desc.get) {
|
|
53
|
-
return desc.get.call(receiver || target);
|
|
54
|
-
}
|
|
55
|
-
return desc.value;
|
|
56
|
-
};
|
|
52
|
+
obj[key] = value;
|
|
57
53
|
}
|
|
58
|
-
return
|
|
54
|
+
return obj;
|
|
59
55
|
}
|
|
60
56
|
function _get_prototype_of(o) {
|
|
61
57
|
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
@@ -81,47 +77,6 @@ function _interop_require_default(obj) {
|
|
|
81
77
|
default: obj
|
|
82
78
|
};
|
|
83
79
|
}
|
|
84
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
85
|
-
if (typeof WeakMap !== "function") return null;
|
|
86
|
-
var cacheBabelInterop = new WeakMap();
|
|
87
|
-
var cacheNodeInterop = new WeakMap();
|
|
88
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
89
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
90
|
-
})(nodeInterop);
|
|
91
|
-
}
|
|
92
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
93
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
94
|
-
return obj;
|
|
95
|
-
}
|
|
96
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
97
|
-
return {
|
|
98
|
-
default: obj
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
102
|
-
if (cache && cache.has(obj)) {
|
|
103
|
-
return cache.get(obj);
|
|
104
|
-
}
|
|
105
|
-
var newObj = {
|
|
106
|
-
__proto__: null
|
|
107
|
-
};
|
|
108
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
109
|
-
for(var key in obj){
|
|
110
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
111
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
112
|
-
if (desc && (desc.get || desc.set)) {
|
|
113
|
-
Object.defineProperty(newObj, key, desc);
|
|
114
|
-
} else {
|
|
115
|
-
newObj[key] = obj[key];
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
newObj.default = obj;
|
|
120
|
-
if (cache) {
|
|
121
|
-
cache.set(obj, newObj);
|
|
122
|
-
}
|
|
123
|
-
return newObj;
|
|
124
|
-
}
|
|
125
80
|
function _possible_constructor_return(self, call) {
|
|
126
81
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
127
82
|
return call;
|
|
@@ -135,13 +90,6 @@ function _set_prototype_of(o, p) {
|
|
|
135
90
|
};
|
|
136
91
|
return _set_prototype_of(o, p);
|
|
137
92
|
}
|
|
138
|
-
function _super_prop_base(object, property) {
|
|
139
|
-
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
140
|
-
object = _get_prototype_of(object);
|
|
141
|
-
if (object === null) break;
|
|
142
|
-
}
|
|
143
|
-
return object;
|
|
144
|
-
}
|
|
145
93
|
function _type_of(obj) {
|
|
146
94
|
"@swc/helpers - typeof";
|
|
147
95
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
@@ -154,7 +102,7 @@ function _is_native_reflect_construct() {
|
|
|
154
102
|
return !!result;
|
|
155
103
|
})();
|
|
156
104
|
}
|
|
157
|
-
var termNodeQuery = (0, _query.nodeQuery)("/
|
|
105
|
+
var termNodeQuery = (0, _query.nodeQuery)("/term"), typeNodeQuery = (0, _query.nodeQuery)("/type");
|
|
158
106
|
var TermAgainstConstructorUnifier = /*#__PURE__*/ function(Unifier) {
|
|
159
107
|
_inherits(TermAgainstConstructorUnifier, Unifier);
|
|
160
108
|
function TermAgainstConstructorUnifier() {
|
|
@@ -163,50 +111,28 @@ var TermAgainstConstructorUnifier = /*#__PURE__*/ function(Unifier) {
|
|
|
163
111
|
}
|
|
164
112
|
_create_class(TermAgainstConstructorUnifier, [
|
|
165
113
|
{
|
|
166
|
-
key: "
|
|
167
|
-
value: function
|
|
168
|
-
var
|
|
169
|
-
var
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
nodeQueryA: termNodeQuery,
|
|
173
|
-
nodeQueryB: typeNodeQuery,
|
|
174
|
-
unify: function(nodeA, nodeB, localContext, unifyAhead) {
|
|
175
|
-
var nonTerminalNodUnified;
|
|
176
|
-
var termNodeA = nodeA, typeNodeB = nodeB, termNodUnifiedAgainstTypeNode = _this.unifyTermNodeAgainstTypeNode(termNodeA, typeNodeB, localContext, unifyAhead);
|
|
177
|
-
nonTerminalNodUnified = termNodUnifiedAgainstTypeNode; ///
|
|
178
|
-
return nonTerminalNodUnified;
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
nodeQueryA: nonTerminalNodeQuery,
|
|
183
|
-
nodeQueryB: nonTerminalNodeQuery,
|
|
184
|
-
unify: function(nodeA, nodeB, localContext, unifyAhead) {
|
|
185
|
-
var nonTerminalNodUnified;
|
|
186
|
-
var _$nonTerminalNodeA = nodeA, _$nonTerminalNodeB = nodeB; ///
|
|
187
|
-
nonTerminalNodUnified = _get(_get_prototype_of(TermAgainstConstructorUnifier.prototype), "unifyNonTerminalNode", _this).call(_this, _$nonTerminalNodeA, _$nonTerminalNodeB, localContext, unifyAhead);
|
|
188
|
-
return nonTerminalNodUnified;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
];
|
|
192
|
-
var nodesVerified = (0, _unifier.unify)(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, unifyAhead);
|
|
193
|
-
nonTerminalNodUnified = nodesVerified; ///
|
|
194
|
-
return nonTerminalNodUnified;
|
|
195
|
-
}
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
key: "unifyTermNodeAgainstTypeNode",
|
|
199
|
-
value: function unifyTermNodeAgainstTypeNode(termNodeA, typeNodeB, localContext, unifyAhead) {
|
|
200
|
-
var termNodUnifiedAgainstTypeNode;
|
|
201
|
-
var verifyTerm = _shim.default.verifyTerm, termNode = termNodeA, typeNode = typeNodeB, typeUnifiedAgainstTerm = (0, _termAgainstType.default)(termNode, typeNode, localContext, unifyAhead, verifyTerm);
|
|
202
|
-
termNodUnifiedAgainstTypeNode = typeUnifiedAgainstTerm; ///
|
|
203
|
-
return termNodUnifiedAgainstTypeNode;
|
|
114
|
+
key: "unify",
|
|
115
|
+
value: function unify(termNode, constructorTermNode, localContext, unifyAhead) {
|
|
116
|
+
var termUnifiedAgainstConstructor;
|
|
117
|
+
var nonTerminalNodeA = termNode, nonTerminalNodeB = constructorTermNode, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, unifyAhead);
|
|
118
|
+
termUnifiedAgainstConstructor = nonTerminalNodeUnified; ///
|
|
119
|
+
return termUnifiedAgainstConstructor;
|
|
204
120
|
}
|
|
205
121
|
}
|
|
206
122
|
]);
|
|
207
123
|
return TermAgainstConstructorUnifier;
|
|
208
124
|
}(_unifier.default);
|
|
125
|
+
_define_property(TermAgainstConstructorUnifier, "maps", [
|
|
126
|
+
{
|
|
127
|
+
nodeQueryA: termNodeQuery,
|
|
128
|
+
nodeQueryB: typeNodeQuery,
|
|
129
|
+
unify: function(termNodeA, typeNodeB, localContext, unifyAhead) {
|
|
130
|
+
var termUnifiedAgainstType = (0, _termAgainstType.default)(termNodeA, typeNodeB, localContext, unifyAhead);
|
|
131
|
+
return termUnifiedAgainstType;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
]);
|
|
209
135
|
var termAgainstConstructorUnifier = new TermAgainstConstructorUnifier();
|
|
210
136
|
var _default = termAgainstConstructorUnifier;
|
|
211
137
|
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL3Rlcm1BZ2FpbnN0Q29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyXCI7XG5pbXBvcnQgdW5pZnlUZXJtQWdhaW5zdFR5cGUgZnJvbSBcIi4uL3VuaWZ5L3Rlcm1BZ2FpbnN0VHlwZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZVwiKTtcblxuY2xhc3MgVGVybUFnYWluc3RDb25zdHJ1Y3RvclVuaWZpZXIgZXh0ZW5kcyBVbmlmaWVyIHtcbiAgdW5pZnkodGVybU5vZGUsIGNvbnN0cnVjdG9yVGVybU5vZGUsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCkge1xuICAgIGxldCB0ZXJtVW5pZmllZEFnYWluc3RDb25zdHJ1Y3RvcjtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0ZXJtTm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IGNvbnN0cnVjdG9yVGVybU5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGxvY2FsQ29udGV4dCwgdW5pZnlBaGVhZCk7XG5cbiAgICB0ZXJtVW5pZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIHRlcm1VbmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yO1xuICB9O1xuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeUE6IHRlcm1Ob2RlUXVlcnksXG4gICAgICBub2RlUXVlcnlCOiB0eXBlTm9kZVF1ZXJ5LFxuICAgICAgdW5pZnk6ICh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlcm1VbmlmaWVkQWdhaW5zdFR5cGUgPSB1bmlmeVRlcm1BZ2FpbnN0VHlwZSh0ZXJtTm9kZUEsIHR5cGVOb2RlQiwgbG9jYWxDb250ZXh0LCB1bmlmeUFoZWFkKTtcblxuICAgICAgICByZXR1cm4gdGVybVVuaWZpZWRBZ2FpbnN0VHlwZTtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyID0gbmV3IFRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyO1xuIl0sIm5hbWVzIjpbInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiVGVybUFnYWluc3RDb25zdHJ1Y3RvclVuaWZpZXIiLCJ1bmlmeSIsInRlcm1Ob2RlIiwiY29uc3RydWN0b3JUZXJtTm9kZSIsImxvY2FsQ29udGV4dCIsInVuaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZEFnYWluc3RDb25zdHJ1Y3RvciIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVW5pZmllZCIsInVuaWZ5Tm9uVGVybWluYWxOb2RlIiwiVW5pZmllciIsIm1hcHMiLCJub2RlUXVlcnlBIiwibm9kZVF1ZXJ5QiIsInRlcm1Ob2RlQSIsInR5cGVOb2RlQiIsInRlcm1VbmlmaWVkQWdhaW5zdFR5cGUiLCJ1bmlmeVRlcm1BZ2FpbnN0VHlwZSIsInRlcm1BZ2FpbnN0Q29uc3RydWN0b3JVbmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzQ0E7OztlQUFBOzs7OERBcENvQjtzRUFDYTtxQkFFUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUEsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLFVBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFaEMsSUFBQSxBQUFNRSw4Q0FBRCxBQUFMO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLFFBQVEsRUFBRUMsbUJBQW1CLEVBQUVDLFlBQVksRUFBRUMsVUFBVTtnQkFDM0QsSUFBSUM7Z0JBRUosSUFBTUMsbUJBQW1CTCxVQUNuQk0sbUJBQW1CTCxxQkFDbkJNLHlCQUF5QixJQUFJLENBQUNDLG9CQUFvQixDQUFDSCxrQkFBa0JDLGtCQUFrQkosY0FBY0M7Z0JBRTNHQyxnQ0FBZ0NHLHdCQUF3QixHQUFHO2dCQUUzRCxPQUFPSDtZQUNUOzs7V0FYSU47RUFBc0NXLGdCQUFPO0FBYWpELGlCQWJJWCwrQkFhR1ksUUFBTztJQUNaO1FBQ0VDLFlBQVloQjtRQUNaaUIsWUFBWWY7UUFDWkUsT0FBTyxTQUFDYyxXQUFXQyxXQUFXWixjQUFjQztZQUMxQyxJQUFNWSx5QkFBeUJDLElBQUFBLHdCQUFvQixFQUFDSCxXQUFXQyxXQUFXWixjQUFjQztZQUV4RixPQUFPWTtRQUNUO0lBQ0Y7Q0FDRDtBQUdILElBQU1FLGdDQUFnQyxJQUFJbkI7SUFFMUMsV0FBZW1CIn0=
|
package/lib/unifier.js
CHANGED
|
@@ -2,21 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
13
8
|
return Unifier;
|
|
14
|
-
},
|
|
15
|
-
unify: function() {
|
|
16
|
-
return unify;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
|
-
var
|
|
11
|
+
var _query = require("./utilities/query");
|
|
12
|
+
var _unifier = require("./utilities/unifier");
|
|
20
13
|
function _array_like_to_array(arr, len) {
|
|
21
14
|
if (len == null || len > arr.length) len = arr.length;
|
|
22
15
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -61,11 +54,27 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
61
54
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
62
55
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
63
56
|
}
|
|
57
|
+
var nonTerminalNodeQuery = (0, _query.nodeQuery)("/*");
|
|
64
58
|
var Unifier = /*#__PURE__*/ function() {
|
|
65
59
|
function Unifier() {
|
|
66
60
|
_class_call_check(this, Unifier);
|
|
67
61
|
}
|
|
68
62
|
_create_class(Unifier, [
|
|
63
|
+
{
|
|
64
|
+
key: "unify",
|
|
65
|
+
value: function unify(nodeA, nodeB) {
|
|
66
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
67
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
68
|
+
}
|
|
69
|
+
var unified;
|
|
70
|
+
var nodeUnified = this.unifyNode.apply(this, [
|
|
71
|
+
nodeA,
|
|
72
|
+
nodeB
|
|
73
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
74
|
+
unified = nodeUnified; ///
|
|
75
|
+
return unified;
|
|
76
|
+
}
|
|
77
|
+
},
|
|
69
78
|
{
|
|
70
79
|
key: "unifyNode",
|
|
71
80
|
value: function unifyNode(nodeA, nodeB) {
|
|
@@ -101,7 +110,7 @@ var Unifier = /*#__PURE__*/ function() {
|
|
|
101
110
|
var childNodesUnified = false;
|
|
102
111
|
var childNodesALength = childNodesA.length, childNodesBLength = childNodesB.length;
|
|
103
112
|
if (childNodesALength === childNodesBLength) {
|
|
104
|
-
var childTerminalNodeMapA = (0,
|
|
113
|
+
var childTerminalNodeMapA = (0, _unifier.terminalNodeMapFromNodes)(childNodesA), childTerminalNodeMapB = (0, _unifier.terminalNodeMapFromNodes)(childNodesB), terminalNodeMapsEqual = (0, _unifier.areTerminalNodeMapsEqual)(childTerminalNodeMapA, childTerminalNodeMapB);
|
|
105
114
|
if (terminalNodeMapsEqual) {
|
|
106
115
|
var index = 0, childNodesVerifyAhead = this.unifyChildNodesAhead.apply(this, [
|
|
107
116
|
index,
|
|
@@ -132,15 +141,43 @@ var Unifier = /*#__PURE__*/ function() {
|
|
|
132
141
|
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
133
142
|
remainingArguments[_key - 2] = arguments[_key];
|
|
134
143
|
}
|
|
135
|
-
var
|
|
136
|
-
var
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
var _this = this;
|
|
145
|
+
var nonTerminalNodeUnified;
|
|
146
|
+
var maps = this.constructor.maps;
|
|
147
|
+
maps = _to_consumable_array(maps).concat([
|
|
148
|
+
{
|
|
149
|
+
nodeQueryA: nonTerminalNodeQuery,
|
|
150
|
+
nodeQueryB: nonTerminalNodeQuery,
|
|
151
|
+
unify: function(nodeA, nobeB) {
|
|
152
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
153
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
154
|
+
}
|
|
155
|
+
var nonTerminalNodeUnified;
|
|
156
|
+
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
|
|
157
|
+
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
158
|
+
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesUnified = _this.unifyChildNodes.apply(_this, [
|
|
159
|
+
childNodesA,
|
|
160
|
+
childNodesB
|
|
161
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
162
|
+
nonTerminalNodeUnified = childNodesUnified; ///
|
|
163
|
+
}
|
|
164
|
+
return nonTerminalNodeUnified;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
]);
|
|
168
|
+
var nodeUnified = false;
|
|
169
|
+
maps.some(function(map) {
|
|
170
|
+
var nodeQueryA = map.nodeQueryA, nodeQueryB = map.nodeQueryB, unify = map.unify;
|
|
171
|
+
var nodeA = nodeQueryA(nonTerminalNodeA), nodeB = nodeQueryB(nonTerminalNodeB); ///
|
|
172
|
+
if (nodeA !== null && nodeB !== null) {
|
|
173
|
+
nodeUnified = unify.apply(void 0, [
|
|
174
|
+
nodeA,
|
|
175
|
+
nodeB
|
|
176
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
nonTerminalNodeUnified = nodeUnified; ///
|
|
144
181
|
return nonTerminalNodeUnified;
|
|
145
182
|
}
|
|
146
183
|
},
|
|
@@ -179,23 +216,5 @@ var Unifier = /*#__PURE__*/ function() {
|
|
|
179
216
|
]);
|
|
180
217
|
return Unifier;
|
|
181
218
|
}();
|
|
182
|
-
function unify(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB) {
|
|
183
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++){
|
|
184
|
-
remainingArguments[_key - 3] = arguments[_key];
|
|
185
|
-
}
|
|
186
|
-
var unified = false;
|
|
187
|
-
nodeQueryMaps.some(function(nodeQueryMap) {
|
|
188
|
-
var nodeQueryA = nodeQueryMap.nodeQueryA, nodeQueryB = nodeQueryMap.nodeQueryB, unify = nodeQueryMap.unify;
|
|
189
|
-
var nodeA = nodeQueryA(nonTerminalNodeA), nodeB = nodeQueryB(nonTerminalNodeB); ///
|
|
190
|
-
if (nodeA !== null && nodeB !== null) {
|
|
191
|
-
unified = unify.apply(void 0, [
|
|
192
|
-
nodeA,
|
|
193
|
-
nodeB
|
|
194
|
-
].concat(_to_consumable_array(remainingArguments)));
|
|
195
|
-
return true;
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
return unified;
|
|
199
|
-
}
|
|
200
219
|
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91bmlmaWVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyB0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMsIGFyZVRlcm1pbmFsTm9kZU1hcHNFcXVhbCB9IGZyb20gXCIuL3V0aWxpdGllcy90ZXJtaW5hbE5vZGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVuaWZpZXIge1xuICB1bmlmeU5vZGUobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgbm9kZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGVBVGVybWluYWxOb2RlID0gbm9kZUEuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBub2RlQlRlcm1pbmFsTm9kZSA9IG5vZGVCLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZUFOb25UZXJtaW5hbE5vZGUgPSBub2RlQS5pc05vblRlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIG5vZGVCTm9uVGVybWluYWxOb2RlID0gbm9kZUIuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChub2RlQVRlcm1pbmFsTm9kZSAmJiBub2RlQlRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZUEsIHRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVVbmlmaWVkID0gdGVybWluYWxOb2RlVW5pZmllZDsgIC8vL1xuICAgIH0gZWxzZSBpZiAobm9kZUFOb25UZXJtaW5hbE5vZGUgJiYgbm9kZUJOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IG5vZGVCLCAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVVbmlmaWVkID0gbm9uVGVybWluYWxOb2RlVW5pZmllZDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IGNoaWxkTm9kZXNVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aCxcbiAgICAgICAgICBjaGlsZE5vZGVzQkxlbmd0aCA9IGNoaWxkTm9kZXNCLmxlbmd0aDtcblxuICAgIGlmIChjaGlsZE5vZGVzQUxlbmd0aCA9PT0gY2hpbGROb2Rlc0JMZW5ndGgpIHtcbiAgICAgIGNvbnN0IGNoaWxkVGVybWluYWxOb2RlTWFwQSA9IHRlcm1pbmFsTm9kZU1hcEZyb21Ob2RlcyhjaGlsZE5vZGVzQSksXG4gICAgICAgICAgICBjaGlsZFRlcm1pbmFsTm9kZU1hcEIgPSB0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMoY2hpbGROb2Rlc0IpLFxuICAgICAgICAgICAgdGVybWluYWxOb2RlTWFwc0VxdWFsID0gYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsKGNoaWxkVGVybWluYWxOb2RlTWFwQSwgY2hpbGRUZXJtaW5hbE5vZGVNYXBCKTtcblxuICAgICAgaWYgKHRlcm1pbmFsTm9kZU1hcHNFcXVhbCkge1xuICAgICAgICBjb25zdCBpbmRleCA9IDAsXG4gICAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZnlBaGVhZCA9IHRoaXMudW5pZnlDaGlsZE5vZGVzQWhlYWQoaW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICBjaGlsZE5vZGVzVW5pZmllZCA9IGNoaWxkTm9kZXNWZXJpZnlBaGVhZDsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7IC8vL1xuICAgIGxldCB0ZXJtaW5hbE5vZGVVbmlmaWVkO1xuXG4gICAgY29uc3QgdW5pZnlBaGVhZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICB1bmlmeWllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuXG4gICAgdGVybWluYWxOb2RlVW5pZmllZCA9IHVuaWZ5aWVkQWhlYWQ7ICAvLy9cblxuICAgIHJldHVybiB0ZXJtaW5hbE5vZGVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICAgIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICBjaGlsZE5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgIGNoaWxkTm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2Rlc1VuaWZpZWQgPSB0aGlzLnVuaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzQSwgY2hpbGROb2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSBjaGlsZE5vZGVzVW5pZmllZDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeUNoaWxkTm9kZXNBaGVhZChpbmRleCwgY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1VuaWZpZWQ7XG5cbiAgICBjb25zdCB1bmlmeUFoZWFkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aDtcblxuICAgIGlmIChpbmRleCA9PT0gY2hpbGROb2Rlc0FMZW5ndGgpIHtcbiAgICAgIGNvbnN0IHVuaWZ5aWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG5cbiAgICAgIGNoaWxkTm9kZXNVbmlmaWVkID0gdW5pZnlpZWRBaGVhZDsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZUEgPSBjaGlsZE5vZGVzQVtpbmRleF0sXG4gICAgICAgICAgICBjaGlsZE5vZGVCID0gY2hpbGROb2Rlc0JbaW5kZXhdLFxuICAgICAgICAgICAgbm9kZUEgPSBjaGlsZE5vZGVBLCAvLy9cbiAgICAgICAgICAgIG5vZGVCID0gY2hpbGROb2RlQiwgLy8vXG4gICAgICAgICAgICBub2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoKSA9PiB7XG4gICAgICAgICAgICAgIHJlbWFpbmluZ0FyZ3VtZW50cy5wdXNoKHVuaWZ5QWhlYWQpOyAvLy9cblxuICAgICAgICAgICAgICBjb25zdCBhaGVhZEluZGV4ID0gaW5kZXggKyAxLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQgPSB0aGlzLnVuaWZ5Q2hpbGROb2Rlc0FoZWFkKGFoZWFkSW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICAgICAgICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmeUFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGNoaWxkTm9kZXNVbmlmaWVkID0gbm9kZVVuaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc1VuaWZpZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaWZ5KG5vZGVRdWVyeU1hcHMsIG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgdW5pZmllZCA9IGZhbHNlO1xuXG4gIG5vZGVRdWVyeU1hcHMuc29tZSgobm9kZVF1ZXJ5TWFwKSA9PiB7XG4gICAgY29uc3QgeyBub2RlUXVlcnlBLCBub2RlUXVlcnlCLCB1bmlmeSB9ID0gbm9kZVF1ZXJ5TWFwO1xuXG4gICAgY29uc3Qgbm9kZUEgPSBub2RlUXVlcnlBKG5vblRlcm1pbmFsTm9kZUEpLCAgLy8vXG4gICAgICAgICAgbm9kZUIgPSBub2RlUXVlcnlCKG5vblRlcm1pbmFsTm9kZUIpOyAgLy8vXG5cbiAgICBpZiAoKG5vZGVBICE9PSBudWxsKSAmJiAobm9kZUIgIT09IG51bGwpKSB7XG4gICAgICB1bmlmaWVkID0gdW5pZnkobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1bmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbIlVuaWZpZXIiLCJ1bmlmeSIsInVuaWZ5Tm9kZSIsIm5vZGVBIiwibm9kZUIiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJub2RlVW5pZmllZCIsIm5vZGVBVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJub2RlQlRlcm1pbmFsTm9kZSIsIm5vZGVBTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub2RlQk5vblRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZUEiLCJ0ZXJtaW5hbE5vZGVCIiwidGVybWluYWxOb2RlVW5pZmllZCIsInVuaWZ5VGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVVbmlmaWVkIiwidW5pZnlOb25UZXJtaW5hbE5vZGUiLCJ1bmlmeUNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQSIsImNoaWxkTm9kZXNCIiwiY2hpbGROb2Rlc1VuaWZpZWQiLCJjaGlsZE5vZGVzQUxlbmd0aCIsImxlbmd0aCIsImNoaWxkTm9kZXNCTGVuZ3RoIiwiY2hpbGRUZXJtaW5hbE5vZGVNYXBBIiwidGVybWluYWxOb2RlTWFwRnJvbU5vZGVzIiwiY2hpbGRUZXJtaW5hbE5vZGVNYXBCIiwidGVybWluYWxOb2RlTWFwc0VxdWFsIiwiYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsIiwiaW5kZXgiLCJjaGlsZE5vZGVzVmVyaWZ5QWhlYWQiLCJ1bmlmeUNoaWxkTm9kZXNBaGVhZCIsInVuaWZ5QWhlYWQiLCJwb3AiLCJ1bmlmeWllZEFoZWFkIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyIsImNoaWxkTm9kZUEiLCJjaGlsZE5vZGVCIiwicHVzaCIsImFoZWFkSW5kZXgiLCJub2RlUXVlcnlNYXBzIiwidW5pZmllZCIsInNvbWUiLCJub2RlUXVlcnlNYXAiLCJub2RlUXVlcnlBIiwibm9kZVF1ZXJ5QiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUlxQkE7O0lBK0dMQyxLQUFLO2VBQUxBOzs7NkJBakhtRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXBELElBQUEsQUFBTUQsd0JBQUQsQUFBTDthQUFNQTtnQ0FBQUE7O2tCQUFBQTs7WUFDbkJFLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVQyxLQUFLLEVBQUVDLEtBQUs7Z0JBQUUsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLHFCQUFILFVBQUEsT0FBQSxJQUFBLE9BQUEsUUFBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO29CQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCOztnQkFDM0MsSUFBSUMsY0FBYztnQkFFbEIsSUFBTUMsb0JBQW9CSixNQUFNSyxjQUFjLElBQ3hDQyxvQkFBb0JMLE1BQU1JLGNBQWMsSUFDeENFLHVCQUF1QlAsTUFBTVEsaUJBQWlCLElBQzlDQyx1QkFBdUJSLE1BQU1PLGlCQUFpQjtnQkFFcEQsSUFBSSxPQUFPO2dCQUNULEdBQUc7Z0JBQ0wsT0FBTyxJQUFJSixxQkFBcUJFLG1CQUFtQjtvQkFDakQsSUFBTUksZ0JBQWdCVixPQUNoQlcsZ0JBQWdCVixPQUNoQlcsc0JBQXNCLElBQUksQ0FBQ0MsaUJBQWlCLENBQXRCLE1BQUEsSUFBSSxFQUFKO3dCQUF1Qkg7d0JBQWVD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
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91bmlmaWVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHRlcm1pbmFsTm9kZU1hcEZyb21Ob2RlcywgYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VuaWZpZXJcIjtcblxuY29uc3Qgbm9uVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvKlwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVW5pZmllciB7XG4gIHVuaWZ5KG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IHVuaWZpZWQ7XG5cbiAgICBjb25zdCBub2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHVuaWZpZWQgPSBub2RlVW5pZmllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeU5vZGUobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgbm9kZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGVBVGVybWluYWxOb2RlID0gbm9kZUEuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBub2RlQlRlcm1pbmFsTm9kZSA9IG5vZGVCLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZUFOb25UZXJtaW5hbE5vZGUgPSBub2RlQS5pc05vblRlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIG5vZGVCTm9uVGVybWluYWxOb2RlID0gbm9kZUIuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChub2RlQVRlcm1pbmFsTm9kZSAmJiBub2RlQlRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZUEsIHRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVVbmlmaWVkID0gdGVybWluYWxOb2RlVW5pZmllZDsgIC8vL1xuICAgIH0gZWxzZSBpZiAobm9kZUFOb25UZXJtaW5hbE5vZGUgJiYgbm9kZUJOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IG5vZGVCLCAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVVbmlmaWVkID0gbm9uVGVybWluYWxOb2RlVW5pZmllZDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IGNoaWxkTm9kZXNVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aCxcbiAgICAgICAgICBjaGlsZE5vZGVzQkxlbmd0aCA9IGNoaWxkTm9kZXNCLmxlbmd0aDtcblxuICAgIGlmIChjaGlsZE5vZGVzQUxlbmd0aCA9PT0gY2hpbGROb2Rlc0JMZW5ndGgpIHtcbiAgICAgIGNvbnN0IGNoaWxkVGVybWluYWxOb2RlTWFwQSA9IHRlcm1pbmFsTm9kZU1hcEZyb21Ob2RlcyhjaGlsZE5vZGVzQSksXG4gICAgICAgICAgICBjaGlsZFRlcm1pbmFsTm9kZU1hcEIgPSB0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMoY2hpbGROb2Rlc0IpLFxuICAgICAgICAgICAgdGVybWluYWxOb2RlTWFwc0VxdWFsID0gYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsKGNoaWxkVGVybWluYWxOb2RlTWFwQSwgY2hpbGRUZXJtaW5hbE5vZGVNYXBCKTtcblxuICAgICAgaWYgKHRlcm1pbmFsTm9kZU1hcHNFcXVhbCkge1xuICAgICAgICBjb25zdCBpbmRleCA9IDAsXG4gICAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZnlBaGVhZCA9IHRoaXMudW5pZnlDaGlsZE5vZGVzQWhlYWQoaW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICBjaGlsZE5vZGVzVW5pZmllZCA9IGNoaWxkTm9kZXNWZXJpZnlBaGVhZDsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7IC8vL1xuICAgIGxldCB0ZXJtaW5hbE5vZGVVbmlmaWVkO1xuXG4gICAgY29uc3QgdW5pZnlBaGVhZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICB1bmlmeWllZEFoZWFkID0gdW5pZnlBaGVhZCgpO1xuXG4gICAgdGVybWluYWxOb2RlVW5pZmllZCA9IHVuaWZ5aWVkQWhlYWQ7ICAvLy9cblxuICAgIHJldHVybiB0ZXJtaW5hbE5vZGVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7XG5cbiAgICBsZXQgeyBtYXBzIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgbWFwcyA9IFsgLy8vXG4gICAgICAuLi5tYXBzLFxuICAgICAge1xuICAgICAgICBub2RlUXVlcnlBOiBub25UZXJtaW5hbE5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5Qjogbm9uVGVybWluYWxOb2RlUXVlcnksXG4gICAgICAgIHVuaWZ5OiAobm9kZUEsIG5vYmVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpID0+IHtcbiAgICAgICAgICBsZXQgbm9uVGVybWluYWxOb2RlVW5pZmllZDtcblxuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICAgICAgICAgIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgICAgICBjaGlsZE5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICAgICAgY2hpbGROb2Rlc1VuaWZpZWQgPSB0aGlzLnVuaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzQSwgY2hpbGROb2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSBjaGlsZE5vZGVzVW5pZmllZDsgLy8vXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdXG5cbiAgICBsZXQgbm9kZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIG1hcHMuc29tZSgobWFwKSA9PiB7XG4gICAgICBjb25zdCB7IG5vZGVRdWVyeUEsIG5vZGVRdWVyeUIsIHVuaWZ5IH0gPSBtYXA7XG5cbiAgICAgIGNvbnN0IG5vZGVBID0gbm9kZVF1ZXJ5QShub25UZXJtaW5hbE5vZGVBKSwgIC8vL1xuICAgICAgICAgICAgbm9kZUIgPSBub2RlUXVlcnlCKG5vblRlcm1pbmFsTm9kZUIpOyAgLy8vXG5cbiAgICAgIGlmICgobm9kZUEgIT09IG51bGwpICYmIChub2RlQiAhPT0gbnVsbCkpIHtcbiAgICAgICAgbm9kZVVuaWZpZWQgPSB1bmlmeShub2RlQSwgbm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBub25UZXJtaW5hbE5vZGVVbmlmaWVkID0gbm9kZVVuaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeUNoaWxkTm9kZXNBaGVhZChpbmRleCwgY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1VuaWZpZWQ7XG5cbiAgICBjb25zdCB1bmlmeUFoZWFkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aDtcblxuICAgIGlmIChpbmRleCA9PT0gY2hpbGROb2Rlc0FMZW5ndGgpIHtcbiAgICAgIGNvbnN0IHVuaWZ5aWVkQWhlYWQgPSB1bmlmeUFoZWFkKCk7XG5cbiAgICAgIGNoaWxkTm9kZXNVbmlmaWVkID0gdW5pZnlpZWRBaGVhZDsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZUEgPSBjaGlsZE5vZGVzQVtpbmRleF0sXG4gICAgICAgICAgICBjaGlsZE5vZGVCID0gY2hpbGROb2Rlc0JbaW5kZXhdLFxuICAgICAgICAgICAgbm9kZUEgPSBjaGlsZE5vZGVBLCAvLy9cbiAgICAgICAgICAgIG5vZGVCID0gY2hpbGROb2RlQiwgLy8vXG4gICAgICAgICAgICBub2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoKSA9PiB7XG4gICAgICAgICAgICAgIHJlbWFpbmluZ0FyZ3VtZW50cy5wdXNoKHVuaWZ5QWhlYWQpOyAvLy9cblxuICAgICAgICAgICAgICBjb25zdCBhaGVhZEluZGV4ID0gaW5kZXggKyAxLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQgPSB0aGlzLnVuaWZ5Q2hpbGROb2Rlc0FoZWFkKGFoZWFkSW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICAgICAgICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmeUFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGNoaWxkTm9kZXNVbmlmaWVkID0gbm9kZVVuaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc1VuaWZpZWQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJVbmlmaWVyIiwibm9uVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bmlmeSIsIm5vZGVBIiwibm9kZUIiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJ1bmlmaWVkIiwibm9kZVVuaWZpZWQiLCJ1bmlmeU5vZGUiLCJub2RlQVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwibm9kZUJUZXJtaW5hbE5vZGUiLCJub2RlQU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9kZUJOb25UZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVBIiwidGVybWluYWxOb2RlQiIsInRlcm1pbmFsTm9kZVVuaWZpZWQiLCJ1bmlmeVRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVW5pZmllZCIsInVuaWZ5Tm9uVGVybWluYWxOb2RlIiwidW5pZnlDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc0EiLCJjaGlsZE5vZGVzQiIsImNoaWxkTm9kZXNVbmlmaWVkIiwiY2hpbGROb2Rlc0FMZW5ndGgiLCJsZW5ndGgiLCJjaGlsZE5vZGVzQkxlbmd0aCIsImNoaWxkVGVybWluYWxOb2RlTWFwQSIsInRlcm1pbmFsTm9kZU1hcEZyb21Ob2RlcyIsImNoaWxkVGVybWluYWxOb2RlTWFwQiIsInRlcm1pbmFsTm9kZU1hcHNFcXVhbCIsImFyZVRlcm1pbmFsTm9kZU1hcHNFcXVhbCIsImluZGV4IiwiY2hpbGROb2Rlc1ZlcmlmeUFoZWFkIiwidW5pZnlDaGlsZE5vZGVzQWhlYWQiLCJ1bmlmeUFoZWFkIiwicG9wIiwidW5pZnlpZWRBaGVhZCIsIm1hcHMiLCJjb25zdHJ1Y3RvciIsIm5vZGVRdWVyeUEiLCJub2RlUXVlcnlCIiwibm9iZUIiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzIiwic29tZSIsIm1hcCIsImNoaWxkTm9kZUEi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
|