occam-verify-cli 1.0.317 → 1.0.320
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/context/file.js +44 -17
- package/lib/context/local.js +15 -2
- package/lib/context/release.js +33 -2
- package/lib/dom/declaration/combinator.js +2 -2
- package/lib/dom/declaration/complexType.js +25 -15
- package/lib/dom/declaration/constructor.js +2 -2
- package/lib/dom/declaration/simpleType.js +26 -16
- package/lib/dom/declaration/typePrefix.js +176 -0
- package/lib/dom/property.js +3 -3
- package/lib/dom/topLevelAssertion.js +1 -43
- package/lib/dom/type.js +53 -17
- package/lib/dom/typePrefix.js +100 -0
- package/lib/dom/variable.js +2 -2
- package/lib/index.js +3 -1
- package/lib/node/declaration/complexType.js +15 -1
- package/lib/node/declaration/simpleType.js +15 -1
- package/lib/node/declaration/typePrefix.js +123 -0
- package/lib/node/type.js +27 -17
- package/lib/node/typePrefix.js +6 -6
- package/lib/nonTerminalNodeMap.js +6 -4
- package/lib/ruleNames.js +11 -3
- package/lib/utilities/json.js +2 -2
- package/lib/utilities/node.js +10 -4
- package/lib/utilities/type.js +10 -5
- package/lib/verifier/topLevel.js +9 -2
- package/package.json +1 -1
- package/src/context/file.js +47 -24
- package/src/context/local.js +5 -1
- package/src/context/release.js +41 -1
- package/src/dom/declaration/combinator.js +1 -1
- package/src/dom/declaration/complexType.js +29 -19
- package/src/dom/declaration/constructor.js +1 -1
- package/src/dom/declaration/simpleType.js +29 -20
- package/src/dom/declaration/typePrefix.js +102 -0
- package/src/dom/property.js +1 -1
- package/src/dom/topLevelAssertion.js +3 -15
- package/src/dom/type.js +77 -20
- package/src/dom/typePrefix.js +54 -0
- package/src/dom/variable.js +1 -1
- package/src/index.js +2 -0
- package/src/node/declaration/complexType.js +14 -0
- package/src/node/declaration/simpleType.js +14 -0
- package/src/node/declaration/typePrefix.js +24 -0
- package/src/node/type.js +29 -17
- package/src/node/typePrefix.js +4 -4
- package/src/nonTerminalNodeMap.js +45 -39
- package/src/ruleNames.js +4 -2
- package/src/utilities/json.js +1 -1
- package/src/utilities/node.js +13 -4
- package/src/utilities/type.js +12 -5
- package/src/verifier/topLevel.js +11 -0
package/lib/verifier/topLevel.js
CHANGED
|
@@ -102,7 +102,7 @@ function _is_native_reflect_construct() {
|
|
|
102
102
|
return !!result;
|
|
103
103
|
})();
|
|
104
104
|
}
|
|
105
|
-
var errorNodeQuery = (0, _query.nodeQuery)("/error"), ruleNodeQuery = (0, _query.nodeQuery)("/rule"), axiomNodeQuery = (0, _query.nodeQuery)("/axiom"), lemmaNodeQuery = (0, _query.nodeQuery)("/lemma"), sectionNodeQuery = (0, _query.nodeQuery)("/section"), theoremNodeQuery = (0, _query.nodeQuery)("/theorem"), metaLemmaNodeQuery = (0, _query.nodeQuery)("/metaLemma"), conjectureNodeQuery = (0, _query.nodeQuery)("/conjecture"), metatheoremNodeQuery = (0, _query.nodeQuery)("/metatheorem"), variableDeclarationNodeQuery = (0, _query.nodeQuery)("/variableDeclaration"), combinatorDeclarationNodeQuery = (0, _query.nodeQuery)("/combinatorDeclaration"), simpleTypeDeclarationNodeQuery = (0, _query.nodeQuery)("/simpleTypeDeclaration"), constructorDeclarationNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration"), complexTypeDeclarationNodeQuery = (0, _query.nodeQuery)("/complexTypeDeclaration"), metavariableDeclarationNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration");
|
|
105
|
+
var errorNodeQuery = (0, _query.nodeQuery)("/error"), ruleNodeQuery = (0, _query.nodeQuery)("/rule"), axiomNodeQuery = (0, _query.nodeQuery)("/axiom"), lemmaNodeQuery = (0, _query.nodeQuery)("/lemma"), sectionNodeQuery = (0, _query.nodeQuery)("/section"), theoremNodeQuery = (0, _query.nodeQuery)("/theorem"), metaLemmaNodeQuery = (0, _query.nodeQuery)("/metaLemma"), conjectureNodeQuery = (0, _query.nodeQuery)("/conjecture"), metatheoremNodeQuery = (0, _query.nodeQuery)("/metatheorem"), variableDeclarationNodeQuery = (0, _query.nodeQuery)("/variableDeclaration"), combinatorDeclarationNodeQuery = (0, _query.nodeQuery)("/combinatorDeclaration"), simpleTypeDeclarationNodeQuery = (0, _query.nodeQuery)("/simpleTypeDeclaration"), typePrefixDeclarationNodeQuery = (0, _query.nodeQuery)("/typePrefixDeclaration"), constructorDeclarationNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration"), complexTypeDeclarationNodeQuery = (0, _query.nodeQuery)("/complexTypeDeclaration"), metavariableDeclarationNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration");
|
|
106
106
|
var TopLevelVerifier = /*#__PURE__*/ function(Verifier) {
|
|
107
107
|
_inherits(TopLevelVerifier, Verifier);
|
|
108
108
|
function TopLevelVerifier() {
|
|
@@ -200,6 +200,13 @@ _define_property(TopLevelVerifier, "maps", [
|
|
|
200
200
|
return simpleTypeDeclarationVerifies;
|
|
201
201
|
}
|
|
202
202
|
},
|
|
203
|
+
{
|
|
204
|
+
nodeQuery: typePrefixDeclarationNodeQuery,
|
|
205
|
+
verify: function(typePrefixDeclarationNode, context) {
|
|
206
|
+
var TypePrefixDeclaration = _dom.default.TypePrefixDeclaration, typePrefixDeclaration = TypePrefixDeclaration.fromTypePrefixDeclarationNode(typePrefixDeclarationNode, context), typePrefixDeclarationVerifies = typePrefixDeclaration.verify();
|
|
207
|
+
return typePrefixDeclarationVerifies;
|
|
208
|
+
}
|
|
209
|
+
},
|
|
203
210
|
{
|
|
204
211
|
nodeQuery: combinatorDeclarationNodeQuery,
|
|
205
212
|
verify: function(combinatorDeclarationNode, context) {
|
|
@@ -232,4 +239,4 @@ _define_property(TopLevelVerifier, "maps", [
|
|
|
232
239
|
var topLevelVerifier = new TopLevelVerifier();
|
|
233
240
|
var _default = topLevelVerifier;
|
|
234
241
|
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXJyb3JOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXJyb3JcIiksXG4gICAgICBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVcIiksXG4gICAgICBheGlvbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9heGlvbVwiKSxcbiAgICAgIGxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hXCIpLFxuICAgICAgc2VjdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zZWN0aW9uXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgbWV0YUxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYVwiKSxcbiAgICAgIGNvbmplY3R1cmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uamVjdHVyZVwiKSxcbiAgICAgIG1ldGF0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uXCIpLFxuICAgICAgY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbWJpbmF0b3JEZWNsYXJhdGlvblwiKSxcbiAgICAgIHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zaW1wbGVUeXBlRGVjbGFyYXRpb25cIiksXG4gICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbXBsZXhUeXBlRGVjbGFyYXRpb25cIiksXG4gICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGVEZWNsYXJhdGlvblwiKTtcblxuY2xhc3MgVG9wTGV2ZWxWZXJpZmllciBleHRlbmRzIFZlcmlmaWVyIHtcbiAgdmVyaWZ5KG5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzQXRUb3BMZXZlbDtcblxuICAgIGNvbnN0IGNvbnRleHQgPSBmaWxlQ29udGV4dCwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVzID0gdGhpcy52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBjb250ZXh0KTtcblxuICAgIHZlcmlmaWVzQXRUb3BMZXZlbCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVzOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZXNBdFRvcExldmVsO1xuICB9XG5cbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBlcnJvck5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGVycm9yTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IEVycm9yIH0gPSBkb20sXG4gICAgICAgICAgICAgIGVycm9yID0gRXJyb3IuZnJvbUVycm9yTm9kZShlcnJvck5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBlcnJvclZlcmlmaWVzID0gZXJyb3IudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHJ1bGVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChydWxlTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFJ1bGUgfSA9IGRvbSxcbiAgICAgICAgICAgICAgcnVsZSA9IFJ1bGUuZnJvbVJ1bGVOb2RlKHJ1bGVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgcnVsZVZlcmlmaWVzID0gcnVsZS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gcnVsZVZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBheGlvbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGF4aW9tTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IEF4aW9tIH0gPSBkb20sXG4gICAgICAgICAgICAgIGF4aW9tID0gQXhpb20uZnJvbUF4aW9tTm9kZShheGlvbU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBheGlvbVZlcmlmaWVzID0gYXhpb20udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGF4aW9tVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGxlbW1hTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobGVtbWFOb2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgTGVtbWEgfSA9IGRvbSxcbiAgICAgICAgICAgICAgbGVtbWEgPSBMZW1tYS5mcm9tTGVtbWFOb2RlKGxlbW1hTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIGxlbW1hVmVyaWZpZXMgPSBsZW1tYS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gbGVtbWFWZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogc2VjdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHNlY3Rpb25Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgU2VjdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICBzZWN0aW9uID0gU2VjdGlvbi5mcm9tU2VjdGlvbk5vZGUoc2VjdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBzZWN0aW9uVmVyaWZpZXMgPSBzZWN0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBzZWN0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHRoZW9yZW1Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh0aGVvcmVtTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFRoZW9yZW0gfSA9IGRvbSxcbiAgICAgICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbVRoZW9yZW1Ob2RlKHRoZW9yZW1Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgdGhlb3JlbVZlcmlmaWVzID0gdGhlb3JlbS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gdGhlb3JlbVZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBtZXRhTGVtbWFOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhTGVtbWFOb2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgTWV0YUxlbW1hIH0gPSBkb20sXG4gICAgICAgICAgICAgIG1ldGFMZW1tYSA9IE1ldGFMZW1tYS5mcm9tTWV0YUxlbW1hTm9kZShtZXRhTGVtbWFOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YUxlbW1hVmVyaWZpZXMgPSBtZXRhTGVtbWEudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb25qZWN0dXJlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29uamVjdHVyZU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBDb25qZWN0dXJlIH0gPSBkb20sXG4gICAgICAgICAgICAgIGNvbmplY3R1cmUgPSBDb25qZWN0dXJlLmZyb21Db25qZWN0dXJlTm9kZShjb25qZWN0dXJlTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIGNvbmplY3R1cmVWZXJpZmllcyA9IGNvbmplY3R1cmUudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbmplY3R1cmVWZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXRoZW9yZW1Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhdGhlb3JlbU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBNZXRhdGhlb3JlbSB9ID0gZG9tLFxuICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IE1ldGF0aGVvcmVtLmZyb21NZXRhdGhlb3JlbU5vZGUobWV0YXRoZW9yZW1Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YXRoZW9yZW1WZXJpZmllcyA9IG1ldGF0aGVvcmVtLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdGhlb3JlbVZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBWYXJpYWJsZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBWYXJpYWJsZURlY2xhcmF0aW9uLmZyb21WYXJpYWJsZURlY2xhcmF0aW9uTm9kZSh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllcyA9IHZhcmlhYmxlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIHZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFNpbXBsZVR5cGVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICBzaW1wbGVUeXBlRGVjbGFyYXRpb24gPSBTaW1wbGVUeXBlRGVjbGFyYXRpb24uZnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUoc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIHNpbXBsZVR5cGVEZWNsYXJhdGlvblZlcmlmaWVzID0gc2ltcGxlVHlwZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBzaW1wbGVUeXBlRGVjbGFyYXRpb25WZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbWJpbmF0b3JEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb24gPSBDb21iaW5hdG9yRGVjbGFyYXRpb24uZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvblZlcmlmaWVzID0gY29tYmluYXRvckRlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29uc3RydWN0b3JEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uID0gQ29uc3RydWN0b3JEZWNsYXJhdGlvbi5mcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZXMgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbXBsZXhUeXBlRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgY29tcGxleFR5cGVEZWNsYXJhdGlvbiA9IENvbXBsZXhUeXBlRGVjbGFyYXRpb24uZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgY29tcGxleFR5cGVEZWNsYXJhdGlvblZlcmlmaWVzID0gY29tcGxleFR5cGVEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gY29tcGxleFR5cGVEZWNsYXJhdGlvblZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uID0gTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24uZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVzID0gbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCB0b3BMZXZlbFZlcmlmaWVyID0gbmV3IFRvcExldmVsVmVyaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgdG9wTGV2ZWxWZXJpZmllcjtcbiJdLCJuYW1lcyI6WyJlcnJvck5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVOb2RlUXVlcnkiLCJheGlvbU5vZGVRdWVyeSIsImxlbW1hTm9kZVF1ZXJ5Iiwic2VjdGlvbk5vZGVRdWVyeSIsInRoZW9yZW1Ob2RlUXVlcnkiLCJtZXRhTGVtbWFOb2RlUXVlcnkiLCJjb25qZWN0dXJlTm9kZVF1ZXJ5IiwibWV0YXRoZW9yZW1Ob2RlUXVlcnkiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5Iiwic2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIlRvcExldmVsVmVyaWZpZXIiLCJ2ZXJpZnkiLCJub2RlIiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllc0F0VG9wTGV2ZWwiLCJjb250ZXh0Iiwibm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZXMiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJWZXJpZmllciIsIm1hcHMiLCJlcnJvck5vZGUiLCJFcnJvciIsImRvbSIsImVycm9yIiwiZnJvbUVycm9yTm9kZSIsImVycm9yVmVyaWZpZXMiLCJydWxlTm9kZSIsIlJ1bGUiLCJydWxlIiwiZnJvbVJ1bGVOb2RlIiwicnVsZVZlcmlmaWVzIiwiYXhpb21Ob2RlIiwiQXhpb20iLCJheGlvbSIsImZyb21BeGlvbU5vZGUiLCJheGlvbVZlcmlmaWVzIiwibGVtbWFOb2RlIiwiTGVtbWEiLCJsZW1tYSIsImZyb21MZW1tYU5vZGUiLCJsZW1tYVZlcmlmaWVzIiwic2VjdGlvbk5vZGUiLCJTZWN0aW9uIiwic2VjdGlvbiIsImZyb21TZWN0aW9uTm9kZSIsInNlY3Rpb25WZXJpZmllcyIsInRoZW9yZW1Ob2RlIiwiVGhlb3JlbSIsInRoZW9yZW0iLCJmcm9tVGhlb3JlbU5vZGUiLCJ0aGVvcmVtVmVyaWZpZXMiLCJtZXRhTGVtbWFOb2RlIiwiTWV0YUxlbW1hIiwibWV0YUxlbW1hIiwiZnJvbU1ldGFMZW1tYU5vZGUiLCJtZXRhTGVtbWFWZXJpZmllcyIsImNvbmplY3R1cmVOb2RlIiwiQ29uamVjdHVyZSIsImNvbmplY3R1cmUiLCJmcm9tQ29uamVjdHVyZU5vZGUiLCJjb25qZWN0dXJlVmVyaWZpZXMiLCJtZXRhdGhlb3JlbU5vZGUiLCJNZXRhdGhlb3JlbSIsIm1ldGF0aGVvcmVtIiwiZnJvbU1ldGF0aGVvcmVtTm9kZSIsIm1ldGF0aGVvcmVtVmVyaWZpZXMiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlZhcmlhYmxlRGVjbGFyYXRpb24iLCJ2YXJpYWJsZURlY2xhcmF0aW9uIiwiZnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVzIiwic2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsIlNpbXBsZVR5cGVEZWNsYXJhdGlvbiIsInNpbXBsZVR5cGVEZWNsYXJhdGlvbiIsImZyb21TaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIiwic2ltcGxlVHlwZURlY2xhcmF0aW9uVmVyaWZpZXMiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiQ29tYmluYXRvckRlY2xhcmF0aW9uIiwiY29tYmluYXRvckRlY2xhcmF0aW9uIiwiZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllcyIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiQ29uc3RydWN0b3JEZWNsYXJhdGlvbiIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZXMiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsIkNvbXBsZXhUeXBlRGVjbGFyYXRpb24iLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uIiwiZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvblZlcmlmaWVzIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwiTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiIsImZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVzIiwidG9wTGV2ZWxWZXJpZmllciJdLCJt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
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXJyb3JOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXJyb3JcIiksXG4gICAgICBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVcIiksXG4gICAgICBheGlvbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9heGlvbVwiKSxcbiAgICAgIGxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hXCIpLFxuICAgICAgc2VjdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zZWN0aW9uXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgbWV0YUxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYVwiKSxcbiAgICAgIGNvbmplY3R1cmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uamVjdHVyZVwiKSxcbiAgICAgIG1ldGF0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uXCIpLFxuICAgICAgY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbWJpbmF0b3JEZWNsYXJhdGlvblwiKSxcbiAgICAgIHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zaW1wbGVUeXBlRGVjbGFyYXRpb25cIiksXG4gICAgICB0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZVByZWZpeERlY2xhcmF0aW9uXCIpLFxuICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uXCIpLFxuICAgICAgY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21wbGV4VHlwZURlY2xhcmF0aW9uXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25cIik7XG5cbmNsYXNzIFRvcExldmVsVmVyaWZpZXIgZXh0ZW5kcyBWZXJpZmllciB7XG4gIHZlcmlmeShub2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllc0F0VG9wTGV2ZWw7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllcyA9IHRoaXMudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29udGV4dCk7XG5cbiAgICB2ZXJpZmllc0F0VG9wTGV2ZWwgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllczsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmaWVzQXRUb3BMZXZlbDtcbiAgfVxuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogZXJyb3JOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChlcnJvck5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBFcnJvciB9ID0gZG9tLFxuICAgICAgICAgICAgICBlcnJvciA9IEVycm9yLmZyb21FcnJvck5vZGUoZXJyb3JOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgZXJyb3JWZXJpZmllcyA9IGVycm9yLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBlcnJvclZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBydWxlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAocnVsZU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBSdWxlIH0gPSBkb20sXG4gICAgICAgICAgICAgIHJ1bGUgPSBSdWxlLmZyb21SdWxlTm9kZShydWxlTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIHJ1bGVWZXJpZmllcyA9IHJ1bGUudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIHJ1bGVWZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogYXhpb21Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChheGlvbU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBBeGlvbSB9ID0gZG9tLFxuICAgICAgICAgICAgICBheGlvbSA9IEF4aW9tLmZyb21BeGlvbU5vZGUoYXhpb21Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgYXhpb21WZXJpZmllcyA9IGF4aW9tLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBheGlvbVZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBsZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGxlbW1hTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IExlbW1hIH0gPSBkb20sXG4gICAgICAgICAgICAgIGxlbW1hID0gTGVtbWEuZnJvbUxlbW1hTm9kZShsZW1tYU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBsZW1tYVZlcmlmaWVzID0gbGVtbWEudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGxlbW1hVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHNlY3Rpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChzZWN0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFNlY3Rpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgc2VjdGlvbiA9IFNlY3Rpb24uZnJvbVNlY3Rpb25Ob2RlKHNlY3Rpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgc2VjdGlvblZlcmlmaWVzID0gc2VjdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gc2VjdGlvblZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0aGVvcmVtTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodGhlb3JlbU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBUaGVvcmVtIH0gPSBkb20sXG4gICAgICAgICAgICAgIHRoZW9yZW0gPSBUaGVvcmVtLmZyb21UaGVvcmVtTm9kZSh0aGVvcmVtTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIHRoZW9yZW1WZXJpZmllcyA9IHRoZW9yZW0udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIHRoZW9yZW1WZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YUxlbW1hTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YUxlbW1hTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IE1ldGFMZW1tYSB9ID0gZG9tLFxuICAgICAgICAgICAgICBtZXRhTGVtbWEgPSBNZXRhTGVtbWEuZnJvbU1ldGFMZW1tYU5vZGUobWV0YUxlbW1hTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIG1ldGFMZW1tYVZlcmlmaWVzID0gbWV0YUxlbW1hLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhTGVtbWFWZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29uamVjdHVyZU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbmplY3R1cmVOb2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29uamVjdHVyZSB9ID0gZG9tLFxuICAgICAgICAgICAgICBjb25qZWN0dXJlID0gQ29uamVjdHVyZS5mcm9tQ29uamVjdHVyZU5vZGUoY29uamVjdHVyZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBjb25qZWN0dXJlVmVyaWZpZXMgPSBjb25qZWN0dXJlLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb25qZWN0dXJlVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF0aGVvcmVtTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXRoZW9yZW1Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgTWV0YXRoZW9yZW0gfSA9IGRvbSxcbiAgICAgICAgICAgICAgbWV0YXRoZW9yZW0gPSBNZXRhdGhlb3JlbS5mcm9tTWV0YXRoZW9yZW1Ob2RlKG1ldGF0aGVvcmVtTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIG1ldGF0aGVvcmVtVmVyaWZpZXMgPSBtZXRhdGhlb3JlbS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gbWV0YXRoZW9yZW1WZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgVmFyaWFibGVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uID0gVmFyaWFibGVEZWNsYXJhdGlvbi5mcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZXMgPSB2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBTaW1wbGVUeXBlRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgc2ltcGxlVHlwZURlY2xhcmF0aW9uID0gU2ltcGxlVHlwZURlY2xhcmF0aW9uLmZyb21TaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlKHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBzaW1wbGVUeXBlRGVjbGFyYXRpb25WZXJpZmllcyA9IHNpbXBsZVR5cGVEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gc2ltcGxlVHlwZURlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBUeXBlUHJlZml4RGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgdHlwZVByZWZpeERlY2xhcmF0aW9uID0gVHlwZVByZWZpeERlY2xhcmF0aW9uLmZyb21UeXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlKHR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICB0eXBlUHJlZml4RGVjbGFyYXRpb25WZXJpZmllcyA9IHR5cGVQcmVmaXhEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gdHlwZVByZWZpeERlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBDb21iaW5hdG9yRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgY29tYmluYXRvckRlY2xhcmF0aW9uID0gQ29tYmluYXRvckRlY2xhcmF0aW9uLmZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllcyA9IGNvbWJpbmF0b3JEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbnN0cnVjdG9yRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbiA9IENvbnN0cnVjdG9yRGVjbGFyYXRpb24uZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVzID0gY29uc3RydWN0b3JEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBDb21wbGV4VHlwZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb24gPSBDb21wbGV4VHlwZURlY2xhcmF0aW9uLmZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllcyA9IGNvbXBsZXhUeXBlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiA9IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uLmZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllcyA9IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVzO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuY29uc3QgdG9wTGV2ZWxWZXJpZmllciA9IG5ldyBUb3BMZXZlbFZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRvcExldmVsVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsiZXJyb3JOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJydWxlTm9kZVF1ZXJ5IiwiYXhpb21Ob2RlUXVlcnkiLCJsZW1tYU5vZGVRdWVyeSIsInNlY3Rpb25Ob2RlUXVlcnkiLCJ0aGVvcmVtTm9kZVF1ZXJ5IiwibWV0YUxlbW1hTm9kZVF1ZXJ5IiwiY29uamVjdHVyZU5vZGVRdWVyeSIsIm1ldGF0aGVvcmVtTm9kZVF1ZXJ5IiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJUb3BMZXZlbFZlcmlmaWVyIiwidmVyaWZ5Iiwibm9kZSIsImZpbGVDb250ZXh0IiwidmVyaWZpZXNBdFRvcExldmVsIiwiY29udGV4dCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVzIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwiVmVyaWZpZXIiLCJtYXBzIiwiZXJyb3JOb2RlIiwiRXJyb3IiLCJkb20iLCJlcnJvciIsImZyb21FcnJvck5vZGUiLCJlcnJvclZlcmlmaWVzIiwicnVsZU5vZGUiLCJSdWxlIiwicnVsZSIsImZyb21SdWxlTm9kZSIsInJ1bGVWZXJpZmllcyIsImF4aW9tTm9kZSIsIkF4aW9tIiwiYXhpb20iLCJmcm9tQXhpb21Ob2RlIiwiYXhpb21WZXJpZmllcyIsImxlbW1hTm9kZSIsIkxlbW1hIiwibGVtbWEiLCJmcm9tTGVtbWFOb2RlIiwibGVtbWFWZXJpZmllcyIsInNlY3Rpb25Ob2RlIiwiU2VjdGlvbiIsInNlY3Rpb24iLCJmcm9tU2VjdGlvbk5vZGUiLCJzZWN0aW9uVmVyaWZpZXMiLCJ0aGVvcmVtTm9kZSIsIlRoZW9yZW0iLCJ0aGVvcmVtIiwiZnJvbVRoZW9yZW1Ob2RlIiwidGhlb3JlbVZlcmlmaWVzIiwibWV0YUxlbW1hTm9kZSIsIk1ldGFMZW1tYSIsIm1ldGFMZW1tYSIsImZyb21NZXRhTGVtbWFOb2RlIiwibWV0YUxlbW1hVmVyaWZpZXMiLCJjb25qZWN0dXJlTm9kZSIsIkNvbmplY3R1cmUiLCJjb25qZWN0dXJlIiwiZnJvbUNvbmplY3R1cmVOb2RlIiwiY29uamVjdHVyZVZlcmlmaWVzIiwibWV0YXRoZW9yZW1Ob2RlIiwiTWV0YXRoZW9yZW0iLCJtZXRhdGhlb3JlbSIsImZyb21NZXRhdGhlb3JlbU5vZGUiLCJtZXRhdGhlb3JlbVZlcmlmaWVzIiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJWYXJpYWJsZURlY2xhcmF0aW9uIiwidmFyaWFibGVEZWNsYXJhdGlvbiIsImZyb21WYXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllcyIsInNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJTaW1wbGVUeXBlRGVjbGFyYXRpb24iLCJzaW1wbGVUeXBlRGVjbGFyYXRpb24iLCJmcm9tU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsInNpbXBsZVR5cGVEZWNsYXJhdGlvblZlcmlmaWVzIiwidHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSIsIlR5cGVQcmVmaXhEZWNsYXJhdGlvbiIsInR5cGVQcmVmaXhEZWNsYXJhdGlvbiIsImZyb21UeXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlIiwidHlwZVByZWZpeERlY2xhcmF0aW9uVmVyaWZpZXMiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiQ29tYmluYXRvckRlY2xhcmF0aW9uIiwiY29tYmluYXRvckRlY2xhcmF0aW9uIiwiZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllcyIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiQ29uc3RydWN0b3JEZWNsYXJhdGlvbiIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZXMiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsIkNvbXBsZXhUeXBlRGVjbGFyYXRpb24iLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uIiwiZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvblZlcmlmaWVzIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwiTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiIsImZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVzIiwidG9wTGV2ZWxWZXJpZmllciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMk1BOzs7ZUFBQTs7OzBEQXpNZ0I7K0RBQ0s7cUJBRUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1BLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQyxXQUMzQkMsZ0JBQWdCRCxJQUFBQSxnQkFBUyxFQUFD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
|
package/package.json
CHANGED
package/src/context/file.js
CHANGED
|
@@ -83,6 +83,8 @@ export default class FileContext {
|
|
|
83
83
|
|
|
84
84
|
getMetaTypes() { return this.releaseContext.getMetaTypes(); }
|
|
85
85
|
|
|
86
|
+
getTypePrefix() { return this.releaseContext.getTypePrefix(); }
|
|
87
|
+
|
|
86
88
|
getJudgements() {
|
|
87
89
|
const judgements = [];
|
|
88
90
|
|
|
@@ -278,7 +280,17 @@ export default class FileContext {
|
|
|
278
280
|
}
|
|
279
281
|
|
|
280
282
|
getTypePrefixes(includeRelease = true) {
|
|
281
|
-
|
|
283
|
+
const typePrefixes = [];
|
|
284
|
+
|
|
285
|
+
push(typePrefixes, this.typePrefixes);
|
|
286
|
+
|
|
287
|
+
if (includeRelease) {
|
|
288
|
+
const releaseContextTypePrefixes = this.releaseContext.getTypePrefixes();
|
|
289
|
+
|
|
290
|
+
push(typePrefixes, releaseContextTypePrefixes);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return typePrefixes;
|
|
282
294
|
}
|
|
283
295
|
|
|
284
296
|
getConstructors(includeRelease = true) {
|
|
@@ -319,20 +331,6 @@ export default class FileContext {
|
|
|
319
331
|
return fileContext;
|
|
320
332
|
}
|
|
321
333
|
|
|
322
|
-
getTypePrefix() {
|
|
323
|
-
let typePrefix = null;
|
|
324
|
-
|
|
325
|
-
const typePrefixesLength = this.typePrefixes.length;
|
|
326
|
-
|
|
327
|
-
if (typePrefixesLength === 1) {
|
|
328
|
-
const firstTypePrefix = first(this.typePrefixes);
|
|
329
|
-
|
|
330
|
-
typePrefix = firstTypePrefix; ///
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
return typePrefix;
|
|
334
|
-
}
|
|
335
|
-
|
|
336
334
|
addType(type) {
|
|
337
335
|
this.types.push(type);
|
|
338
336
|
}
|
|
@@ -369,6 +367,10 @@ export default class FileContext {
|
|
|
369
367
|
this.combinators.push(combinator);
|
|
370
368
|
}
|
|
371
369
|
|
|
370
|
+
addTypePrefix(typePrefix) {
|
|
371
|
+
this.typePrefixes.push(typePrefix);
|
|
372
|
+
}
|
|
373
|
+
|
|
372
374
|
addConstructor(constructor) {
|
|
373
375
|
this.constructors.push(constructor);
|
|
374
376
|
}
|
|
@@ -584,7 +586,7 @@ export default class FileContext {
|
|
|
584
586
|
return metavariable;
|
|
585
587
|
}
|
|
586
588
|
|
|
587
|
-
findTypeByTypeName(typeName) {
|
|
589
|
+
findTypeByTypeName(typeName, prefixed = true) {
|
|
588
590
|
let types = this.getTypes();
|
|
589
591
|
|
|
590
592
|
types = [
|
|
@@ -592,17 +594,31 @@ export default class FileContext {
|
|
|
592
594
|
objectType
|
|
593
595
|
];
|
|
594
596
|
|
|
595
|
-
const
|
|
596
|
-
|
|
597
|
+
const context = this, ///
|
|
598
|
+
type = types.find((type) => {
|
|
599
|
+
const typeNameMatches = type.matchTypeName(typeName, prefixed, context);
|
|
597
600
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
601
|
+
if (typeNameMatches) {
|
|
602
|
+
return true;
|
|
603
|
+
}
|
|
604
|
+
}) || null;
|
|
602
605
|
|
|
603
606
|
return type;
|
|
604
607
|
}
|
|
605
608
|
|
|
609
|
+
findTypePrefixByTypePrefixName(typePrefixName) {
|
|
610
|
+
const typePrefixes = this.getTypePrefixes(),
|
|
611
|
+
typePrefix = typePrefixes.find((typePrefix) => {
|
|
612
|
+
const typePrefixNameMatches = typePrefix.matchTypePrefixName(typePrefixName);
|
|
613
|
+
|
|
614
|
+
if (typePrefixNameMatches) {
|
|
615
|
+
return true;
|
|
616
|
+
}
|
|
617
|
+
}) || null;
|
|
618
|
+
|
|
619
|
+
return typePrefix;
|
|
620
|
+
}
|
|
621
|
+
|
|
606
622
|
findMetaTypeByMetaTypeName(metaTypeName) {
|
|
607
623
|
const metaTypes = this.getMetaTypes(),
|
|
608
624
|
metaType = metaTypes.find((metaType) => {
|
|
@@ -694,13 +710,20 @@ export default class FileContext {
|
|
|
694
710
|
return metavariablePresent;
|
|
695
711
|
}
|
|
696
712
|
|
|
697
|
-
isTypePresentByTypeName(typeName) {
|
|
698
|
-
const type = this.findTypeByTypeName(typeName),
|
|
713
|
+
isTypePresentByTypeName(typeName, prefixed = true) {
|
|
714
|
+
const type = this.findTypeByTypeName(typeName, prefixed),
|
|
699
715
|
typePresent = (type !== null);
|
|
700
716
|
|
|
701
717
|
return typePresent;
|
|
702
718
|
}
|
|
703
719
|
|
|
720
|
+
isTypePrefixPresentByTypePrefixName(typePrefixName) {
|
|
721
|
+
const typePrefix = this.findTypePrefixByTypePrefixName(typePrefixName),
|
|
722
|
+
typePrefixPresent = (typePrefix !== null);
|
|
723
|
+
|
|
724
|
+
return typePrefixPresent;
|
|
725
|
+
}
|
|
726
|
+
|
|
704
727
|
isVariablePresentByVariableIdentifier(variableIdentifier) {
|
|
705
728
|
const variable = this.findVariableByVariableIdentifier(variableIdentifier),
|
|
706
729
|
variablePresent = (variable !== null);
|
package/src/context/local.js
CHANGED
|
@@ -116,6 +116,8 @@ class LocalContext {
|
|
|
116
116
|
|
|
117
117
|
getConstructors() { return this.context.getConstructors(); }
|
|
118
118
|
|
|
119
|
+
getTypePrefix() { return this.context.getTypePrefix(); }
|
|
120
|
+
|
|
119
121
|
addAxiom(axiom) { this.context.addAxiom(axiom); }
|
|
120
122
|
|
|
121
123
|
addLemma(lemma) { this.context.addLemma(lemma); }
|
|
@@ -249,7 +251,9 @@ class LocalContext {
|
|
|
249
251
|
|
|
250
252
|
isMetavariablePresent(metavariable, generalContext, specificContext) { return this.context.isMetavariablePresent(metavariable, generalContext, specificContext); }
|
|
251
253
|
|
|
252
|
-
isTypePresentByTypeName(typeName) { return this.context.isTypePresentByTypeName(typeName); }
|
|
254
|
+
isTypePresentByTypeName(typeName, prefixed = true) { return this.context.isTypePresentByTypeName(typeName, prefixed); }
|
|
255
|
+
|
|
256
|
+
isTypePrefixPresentByTypePrefixName(typePrefixName) { return this.context.isTypePrefixPresentByTypePrefixName(typePrefixName); }
|
|
253
257
|
|
|
254
258
|
isVariablePresentByVariableIdentifier(variableIdentifier, nested = true) {
|
|
255
259
|
const variable = this.findVariableByVariableIdentifier(variableIdentifier, nested),
|
package/src/context/release.js
CHANGED
|
@@ -13,7 +13,7 @@ import NominalParser from "../nominal/parser";
|
|
|
13
13
|
import { frameMetaType, referenceMetaType, statementMetaType } from "../dom/metaType";
|
|
14
14
|
import { customGrammarFromNameAndEntries, combinedCustomGrammarFromReleaseContexts } from "../utilities/customGrammar";
|
|
15
15
|
|
|
16
|
-
const { tail, push, clear, resolve } = arrayUtilities,
|
|
16
|
+
const { tail, push, first, clear, resolve } = arrayUtilities,
|
|
17
17
|
{ nominalLexerFromCombinedCustomGrammar } = lexersUtilities,
|
|
18
18
|
{ nominalParserFromCombinedCustomGrammar } = parsersUtilities,
|
|
19
19
|
{ isFilePathFurtleFilePath, isFilePathNominalFilePath } = filePathUtilities;
|
|
@@ -107,6 +107,22 @@ export default class ReleaseContext {
|
|
|
107
107
|
return fileContext;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
getTypePrefix() {
|
|
111
|
+
let typePrefix = null;
|
|
112
|
+
|
|
113
|
+
const includeDependencies = false,
|
|
114
|
+
typePrefixes = this.getTypePrefixes(includeDependencies),
|
|
115
|
+
typePrefixesLength = typePrefixes.length;
|
|
116
|
+
|
|
117
|
+
if (typePrefixesLength === 1) {
|
|
118
|
+
const firstTypePrefix = first(typePrefixes);
|
|
119
|
+
|
|
120
|
+
typePrefix = firstTypePrefix; ///
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return typePrefix;
|
|
124
|
+
}
|
|
125
|
+
|
|
110
126
|
getLabels(includeDependencies = true) {
|
|
111
127
|
const labels = [];
|
|
112
128
|
|
|
@@ -325,6 +341,30 @@ export default class ReleaseContext {
|
|
|
325
341
|
return combinators;
|
|
326
342
|
}
|
|
327
343
|
|
|
344
|
+
getTypePrefixes(includeDependencies = true) {
|
|
345
|
+
const typePrefixes = [];
|
|
346
|
+
|
|
347
|
+
this.fileContexts.forEach((fileContext) => {
|
|
348
|
+
const includeRelease = false,
|
|
349
|
+
fileContextTypePrefixes = fileContext.getTypePrefixes(includeRelease);
|
|
350
|
+
|
|
351
|
+
push(typePrefixes, fileContextTypePrefixes);
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
if (includeDependencies) {
|
|
355
|
+
const dependencyReleaseContexts = this.getDependencyReleaseContexts();
|
|
356
|
+
|
|
357
|
+
dependencyReleaseContexts.forEach((releaseContext) => {
|
|
358
|
+
const includeDependencies = false,
|
|
359
|
+
releaseContextTypePrefixes = releaseContext.getTypePrefixes(includeDependencies);
|
|
360
|
+
|
|
361
|
+
push(typePrefixes, releaseContextTypePrefixes);
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
return typePrefixes;
|
|
366
|
+
}
|
|
367
|
+
|
|
328
368
|
getConstructors(includeDependencies = true) {
|
|
329
369
|
const constructors = [];
|
|
330
370
|
|
|
@@ -33,7 +33,7 @@ export default domAssigned(class CombinatorDeclaration {
|
|
|
33
33
|
verify() {
|
|
34
34
|
let verifies = false;
|
|
35
35
|
|
|
36
|
-
const combinatorDeclarationString = this.
|
|
36
|
+
const combinatorDeclarationString = this.string; ///
|
|
37
37
|
|
|
38
38
|
this.context.trace(`Verifying the '${combinatorDeclarationString}' combinator declaration...`, this.node);
|
|
39
39
|
|
|
@@ -4,14 +4,15 @@ import dom from "../../dom";
|
|
|
4
4
|
|
|
5
5
|
import { objectType } from "../type";
|
|
6
6
|
import { domAssigned } from "../../dom";
|
|
7
|
-
import {
|
|
7
|
+
import { stringFromTypeNameTypePrefixNameAndSuperTypes } from "../../utilities/type";
|
|
8
8
|
|
|
9
9
|
export default domAssigned(class ComplexTypeDeclaration {
|
|
10
|
-
constructor(context, node, string, type) {
|
|
10
|
+
constructor(context, node, string, type, prefixed) {
|
|
11
11
|
this.context = context;
|
|
12
12
|
this.node = node;
|
|
13
13
|
this.string = string;
|
|
14
14
|
this.type = type;
|
|
15
|
+
this.prefixed = prefixed;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
getContext() {
|
|
@@ -30,27 +31,37 @@ export default domAssigned(class ComplexTypeDeclaration {
|
|
|
30
31
|
return this.type;
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
isPrefixed() {
|
|
35
|
+
return this.prefixed;
|
|
36
|
+
}
|
|
37
|
+
|
|
33
38
|
getReleaseContext() { return this.context.getReleaseContext(); }
|
|
34
39
|
|
|
35
40
|
verify() {
|
|
36
41
|
let verifies = false;
|
|
37
42
|
|
|
38
|
-
const complexTypeDeclarationString = this.
|
|
43
|
+
const complexTypeDeclarationString = this.string; ///
|
|
39
44
|
|
|
40
45
|
this.context.trace(`Verifying the '${complexTypeDeclarationString}' complex type declaration...`, this.node);
|
|
41
46
|
|
|
42
|
-
|
|
47
|
+
if (this.prefixed) {
|
|
48
|
+
const typeString = this.type.getString();
|
|
43
49
|
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
this.context.trace(`The '${typeString}' type is prefixed.`);
|
|
51
|
+
} else {
|
|
52
|
+
const typeVerifies = this.verifyType();
|
|
53
|
+
|
|
54
|
+
if (typeVerifies) {
|
|
55
|
+
const superTypesVerify = this.verifySuperTypes();
|
|
46
56
|
|
|
47
|
-
|
|
48
|
-
|
|
57
|
+
if (superTypesVerify) {
|
|
58
|
+
const propertiesVerify = this.verifyProperties();
|
|
49
59
|
|
|
50
|
-
|
|
51
|
-
|
|
60
|
+
if (propertiesVerify) {
|
|
61
|
+
this.context.addType(this.type);
|
|
52
62
|
|
|
53
|
-
|
|
63
|
+
verifies = true;
|
|
64
|
+
}
|
|
54
65
|
}
|
|
55
66
|
}
|
|
56
67
|
}
|
|
@@ -159,10 +170,6 @@ export default domAssigned(class ComplexTypeDeclaration {
|
|
|
159
170
|
return superType;
|
|
160
171
|
});
|
|
161
172
|
|
|
162
|
-
const string = stringFromTypeNameNameAndSuperTypes(typeName, superTypes);
|
|
163
|
-
|
|
164
|
-
this.type.setString(string);
|
|
165
|
-
|
|
166
173
|
this.type.setSuperTypes(superTypes);
|
|
167
174
|
}
|
|
168
175
|
}
|
|
@@ -231,7 +238,8 @@ export default domAssigned(class ComplexTypeDeclaration {
|
|
|
231
238
|
|
|
232
239
|
if (propertyVerifies) {
|
|
233
240
|
const typeName = this.type.getName(),
|
|
234
|
-
|
|
241
|
+
prefixed = true,
|
|
242
|
+
typeNameMatches = property.matchTypeName(typeName, prefixed, this.context);
|
|
235
243
|
|
|
236
244
|
if (typeNameMatches) {
|
|
237
245
|
property.setType(this.type);
|
|
@@ -303,12 +311,14 @@ export default domAssigned(class ComplexTypeDeclaration {
|
|
|
303
311
|
|
|
304
312
|
static fromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
|
|
305
313
|
const { Type } = dom,
|
|
306
|
-
node = complexTypeDeclarationNode, ///
|
|
307
314
|
type = Type.fromComplexTypeDeclarationNode(complexTypeDeclarationNode, context),
|
|
315
|
+
node = complexTypeDeclarationNode, ///
|
|
316
|
+
prefixed = complexTypeDeclarationNode.isPrefixed(),
|
|
317
|
+
typePrefixName = complexTypeDeclarationNode.getTypePrefixName(),
|
|
308
318
|
typeName = type.getName(),
|
|
309
319
|
superTypes = type.getSuperTypes(),
|
|
310
|
-
string =
|
|
311
|
-
complexTypeDeclaration = new ComplexTypeDeclaration(context, node, string, type);
|
|
320
|
+
string = stringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixName, superTypes),
|
|
321
|
+
complexTypeDeclaration = new ComplexTypeDeclaration(context, node, string, type, prefixed);
|
|
312
322
|
|
|
313
323
|
return complexTypeDeclaration;
|
|
314
324
|
}
|
|
@@ -33,7 +33,7 @@ export default domAssigned(class ConstructorDeclaration {
|
|
|
33
33
|
verify() {
|
|
34
34
|
let verifies;
|
|
35
35
|
|
|
36
|
-
const constructorDeclarationString = this.
|
|
36
|
+
const constructorDeclarationString = this.string; ///
|
|
37
37
|
|
|
38
38
|
this.context.trace(`Verifying the '${constructorDeclarationString}' constructor declaration...`, this.node);
|
|
39
39
|
|
|
@@ -4,14 +4,15 @@ import dom from "../../dom";
|
|
|
4
4
|
|
|
5
5
|
import { objectType } from "../type";
|
|
6
6
|
import { domAssigned } from "../../dom";
|
|
7
|
-
import {
|
|
7
|
+
import { stringFromTypeNameTypePrefixNameAndSuperTypes } from "../../utilities/type";
|
|
8
8
|
|
|
9
9
|
export default domAssigned(class SimpleTypeDeclaration {
|
|
10
|
-
constructor(context, node, string, type) {
|
|
10
|
+
constructor(context, node, string, type, prefixed) {
|
|
11
11
|
this.context = context;
|
|
12
12
|
this.node = node;
|
|
13
13
|
this.string = string;
|
|
14
14
|
this.type = type;
|
|
15
|
+
this.prefixed = prefixed;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
getContext() {
|
|
@@ -30,27 +31,37 @@ export default domAssigned(class SimpleTypeDeclaration {
|
|
|
30
31
|
return this.type;
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
isPrefixed() {
|
|
35
|
+
return this.prefixed;
|
|
36
|
+
}
|
|
37
|
+
|
|
33
38
|
verify() {
|
|
34
39
|
let verifies = false;
|
|
35
40
|
|
|
36
|
-
const
|
|
41
|
+
const simpleTypeDeclarationString = this.string; ///
|
|
37
42
|
|
|
38
|
-
this.context.trace(`Verifying the '${
|
|
43
|
+
this.context.trace(`Verifying the '${simpleTypeDeclarationString}' simple type declaration...`, this.node);
|
|
39
44
|
|
|
40
|
-
|
|
45
|
+
if (this.prefixed) {
|
|
46
|
+
const typeString = this.type.getString();
|
|
41
47
|
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
this.context.trace(`The '${typeString}' type is prefixed.`);
|
|
49
|
+
} else {
|
|
50
|
+
const typeVerifies = this.verifyType();
|
|
51
|
+
|
|
52
|
+
if (typeVerifies) {
|
|
53
|
+
const superTypesVerify = this.verifySuperTypes();
|
|
44
54
|
|
|
45
|
-
|
|
46
|
-
|
|
55
|
+
if (superTypesVerify) {
|
|
56
|
+
this.context.addType(this.type);
|
|
47
57
|
|
|
48
|
-
|
|
58
|
+
verifies = true;
|
|
59
|
+
}
|
|
49
60
|
}
|
|
50
61
|
}
|
|
51
62
|
|
|
52
63
|
if (verifies) {
|
|
53
|
-
this.context.debug(`...verified the '${
|
|
64
|
+
this.context.debug(`...verified the '${simpleTypeDeclarationString}' simple type declaration.`, this.node);
|
|
54
65
|
}
|
|
55
66
|
|
|
56
67
|
return verifies;
|
|
@@ -67,13 +78,13 @@ export default domAssigned(class SimpleTypeDeclaration {
|
|
|
67
78
|
typePresent = this.context.isTypePresentByTypeName(typeName);
|
|
68
79
|
|
|
69
80
|
if (typePresent) {
|
|
70
|
-
this.context.
|
|
81
|
+
this.context.trace(`The '${typeString}' type is already present.`, this.node);
|
|
71
82
|
} else {
|
|
72
83
|
typeVerifies = true;
|
|
73
84
|
}
|
|
74
85
|
|
|
75
86
|
if (typeVerifies) {
|
|
76
|
-
this.context.
|
|
87
|
+
this.context.trace(`...verified the '${typeString}' simple type.`, this.node);
|
|
77
88
|
}
|
|
78
89
|
|
|
79
90
|
return typeVerifies;
|
|
@@ -153,10 +164,6 @@ export default domAssigned(class SimpleTypeDeclaration {
|
|
|
153
164
|
return superType;
|
|
154
165
|
});
|
|
155
166
|
|
|
156
|
-
const string = stringFromTypeNameNameAndSuperTypes(typeName, superTypes);
|
|
157
|
-
|
|
158
|
-
this.type.setString(string);
|
|
159
|
-
|
|
160
167
|
this.type.setSuperTypes(superTypes);
|
|
161
168
|
}
|
|
162
169
|
}
|
|
@@ -173,12 +180,14 @@ export default domAssigned(class SimpleTypeDeclaration {
|
|
|
173
180
|
|
|
174
181
|
static fromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context) {
|
|
175
182
|
const { Type } = dom,
|
|
176
|
-
node = simpleTypeDeclarationNode, ///
|
|
177
183
|
type = Type.fromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context),
|
|
184
|
+
node = simpleTypeDeclarationNode, ///
|
|
185
|
+
prefixed = simpleTypeDeclarationNode.isPrefixed(),
|
|
186
|
+
typePrefixName = simpleTypeDeclarationNode.getTypePrefixName(),
|
|
178
187
|
typeName = type.getName(),
|
|
179
188
|
superTypes = type.getSuperTypes(),
|
|
180
|
-
string =
|
|
181
|
-
simpleTypeDeclaration = new SimpleTypeDeclaration(context, node, string, type);
|
|
189
|
+
string = stringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixName, superTypes),
|
|
190
|
+
simpleTypeDeclaration = new SimpleTypeDeclaration(context, node, string, type, prefixed);
|
|
182
191
|
|
|
183
192
|
return simpleTypeDeclaration;
|
|
184
193
|
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import dom from "../../dom";
|
|
4
|
+
|
|
5
|
+
import { domAssigned } from "../../dom";
|
|
6
|
+
|
|
7
|
+
export default domAssigned(class TypePrefixDeclaration {
|
|
8
|
+
constructor(context, node, string, typePrefix) {
|
|
9
|
+
this.context = context;
|
|
10
|
+
this.node = node;
|
|
11
|
+
this.string = string;
|
|
12
|
+
this.typePrefix = typePrefix;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
getContext() {
|
|
16
|
+
return this.context;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
getNode() {
|
|
20
|
+
return this.node;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
getString() {
|
|
24
|
+
return this.string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getTypePrefix() {
|
|
28
|
+
return this.typePrefix;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
verify() {
|
|
32
|
+
let verifies = false;
|
|
33
|
+
|
|
34
|
+
const typePrefixDeclarationString = this.string; ///
|
|
35
|
+
|
|
36
|
+
this.context.trace(`Verifying the '${typePrefixDeclarationString}' type prefix declaration...`, this.node);
|
|
37
|
+
|
|
38
|
+
const typePrefixVerifies = this.verifyTypePrefix();
|
|
39
|
+
|
|
40
|
+
if (typePrefixVerifies) {
|
|
41
|
+
this.context.addTypePrefix(this.typePrefix);
|
|
42
|
+
|
|
43
|
+
verifies = true;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (verifies) {
|
|
47
|
+
this.context.debug(`...verified the '${typePrefixDeclarationString}' type prefix declaration.`, this.node);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return verifies;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
verifyTypePrefix() {
|
|
54
|
+
let typePrefixVerifies = false;
|
|
55
|
+
|
|
56
|
+
const typePrefixString = this.typePrefix.getString();
|
|
57
|
+
|
|
58
|
+
this.context.trace(`Verifying the '${typePrefixString}' type prefix...`, this.node);
|
|
59
|
+
|
|
60
|
+
const typePrefix = this.context.getTypePrefix();
|
|
61
|
+
|
|
62
|
+
if (typePrefix !== null) {
|
|
63
|
+
this.context.trace(`The package already has a '${typePrefixString}' type prefix.`, this.node);
|
|
64
|
+
} else {
|
|
65
|
+
|
|
66
|
+
const typePrefixName = this.typePrefix.getName(),
|
|
67
|
+
typePrefixPresent = this.context.isTypePrefixPresentByTypePrefixName(typePrefixName);
|
|
68
|
+
|
|
69
|
+
if (typePrefixPresent) {
|
|
70
|
+
this.context.trace(`The '${typePrefixString}' type prefix is already present.`, this.node);
|
|
71
|
+
} else {
|
|
72
|
+
const typeName = typePrefixName, ///
|
|
73
|
+
typePresent = this.context.isTypePresentByTypeName(typeName);
|
|
74
|
+
|
|
75
|
+
if (typePresent) {
|
|
76
|
+
this.context.trace(`The '${typePrefixString}' type is already present.`, this.node);
|
|
77
|
+
} else {
|
|
78
|
+
typePrefixVerifies = true;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (typePrefixVerifies) {
|
|
84
|
+
this.context.debug(`...verified the '${typePrefixString}' type prefix.`, this.node);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return typePrefixVerifies;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
static name = "TypePrefixDeclaration";
|
|
91
|
+
|
|
92
|
+
static fromTypePrefixDeclarationNode(typePrefixDeclarationNode, context) {
|
|
93
|
+
const { TypePrefix } = dom,
|
|
94
|
+
node = typePrefixDeclarationNode, ///
|
|
95
|
+
typePrefix = TypePrefix.fromTypePrefixDeclarationNode(typePrefixDeclarationNode, context),
|
|
96
|
+
typePrefixName = typePrefix.getName(),
|
|
97
|
+
string = typePrefixName, ///
|
|
98
|
+
simpleTypeDeclaration = new TypePrefixDeclaration(context, node, string, typePrefix);
|
|
99
|
+
|
|
100
|
+
return simpleTypeDeclaration;
|
|
101
|
+
}
|
|
102
|
+
});
|