@resistdesign/voltra 3.0.0-alpha.3 → 3.0.0-alpha.4

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 (225) hide show
  1. package/README.md +75 -0
  2. package/SearchTypes-DjN6YQzE.d.ts +577 -0
  3. package/Types-C7XjUjoF.d.ts +240 -0
  4. package/Validation-CFP59oIP.d.ts +226 -0
  5. package/api/index.d.ts +6 -0
  6. package/api/index.js +7968 -0
  7. package/app/index.d.ts +5 -0
  8. package/app/index.js +810 -0
  9. package/common/Testing/CLI.js +432 -0
  10. package/common/index.d.ts +4 -0
  11. package/common/index.js +1760 -0
  12. package/iac/index.d.ts +2 -0
  13. package/iac/index.js +1661 -0
  14. package/iac/packs/index.d.ts +1 -0
  15. package/iac/packs/index.js +1620 -0
  16. package/index-BkFZlfit.d.ts +112 -0
  17. package/index-C3-iD9Mh.d.ts +690 -0
  18. package/index-DZ2BB4iX.d.ts +5357 -0
  19. package/{src/iac/types/IaCTypes.d.ts → index-DcvJOZ_c.d.ts} +1018 -23
  20. package/index-IokxSNxm.d.ts +745 -0
  21. package/index.d.ts +13 -0
  22. package/index.js +10973 -0
  23. package/package.json +40 -41
  24. package/src/api/DataAccessControl.d.ts +0 -85
  25. package/src/api/DataAccessControl.js +0 -159
  26. package/src/api/ORM/DACUtils.d.ts +0 -60
  27. package/src/api/ORM/DACUtils.js +0 -197
  28. package/src/api/ORM/ListItemUtils.d.ts +0 -7
  29. package/src/api/ORM/ListItemUtils.js +0 -22
  30. package/src/api/ORM/ORMRouteMap.d.ts +0 -19
  31. package/src/api/ORM/ORMRouteMap.js +0 -82
  32. package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
  33. package/src/api/ORM/TypeInfoORMService.js +0 -581
  34. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
  35. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
  36. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
  37. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
  38. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
  39. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
  40. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
  41. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
  42. package/src/api/ORM/drivers/S3FileItemDBDriver.d.ts +0 -44
  43. package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
  44. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
  45. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
  46. package/src/api/ORM/drivers/common/Types.d.ts +0 -77
  47. package/src/api/ORM/drivers/common/Types.js +0 -14
  48. package/src/api/ORM/drivers/common/index.d.ts +0 -2
  49. package/src/api/ORM/drivers/common/index.js +0 -18
  50. package/src/api/ORM/drivers/index.d.ts +0 -3
  51. package/src/api/ORM/drivers/index.js +0 -19
  52. package/src/api/ORM/index.d.ts +0 -4
  53. package/src/api/ORM/index.js +0 -43
  54. package/src/api/Router/AWS.d.ts +0 -26
  55. package/src/api/Router/AWS.js +0 -76
  56. package/src/api/Router/Auth.d.ts +0 -2
  57. package/src/api/Router/Auth.js +0 -9
  58. package/src/api/Router/CORS.d.ts +0 -6
  59. package/src/api/Router/CORS.js +0 -27
  60. package/src/api/Router/Types.d.ts +0 -71
  61. package/src/api/Router/Types.js +0 -2
  62. package/src/api/Router/index.d.ts +0 -18
  63. package/src/api/Router/index.js +0 -145
  64. package/src/api/index.d.ts +0 -3
  65. package/src/api/index.js +0 -39
  66. package/src/app/index.d.ts +0 -1
  67. package/src/app/index.js +0 -37
  68. package/src/app/utils/ApplicationState.d.ts +0 -52
  69. package/src/app/utils/ApplicationState.js +0 -86
  70. package/src/app/utils/ApplicationStateLoader.d.ts +0 -46
  71. package/src/app/utils/ApplicationStateLoader.js +0 -57
  72. package/src/app/utils/Controller.d.ts +0 -4
  73. package/src/app/utils/Controller.js +0 -47
  74. package/src/app/utils/Debug.d.ts +0 -4
  75. package/src/app/utils/Debug.js +0 -30
  76. package/src/app/utils/EasyLayout.d.ts +0 -49
  77. package/src/app/utils/EasyLayout.js +0 -122
  78. package/src/app/utils/Route.d.ts +0 -28
  79. package/src/app/utils/Route.js +0 -102
  80. package/src/app/utils/Service.d.ts +0 -12
  81. package/src/app/utils/Service.js +0 -34
  82. package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
  83. package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
  84. package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
  85. package/src/app/utils/TypeInfoORMClient.js +0 -69
  86. package/src/app/utils/index.d.ts +0 -8
  87. package/src/app/utils/index.js +0 -24
  88. package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
  89. package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
  90. package/src/common/HelperTypes.d.ts +0 -3
  91. package/src/common/HelperTypes.js +0 -2
  92. package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
  93. package/src/common/IdGeneration/getSimpleId.js +0 -16
  94. package/src/common/IdGeneration/index.d.ts +0 -1
  95. package/src/common/IdGeneration/index.js +0 -17
  96. package/src/common/ItemRelationshipInfoTypes.d.ts +0 -46
  97. package/src/common/ItemRelationshipInfoTypes.js +0 -20
  98. package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
  99. package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
  100. package/src/common/ItemRelationships/index.d.ts +0 -1
  101. package/src/common/ItemRelationships/index.js +0 -17
  102. package/src/common/Logging/Utils.d.ts +0 -10
  103. package/src/common/Logging/Utils.js +0 -33
  104. package/src/common/Logging/index.d.ts +0 -1
  105. package/src/common/Logging/index.js +0 -17
  106. package/src/common/Routing.d.ts +0 -25
  107. package/src/common/Routing.js +0 -102
  108. package/src/common/SearchTypes.d.ts +0 -98
  109. package/src/common/SearchTypes.js +0 -39
  110. package/src/common/SearchUtils.d.ts +0 -22
  111. package/src/common/SearchUtils.js +0 -134
  112. package/src/common/SearchValidation.d.ts +0 -17
  113. package/src/common/SearchValidation.js +0 -90
  114. package/src/common/Storyboarding/Types.d.ts +0 -25
  115. package/src/common/Storyboarding/Types.js +0 -2
  116. package/src/common/StringTransformers.d.ts +0 -17
  117. package/src/common/StringTransformers.js +0 -36
  118. package/src/common/Testing/CLI.d.ts +0 -2
  119. package/src/common/Testing/CLI.js +0 -56
  120. package/src/common/Testing/Types.d.ts +0 -117
  121. package/src/common/Testing/Types.js +0 -19
  122. package/src/common/Testing/Utils.d.ts +0 -48
  123. package/src/common/Testing/Utils.js +0 -334
  124. package/src/common/Testing/index.d.ts +0 -2
  125. package/src/common/Testing/index.js +0 -18
  126. package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
  127. package/src/common/TypeInfoDataItemUtils.js +0 -55
  128. package/src/common/TypeInfoORM/Types.d.ts +0 -76
  129. package/src/common/TypeInfoORM/Types.js +0 -55
  130. package/src/common/TypeInfoORM/index.d.ts +0 -1
  131. package/src/common/TypeInfoORM/index.js +0 -17
  132. package/src/common/TypeParsing/Constants.d.ts +0 -1
  133. package/src/common/TypeParsing/Constants.js +0 -4
  134. package/src/common/TypeParsing/ParsingUtils/Constants.d.ts +0 -5
  135. package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
  136. package/src/common/TypeParsing/ParsingUtils/checkType.d.ts +0 -8
  137. package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
  138. package/src/common/TypeParsing/ParsingUtils/checkUnionType.d.ts +0 -6
  139. package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
  140. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
  141. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
  142. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
  143. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
  144. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
  145. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
  146. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
  147. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
  148. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
  149. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
  150. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +0 -3
  151. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
  152. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
  153. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
  154. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
  155. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
  156. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
  157. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
  158. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
  159. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
  160. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
  161. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
  162. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
  163. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
  164. package/src/common/TypeParsing/TypeInfo.d.ts +0 -142
  165. package/src/common/TypeParsing/TypeInfo.js +0 -13
  166. package/src/common/TypeParsing/TypeMapping.d.ts +0 -9
  167. package/src/common/TypeParsing/TypeMapping.js +0 -32
  168. package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
  169. package/src/common/TypeParsing/TypeParsing.js +0 -39
  170. package/src/common/TypeParsing/Utils.d.ts +0 -21
  171. package/src/common/TypeParsing/Utils.js +0 -94
  172. package/src/common/TypeParsing/Validation.d.ts +0 -92
  173. package/src/common/TypeParsing/Validation.js +0 -340
  174. package/src/common/TypeParsing/index.d.ts +0 -5
  175. package/src/common/TypeParsing/index.js +0 -44
  176. package/src/common/index.d.ts +0 -11
  177. package/src/common/index.js +0 -47
  178. package/src/iac/SimpleCFT.d.ts +0 -48
  179. package/src/iac/SimpleCFT.js +0 -82
  180. package/src/iac/index.d.ts +0 -9
  181. package/src/iac/index.js +0 -48
  182. package/src/iac/packs/auth/user-management.d.ts +0 -14
  183. package/src/iac/packs/auth/user-management.js +0 -302
  184. package/src/iac/packs/auth.d.ts +0 -19
  185. package/src/iac/packs/auth.js +0 -47
  186. package/src/iac/packs/build/utils.d.ts +0 -100
  187. package/src/iac/packs/build/utils.js +0 -23
  188. package/src/iac/packs/build.d.ts +0 -29
  189. package/src/iac/packs/build.js +0 -217
  190. package/src/iac/packs/cdn.d.ts +0 -12
  191. package/src/iac/packs/cdn.js +0 -126
  192. package/src/iac/packs/cloud-function.d.ts +0 -17
  193. package/src/iac/packs/cloud-function.js +0 -69
  194. package/src/iac/packs/database.d.ts +0 -29
  195. package/src/iac/packs/database.js +0 -27
  196. package/src/iac/packs/dns.d.ts +0 -13
  197. package/src/iac/packs/dns.js +0 -26
  198. package/src/iac/packs/file-storage.d.ts +0 -14
  199. package/src/iac/packs/file-storage.js +0 -71
  200. package/src/iac/packs/gateway.d.ts +0 -27
  201. package/src/iac/packs/gateway.js +0 -342
  202. package/src/iac/packs/index.d.ts +0 -11
  203. package/src/iac/packs/index.js +0 -27
  204. package/src/iac/packs/repo.d.ts +0 -10
  205. package/src/iac/packs/repo.js +0 -34
  206. package/src/iac/packs/ssl-certificate.d.ts +0 -10
  207. package/src/iac/packs/ssl-certificate.js +0 -36
  208. package/src/iac/types/CloudFormationResourceSpecification.d.ts +0 -2
  209. package/src/iac/types/Constants.d.ts +0 -9
  210. package/src/iac/types/Constants.js +0 -20
  211. package/src/iac/types/IaCTypes.js +0 -14
  212. package/src/iac/types/Renderers.d.ts +0 -12
  213. package/src/iac/types/Renderers.js +0 -112
  214. package/src/iac/types/Types.d.ts +0 -37
  215. package/src/iac/types/Types.js +0 -2
  216. package/src/iac/types/Utils.d.ts +0 -2
  217. package/src/iac/types/Utils.js +0 -60
  218. package/src/iac/types/generate.d.ts +0 -1
  219. package/src/iac/types/generate.js +0 -31
  220. package/src/iac/utils/index.d.ts +0 -36
  221. package/src/iac/utils/index.js +0 -105
  222. package/src/iac/utils/patch-utils.d.ts +0 -15
  223. package/src/iac/utils/patch-utils.js +0 -62
  224. package/src/index.d.ts +0 -178
  225. package/src/index.js +0 -214
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkUnionType = void 0;
4
- const extractLiteralValues_1 = require("./extractLiteralValues");
5
- const checkUnionType = (unionType) => {
6
- const extracted = (0, extractLiteralValues_1.extractLiteralValues)(unionType);
7
- let typeKeyword = "string";
8
- let options;
9
- if (extracted) {
10
- options = extracted.values;
11
- typeKeyword = extracted.type;
12
- }
13
- return { options: options || [], typeKeyword };
14
- };
15
- exports.checkUnionType = checkUnionType;
@@ -1,2 +0,0 @@
1
- import { Node } from "typescript";
2
- export declare const extractCommentTags: (node: Node) => Record<any, any>;
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractCommentTags = void 0;
4
- const Routing_1 = require("../../Routing");
5
- const TAG_NAME_PATH_DELIMITER = ".";
6
- const getFlatTagValue = (tagValue) => {
7
- if (typeof tagValue === "undefined") {
8
- return "";
9
- }
10
- else if (Array.isArray(tagValue)) {
11
- const valueNodeArray = tagValue;
12
- const valueList = [];
13
- for (let i = 0; i < valueNodeArray.length; i++) {
14
- const { text } = valueNodeArray[i];
15
- valueList.push(getFlatTagValue(text));
16
- }
17
- return valueList.join(" ");
18
- }
19
- else {
20
- return `${tagValue}`;
21
- }
22
- };
23
- const getTagNameAndValue = (tag) => {
24
- let name = tag.tagName.text, value = getFlatTagValue(tag.comment);
25
- if (value.startsWith(TAG_NAME_PATH_DELIMITER)) {
26
- const extendedTagNameEndIndex = value.indexOf(" ");
27
- const hasActualValue = extendedTagNameEndIndex !== -1;
28
- name += hasActualValue ? value.slice(0, extendedTagNameEndIndex) : value;
29
- value = hasActualValue ? value.slice(extendedTagNameEndIndex + 1) : "";
30
- }
31
- if (value === "") {
32
- value = "true";
33
- }
34
- return {
35
- name,
36
- value,
37
- };
38
- };
39
- const getObjectWithValueAppliedToPath = (path = [], value, baseObject) => {
40
- let baseParentObject = undefined, currentParent = undefined;
41
- if (path.length === 0) {
42
- baseParentObject = value;
43
- }
44
- else {
45
- for (let i = 0; i < path.length; i++) {
46
- const pathPart = path[i];
47
- const cleanPathPart = typeof pathPart === "number"
48
- ? pathPart
49
- : `${typeof pathPart !== "undefined" ? pathPart : ""}`;
50
- const isNum = typeof cleanPathPart === "number";
51
- let newCurrentParent = undefined;
52
- if (i === 0) {
53
- if (!baseObject) {
54
- baseParentObject = isNum ? [] : {};
55
- }
56
- else {
57
- baseParentObject = isNum
58
- ? [...(Array.isArray(baseObject) ? baseObject : [])]
59
- : {
60
- ...(typeof baseObject === "object" ? baseObject : {}),
61
- };
62
- }
63
- currentParent = baseParentObject;
64
- }
65
- if (i < path.length - 1) {
66
- const existingNewCurrentParent = currentParent[cleanPathPart];
67
- newCurrentParent = isNum
68
- ? [
69
- ...(Array.isArray(existingNewCurrentParent)
70
- ? existingNewCurrentParent
71
- : []),
72
- ]
73
- : {
74
- ...(typeof existingNewCurrentParent === "object"
75
- ? existingNewCurrentParent
76
- : {}),
77
- };
78
- currentParent[cleanPathPart] = newCurrentParent;
79
- currentParent = newCurrentParent;
80
- }
81
- else {
82
- currentParent[cleanPathPart] = value;
83
- }
84
- }
85
- }
86
- return baseParentObject;
87
- };
88
- const extractCommentTags = (node) => {
89
- const jsDocComments = node["jsDoc"];
90
- let commentTags = {};
91
- if (jsDocComments) {
92
- jsDocComments.forEach((jsDoc) => {
93
- const tags = jsDoc.tags;
94
- if (tags) {
95
- tags.forEach((tag) => {
96
- const { name: tagName, value: tagValue } = getTagNameAndValue(tag);
97
- const potentialJSONValue = (0, Routing_1.getPotentialJSONValue)(tagValue);
98
- commentTags = getObjectWithValueAppliedToPath((0, Routing_1.getPathArray)(tagName, TAG_NAME_PATH_DELIMITER), potentialJSONValue, commentTags);
99
- });
100
- }
101
- });
102
- }
103
- return commentTags;
104
- };
105
- exports.extractCommentTags = extractCommentTags;
@@ -1,6 +0,0 @@
1
- import { UnionTypeNode } from 'typescript';
2
- import { LiteralValue, TypeKeyword } from '../TypeInfo';
3
- export declare const extractLiteralValues: (node: UnionTypeNode) => {
4
- values: LiteralValue[];
5
- type: TypeKeyword;
6
- } | undefined;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractLiteralValues = void 0;
4
- const typescript_1 = require("typescript");
5
- const extractLiteralValues = (node) => {
6
- const literalValues = [];
7
- let detectedTypeKeyword;
8
- for (const type of node.types) {
9
- if ((0, typescript_1.isLiteralTypeNode)(type)) {
10
- const literal = type.literal;
11
- if ((0, typescript_1.isStringLiteral)(literal)) {
12
- if (!detectedTypeKeyword)
13
- detectedTypeKeyword = 'string';
14
- if (detectedTypeKeyword === 'string') {
15
- literalValues.push(literal.text);
16
- }
17
- }
18
- else if ((0, typescript_1.isNumericLiteral)(literal)) {
19
- if (!detectedTypeKeyword)
20
- detectedTypeKeyword = 'number';
21
- if (detectedTypeKeyword === 'number') {
22
- literalValues.push(Number(literal.text));
23
- }
24
- }
25
- else if (literal.kind === typescript_1.SyntaxKind.TrueKeyword || literal.kind === typescript_1.SyntaxKind.FalseKeyword) {
26
- if (!detectedTypeKeyword)
27
- detectedTypeKeyword = 'boolean';
28
- if (detectedTypeKeyword === 'boolean') {
29
- literalValues.push(literal.kind === typescript_1.SyntaxKind.TrueKeyword);
30
- }
31
- }
32
- else if (literal.kind === typescript_1.SyntaxKind.NullKeyword) {
33
- literalValues.push(null);
34
- }
35
- }
36
- else {
37
- return undefined;
38
- }
39
- }
40
- return literalValues.length ? { values: literalValues, type: detectedTypeKeyword } : undefined;
41
- };
42
- exports.extractLiteralValues = extractLiteralValues;
@@ -1,8 +0,0 @@
1
- import { TypeNode } from 'typescript';
2
- import { LiteralValue, TypeKeyword } from '../TypeInfo';
3
- export declare const extractTypeDetails: (type: TypeNode) => {
4
- type: TypeKeyword;
5
- typeReference?: string;
6
- array: boolean;
7
- options?: LiteralValue[];
8
- };
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractTypeDetails = void 0;
4
- const checkType_1 = require("./checkType");
5
- const extractTypeDetails = (type) => {
6
- const { isArray, typeReference, options, typeKeyword } = (0, checkType_1.checkType)(type);
7
- return {
8
- type: typeKeyword || 'string',
9
- typeReference,
10
- array: !!isArray,
11
- options,
12
- };
13
- };
14
- exports.extractTypeDetails = extractTypeDetails;
@@ -1,5 +0,0 @@
1
- import { TypeInfo } from "../TypeInfo";
2
- export declare enum TypeInfoPrimaryFieldErrors {
3
- READ_DENIED_PRIMARY_FIELD_NOT_SUPPORTED = "READ_DENIED_PRIMARY_FIELD_NOT_SUPPORTED"
4
- }
5
- export declare const getPrimaryFieldForTypeInfo: (typeInfo: TypeInfo) => string | undefined;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPrimaryFieldForTypeInfo = exports.TypeInfoPrimaryFieldErrors = void 0;
4
- var TypeInfoPrimaryFieldErrors;
5
- (function (TypeInfoPrimaryFieldErrors) {
6
- TypeInfoPrimaryFieldErrors["READ_DENIED_PRIMARY_FIELD_NOT_SUPPORTED"] = "READ_DENIED_PRIMARY_FIELD_NOT_SUPPORTED";
7
- })(TypeInfoPrimaryFieldErrors || (exports.TypeInfoPrimaryFieldErrors = TypeInfoPrimaryFieldErrors = {}));
8
- const getPrimaryFieldForTypeInfo = (typeInfo) => {
9
- const { fields } = typeInfo;
10
- let primaryField = undefined, primaryFieldReadDenied = false;
11
- for (const fieldName in fields) {
12
- const field = fields[fieldName];
13
- const { tags: { primaryField: isPrimaryField = false, deniedOperations: { READ: readDenied = false } = {}, } = {}, } = field;
14
- if (isPrimaryField || !primaryField) {
15
- primaryField = fieldName;
16
- primaryFieldReadDenied = readDenied;
17
- }
18
- if (isPrimaryField) {
19
- break;
20
- }
21
- }
22
- if (primaryFieldReadDenied) {
23
- throw new Error(TypeInfoPrimaryFieldErrors.READ_DENIED_PRIMARY_FIELD_NOT_SUPPORTED);
24
- }
25
- return primaryField;
26
- };
27
- exports.getPrimaryFieldForTypeInfo = getPrimaryFieldForTypeInfo;
@@ -1,3 +0,0 @@
1
- import { TypeLiteralNode } from "typescript";
2
- import { TypeInfo } from "../TypeInfo";
3
- export declare const getTypeInfo: (typeLiteral: TypeLiteralNode) => TypeInfo;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypeInfo = void 0;
4
- const typescript_1 = require("typescript");
5
- const extractCommentTags_1 = require("./extractCommentTags");
6
- const getTypeInfoField_1 = require("./getTypeInfoField");
7
- const getTypeInfo = (typeLiteral) => {
8
- const { members } = typeLiteral;
9
- const tags = (0, extractCommentTags_1.extractCommentTags)(typeLiteral);
10
- let fields = {};
11
- for (const m of members) {
12
- const { name, kind } = m;
13
- if (name && kind === typescript_1.SyntaxKind.PropertySignature) {
14
- const fieldName = name.getText();
15
- const field = (0, getTypeInfoField_1.getTypeInfoField)(m);
16
- fields = {
17
- ...fields,
18
- [fieldName]: field,
19
- };
20
- }
21
- }
22
- return {
23
- fields,
24
- tags,
25
- };
26
- };
27
- exports.getTypeInfo = getTypeInfo;
@@ -1,3 +0,0 @@
1
- import { PropertySignature } from "typescript";
2
- import { TypeInfoField } from "../TypeInfo";
3
- export declare const getTypeInfoField: (propertySignature: PropertySignature) => TypeInfoField;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypeInfoField = void 0;
4
- const typescript_1 = require("typescript");
5
- const extractTypeDetails_1 = require("./extractTypeDetails");
6
- const extractCommentTags_1 = require("./extractCommentTags");
7
- const getTypeInfoField = (propertySignature) => {
8
- const { type, modifiers } = propertySignature;
9
- const { array, typeReference, type: typeKeyword, options, } = type
10
- ? (0, extractTypeDetails_1.extractTypeDetails)(type)
11
- : {
12
- array: false,
13
- typeReference: undefined,
14
- type: "string",
15
- options: undefined,
16
- };
17
- const readonly = modifiers
18
- ? modifiers.some((modifier) => modifier.kind === typescript_1.SyntaxKind.ReadonlyKeyword)
19
- : false;
20
- const optional = !!propertySignature.questionToken;
21
- let tags = (0, extractCommentTags_1.extractCommentTags)(propertySignature);
22
- if (readonly) {
23
- const { deniedOperations, deniedOperations: { CREATE, UPDATE, DELETE } = {}, } = tags || {};
24
- tags = {
25
- ...tags,
26
- deniedOperations: {
27
- ...deniedOperations,
28
- create: CREATE ?? true,
29
- update: UPDATE ?? true,
30
- delete: DELETE ?? true,
31
- },
32
- };
33
- }
34
- return {
35
- type: typeKeyword,
36
- array,
37
- readonly,
38
- optional,
39
- typeReference,
40
- possibleValues: options,
41
- tags,
42
- };
43
- };
44
- exports.getTypeInfoField = getTypeInfoField;
@@ -1,4 +0,0 @@
1
- import { TypeNode } from "typescript";
2
- import { TypeMap } from "../TypeMapping";
3
- import { TypeInfo } from "../TypeInfo";
4
- export declare const getTypeInfoFromAliasType: (type: TypeNode, typeMap: TypeMap) => TypeInfo | undefined;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypeInfoFromAliasType = void 0;
4
- const typescript_1 = require("typescript");
5
- const getTypeInfo_1 = require("./getTypeInfo");
6
- const getUnionOrIntersectionTypeInfo_1 = require("./getUnionOrIntersectionTypeInfo");
7
- const getTypeInfoFromFieldFilter_1 = require("./getTypeInfoFromFieldFilter");
8
- const getTypeInfoFromTypeLiteral = (type) => (0, getTypeInfo_1.getTypeInfo)(type);
9
- const getTypeInfoFromUnionOrIntersectionType = (type, typeMap) => (0, getUnionOrIntersectionTypeInfo_1.getUnionOrIntersectionTypeInfo)(type, typeMap);
10
- const getTypeInfoFromTypeReference = (type, typeMap) => {
11
- const typeRef = type;
12
- const { typeName } = typeRef;
13
- const typeNameStr = typeName.getText();
14
- return (0, getTypeInfoFromFieldFilter_1.getTypeInfoFromFieldFilter)(typeNameStr, typeRef, typeMap);
15
- };
16
- const ALIAS_TYPE_PROCESSORS = {
17
- [typescript_1.SyntaxKind.TypeLiteral]: getTypeInfoFromTypeLiteral,
18
- [typescript_1.SyntaxKind.UnionType]: getTypeInfoFromUnionOrIntersectionType,
19
- [typescript_1.SyntaxKind.IntersectionType]: getTypeInfoFromUnionOrIntersectionType,
20
- [typescript_1.SyntaxKind.TypeReference]: getTypeInfoFromTypeReference,
21
- };
22
- const getTypeInfoFromAliasType = (type, typeMap) => {
23
- const { kind } = type;
24
- const processor = ALIAS_TYPE_PROCESSORS[kind];
25
- const typeInfo = processor ? processor(type, typeMap) : undefined;
26
- return typeInfo;
27
- };
28
- exports.getTypeInfoFromAliasType = getTypeInfoFromAliasType;
@@ -1,4 +0,0 @@
1
- import { TypeReferenceNode } from "typescript";
2
- import { TypeMap } from "../TypeMapping";
3
- import { TypeInfo } from "../TypeInfo";
4
- export declare const getTypeInfoFromFieldFilter: (typeNameStr: string | undefined, typeRef: TypeReferenceNode, typeMap: TypeMap) => TypeInfo | undefined;
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypeInfoFromFieldFilter = void 0;
4
- const typescript_1 = require("typescript");
5
- const Constants_1 = require("./Constants");
6
- const getUnionOrLiteralStringValues_1 = require("./getUnionOrLiteralStringValues");
7
- const getTypeInfoFromTypeAlias_1 = require("./getTypeInfoFromTypeAlias");
8
- const getTypeInfoFromPickOmitFieldFilters = (typeNameStr, typeRef, typeMap) => {
9
- const picking = typeNameStr === Constants_1.FIELD_FILTERS.PICK;
10
- const omitTypeKind = typeRef.typeArguments?.[0].kind;
11
- let typeInfo;
12
- if (omitTypeKind === typescript_1.SyntaxKind.TypeReference &&
13
- typeRef.typeArguments &&
14
- typeRef.typeArguments[0].kind === typescript_1.SyntaxKind.TypeReference) {
15
- const omitType = typeRef.typeArguments[0];
16
- const omitTypeFields = typeRef.typeArguments[1];
17
- const omitTypeName = omitType.typeName.getText();
18
- const refNode = typeMap[omitTypeName];
19
- if (refNode) {
20
- const { fields: existingFields = {}, unionFieldSets: existingUnionFieldSets, ...typeInfoOther } = (0, getTypeInfoFromTypeAlias_1.getTypeInfoFromTypeAlias)(refNode, typeMap) || {};
21
- const omitFieldNames = (0, getUnionOrLiteralStringValues_1.getUnionOrLiteralStringValues)(omitTypeFields);
22
- const cleanTypeInfoFields = Object.keys(existingFields).reduce((acc, key) => {
23
- if (acc &&
24
- ((picking && omitFieldNames.includes(key)) ||
25
- (!picking && !omitFieldNames.includes(key))) &&
26
- existingFields[key]) {
27
- acc[key] = existingFields[key];
28
- }
29
- return acc;
30
- }, {});
31
- const cleanUnionFieldSets = existingUnionFieldSets
32
- ? existingUnionFieldSets.map((fieldSet) => fieldSet.filter((field) => picking
33
- ? omitFieldNames.includes(field)
34
- : !omitFieldNames.includes(field)))
35
- : undefined;
36
- typeInfo = {
37
- ...typeInfoOther,
38
- fields: cleanTypeInfoFields,
39
- unionFieldSets: cleanUnionFieldSets,
40
- };
41
- }
42
- }
43
- return typeInfo;
44
- };
45
- const getTypeInfoFromExcludeFieldFilter = (typeNameStr, typeRef, typeMap) => {
46
- const baseTypeKind = typeRef.typeArguments?.[0].kind;
47
- const excludeTypeKind = typeRef.typeArguments?.[1].kind;
48
- let typeInfo;
49
- if (baseTypeKind === typescript_1.SyntaxKind.TypeReference &&
50
- excludeTypeKind === typescript_1.SyntaxKind.TypeReference &&
51
- typeRef.typeArguments) {
52
- const baseType = typeRef.typeArguments[0];
53
- const excludeType = typeRef.typeArguments[1];
54
- const baseTypeName = baseType.typeName.getText();
55
- const excludeTypeName = excludeType.typeName.getText();
56
- const refNode = typeMap[baseTypeName];
57
- const excludeNode = typeMap[excludeTypeName];
58
- if (refNode && excludeNode) {
59
- const baseTypeInfo = (0, getTypeInfoFromTypeAlias_1.getTypeInfoFromTypeAlias)(refNode, typeMap);
60
- const excludeTypeInfo = (0, getTypeInfoFromTypeAlias_1.getTypeInfoFromTypeAlias)(excludeNode, typeMap);
61
- if (baseTypeInfo && excludeTypeInfo) {
62
- const { fields: baseFields = {}, unionFieldSets: existingUnionFieldSets, } = baseTypeInfo;
63
- const { fields: excludeFields = {} } = excludeTypeInfo;
64
- const excludeFieldNames = Object.keys(excludeFields);
65
- const cleanTypeInfoFields = Object.keys(baseFields).reduce((acc, key) => {
66
- if (acc && !excludeFieldNames.includes(key) && baseFields[key]) {
67
- acc[key] = baseFields[key];
68
- }
69
- return acc;
70
- }, {});
71
- const cleanUnionFieldSets = existingUnionFieldSets
72
- ? existingUnionFieldSets.map((fieldSet) => fieldSet.filter((field) => !excludeFieldNames.includes(field)))
73
- : undefined;
74
- typeInfo = {
75
- ...baseTypeInfo,
76
- fields: cleanTypeInfoFields,
77
- unionFieldSets: cleanUnionFieldSets,
78
- };
79
- }
80
- }
81
- }
82
- return typeInfo;
83
- };
84
- const defaultFieldFilterProcessor = (typeNameStr, typeRef, typeMap) => {
85
- const refNode = typeNameStr ? typeMap[typeNameStr] : undefined;
86
- let typeInfo;
87
- if (refNode) {
88
- typeInfo = (0, getTypeInfoFromTypeAlias_1.getTypeInfoFromTypeAlias)(refNode, typeMap);
89
- }
90
- return typeInfo;
91
- };
92
- const FIELD_FILTER_PROCESSORS = {
93
- [Constants_1.FIELD_FILTERS.PICK]: getTypeInfoFromPickOmitFieldFilters,
94
- [Constants_1.FIELD_FILTERS.OMIT]: getTypeInfoFromPickOmitFieldFilters,
95
- [Constants_1.FIELD_FILTERS.EXCLUDE]: getTypeInfoFromExcludeFieldFilter,
96
- };
97
- const getTypeInfoFromFieldFilter = (typeNameStr, typeRef, typeMap) => {
98
- const processor = typeNameStr
99
- ? FIELD_FILTER_PROCESSORS[typeNameStr]
100
- : undefined;
101
- return processor
102
- ? processor(typeNameStr, typeRef, typeMap)
103
- : defaultFieldFilterProcessor(typeNameStr, typeRef, typeMap);
104
- };
105
- exports.getTypeInfoFromFieldFilter = getTypeInfoFromFieldFilter;
@@ -1,4 +0,0 @@
1
- import { TypeAliasDeclaration } from "typescript";
2
- import { TypeMap } from "../TypeMapping";
3
- import { TypeInfo } from "../TypeInfo";
4
- export declare const getTypeInfoFromTypeAlias: (typeAliasDec: TypeAliasDeclaration, typeMap: TypeMap) => TypeInfo | undefined;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypeInfoFromTypeAlias = void 0;
4
- const extractCommentTags_1 = require("./extractCommentTags");
5
- const getTypeInfoFromAliasType_1 = require("./getTypeInfoFromAliasType");
6
- const getTypeInfoFromTypeAlias = (typeAliasDec, typeMap) => {
7
- const { type } = typeAliasDec;
8
- const tags = (0, extractCommentTags_1.extractCommentTags)(typeAliasDec);
9
- const typeInfo = (0, getTypeInfoFromAliasType_1.getTypeInfoFromAliasType)(type, typeMap);
10
- return typeInfo
11
- ? {
12
- ...typeInfo,
13
- tags: {
14
- ...tags,
15
- ...typeInfo.tags,
16
- },
17
- }
18
- : undefined;
19
- };
20
- exports.getTypeInfoFromTypeAlias = getTypeInfoFromTypeAlias;
@@ -1,3 +0,0 @@
1
- import { TypeNode } from "typescript";
2
- import { TypeKeyword } from "../TypeInfo";
3
- export declare const getTypeKeyword: (node: TypeNode) => TypeKeyword;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypeKeyword = void 0;
4
- const typescript_1 = require("typescript");
5
- const getTypeKeyword = (node) => {
6
- switch (node.kind) {
7
- case typescript_1.SyntaxKind.StringKeyword:
8
- return "string";
9
- case typescript_1.SyntaxKind.NumberKeyword:
10
- return "number";
11
- case typescript_1.SyntaxKind.BooleanKeyword:
12
- return "boolean";
13
- default:
14
- return "string";
15
- }
16
- };
17
- exports.getTypeKeyword = getTypeKeyword;
@@ -1,4 +0,0 @@
1
- import { IntersectionTypeNode, UnionTypeNode } from "typescript";
2
- import { TypeMap } from "../TypeMapping";
3
- import { TypeInfo } from "../TypeInfo";
4
- export declare const getUnionOrIntersectionTypeInfo: (unionType: UnionTypeNode | IntersectionTypeNode, typeMap: TypeMap) => TypeInfo | undefined;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUnionOrIntersectionTypeInfo = void 0;
4
- const typescript_1 = require("typescript");
5
- const getTypeInfoFromTypeAlias_1 = require("./getTypeInfoFromTypeAlias");
6
- const getTypeInfo_1 = require("./getTypeInfo");
7
- const getUnionOrIntersectionTypeInfo = (unionType, typeMap) => {
8
- const { kind, types } = unionType;
9
- const isUnion = kind === typescript_1.SyntaxKind.UnionType;
10
- let typeInfo;
11
- for (const t of types) {
12
- const { kind } = t;
13
- let nextTypeInfo;
14
- if (kind === typescript_1.SyntaxKind.TypeReference) {
15
- const { typeName } = t;
16
- const refNode = typeMap[typeName.getText()];
17
- if (refNode) {
18
- nextTypeInfo = (0, getTypeInfoFromTypeAlias_1.getTypeInfoFromTypeAlias)(refNode, typeMap);
19
- }
20
- }
21
- else if (kind === typescript_1.SyntaxKind.TypeLiteral) {
22
- nextTypeInfo = (0, getTypeInfo_1.getTypeInfo)(t);
23
- }
24
- if (nextTypeInfo) {
25
- const { fields: existingFields = {}, unionFieldSets: existingFieldSets = [], } = typeInfo || {};
26
- const { fields: nextFields, unionFieldSets: nextUnionFieldSets = [] } = nextTypeInfo;
27
- if (isUnion && nextFields) {
28
- const newUnionFieldSet = Object.keys(nextFields);
29
- typeInfo = {
30
- ...typeInfo,
31
- unionFieldSets: [
32
- ...existingFieldSets,
33
- ...nextUnionFieldSets,
34
- newUnionFieldSet,
35
- ],
36
- };
37
- }
38
- typeInfo = {
39
- ...typeInfo,
40
- fields: {
41
- ...existingFields,
42
- ...nextFields,
43
- },
44
- };
45
- }
46
- }
47
- return typeInfo;
48
- };
49
- exports.getUnionOrIntersectionTypeInfo = getUnionOrIntersectionTypeInfo;
@@ -1,2 +0,0 @@
1
- import { Node } from 'typescript';
2
- export declare const getUnionOrLiteralStringValues: (node?: Node) => string[];
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUnionOrLiteralStringValues = void 0;
4
- const typescript_1 = require("typescript");
5
- const getUnionOrLiteralStringValues = (node) => {
6
- let values = [];
7
- if (node) {
8
- if (node.kind === typescript_1.SyntaxKind.LiteralType) {
9
- const { literal } = node;
10
- if (literal.kind === typescript_1.SyntaxKind.StringLiteral || literal.kind === typescript_1.SyntaxKind.NumericLiteral) {
11
- const { text } = literal;
12
- values = [text];
13
- }
14
- }
15
- else if (node.kind === typescript_1.SyntaxKind.UnionType) {
16
- const { types } = node;
17
- for (const type of types) {
18
- values = [...values, ...(0, exports.getUnionOrLiteralStringValues)(type)];
19
- }
20
- }
21
- }
22
- return values;
23
- };
24
- exports.getUnionOrLiteralStringValues = getUnionOrLiteralStringValues;