@resistdesign/voltra 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (375) hide show
  1. package/README.md +327 -7
  2. package/api/DBX/DBXAsserts.d.ts +95 -0
  3. package/api/DBX/DBXRequest.d.ts +5 -0
  4. package/api/DBX/DBXRuntime.d.ts +5 -0
  5. package/api/DBX/DBXScenarioConfig.d.ts +9 -0
  6. package/api/DBX/DBXSeed.d.ts +124 -0
  7. package/api/DBX/DBXTypes.d.ts +176 -0
  8. package/api/DBX/index.d.ts +8 -0
  9. package/api/DataAccessControl.d.ts +220 -0
  10. package/api/Indexing/API.d.ts +224 -0
  11. package/api/Indexing/Cursor.d.ts +101 -0
  12. package/api/Indexing/Handler/Config.d.ts +39 -0
  13. package/api/Indexing/Handler.d.ts +166 -0
  14. package/api/Indexing/Trace.d.ts +54 -0
  15. package/api/Indexing/Types.d.ts +204 -0
  16. package/api/Indexing/ddb/AwsSdkV3Adapter.d.ts +8 -0
  17. package/api/Indexing/ddb/Types.d.ts +169 -0
  18. package/api/Indexing/docId.d.ts +27 -0
  19. package/api/Indexing/exact/ExactDdb.d.ts +58 -0
  20. package/api/Indexing/exact/ExactIndex.d.ts +90 -0
  21. package/api/Indexing/exact/ExactS3.d.ts +41 -0
  22. package/api/Indexing/fieldQualification.d.ts +12 -0
  23. package/api/Indexing/fulltext/FullTextDdbBackend.d.ts +210 -0
  24. package/api/Indexing/fulltext/FullTextMemoryBackend.d.ts +93 -0
  25. package/api/Indexing/fulltext/Schema.d.ts +164 -0
  26. package/api/Indexing/hashUniversal.d.ts +13 -0
  27. package/api/Indexing/index.d.ts +45 -0
  28. package/api/Indexing/lossy/LossyDdb.d.ts +43 -0
  29. package/api/Indexing/lossy/LossyIndex.d.ts +72 -0
  30. package/api/Indexing/lossy/LossyS3.d.ts +40 -0
  31. package/api/Indexing/rel/Cursor.d.ts +25 -0
  32. package/api/Indexing/rel/Handlers.d.ts +143 -0
  33. package/api/Indexing/rel/RelationalDdb.d.ts +169 -0
  34. package/api/Indexing/rel/RelationalInMemoryBackend.d.ts +38 -0
  35. package/api/Indexing/rel/Types.d.ts +69 -0
  36. package/api/Indexing/structured/Cursor.d.ts +26 -0
  37. package/api/Indexing/structured/Handlers.d.ts +128 -0
  38. package/api/Indexing/structured/SearchStructured.d.ts +44 -0
  39. package/api/Indexing/structured/StructuredDdb.d.ts +166 -0
  40. package/api/Indexing/structured/StructuredDdbBackend.d.ts +109 -0
  41. package/api/Indexing/structured/StructuredInMemoryBackend.d.ts +34 -0
  42. package/api/Indexing/structured/StructuredInMemoryIndex.d.ts +58 -0
  43. package/api/Indexing/structured/StructuredStringLike.d.ts +25 -0
  44. package/api/Indexing/structured/StructuredWriter.d.ts +61 -0
  45. package/api/Indexing/structured/Types.d.ts +126 -0
  46. package/api/Indexing/structured/index.d.ts +9 -0
  47. package/api/Indexing/tokenize.d.ts +31 -0
  48. package/api/ORM/DACUtils.d.ts +270 -0
  49. package/api/ORM/ListItemUtils.d.ts +40 -0
  50. package/api/ORM/ORMRouteMap.d.ts +55 -0
  51. package/api/ORM/TypeInfoORMService.d.ts +555 -0
  52. package/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +229 -0
  53. package/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +89 -0
  54. package/api/ORM/drivers/InMemoryDataItemDBDriver/ConfigTypes.d.ts +4 -0
  55. package/api/ORM/drivers/InMemoryDataItemDBDriver.d.ts +55 -0
  56. package/api/ORM/drivers/InMemoryFileItemDBDriver/ConfigTypes.d.ts +13 -0
  57. package/api/ORM/drivers/InMemoryFileItemDBDriver.d.ts +98 -0
  58. package/api/ORM/drivers/InMemoryItemRelationshipDBDriver.d.ts +16 -0
  59. package/api/ORM/drivers/IndexingRelationshipDriver.d.ts +123 -0
  60. package/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +322 -0
  61. package/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +118 -0
  62. package/{src/api → api}/ORM/drivers/S3FileItemDBDriver.d.ts +27 -0
  63. package/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +36 -0
  64. package/{src/api → api}/ORM/drivers/common/Types.d.ts +120 -0
  65. package/api/ORM/drivers/index.d.ts +7 -0
  66. package/api/ORM/index.d.ts +7 -0
  67. package/api/ORM/indexing/criteriaToStructuredWhere.d.ts +17 -0
  68. package/api/Router/AWS.d.ts +80 -0
  69. package/api/Router/Auth.d.ts +14 -0
  70. package/api/Router/CORS.d.ts +66 -0
  71. package/{src/api → api}/Router/Types.d.ts +70 -4
  72. package/api/Router/index.d.ts +89 -0
  73. package/api/index.d.ts +68 -0
  74. package/api/index.js +9204 -0
  75. package/app/forms/Engine.d.ts +20 -0
  76. package/app/forms/core/createAutoField.d.ts +35 -0
  77. package/app/forms/core/createFormRenderer.d.ts +24 -0
  78. package/app/forms/core/getFieldKind.d.ts +14 -0
  79. package/app/forms/core/index.d.ts +11 -0
  80. package/app/forms/core/mergeSuites.d.ts +22 -0
  81. package/app/forms/core/resolveSuite.d.ts +14 -0
  82. package/app/forms/core/types.d.ts +153 -0
  83. package/app/forms/index.d.ts +9 -0
  84. package/app/forms/types.d.ts +156 -0
  85. package/app/helpers/styled.d.ts +3 -0
  86. package/app/index.d.ts +98 -0
  87. package/app/index.js +1386 -0
  88. package/{src/app → app}/utils/ApplicationState.d.ts +115 -0
  89. package/{src/app → app}/utils/ApplicationStateLoader.d.ts +40 -0
  90. package/app/utils/Controller.d.ts +10 -0
  91. package/app/utils/Debug.d.ts +14 -0
  92. package/app/utils/EasyLayout.d.ts +89 -0
  93. package/app/utils/History.d.ts +148 -0
  94. package/app/utils/Route.d.ts +129 -0
  95. package/app/utils/RouteHistory.d.ts +26 -0
  96. package/app/utils/Service.d.ts +45 -0
  97. package/app/utils/TypeInfoORMAPIUtils.d.ts +94 -0
  98. package/app/utils/TypeInfoORMClient.d.ts +103 -0
  99. package/app/utils/easy-layout/computeAreaBounds.d.ts +5 -0
  100. package/app/utils/easy-layout/computeTracks.d.ts +16 -0
  101. package/app/utils/easy-layout/index.d.ts +5 -0
  102. package/app/utils/easy-layout/parseTemplate.d.ts +12 -0
  103. package/app/utils/easy-layout/types.d.ts +52 -0
  104. package/app/utils/easy-layout/validateAreas.d.ts +5 -0
  105. package/app/utils/index.d.ts +23 -0
  106. package/{src/common/TypeParsing → build}/TypeMapping.d.ts +8 -0
  107. package/build/TypeParsing.d.ts +10 -0
  108. package/build/index.d.ts +15 -0
  109. package/build/index.js +579 -0
  110. package/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +9 -0
  111. package/common/CommandLine/index.d.ts +6 -0
  112. package/common/HelperTypes.d.ts +9 -0
  113. package/common/IdGeneration/getSimpleId.d.ts +8 -0
  114. package/{src/common → common}/ItemRelationshipInfoTypes.d.ts +19 -1
  115. package/common/ItemRelationships/ItemRelationshipValidation.d.ts +21 -0
  116. package/common/Logging/Utils.d.ts +19 -0
  117. package/common/Routing.d.ts +67 -0
  118. package/common/SearchTypes.d.ts +248 -0
  119. package/common/SearchUtils.d.ts +55 -0
  120. package/{src/common → common}/SearchValidation.d.ts +10 -0
  121. package/{src/common → common}/StringTransformers.d.ts +11 -0
  122. package/common/Testing/CLI.d.ts +6 -0
  123. package/common/Testing/CLI.js +432 -0
  124. package/{src/common → common}/Testing/Types.d.ts +103 -4
  125. package/{src/common → common}/Testing/Utils.d.ts +65 -1
  126. package/common/Testing/index.d.ts +8 -0
  127. package/common/TypeInfoDataItemUtils.d.ts +39 -0
  128. package/common/TypeInfoORM/Types.d.ts +342 -0
  129. package/common/TypeParsing/Constants.d.ts +4 -0
  130. package/{src/common → common}/TypeParsing/ParsingUtils/Constants.d.ts +3 -0
  131. package/{src/common → common}/TypeParsing/ParsingUtils/checkType.d.ts +6 -0
  132. package/{src/common → common}/TypeParsing/ParsingUtils/checkUnionType.d.ts +6 -0
  133. package/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +8 -0
  134. package/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +12 -0
  135. package/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +14 -0
  136. package/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +18 -0
  137. package/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +9 -0
  138. package/{src/common → common}/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +6 -0
  139. package/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +11 -0
  140. package/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +12 -0
  141. package/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +11 -0
  142. package/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +9 -0
  143. package/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +11 -0
  144. package/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +8 -0
  145. package/{src/common → common}/TypeParsing/TypeInfo.d.ts +61 -1
  146. package/{src/common → common}/TypeParsing/Utils.d.ts +26 -0
  147. package/{src/common → common}/TypeParsing/Validation.d.ts +105 -0
  148. package/common/TypeParsing/index.d.ts +8 -0
  149. package/common/index.d.ts +50 -0
  150. package/common/index.js +413 -0
  151. package/{src/iac → iac}/SimpleCFT.d.ts +46 -2
  152. package/iac/index.d.ts +40 -0
  153. package/iac/index.js +258 -0
  154. package/iac/packs/auth/user-management.d.ts +80 -0
  155. package/iac/packs/auth.d.ts +86 -0
  156. package/iac/packs/build/utils.d.ts +289 -0
  157. package/iac/packs/build.d.ts +92 -0
  158. package/iac/packs/cdn.d.ts +33 -0
  159. package/iac/packs/cloud-function.d.ts +67 -0
  160. package/{src/iac → iac}/packs/database.d.ts +4 -1
  161. package/{src/iac → iac}/packs/dns.d.ts +22 -1
  162. package/iac/packs/file-storage.d.ts +46 -0
  163. package/iac/packs/gateway.d.ts +79 -0
  164. package/iac/packs/index.d.ts +60 -0
  165. package/iac/packs/index.js +1622 -0
  166. package/iac/packs/repo.d.ts +28 -0
  167. package/iac/packs/ssl-certificate.d.ts +28 -0
  168. package/{src/iac → iac}/types/Constants.d.ts +15 -0
  169. package/iac/types/Renderers.d.ts +96 -0
  170. package/iac/types/Types.d.ts +131 -0
  171. package/iac/types/Utils.d.ts +9 -0
  172. package/{src/iac → iac}/utils/index.d.ts +56 -5
  173. package/iac/utils/patch-utils.d.ts +66 -0
  174. package/native/forms/createNativeFormRenderer.d.ts +21 -0
  175. package/native/forms/index.d.ts +8 -0
  176. package/native/forms/primitives/index.d.ts +48 -0
  177. package/native/forms/suite.d.ts +15 -0
  178. package/native/index.d.ts +15 -0
  179. package/native/index.js +1323 -0
  180. package/native/utils/EasyLayout.d.ts +88 -0
  181. package/native/utils/History.d.ts +113 -0
  182. package/native/utils/NativeRoute.d.ts +44 -0
  183. package/native/utils/Route.d.ts +50 -0
  184. package/native/utils/index.d.ts +11 -0
  185. package/package.json +87 -42
  186. package/web/forms/UI.d.ts +67 -0
  187. package/web/forms/createWebFormRenderer.d.ts +21 -0
  188. package/web/forms/index.d.ts +9 -0
  189. package/web/forms/primitives/index.d.ts +21 -0
  190. package/web/forms/suite.d.ts +15 -0
  191. package/web/index.d.ts +15 -0
  192. package/web/index.js +1297 -0
  193. package/web/utils/EasyLayout.d.ts +47 -0
  194. package/web/utils/Route.d.ts +20 -0
  195. package/web/utils/index.d.ts +7 -0
  196. package/src/api/DataAccessControl.d.ts +0 -85
  197. package/src/api/DataAccessControl.js +0 -159
  198. package/src/api/ORM/DACUtils.d.ts +0 -60
  199. package/src/api/ORM/DACUtils.js +0 -197
  200. package/src/api/ORM/ListItemUtils.d.ts +0 -7
  201. package/src/api/ORM/ListItemUtils.js +0 -22
  202. package/src/api/ORM/ORMRouteMap.d.ts +0 -19
  203. package/src/api/ORM/ORMRouteMap.js +0 -82
  204. package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
  205. package/src/api/ORM/TypeInfoORMService.js +0 -581
  206. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
  207. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
  208. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
  209. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
  210. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
  211. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
  212. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
  213. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
  214. package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
  215. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
  216. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
  217. package/src/api/ORM/drivers/common/Types.js +0 -14
  218. package/src/api/ORM/drivers/common/index.js +0 -18
  219. package/src/api/ORM/drivers/index.d.ts +0 -3
  220. package/src/api/ORM/drivers/index.js +0 -19
  221. package/src/api/ORM/index.d.ts +0 -4
  222. package/src/api/ORM/index.js +0 -43
  223. package/src/api/Router/AWS.d.ts +0 -26
  224. package/src/api/Router/AWS.js +0 -76
  225. package/src/api/Router/Auth.d.ts +0 -2
  226. package/src/api/Router/Auth.js +0 -9
  227. package/src/api/Router/CORS.d.ts +0 -6
  228. package/src/api/Router/CORS.js +0 -27
  229. package/src/api/Router/Types.js +0 -2
  230. package/src/api/Router/index.d.ts +0 -18
  231. package/src/api/Router/index.js +0 -145
  232. package/src/api/index.d.ts +0 -3
  233. package/src/api/index.js +0 -39
  234. package/src/app/index.d.ts +0 -1
  235. package/src/app/index.js +0 -37
  236. package/src/app/utils/ApplicationState.js +0 -86
  237. package/src/app/utils/ApplicationStateLoader.js +0 -57
  238. package/src/app/utils/Controller.d.ts +0 -4
  239. package/src/app/utils/Controller.js +0 -47
  240. package/src/app/utils/Debug.d.ts +0 -4
  241. package/src/app/utils/Debug.js +0 -30
  242. package/src/app/utils/EasyLayout.d.ts +0 -49
  243. package/src/app/utils/EasyLayout.js +0 -122
  244. package/src/app/utils/Route.d.ts +0 -28
  245. package/src/app/utils/Route.js +0 -102
  246. package/src/app/utils/Service.d.ts +0 -12
  247. package/src/app/utils/Service.js +0 -34
  248. package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
  249. package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
  250. package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
  251. package/src/app/utils/TypeInfoORMClient.js +0 -69
  252. package/src/app/utils/index.d.ts +0 -8
  253. package/src/app/utils/index.js +0 -24
  254. package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
  255. package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
  256. package/src/common/HelperTypes.d.ts +0 -3
  257. package/src/common/HelperTypes.js +0 -2
  258. package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
  259. package/src/common/IdGeneration/getSimpleId.js +0 -16
  260. package/src/common/IdGeneration/index.js +0 -17
  261. package/src/common/ItemRelationshipInfoTypes.js +0 -20
  262. package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
  263. package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
  264. package/src/common/ItemRelationships/index.js +0 -17
  265. package/src/common/Logging/Utils.d.ts +0 -10
  266. package/src/common/Logging/Utils.js +0 -33
  267. package/src/common/Logging/index.js +0 -17
  268. package/src/common/Routing.d.ts +0 -25
  269. package/src/common/Routing.js +0 -102
  270. package/src/common/SearchTypes.d.ts +0 -98
  271. package/src/common/SearchTypes.js +0 -39
  272. package/src/common/SearchUtils.d.ts +0 -22
  273. package/src/common/SearchUtils.js +0 -134
  274. package/src/common/SearchValidation.js +0 -90
  275. package/src/common/Storyboarding/Types.d.ts +0 -25
  276. package/src/common/Storyboarding/Types.js +0 -2
  277. package/src/common/StringTransformers.js +0 -36
  278. package/src/common/Testing/CLI.d.ts +0 -2
  279. package/src/common/Testing/CLI.js +0 -56
  280. package/src/common/Testing/Types.js +0 -19
  281. package/src/common/Testing/Utils.js +0 -334
  282. package/src/common/Testing/index.d.ts +0 -2
  283. package/src/common/Testing/index.js +0 -18
  284. package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
  285. package/src/common/TypeInfoDataItemUtils.js +0 -55
  286. package/src/common/TypeInfoORM/Types.d.ts +0 -76
  287. package/src/common/TypeInfoORM/Types.js +0 -55
  288. package/src/common/TypeInfoORM/index.js +0 -17
  289. package/src/common/TypeParsing/Constants.d.ts +0 -1
  290. package/src/common/TypeParsing/Constants.js +0 -4
  291. package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
  292. package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
  293. package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
  294. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
  295. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
  296. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
  297. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
  298. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
  299. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
  300. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
  301. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
  302. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
  303. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
  304. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
  305. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
  306. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
  307. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
  308. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
  309. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
  310. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
  311. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
  312. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
  313. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
  314. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
  315. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
  316. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
  317. package/src/common/TypeParsing/TypeInfo.js +0 -13
  318. package/src/common/TypeParsing/TypeMapping.js +0 -32
  319. package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
  320. package/src/common/TypeParsing/TypeParsing.js +0 -39
  321. package/src/common/TypeParsing/Utils.js +0 -94
  322. package/src/common/TypeParsing/Validation.js +0 -340
  323. package/src/common/TypeParsing/index.d.ts +0 -5
  324. package/src/common/TypeParsing/index.js +0 -44
  325. package/src/common/index.d.ts +0 -11
  326. package/src/common/index.js +0 -47
  327. package/src/iac/SimpleCFT.js +0 -82
  328. package/src/iac/index.d.ts +0 -9
  329. package/src/iac/index.js +0 -48
  330. package/src/iac/packs/auth/user-management.d.ts +0 -14
  331. package/src/iac/packs/auth/user-management.js +0 -302
  332. package/src/iac/packs/auth.d.ts +0 -19
  333. package/src/iac/packs/auth.js +0 -47
  334. package/src/iac/packs/build/utils.d.ts +0 -100
  335. package/src/iac/packs/build/utils.js +0 -23
  336. package/src/iac/packs/build.d.ts +0 -29
  337. package/src/iac/packs/build.js +0 -217
  338. package/src/iac/packs/cdn.d.ts +0 -12
  339. package/src/iac/packs/cdn.js +0 -113
  340. package/src/iac/packs/cloud-function.d.ts +0 -17
  341. package/src/iac/packs/cloud-function.js +0 -69
  342. package/src/iac/packs/database.js +0 -27
  343. package/src/iac/packs/dns.js +0 -26
  344. package/src/iac/packs/file-storage.d.ts +0 -14
  345. package/src/iac/packs/file-storage.js +0 -71
  346. package/src/iac/packs/gateway.d.ts +0 -27
  347. package/src/iac/packs/gateway.js +0 -342
  348. package/src/iac/packs/index.d.ts +0 -11
  349. package/src/iac/packs/index.js +0 -27
  350. package/src/iac/packs/repo.d.ts +0 -10
  351. package/src/iac/packs/repo.js +0 -34
  352. package/src/iac/packs/ssl-certificate.d.ts +0 -10
  353. package/src/iac/packs/ssl-certificate.js +0 -36
  354. package/src/iac/types/Constants.js +0 -20
  355. package/src/iac/types/IaCTypes.js +0 -14
  356. package/src/iac/types/Renderers.d.ts +0 -12
  357. package/src/iac/types/Renderers.js +0 -112
  358. package/src/iac/types/Types.d.ts +0 -37
  359. package/src/iac/types/Types.js +0 -2
  360. package/src/iac/types/Utils.d.ts +0 -2
  361. package/src/iac/types/Utils.js +0 -60
  362. package/src/iac/types/generate.js +0 -31
  363. package/src/iac/utils/index.js +0 -105
  364. package/src/iac/utils/patch-utils.d.ts +0 -15
  365. package/src/iac/utils/patch-utils.js +0 -62
  366. package/src/index.d.ts +0 -178
  367. package/src/index.js +0 -214
  368. /package/{src/api → api}/ORM/drivers/common/index.d.ts +0 -0
  369. /package/{src/common → common}/IdGeneration/index.d.ts +0 -0
  370. /package/{src/common → common}/ItemRelationships/index.d.ts +0 -0
  371. /package/{src/common → common}/Logging/index.d.ts +0 -0
  372. /package/{src/common → common}/TypeInfoORM/index.d.ts +0 -0
  373. /package/{src/iac → iac}/types/CloudFormationResourceSpecification.d.ts +0 -0
  374. /package/{src/iac → iac}/types/IaCTypes.d.ts +0 -0
  375. /package/{src/iac → iac}/types/generate.d.ts +0 -0
