occam-verify-cli 0.0.1010 → 0.0.1012

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.
Files changed (45) hide show
  1. package/lib/combinator.js +9 -2
  2. package/lib/constructor/bracketed.js +52 -8
  3. package/lib/constructor.js +64 -18
  4. package/lib/declaration/constructor.js +90 -0
  5. package/lib/declaration/metavariable.js +15 -8
  6. package/lib/declaration/type.js +90 -0
  7. package/lib/error.js +70 -0
  8. package/lib/rule.js +8 -7
  9. package/lib/ruleNames.js +5 -1
  10. package/lib/statement.js +5 -5
  11. package/lib/term.js +97 -5
  12. package/lib/type.js +85 -18
  13. package/lib/utilities/node.js +10 -3
  14. package/lib/utilities/releaseContext.js +5 -10
  15. package/lib/utilities/tokens.js +8 -1
  16. package/lib/verifier/termAsConstructor.js +3 -4
  17. package/lib/verifier/topLevel.js +10 -10
  18. package/package.json +1 -1
  19. package/src/combinator.js +13 -3
  20. package/src/constructor/bracketed.js +15 -12
  21. package/src/constructor.js +73 -17
  22. package/src/declaration/constructor.js +49 -0
  23. package/src/declaration/metavariable.js +12 -7
  24. package/src/declaration/type.js +49 -0
  25. package/src/error.js +35 -0
  26. package/src/rule.js +6 -6
  27. package/src/ruleNames.js +1 -0
  28. package/src/statement.js +4 -4
  29. package/src/term.js +119 -4
  30. package/src/type.js +113 -17
  31. package/src/utilities/node.js +20 -7
  32. package/src/utilities/releaseContext.js +5 -14
  33. package/src/utilities/tokens.js +7 -0
  34. package/src/verifier/termAsConstructor.js +7 -6
  35. package/src/verifier/topLevel.js +12 -9
  36. package/lib/tokens/combinatorFrame/bracketed.js +0 -17
  37. package/lib/verify/declaration/combinator.js +0 -19
  38. package/lib/verify/declaration/constructor.js +0 -32
  39. package/lib/verify/declaration/type.js +0 -65
  40. package/lib/verify/error.js +0 -18
  41. package/src/tokens/combinatorFrame/bracketed.js +0 -10
  42. package/src/verify/declaration/combinator.js +0 -6
  43. package/src/verify/declaration/constructor.js +0 -36
  44. package/src/verify/declaration/type.js +0 -85
  45. package/src/verify/error.js +0 -11
@@ -2,7 +2,6 @@
2
2
 
3
3
  import shim from "../shim";
4
4
  import Verifier from "../verifier";
5
- import verifyType from "../verify/type";
6
5
  import LocalContext from "../context/local";
7
6
 
8
7
  import { nodeQuery } from "../utilities/query";