@@ -0,0 +1,432 @@
1
+ #!/usr/bin/env node
2
+ import { promises } from 'fs';
3
+ import Path from 'path';
4
+ import { pathToFileURL } from 'url';
5
+ import fastGlob from 'fast-glob';
6
+ import picocolors from 'picocolors';
7
+
8
+ var importModule = async (modulePath) => {
9
+ const moduleUrl = pathToFileURL(modulePath);
10
+ return import(moduleUrl.href);
11
+ };
12
+ var stringifyOutput = (value) => JSON.stringify(
13
+ value,
14
+ function(_key, value2) {
15
+ return typeof value2 === "function" ? "[Function]" : value2;
16
+ },
17
+ 2
18
+ );
19
+ var OPERATIONS = {
20
+ ["===" /* EQUALS */]: (a, b) => a === b,
21
+ ["!==" /* NOT_EQUALS */]: (a, b) => a !== b,
22
+ ["IN" /* IN */]: (a, b) => Array.isArray(b) && b.includes(a),
23
+ ["BETWEEN" /* BETWEEN */]: (a, b) => {
24
+ if (Array.isArray(b) && b.length === 2 && typeof b[0] === "number" && typeof b[1] === "number") {
25
+ return typeof a === "number" && a >= b[0] && a <= b[1];
26
+ }
27
+ throw new Error("BETWEEN requires an array of two numbers as expectation.");
28
+ },
29
+ ["CONTAINS" /* CONTAINS */]: (a, b) => typeof a === "string" && typeof b === "string" && a.includes(b),
30
+ ["REGEX" /* REGEX */]: (a, b) => {
31
+ if (typeof b === "object" && b !== null && "pattern" in b) {
32
+ const { pattern, flags } = b;
33
+ try {
34
+ const regex = new RegExp(pattern, flags);
35
+ return typeof a === "string" && regex.test(a);
36
+ } catch (err) {
37
+ throw new Error(`Invalid REGEX: ${err.message}`);
38
+ }
39
+ }
40
+ throw new Error(
41
+ "REGEX requires an expectation with 'pattern' and optional 'flags'."
42
+ );
43
+ },
44
+ ["EXT_REGEX" /* EXT_REGEX */]: (a, b) => {
45
+ if (typeof b === "object" && b !== null && "pattern" in b) {
46
+ const { pattern, flags } = b;
47
+ const buildRegexFromPattern = (pattern2, flags2 = "") => {
48
+ if (!Array.isArray(pattern2)) {
49
+ throw new Error("EXT_REGEX pattern must be an array of objects.");
50
+ }
51
+ const regexBody = pattern2.map(({ value, escaped }) => {
52
+ if (typeof value !== "string") {
53
+ throw new Error(
54
+ "Each pattern element must have a string 'value'."
55
+ );
56
+ }
57
+ return escaped ? value.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&") : value;
58
+ }).join("");
59
+ return new RegExp(regexBody, flags2);
60
+ };
61
+ try {
62
+ const regex = buildRegexFromPattern(pattern, flags);
63
+ return typeof a === "string" && regex.test(a);
64
+ } catch (err) {
65
+ throw new Error(`Invalid EXT_REGEX: ${err.message}`);
66
+ }
67
+ }
68
+ throw new Error(
69
+ "EXT_REGEX requires an expectation with 'pattern' as an array of PatternElement and optional 'flags'."
70
+ );
71
+ },
72
+ ["DEEP_EQUALS" /* DEEP_EQUALS */]: (a, b) => {
73
+ if (typeof a === "object" && typeof b === "object" && a !== null && b !== null) {
74
+ return JSON.stringify(a) === JSON.stringify(b);
75
+ }
76
+ return false;
77
+ },
78
+ ["ARRAY_CONTAINS" /* ARRAY_CONTAINS */]: (a, b) => {
79
+ if (Array.isArray(a)) {
80
+ return a.includes(b);
81
+ }
82
+ throw new Error("ARRAY_CONTAINS requires an array as the first argument.");
83
+ },
84
+ ["ARRAY_EQUALS" /* ARRAY_EQUALS */]: (a, b) => {
85
+ if (Array.isArray(a) && Array.isArray(b)) {
86
+ return JSON.stringify(a) === JSON.stringify(b);
87
+ }
88
+ throw new Error("ARRAY_EQUALS requires two arrays as arguments.");
89
+ }
90
+ };
91
+ var compare = (result, expectation, operation = "===" /* EQUALS */) => {
92
+ const op = OPERATIONS[operation];
93
+ if (!op) {
94
+ throw new Error(`Unsupported operation: ${operation}`);
95
+ }
96
+ return op(result, expectation);
97
+ };
98
+ var getResolvedConditions = async (testFilePath, targetTestIndex, targetTestExport, conditions, isSetup = false) => {
99
+ if (Array.isArray(conditions)) {
100
+ return conditions;
101
+ } else if (typeof conditions === "object" && conditions !== null) {
102
+ const { file, export: targetConditionExport } = conditions;
103
+ const modulePath = Path.resolve(Path.dirname(testFilePath), file);
104
+ const targetModule = await importModule(modulePath);
105
+ const conditionArray = targetModule[targetConditionExport];
106
+ if (Array.isArray(conditionArray)) {
107
+ return conditionArray;
108
+ }
109
+ }
110
+ throw new Error(
111
+ `Invalid conditions for TEST${isSetup ? " SETUP" : ""} ${targetTestIndex + 1} (${targetTestExport}) in ${testFilePath}`
112
+ );
113
+ };
114
+ var getSetupInstance = async (testFilePath, targetTestIndex, targetTestExport, test, module) => {
115
+ const { setup } = test;
116
+ if (!setup) return module;
117
+ const { conditions: baseConditions, export: targetSetupExport } = setup;
118
+ const setupFunction = module[targetSetupExport];
119
+ const conditions = await getResolvedConditions(
120
+ testFilePath,
121
+ targetTestIndex,
122
+ targetTestExport,
123
+ baseConditions,
124
+ true
125
+ );
126
+ if (typeof setupFunction !== "function") {
127
+ throw new Error(`Setup export "${setup.export}" is not a function.`);
128
+ }
129
+ return setup.instantiate ? new setupFunction(...conditions) : await setupFunction(...conditions);
130
+ };
131
+ var getTestFunction = async (testFilePath, file, targetTestIndex, test, targetModule) => {
132
+ const { export: targetExport } = test;
133
+ if (!targetExport) {
134
+ throw new Error(
135
+ `Invalid test export (${targetExport}) for TEST ${targetTestIndex + 1} in ${testFilePath}`
136
+ );
137
+ }
138
+ const instance = await getSetupInstance(
139
+ testFilePath,
140
+ targetTestIndex,
141
+ targetExport,
142
+ test,
143
+ targetModule
144
+ );
145
+ const testFunction = instance[targetExport];
146
+ if (typeof testFunction !== "function") {
147
+ throw new Error(
148
+ `Export "${targetExport}" from "${file}", declared in TEST ${targetTestIndex + 1}, is not a function.`
149
+ );
150
+ }
151
+ return testFunction;
152
+ };
153
+ var getTestConfig = async (testFilePath) => {
154
+ const testConfig = JSON.parse(
155
+ await promises.readFile(testFilePath, "utf8")
156
+ );
157
+ return testConfig;
158
+ };
159
+ var getResolvedTestConfig = async (testFilePath) => {
160
+ const { file, tests } = await getTestConfig(testFilePath);
161
+ if (!file) {
162
+ throw new Error(`Invalid test configuration in ${testFilePath}`);
163
+ }
164
+ const modulePath = Path.resolve(Path.dirname(testFilePath), file);
165
+ const targetModule = await importModule(modulePath);
166
+ return {
167
+ file,
168
+ targetModule,
169
+ tests
170
+ };
171
+ };
172
+ var mergeTestResults = (...results) => results.reduce(
173
+ ({
174
+ messages: accMessages = [],
175
+ generated: accGenerated = [],
176
+ passes: accPasses = [],
177
+ failures: accFailures = [],
178
+ errors: accErrors = []
179
+ }, {
180
+ messages = [],
181
+ generated = [],
182
+ passes = [],
183
+ failures = [],
184
+ errors = []
185
+ }) => ({
186
+ messages: [...accMessages, ...messages],
187
+ generated: [...accGenerated, ...generated],
188
+ passes: [...accPasses, ...passes],
189
+ failures: [...accFailures, ...failures],
190
+ errors: [...accErrors, ...errors]
191
+ }),
192
+ { messages: [], passes: [], failures: [], errors: [] }
193
+ );
194
+ var runTest = async (testFilePath, testFunction, test, index, targetExport, report) => {
195
+ const {
196
+ conditions: baseConditions,
197
+ expectation,
198
+ operation,
199
+ expectUndefined
200
+ } = test;
201
+ const conditions = await getResolvedConditions(
202
+ testFilePath,
203
+ index,
204
+ targetExport,
205
+ baseConditions
206
+ );
207
+ try {
208
+ const result = await testFunction(...conditions);
209
+ const passed = expectUndefined || compare(result, expectation, operation);
210
+ if (passed) {
211
+ report({
212
+ passes: [`Test ${index + 1} (${targetExport})`]
213
+ });
214
+ } else {
215
+ report({
216
+ failures: [
217
+ `Test ${index + 1} (${targetExport}):
218
+
219
+ Result:
220
+
221
+ ${stringifyOutput(result)}`
222
+ ]
223
+ });
224
+ }
225
+ } catch (err) {
226
+ report({
227
+ errors: [
228
+ `Test ${index + 1} (${targetExport}):
229
+
230
+ Error:
231
+
232
+ ${err.message}`
233
+ ]
234
+ });
235
+ }
236
+ };
237
+ var generateTestsForFile = async (testFilePath, report) => {
238
+ try {
239
+ const { file, targetModule, tests } = await getResolvedTestConfig(testFilePath);
240
+ report({
241
+ messages: [`Generating expectations for tests in ${testFilePath}`]
242
+ });
243
+ const generatedTests = [];
244
+ let hasNewExpectations = false;
245
+ for (let i = 0; i < tests.length; i++) {
246
+ const test = tests[i];
247
+ const {
248
+ export: targetExport,
249
+ conditions: baseConditions,
250
+ expectation,
251
+ operation,
252
+ expectUndefined
253
+ } = test;
254
+ const conditions = await getResolvedConditions(
255
+ testFilePath,
256
+ i,
257
+ targetExport,
258
+ baseConditions
259
+ );
260
+ if (expectation !== void 0 || expectUndefined) {
261
+ generatedTests.push(test);
262
+ } else {
263
+ const testFunction = await getTestFunction(
264
+ testFilePath,
265
+ file,
266
+ i,
267
+ test,
268
+ targetModule
269
+ );
270
+ const result = await testFunction(...conditions);
271
+ report({
272
+ generated: [
273
+ `Expectation for TEST ${i + 1} (${targetExport}):
274
+
275
+ ${stringifyOutput(result)}`
276
+ ]
277
+ });
278
+ generatedTests.push({
279
+ ...test,
280
+ expectation: result,
281
+ operation: operation || "===" /* EQUALS */
282
+ });
283
+ hasNewExpectations = true;
284
+ }
285
+ }
286
+ if (hasNewExpectations) {
287
+ const updatedTestConfig = { file, tests: generatedTests };
288
+ await promises.writeFile(
289
+ testFilePath,
290
+ JSON.stringify(updatedTestConfig, null, 2)
291
+ );
292
+ report({ messages: [`Updated test file saved to ${testFilePath}`] });
293
+ } else {
294
+ report({
295
+ messages: [`No new expectations were generated for ${testFilePath}`]
296
+ });
297
+ }
298
+ } catch (err) {
299
+ report({
300
+ errors: [`Error processing test file ${testFilePath}:
301
+
302
+ ${err.message}`]
303
+ });
304
+ }
305
+ };
306
+ var runTestsForFile = async (testFilePath, report) => {
307
+ try {
308
+ const { file, targetModule, tests } = await getResolvedTestConfig(testFilePath);
309
+ report({
310
+ messages: [`Running tests from ${testFilePath}`]
311
+ });
312
+ for (const [index, test] of tests.entries()) {
313
+ const { export: targetExport } = test;
314
+ const testFunction = await getTestFunction(
315
+ testFilePath,
316
+ file,
317
+ index,
318
+ test,
319
+ targetModule
320
+ );
321
+ await runTest(
322
+ testFilePath,
323
+ testFunction,
324
+ test,
325
+ index,
326
+ targetExport,
327
+ report
328
+ );
329
+ }
330
+ } catch (err) {
331
+ report({
332
+ errors: [`Error processing test file ${testFilePath}: ${err.message}`]
333
+ });
334
+ }
335
+ };
336
+ var executeTestingCommand = async (testFiles, generateMode = false, report) => {
337
+ const completeMessage = generateMode ? "Test generation complete." : "Testing complete.";
338
+ try {
339
+ for (const testFile of testFiles) {
340
+ const resolvedTestFile = Path.resolve(testFile);
341
+ if (generateMode) {
342
+ await generateTestsForFile(resolvedTestFile, report);
343
+ } else {
344
+ await runTestsForFile(resolvedTestFile, report);
345
+ }
346
+ }
347
+ report({
348
+ messages: [completeMessage]
349
+ });
350
+ } catch (err) {
351
+ report({ errors: [`Error running tests:
352
+
353
+ ${err.message}`] });
354
+ }
355
+ };
356
+ var main = async () => {
357
+ const args = process.argv.slice(2);
358
+ const generateMode = args.includes("--generate");
359
+ const testPaths = args.filter((arg) => arg !== "--generate");
360
+ console.log(`${picocolors.bgMagenta(picocolors.whiteBright(" VEST "))}
361
+ `);
362
+ if (testPaths.length === 0) {
363
+ console.error("Usage: vest [--generate] <test-directory-path>");
364
+ process.exit(1);
365
+ }
366
+ const testFiles = await fastGlob(testPaths);
367
+ if (testFiles.length === 0) {
368
+ console.warn(`No test files found in ${testPaths.join(", ")}`);
369
+ process.exit(0);
370
+ }
371
+ let results = {
372
+ messages: [],
373
+ passes: [],
374
+ failures: [],
375
+ errors: []
376
+ };
377
+ await executeTestingCommand(
378
+ testFiles,
379
+ generateMode,
380
+ (latestResults) => {
381
+ const {
382
+ messages = [],
383
+ generated: generated2 = [],
384
+ passes: passes2 = [],
385
+ failures: failures2 = [],
386
+ errors: errors2 = []
387
+ } = latestResults;
388
+ results = mergeTestResults(results, latestResults);
389
+ messages.forEach(
390
+ (message) => console.log(`${picocolors.blueBright("MESSAGE:")} ${message}
391
+ `)
392
+ );
393
+ generated2.forEach(
394
+ (generated3) => console.log(`${picocolors.greenBright("GENERATED:")} ${generated3}
395
+ `)
396
+ );
397
+ passes2.forEach(
398
+ (pass) => console.log(`${picocolors.greenBright("PASSED:")} ${pass}
399
+ `)
400
+ );
401
+ failures2.forEach(
402
+ (failure) => console.error(`${picocolors.redBright("FAILED:")} ${failure}
403
+ `)
404
+ );
405
+ errors2.forEach(
406
+ (error) => console.error(
407
+ `${picocolors.redBright(picocolors.italic("ERROR:"))} ${error}
408
+ `
409
+ )
410
+ );
411
+ }
412
+ );
413
+ const { generated = [], passes = [], failures = [], errors = [] } = results;
414
+ const exitValue = failures.length + errors.length;
415
+ if (generateMode) {
416
+ console.log(`${picocolors.greenBright("GENERATED:")} ${generated.length}
417
+ ${picocolors.redBright(picocolors.italic("ERRORS:"))} ${errors.length}
418
+ `);
419
+ } else {
420
+ console.log(`${picocolors.greenBright("PASSES:")} ${passes.length}
421
+ ${picocolors.redBright("FAILURES:")} ${failures.length}
422
+ ${picocolors.redBright(picocolors.italic("ERRORS:"))} ${errors.length}
423
+ `);
424
+ }
425
+ process.exit(exitValue);
426
+ };
427
+ main().catch((error) => {
428
+ console.error(error);
429
+ process.exit(1);
430
+ });
431
+
432
+ export { main };
@@ -1,23 +1,59 @@
1
1
  /**
2
- * Operations used for comparison of during tests.
3
- * */
2
+ * Operations used for comparison during tests.
3
+ */
4
4
  export declare enum TestComparisonOperation {
5
+ /**
6
+ * Strict equality comparison.
7
+ * */
5
8
  EQUALS = "===",
9
+ /**
10
+ * Strict inequality comparison.
11
+ * */
6
12
  NOT_EQUALS = "!==",
13
+ /**
14
+ * Value is contained in expectation array.
15
+ * */
7
16
  IN = "IN",
17
+ /**
18
+ * Array contains the expectation value.
19
+ * */
8
20
  ARRAY_CONTAINS = "ARRAY_CONTAINS",
21
+ /**
22
+ * Numeric value is between two bounds.
23
+ * */
9
24
  BETWEEN = "BETWEEN",
25
+ /**
26
+ * String contains another string.
27
+ * */
10
28
  CONTAINS = "CONTAINS",
29
+ /**
30
+ * Regex match against a pattern.
31
+ * */
11
32
  REGEX = "REGEX",
33
+ /**
34
+ * Extended regex match with explicit pattern elements.
35
+ * */
12
36
  EXT_REGEX = "EXT_REGEX",
37
+ /**
38
+ * Deep equality using JSON stringification.
39
+ * */
13
40
  DEEP_EQUALS = "DEEP_EQUALS",
41
+ /**
42
+ * Array equality using JSON stringification.
43
+ * */
14
44
  ARRAY_EQUALS = "ARRAY_EQUALS"
15
45
  }
16
46
  /**
17
47
  * A pattern definition object for use with extended regex expectations.
18
48
  * */
19
49
  export type PatternElement = {
50
+ /**
51
+ * Literal pattern segment value.
52
+ * */
20
53
  value: string;
54
+ /**
55
+ * Whether to escape regex characters in the value.
56
+ * */
21
57
  escaped?: boolean;
22
58
  };
23
59
  /**
@@ -28,7 +64,13 @@ export type PatternElement = {
28
64
  * Used when a `TestCondition` `operation` is `TestComparisonOperation.EXT_REGEX`.
29
65
  * */
30
66
  export type EXTRegexExpectation = {
67
+ /**
68
+ * Pattern elements to build the regex.
69
+ * */
31
70
  pattern: PatternElement[];
71
+ /**
72
+ * Regex flags to apply.
73
+ * */
32
74
  flags?: string;
33
75
  };
34
76
  /**
@@ -37,31 +79,64 @@ export type EXTRegexExpectation = {
37
79
  * Used when a `TestCondition` `operation` is `TestComparisonOperation.REGEX`.
38
80
  * */
39
81
  export type RegexExpectation = {
82
+ /**
83
+ * Regex pattern string.
84
+ * */
40
85
  pattern: string;
86
+ /**
87
+ * Regex flags to apply.
88
+ * */
41
89
  flags?: string;
42
90
  };