@@ -31,10 +30,10 @@ class TermAsConstructorVerifier extends Verifier {
31
30
  {
32
31
  nodeQuery: termNodeQuery,
33
32
  verify: (termNode, fileContext, verifyAhead) => {
34
- const { verifyTerm } = shim,
35
- terms = [],
33
+ const { Term } = shim,
34
+ term = Term.fromTermNode(termNode, fileContext),
36
35
  localContext = LocalContext.fromFileContext(fileContext),
37
- termVerified = verifyTerm(termNode, terms, localContext, verifyAhead);
36
+ termVerified = term.verify(localContext, verifyAhead);
38
37
 
39
38
  return termVerified;
40
39
  }
@@ -42,8 +41,10 @@ class TermAsConstructorVerifier extends Verifier {
42
41
  {
43
42
  nodeQuery: typeNodeQuery,
44
43
  verify: (typeNode, fileContext, verifyAhead) => {
45
- const localContext = LocalContext.fromFileContext(fileContext),
46
- typeVerified = verifyType(typeNode, localContext, verifyAhead);
44
+ const { Type } = shim,
45
+ type = Type.fromTypeNode(typeNode, fileContext),
46
+ localContext = LocalContext.fromFileContext(fileContext),
47
+ typeVerified = type.verify(localContext, verifyAhead);
47
48
 
48
49
  return typeVerified;
49
50
  }
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  import Rule from "../rule";
4
+ import Error from "../error";
5
+ import TypeDeclaration from "../declaration/type";
4
6
  import CombinatorDeclaration from "../declaration/combinator";
7
+ import ConstructorDeclaration from "../declaration/constructor";
5
8
  import MetavariableDeclaration from "../declaration/metavariable";
6
9
 
7
10
  import Verifier from "../verifier";
8
- import verifyError from "../verify/error";
9
11
  import verifyAxiom from "../verify/axiom";
10
12
  import verifyLemma from "../verify/lemma";
11
13
  import verifyTheorem from "../verify/theorem";
12
14
  import verifyMetaLemma from "../verify/metaLemma";
13
15
  import verifyConjecture from "../verify/conjecture";
14
16
  import verifyMetatheorem from "../verify/metatheorem";
15
- import verifyTypeDeclaration from "../verify/declaration/type";
16
17
  import verifyVariableDeclaration from "../verify/declaration/variable";
17
- import verifyConstructorDeclaration from "../verify/declaration/constructor";
18
18
 
19
19
  import { nodeQuery } from "../utilities/query";
20
20
 
@@ -48,7 +48,8 @@ class TopLevelVerifier extends Verifier {
48
48
  {
49
49
  nodeQuery: errorNodeQuery,
50
50
  verify: (errorNode, fileContext) => {
51
- const errorVerified = verifyError(errorNode, fileContext);
51
+ const error = Error.fromErrorNode(errorNode, fileContext),
52
+ errorVerified = error.verify();
52
53
 
53
54
  return errorVerified;
54
55
  }
@@ -57,7 +58,7 @@ class TopLevelVerifier extends Verifier {
57
58
  nodeQuery: ruleNodeQuery,
58
59
  verify: (ruleNode, fileContext) => {
59
60
  const rule = Rule.fromRuleNode(ruleNode, fileContext),
60
- ruleVerified = rule.verify(fileContext);
61
+ ruleVerified = rule.verify();
61
62
 
62
63
  return ruleVerified;
63
64
  }
@@ -113,7 +114,8 @@ class TopLevelVerifier extends Verifier {
113
114
  {
114
115
  nodeQuery: typeDeclarationNodeQuery,
115
116
  verify: (typeDeclarationNode, fileContext) => {
116
- const typeDeclarationVerified = verifyTypeDeclaration(typeDeclarationNode, fileContext);
117
+ const typeDeclaration = TypeDeclaration.fromTypeDeclarationNode(typeDeclarationNode, fileContext),
118
+ typeDeclarationVerified = typeDeclaration.verify();
117
119
 
118
120
  return typeDeclarationVerified;
119
121
  }
@@ -130,7 +132,7 @@ class TopLevelVerifier extends Verifier {
130
132
  nodeQuery: combinatorDeclarationNodeQuery,
131
133
  verify: (combinatorDeclarationNode, fileContext) => {
132
134
  const combinatorDeclaration = CombinatorDeclaration.fromCombinatorDeclarationNode(combinatorDeclarationNode, fileContext),
133
- combinatorDeclarationVerified = combinatorDeclaration.verify(fileContext);
135
+ combinatorDeclarationVerified = combinatorDeclaration.verify();
134
136
 
135
137
  return combinatorDeclarationVerified;
136
138
  }
@@ -138,7 +140,8 @@ class TopLevelVerifier extends Verifier {
138
140
  {
139
141
  nodeQuery: constructorDeclarationNodeQuery,
140
142
  verify: (constructorDeclarationNode, fileContext) => {
141
- const constructorDeclarationVerified = verifyConstructorDeclaration(constructorDeclarationNode, fileContext);
143
+ const constructorDeclaration = ConstructorDeclaration.fromConstructorDeclarationNode(constructorDeclarationNode, fileContext),
144
+ constructorDeclarationVerified = constructorDeclaration.verify();
142
145
 
143
146
  return constructorDeclarationVerified;
144
147
  }
@@ -147,7 +150,7 @@ class TopLevelVerifier extends Verifier {
147
150
  nodeQuery: metavariableDeclarationNodeQuery,
148
151
  verify: (metavariableDeclarationNode, fileContext) => {
149
152
  const metavariableDeclaration = MetavariableDeclaration.fromMetavariableDeclarationNode(metavariableDeclarationNode, fileContext),
150
- metavariableDeclarationVerified = metavariableDeclaration.verify(fileContext);
153
+ metavariableDeclarationVerified = metavariableDeclaration.verify();
151
154
 
152
155
  return metavariableDeclarationVerified;
153
156
  }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _metaTypeNames = require("../../metaTypeNames");
12
- var _tokens = require("../../utilities/tokens");
13
- var bracketedCombinatorFrameString = "(".concat(_metaTypeNames.FRAME_META_TYPE_NAME, ")");
14
- var bracketedCombinatorFrameTokens = (0, _tokens.fromTokensFromFrameString)(bracketedCombinatorFrameString);
15
- var _default = bracketedCombinatorFrameTokens;
16
-
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbnMvY29tYmluYXRvckZyYW1lL2JyYWNrZXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRlJBTUVfTUVUQV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vLi4vbWV0YVR5cGVOYW1lc1wiO1xuaW1wb3J0IHsgZnJvbVRva2Vuc0Zyb21GcmFtZVN0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdG9rZW5zXCI7XG5cbmNvbnN0IGJyYWNrZXRlZENvbWJpbmF0b3JGcmFtZVN0cmluZyA9IGAoJHtGUkFNRV9NRVRBX1RZUEVfTkFNRX0pYDtcblxuY29uc3QgYnJhY2tldGVkQ29tYmluYXRvckZyYW1lVG9rZW5zID0gZnJvbVRva2Vuc0Zyb21GcmFtZVN0cmluZyhicmFja2V0ZWRDb21iaW5hdG9yRnJhbWVTdHJpbmcpXG5cbmV4cG9ydCBkZWZhdWx0IGJyYWNrZXRlZENvbWJpbmF0b3JGcmFtZVRva2VucztcbiJdLCJuYW1lcyI6WyJicmFja2V0ZWRDb21iaW5hdG9yRnJhbWVTdHJpbmciLCJGUkFNRV9NRVRBX1RZUEVfTkFNRSIsImJyYWNrZXRlZENvbWJpbmF0b3JGcmFtZVRva2VucyIsImZyb21Ub2tlbnNGcm9tRnJhbWVTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7OzZCQVBxQztzQkFDSztBQUUxQyxJQUFNQSxpQ0FBaUMsQUFBQyxJQUF3QixPQUFyQkMsbUNBQW9CLEVBQUM7QUFFaEUsSUFBTUMsaUNBQWlDQyxJQUFBQSxpQ0FBeUIsRUFBQ0g7SUFFakUsV0FBZUUifQ==
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyCombinatorDeclaration;
9
- }
10
- });
11
- var _statementAsCombinator = /*#__PURE__*/ _interop_require_default(require("../../verify/statementAsCombinator"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function verifyCombinatorDeclaration(combinatorDeclarationNode, fileContext) {}
18
-
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vY29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVN0YXRlbWVudEFzQ29tYmluYXRvciBmcm9tIFwiLi4vLi4vdmVyaWZ5L3N0YXRlbWVudEFzQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlDb21iaW5hdG9yRGVjbGFyYXRpb24oY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlDb21iaW5hdG9yRGVjbGFyYXRpb24iLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiZmlsZUNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7NEVBRmdCOzs7Ozs7QUFFekIsU0FBU0EsNEJBQTRCQyx5QkFBeUIsRUFBRUMsV0FBVyxHQUMxRiJ9
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyConstructorDeclaration;
9
- }
10
- });
11
- var _termAsConstructor = /*#__PURE__*/ _interop_require_default(require("../../verify/termAsConstructor"));
12
- var _query = require("../../utilities/query");
13
- var _constants = require("../../constants");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term"), typeNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/type");
20
- function verifyConstructorDeclaration(constructorDeclarationNode, fileContext) {
21
- var constructorDeclarationVerified;
22
- var termNode = termNodeQuery(constructorDeclarationNode), typeNode = typeNodeQuery(constructorDeclarationNode), termString = fileContext.nodeAsString(termNode), typeString = typeNode === null ? _constants.EMPTY_STRING : fileContext.nodeAsString(typeNode);
23
- typeString === _constants.EMPTY_STRING ? fileContext.trace("Verifying the '".concat(termString, "' constructor declaration..."), constructorDeclarationNode) : fileContext.trace("Verifying the '".concat(termString, ":").concat(typeString, "' constructor declaration..."), constructorDeclarationNode);
24
- var termVerifiedAsConstructor = (0, _termAsConstructor.default)(termNode, typeNode, fileContext);
25
- constructorDeclarationVerified = termVerifiedAsConstructor; ///
26
- if (constructorDeclarationVerified) {
27
- typeString === _constants.EMPTY_STRING ? fileContext.debug("...verified the '".concat(termString, "' constructor declaration."), constructorDeclarationNode) : fileContext.debug("...verified the '".concat(termString, ":").concat(typeString, "' constructor declaration."), constructorDeclarationNode);
28
- }
29
- return constructorDeclarationVerified;
30
- }
31
-
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vY29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtQXNDb25zdHJ1Y3RvciBmcm9tIFwiLi4vLi4vdmVyaWZ5L3Rlcm1Bc0NvbnN0cnVjdG9yXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29uc3RydWN0b3JEZWNsYXJhdGlvbihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0ZXJtU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKSxcbiAgICAgICAgdHlwZVN0cmluZyA9ICh0eXBlTm9kZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgKHR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi4uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfToke3R5cGVTdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi4uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yID0gdmVyaWZ5VGVybUFzQ29uc3RydWN0b3IodGVybU5vZGUsIHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvcjsgLy8vXG5cbiAgaWYgKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgICh0eXBlU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ306JHt0eXBlU3RyaW5nfScgY29uc3RydWN0b3IgZGVjbGFyYXRpb24uYCwgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0eXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFzQ29uc3RydWN0b3IiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7Ozt3RUFSWTtxQkFFVjt5QkFDRzs7Ozs7O0FBRTdCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxpQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixTQUFTRiw2QkFBNkJJLDBCQUEwQixFQUFFQyxXQUFXO0lBQzFGLElBQUlDO0lBRUosSUFBTUMsV0FBV04sY0FBY0csNkJBQ3pCSSxXQUFXTCxjQUFjQyw2QkFDekJLLGFBQWFKLFlBQVlLLFlBQVksQ0FBQ0gsV0FDdENJLGFBQWEsQUFBQ0gsYUFBYSxPQUNaSSx1QkFBWSxHQUNWUCxZQUFZSyxZQUFZLENBQUNGO0lBRS9DRyxlQUFlQyx1QkFBWSxHQUMxQlAsWUFBWVEsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhKLFlBQVcsaUNBQStCTCw4QkFDNUVDLFlBQVlRLEtBQUssQ0FBQyxBQUFDLGtCQUErQkYsT0FBZEYsWUFBVyxLQUFjLE9BQVhFLFlBQVcsaUNBQStCUDtJQUVoRyxJQUFNVSw0QkFBNEJDLElBQUFBLDBCQUF1QixFQUFDUixVQUFVQyxVQUFVSDtJQUU5RUMsaUNBQWlDUSwyQkFBMkIsR0FBRztJQUUvRCxJQUFJUixnQ0FBZ0M7UUFDakNLLGVBQWVDLHVCQUFZLEdBQzFCUCxZQUFZVyxLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWFAsWUFBVywrQkFBNkJMLDhCQUM1RUMsWUFBWVcsS0FBSyxDQUFDLEFBQUMsb0JBQWlDTCxPQUFkRixZQUFXLEtBQWMsT0FBWEUsWUFBVywrQkFBNkJQO0lBQ2xHO0lBRUEsT0FBT0U7QUFDVCJ9
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyTypeDeclaration;
9
- }
10
- });
11
- var _type = /*#__PURE__*/ _interop_require_default(require("../../type"));
12
- var _query = require("../../utilities/query");
13
- var _constants = require("../../constants");
14
- var _name = require("../../utilities/name");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- var firstTypeNodeQuery = (0, _query.nodeQuery)("/typeDeclaration/type[0]"), secondTypeNodeQuery = (0, _query.nodeQuery)("/typeDeclaration/type[1]");
21
- function verifyTypeDeclaration(typeDeclarationNode, fileContext) {
22
- var typeDeclarationVerified;
23
- var firstTypeNode = firstTypeNodeQuery(typeDeclarationNode), secondTypeNode = secondTypeNodeQuery(typeDeclarationNode), typeNode = firstTypeNode, superTypeNode = secondTypeNode, typeString = fileContext.nodeAsString(typeNode), superTypeString = superTypeNode === null ? _constants.EMPTY_STRING : fileContext.nodeAsString(superTypeNode);
24
- superTypeString === _constants.EMPTY_STRING ? fileContext.trace("Verifying the '".concat(typeString, "' type declaration..."), typeDeclarationNode) : fileContext.trace("Verifying the '".concat(typeString, ":").concat(superTypeString, "' type declaration..."), typeDeclarationNode);
25
- var typeVerified = verifyType(typeNode, superTypeNode, fileContext);
26
- typeDeclarationVerified = typeVerified; ///
27
- if (typeDeclarationVerified) {
28
- superTypeString === _constants.EMPTY_STRING ? fileContext.trace("...verified the '".concat(typeString, "' type declaration."), typeDeclarationNode) : fileContext.trace("...verified the '".concat(typeString, ":").concat(superTypeString, "' type declaration."), typeDeclarationNode);
29
- }
30
- return typeDeclarationVerified;
31
- }
32
- function verifyType(typeNode, superTypeNode, fileContext) {
33
- var typeVerified = false;
34
- var typeString = fileContext.nodeAsString(typeNode);
35
- fileContext.trace("Verifying the '".concat(typeString, "' type..."), typeNode);
36
- var typePresent = fileContext.isTypePresentByTypeNode(typeNode);
37
- if (typePresent) {
38
- var typeString1 = fileContext.nodeAsString(typeNode);
39
- fileContext.debug("The type '".concat(typeString1, "' is already present."), typeNode);
40
- } else {
41
- var type;
42
- var typeName = (0, _name.typeNameFromTypeNode)(typeNode);
43
- if (superTypeNode === null) {
44
- type = _type.default.fromTypeName(typeName);
45
- } else {
46
- var superType = fileContext.findTypeByTypeNode(superTypeNode);
47
- if (superType === null) {
48
- var superTypeString = fileContext.nodeAsString(superTypeNode);
49
- fileContext.debug("The super-type '".concat(superTypeString, "' is not present."), typeNode);
50
- } else {
51
- type = _type.default.fromTypeNameAndSuperType(typeName, superType);
52
- }
53
- }
54
- if (type !== null) {
55
- fileContext.addType(type);
56
- typeVerified = true;
57
- }
58
- }
59
- if (typeVerified) {
60
- fileContext.debug("...verified the '".concat(typeString, "' type."), typeNode);
61
- }
62
- return typeVerified;
63
- }
64
-
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uLy4uL3R5cGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3QgZmlyc3RUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvbi90eXBlWzBdXCIpLFxuICAgICAgc2Vjb25kVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb24vdHlwZVsxXVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0eXBlRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCBmaXJzdFR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZVF1ZXJ5KHR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBzZWNvbmRUeXBlTm9kZSA9IHNlY29uZFR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZSwgLy8vXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSBzZWNvbmRUeXBlTm9kZSwgLy8vXG4gICAgICAgIHR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZU5vZGUpLFxuICAgICAgICBzdXBlclR5cGVTdHJpbmcgPSAoc3VwZXJUeXBlTm9kZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcoc3VwZXJUeXBlTm9kZSk7XG5cbiAgKHN1cGVyVHlwZVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0eXBlVmVyaWZpZWQgPSB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB0eXBlVmVyaWZpZWQ7IC8vL1xuXG4gIGlmICh0eXBlRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIChzdXBlclR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVTdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLmAsIHR5cGVEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuLi5gLCB0eXBlTm9kZSk7XG5cbiAgY29uc3QgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTm9kZSh0eXBlTm9kZSk7XG5cbiAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlIHR5cGUgJyR7dHlwZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKTtcblxuICAgIGlmIChzdXBlclR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHN1cGVyVHlwZU5vZGUpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgc3VwZXItdHlwZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBpcyBub3QgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGZpbGVDb250ZXh0LmFkZFR5cGUodHlwZSk7XG5cbiAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdHlwZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUeXBlRGVjbGFyYXRpb24iLCJmaXJzdFR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzZWNvbmRUeXBlTm9kZVF1ZXJ5IiwidHlwZURlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJmaXJzdFR5cGVOb2RlIiwic2Vjb25kVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInN1cGVyVHlwZU5vZGUiLCJ0eXBlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic3VwZXJUeXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0eXBlVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTm9kZSIsImRlYnVnIiwidHlwZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJUeXBlIiwiZnJvbVR5cGVOYW1lIiwic3VwZXJUeXBlIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiYWRkVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzsyREFUUDtxQkFFUzt5QkFDRztvQkFDUTs7Ozs7O0FBRXJDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyw2QkFDL0JDLHNCQUFzQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QixTQUFTRixzQkFBc0JJLG1CQUFtQixFQUFFQyxXQUFXO0lBQzVFLElBQUlDO0lBRUosSUFBTUMsZ0JBQWdCTixtQkFBbUJHLHNCQUNuQ0ksaUJBQWlCTCxvQkFBb0JDLHNCQUNyQ0ssV0FBV0YsZUFDWEcsZ0JBQWdCRixnQkFDaEJHLGFBQWFOLFlBQVlPLFlBQVksQ0FBQ0gsV0FDdENJLGtCQUFrQixBQUFDSCxrQkFBa0IsT0FDakJJLHVCQUFZLEdBQ1ZULFlBQVlPLFlBQVksQ0FBQ0Y7SUFFcERHLG9CQUFvQkMsdUJBQVksR0FDL0JULFlBQVlVLEtBQUssQ0FBQyxBQUFDLGtCQUE0QixPQUFYSixZQUFXLDBCQUF3QlAsdUJBQ3JFQyxZQUFZVSxLQUFLLENBQUMsQUFBQyxrQkFBK0JGLE9BQWRGLFlBQVcsS0FBbUIsT0FBaEJFLGlCQUFnQiwwQkFBd0JUO0lBRTlGLElBQU1ZLGVBQWVDLFdBQVdSLFVBQVVDLGVBQWVMO0lBRXpEQywwQkFBMEJVLGNBQWMsR0FBRztJQUUzQyxJQUFJVix5QkFBeUI7UUFDMUJPLG9CQUFvQkMsdUJBQVksR0FDL0JULFlBQVlVLEtBQUssQ0FBQyxBQUFDLG9CQUE4QixPQUFYSixZQUFXLHdCQUFzQlAsdUJBQ3JFQyxZQUFZVSxLQUFLLENBQUMsQUFBQyxvQkFBaUNGLE9BQWRGLFlBQVcsS0FBbUIsT0FBaEJFLGlCQUFnQix3QkFBc0JUO0lBQ2hHO0lBRUEsT0FBT0U7QUFDVDtBQUVBLFNBQVNXLFdBQVdSLFFBQVEsRUFBRUMsYUFBYSxFQUFFTCxXQUFXO0lBQ3RELElBQUlXLGVBQWU7SUFFbkIsSUFBTUwsYUFBYU4sWUFBWU8sWUFBWSxDQUFDSDtJQUU1Q0osWUFBWVUsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhKLFlBQVcsY0FBWUY7SUFFM0QsSUFBTVMsY0FBY2IsWUFBWWMsdUJBQXVCLENBQUNWO0lBRXhELElBQUlTLGFBQWE7UUFDZixJQUFNUCxjQUFhTixZQUFZTyxZQUFZLENBQUNIO1FBRTVDSixZQUFZZSxLQUFLLENBQUMsQUFBQyxhQUF1QixPQUFYVCxhQUFXLDBCQUF3QkY7SUFDcEUsT0FBTztRQUNMLElBQUlZO1FBRUosSUFBTUMsV0FBV0MsSUFBQUEsMEJBQW9CLEVBQUNkO1FBRXRDLElBQUlDLGtCQUFrQixNQUFNO1lBQzFCVyxPQUFPRyxhQUFJLENBQUNDLFlBQVksQ0FBQ0g7UUFDM0IsT0FBTztZQUNMLElBQU1JLFlBQVlyQixZQUFZc0Isa0JBQWtCLENBQUNqQjtZQUVqRCxJQUFJZ0IsY0FBYyxNQUFNO2dCQUN0QixJQUFNYixrQkFBa0JSLFlBQVlPLFlBQVksQ0FBQ0Y7Z0JBRWpETCxZQUFZZSxLQUFLLENBQUMsQUFBQyxtQkFBa0MsT0FBaEJQLGlCQUFnQixzQkFBb0JKO1lBQzNFLE9BQU87Z0JBQ0xZLE9BQU9HLGFBQUksQ0FBQ0ksd0JBQXdCLENBQUNOLFVBQVVJO1lBQ2pEO1FBQ0Y7UUFFQSxJQUFJTCxTQUFTLE1BQU07WUFDakJoQixZQUFZd0IsT0FBTyxDQUFDUjtZQUVwQkwsZUFBZTtRQUNqQjtJQUNGO0lBRUEsSUFBSUEsY0FBYztRQUNoQlgsWUFBWWUsS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhULFlBQVcsWUFBVUY7SUFDN0Q7SUFFQSxPQUFPTztBQUNUIn0=
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyError;
9
- }
10
- });
11
- function verifyError(errorNode, fileContext) {
12
- var errorVerified = false;
13
- var errorString = fileContext.nodeAsString(errorNode);
14
- fileContext.debug("The '".concat(errorString, "' error cannot be verified."), errorNode);
15
- return errorVerified;
16
- }
17
-
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUVycm9yKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGVycm9yVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBlcnJvclN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhlcnJvck5vZGUpXG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtlcnJvclN0cmluZ30nIGVycm9yIGNhbm5vdCBiZSB2ZXJpZmllZC5gLCBlcnJvck5vZGUpO1xuXG4gIHJldHVybiBlcnJvclZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUVycm9yIiwiZXJyb3JOb2RlIiwiZmlsZUNvbnRleHQiLCJlcnJvclZlcmlmaWVkIiwiZXJyb3JTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLFlBQVlDLFNBQVMsRUFBRUMsV0FBVztJQUN4RCxJQUFJQyxnQkFBZ0I7SUFFcEIsSUFBTUMsY0FBY0YsWUFBWUcsWUFBWSxDQUFDSjtJQUU3Q0MsWUFBWUksS0FBSyxDQUFDLEFBQUMsUUFBbUIsT0FBWkYsYUFBWSxnQ0FBOEJIO0lBRXBFLE9BQU9FO0FBQ1QifQ==
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- import { FRAME_META_TYPE_NAME } from "../../metaTypeNames";
4
- import { fromTokensFromFrameString } from "../../utilities/tokens";
5
-
6
- const bracketedCombinatorFrameString = `(${FRAME_META_TYPE_NAME})`;
7
-
8
- const bracketedCombinatorFrameTokens = fromTokensFromFrameString(bracketedCombinatorFrameString)
9
-
10
- export default bracketedCombinatorFrameTokens;
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- import verifyStatementAsCombinator from "../../verify/statementAsCombinator";
4
-
5
- export default function verifyCombinatorDeclaration(combinatorDeclarationNode, fileContext) {
6
- }
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- import verifyTermAsConstructor from "../../verify/termAsConstructor";
4
-
5
- import { nodeQuery } from "../../utilities/query";
6
- import { EMPTY_STRING } from "../../constants";
7
-
8
- const termNodeQuery = nodeQuery("/constructorDeclaration/term"),
9
- typeNodeQuery = nodeQuery("/constructorDeclaration/type");
10
-
11
- export default function verifyConstructorDeclaration(constructorDeclarationNode, fileContext) {
12
- let constructorDeclarationVerified;
13
-
14
- const termNode = termNodeQuery(constructorDeclarationNode),
15
- typeNode = typeNodeQuery(constructorDeclarationNode),
16
- termString = fileContext.nodeAsString(termNode),
17
- typeString = (typeNode === null) ?
18
- EMPTY_STRING :
19
- fileContext.nodeAsString(typeNode);
20
-
21
- (typeString === EMPTY_STRING) ?
22
- fileContext.trace(`Verifying the '${termString}' constructor declaration...`, constructorDeclarationNode) :
23
- fileContext.trace(`Verifying the '${termString}:${typeString}' constructor declaration...`, constructorDeclarationNode);
24
-
25
- const termVerifiedAsConstructor = verifyTermAsConstructor(termNode, typeNode, fileContext);
26
-
27
- constructorDeclarationVerified = termVerifiedAsConstructor; ///
28
-
29
- if (constructorDeclarationVerified) {
30
- (typeString === EMPTY_STRING) ?
31
- fileContext.debug(`...verified the '${termString}' constructor declaration.`, constructorDeclarationNode) :
32
- fileContext.debug(`...verified the '${termString}:${typeString}' constructor declaration.`, constructorDeclarationNode);
33
- }
34
-
35
- return constructorDeclarationVerified;
36
- }
@@ -1,85 +0,0 @@
1
- "use strict";
2
-
3
- import Type from "../../type";
4
-
5
- import { nodeQuery } from "../../utilities/query";
6
- import { EMPTY_STRING } from "../../constants";
7
- import { typeNameFromTypeNode } from "../../utilities/name";
8
-
9
- const firstTypeNodeQuery = nodeQuery("/typeDeclaration/type[0]"),
10
- secondTypeNodeQuery = nodeQuery("/typeDeclaration/type[1]");
11
-
12
- export default function verifyTypeDeclaration(typeDeclarationNode, fileContext) {
13
- let typeDeclarationVerified;
14
-
15
- const firstTypeNode = firstTypeNodeQuery(typeDeclarationNode),
16
- secondTypeNode = secondTypeNodeQuery(typeDeclarationNode),
17
- typeNode = firstTypeNode, ///
18
- superTypeNode = secondTypeNode, ///
19
- typeString = fileContext.nodeAsString(typeNode),
20
- superTypeString = (superTypeNode === null) ?
21
- EMPTY_STRING :
22
- fileContext.nodeAsString(superTypeNode);
23
-
24
- (superTypeString === EMPTY_STRING) ?
25
- fileContext.trace(`Verifying the '${typeString}' type declaration...`, typeDeclarationNode) :
26
- fileContext.trace(`Verifying the '${typeString}:${superTypeString}' type declaration...`, typeDeclarationNode);
27
-
28
- const typeVerified = verifyType(typeNode, superTypeNode, fileContext);
29
-
30
- typeDeclarationVerified = typeVerified; ///
31
-
32
- if (typeDeclarationVerified) {
33
- (superTypeString === EMPTY_STRING) ?
34
- fileContext.trace(`...verified the '${typeString}' type declaration.`, typeDeclarationNode) :
35
- fileContext.trace(`...verified the '${typeString}:${superTypeString}' type declaration.`, typeDeclarationNode);
36
- }
37
-
38
- return typeDeclarationVerified;
39
- }
40
-
41
- function verifyType(typeNode, superTypeNode, fileContext) {
42
- let typeVerified = false;
43
-
44
- const typeString = fileContext.nodeAsString(typeNode);
45
-
46
- fileContext.trace(`Verifying the '${typeString}' type...`, typeNode);
47
-
48
- const typePresent = fileContext.isTypePresentByTypeNode(typeNode);
49
-
50
- if (typePresent) {
51
- const typeString = fileContext.nodeAsString(typeNode);
52
-
53
- fileContext.debug(`The type '${typeString}' is already present.`, typeNode);
54
- } else {
55
- let type;
56
-
57
- const typeName = typeNameFromTypeNode(typeNode);
58
-
59
- if (superTypeNode === null) {
60
- type = Type.fromTypeName(typeName);
61
- } else {
62
- const superType = fileContext.findTypeByTypeNode(superTypeNode);
63
-
64
- if (superType === null) {
65
- const superTypeString = fileContext.nodeAsString(superTypeNode);
66
-
67
- fileContext.debug(`The super-type '${superTypeString}' is not present.`, typeNode);
68
- } else {
69
- type = Type.fromTypeNameAndSuperType(typeName, superType);
70
- }
71
- }
72
-
73
- if (type !== null) {
74
- fileContext.addType(type);
75
-
76
- typeVerified = true;
77
- }
78
- }
79
-
80
- if (typeVerified) {
81
- fileContext.debug(`...verified the '${typeString}' type.`, typeNode);
82
- }
83
-
84
- return typeVerified;
85
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- export default function verifyError(errorNode, fileContext) {
4
- let errorVerified = false;
5
-
6
- const errorString = fileContext.nodeAsString(errorNode)
7
-
8
- fileContext.debug(`The '${errorString}' error cannot be verified.`, errorNode);
9
-
10
- return errorVerified;
11
- }