43
91
  /**
44
92
  * A configuration used to acquire conditions from code instead of a JSON array.
45
93
  * */
46
94
  export type ConditionConfig = {
95
+ /**
96
+ * Relative file path containing the conditions export.
97
+ * */
47
98
  file: string;
99
+ /**
100
+ * Export name that contains the conditions array.
101
+ * */
48
102
  export: string;
49
103
  };
50
104
  /**
51
105
  * Preparation for a test when some setup is required or a class needs to be instantiated.
52
106
  * */
53
107
  export type TestSetup = {
108
+ /**
109
+ * Conditions to use for the setup function or constructor.
110
+ * */
54
111
  conditions: unknown[] | ConditionConfig;
112
+ /**
113
+ * Export name to call or instantiate for setup.
114
+ * */
55
115
  export: string;
116
+ /**
117
+ * Whether to use `new` with the setup export.
118
+ * */
56
119
  instantiate?: boolean;
57
120
  };
58
121
  /**
59
122
  * The basis for a test.
60
123
  * */
61
124
  export type BaseTest = {
125
+ /**
126
+ * Export name for the test function.
127
+ * */
62
128
  export: string;
129
+ /**
130
+ * Optional setup configuration.
131
+ * */
63
132
  setup?: TestSetup;
133
+ /**
134
+ * Conditions to pass to the test function.
135
+ * */
64
136
  conditions: unknown[] | ConditionConfig;
137
+ /**
138
+ * Allow missing expectation and treat undefined as pass.
139
+ * */
65
140
  expectUndefined?: boolean;
66
141
  };
67
142
  /**
@@ -93,25 +168,49 @@ export type Test = BaseTest & ({
93
168
  expectation: unknown[];
94
169
  });
95
170
  /**
96
- * A configuration for a test. Designed to be used in JSON for declarative test files.
97
- * */
171
+ * A configuration for a test. Designed to be used in JSON spec files.
172
+ */
98
173
  export type TestConfig = {
174
+ /**
175
+ * Relative module path containing test exports.
176
+ * */
99
177
  file: string;
178
+ /**
179
+ * Tests to execute for the module.
180
+ * */
100
181
  tests: Test[];
101
182
  };
102
183
  /**
103
184
  * A resolved test configuration with the module and tests.
104
185
  * */
105
186
  export type ResolvedTestConfig = {
187
+ /**
188
+ * Required module with test exports.
189
+ * */
106
190
  targetModule: any;
107
191
  } & TestConfig;
108
192
  /**
109
193
  * The results from running one or more tests.
110
194
  * */
111
195
  export type TestResults = {
196
+ /**
197
+ * Informational messages.
198
+ * */
112
199
  messages?: string[];
200
+ /**
201
+ * Generated expectation messages.
202
+ * */
113
203
  generated?: string[];
204
+ /**
205
+ * Passed test messages.
206
+ * */
114
207
  passes?: string[];
208
+ /**
209
+ * Failed test messages.
210
+ * */
115
211
  failures?: string[];
212
+ /**
213
+ * Error messages.
214
+ * */
116
215
  errors?: string[];
117
216
  };