@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
@@ -5,36 +5,100 @@ import { ListItemsConfig, ListItemsResults } from "../../../../common/SearchType
5
5
  * The errors that can be thrown by a {@link DataItemDBDriver}.
6
6
  * */
7
7
  export declare enum DATA_ITEM_DB_DRIVER_ERRORS {
8
+ /**
9
+ * Missing identifier value for the operation.
10
+ */
8
11
  MISSING_ID = "MISSING_ID",
12
+ /**
13
+ * Cursor value is invalid or malformed.
14
+ */
9
15
  INVALID_CURSOR = "INVALID_CURSOR",
16
+ /**
17
+ * Requested item was not found.
18
+ */
10
19
  ITEM_NOT_FOUND = "ITEM_NOT_FOUND",
20
+ /**
21
+ * Missing unique identifier for an update/delete.
22
+ */
11
23
  MISSING_UNIQUE_IDENTIFIER = "MISSING_UNIQUE_IDENTIFIER",
24
+ /**
25
+ * Search operator is not supported by the driver.
26
+ */
12
27
  SEARCH_COMPARISON_OPERATOR_NOT_SUPPORTED = "SEARCH_COMPARISON_OPERATOR_NOT_SUPPORTED"
13
28
  }
14
29
  /**
15
30
  * The generic type for a database driver configuration.
16
31
  * */
17
32
  export type DataItemDBDriverConfig<ItemType extends TypeInfoDataItem, UniquelyIdentifyingFieldName extends keyof ItemType> = {
33
+ /**
34
+ * Backing table or collection name.
35
+ */
18
36
  tableName: string;
37
+ /**
38
+ * Field name used as the unique identifier.
39
+ */
19
40
  uniquelyIdentifyingFieldName: UniquelyIdentifyingFieldName;
41
+ /**
42
+ * Optional identifier generator for new items.
43
+ */
20
44
  generateUniqueIdentifier?: (targetItem: ItemType) => string;
45
+ /**
46
+ * Optional DB-specific configuration payload.
47
+ */
21
48
  dbSpecificConfig?: Record<string, any>;
22
49
  };
23
50
  /**
24
51
  * The API for a database driver.
25
52
  * */
26
53
  export type DataItemDBDriver<ItemType extends TypeInfoDataItem, UniquelyIdentifyingFieldName extends keyof ItemType> = {
54
+ /**
55
+ * Create a new item in the data store.
56
+ * @param newItem New item payload without the identifying field.
57
+ * @returns Generated identifier for the created item.
58
+ */
27
59
  createItem: (newItem: Partial<Omit<ItemType, UniquelyIdentifyingFieldName>>) => Promise<ItemType[UniquelyIdentifyingFieldName]>;
60
+ /**
61
+ * Read an item from the data store.
62
+ * @param uniqueIdentifier Unique identifier value for the item.
63
+ * @param selectedFields Optional fields to select from the item.
64
+ * @returns Item payload (partial when selected fields are used).
65
+ */
28
66
  readItem: (uniqueIdentifier: ItemType[UniquelyIdentifyingFieldName], selectedFields?: (keyof ItemType)[]) => Promise<Partial<ItemType>>;
67
+ /**
68
+ * Update an item in the data store.
69
+ * @param uniqueIdentifier Unique identifier value for the item.
70
+ * @param updatedItem Partial update payload for the item.
71
+ * @returns True when the item was updated.
72
+ */
29
73
  updateItem: (uniqueIdentifier: ItemType[UniquelyIdentifyingFieldName], updatedItem: Partial<ItemType>) => Promise<boolean>;
74
+ /**
75
+ * Delete an item from the data store.
76
+ * @param uniqueIdentifier Unique identifier value for the item.
77
+ * @returns True when the item was deleted.
78
+ */
30
79
  deleteItem: (uniqueIdentifier: ItemType[UniquelyIdentifyingFieldName]) => Promise<boolean>;
80
+ /**
81
+ * List items from the data store.
82
+ * @param config List configuration and criteria.
83
+ * @param selectedFields Optional fields to select from each item.
84
+ * @returns List results with items and cursor.
85
+ */
31
86
  listItems: (config: ListItemsConfig, selectedFields?: (keyof ItemType)[]) => Promise<ListItemsResults<Partial<ItemType>>>;
32
87
  };
33
88
  /**
34
89
  * An entry for a supported database driver.
35
90
  * */
36
91
  export type SupportedDataItemDBDriverEntry = {
92
+ /**
93
+ * Factory function for creating a driver instance.
94
+ * @param config Driver configuration.
95
+ * @returns Driver instance.
96
+ */
37
97
  factory: <ItemType extends Record<any, any>, UniquelyIdentifyingFieldName extends keyof ItemType>(config: DataItemDBDriverConfig<ItemType, UniquelyIdentifyingFieldName>) => DataItemDBDriver<ItemType, UniquelyIdentifyingFieldName>;
98
+ /**
99
+ * Return type info describing the DB-specific config.
100
+ * @returns Type info pack for DB-specific config.
101
+ */
38
102
  getDBSpecificConfigTypeInfo: () => TypeInfoPack;
39
103
  };
40
104
  /**
@@ -45,33 +109,89 @@ export type ItemRelationshipDBDriver = DataItemDBDriver<ItemRelationshipInfo, It
45
109
  * The location information for a file.
46
110
  * */
47
111
  export type BaseFileLocationInfo = {
112
+ /**
113
+ * Optional directory path for the file.
114
+ */
48
115
  directory?: string;
116
+ /**
117
+ * File name portion.
118
+ */
49
119
  name: string;
50
120
  };
51
121
  /**
52
122
  * The most integral information about a file.
53
123
  * */
54
124
  export type BaseFile = BaseFileLocationInfo & {
125
+ /**
126
+ * Last updated timestamp in milliseconds.
127
+ */
55
128
  updatedOn: number;
129
+ /**
130
+ * MIME type for the file.
131
+ */
56
132
  mimeType: string;
133
+ /**
134
+ * File size in bytes.
135
+ */
57
136
  sizeInBytes: number;
137
+ /**
138
+ * True when the item represents a directory.
139
+ */
58
140
  isDirectory?: boolean;
141
+ /**
142
+ * Optional signed upload URL.
143
+ */
59
144
  uploadUrl?: string;
145
+ /**
146
+ * Optional signed download URL.
147
+ */
60
148
  downloadUrl?: string;
61
149
  };
62
150
  /**
63
151
  * The result returned when listing files.
64
152
  * */
65
153
  export type ListFilesResult = {
154
+ /**
155
+ * Cursor string for pagination.
156
+ */
66
157
  cursor?: string;
158
+ /**
159
+ * Files returned in the page.
160
+ */
67
161
  files: BaseFile[];
68
162
  };
69
163
  /**
70
164
  * An API for a cloud file service driver.
71
165
  * */
72
166
  export type CloudFileServiceDriver = {
167
+ /**
168
+ * Get a signed URL for uploading a file.
169
+ * @param file File location info.
170
+ * @param baseDirectory Optional base directory prefix.
171
+ * @returns Signed upload URL.
172
+ */
73
173
  getFileUploadUrl: (file: BaseFileLocationInfo, baseDirectory?: string) => Promise<string>;
174
+ /**
175
+ * Get a signed URL for downloading a file.
176
+ * @param file File location info.
177
+ * @param baseDirectory Optional base directory prefix.
178
+ * @returns Signed download URL.
179
+ */
74
180
  getFileDownloadUrl: (file: BaseFileLocationInfo, baseDirectory?: string) => Promise<string>;
181
+ /**
182
+ * Delete a file.
183
+ * @param file File location info.
184
+ * @param baseDirectory Optional base directory prefix.
185
+ * @returns Promise resolved once deleted.
186
+ */
75
187
  deleteFile: (file: BaseFileLocationInfo, baseDirectory?: string) => Promise<void>;
188
+ /**
189
+ * List files in a directory.
190
+ * @param path Optional path prefix to list within.
191
+ * @param baseDirectory Optional base directory prefix.
192
+ * @param maxNumberOfFiles Maximum number of files to return.
193
+ * @param cursor Optional cursor string for pagination.
194
+ * @returns File list and cursor.
195
+ */
76
196
  listFiles: (path?: string, baseDirectory?: string, maxNumberOfFiles?: number, cursor?: string) => Promise<ListFilesResult>;
77
197
  };
@@ -0,0 +1,7 @@
1
+ export * from "./S3FileItemDBDriver";
2
+ export * from "./DynamoDBDataItemDBDriver";
3
+ export * from "./InMemoryDataItemDBDriver";
4
+ export * from "./InMemoryItemRelationshipDBDriver";
5
+ export * from "./InMemoryFileItemDBDriver";
6
+ export * from "./IndexingRelationshipDriver";
7
+ export * from "./common";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * ORM exports for TypeInfo-based services and supporting utilities.
3
+ * */
4
+ export * from "./drivers";
5
+ export * from "./TypeInfoORMService";
6
+ export * from "./DACUtils";
7
+ export * from "./ORMRouteMap";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * Map {@link SearchCriteria} to structured-index {@link Where} clauses.
5
+ * Unsupported operators throw {@link TypeInfoORMServiceError}.
6
+ */
7
+ import { SearchCriteria } from "../../../common/SearchTypes";
8
+ import type { Where } from "../../Indexing/structured/Types";
9
+ /**
10
+ * Translate {@link SearchCriteria.fieldCriteria} into a structured WHERE tree.
11
+ * @returns Structured where clause or undefined when no criteria exist.
12
+ */
13
+ export declare const criteriaToStructuredWhere: (
14
+ /**
15
+ * Search criteria to translate.
16
+ */
17
+ criteria?: SearchCriteria) => Where | undefined;
@@ -0,0 +1,80 @@
1
+ import { AuthInfo, CloudFunctionEventTransformer } from "./Types";
2
+ /**
3
+ * AWS specific utilities for processing routing and normalizing Cloud Function events.
4
+ * */
5
+ export declare namespace AWS {
6
+ /**
7
+ * An AWS specific Cloud Function event.
8
+ * */
9
+ interface IAWSCloudFunctionEvent {
10
+ /**
11
+ * AWS request context containing authorizer info and identity details.
12
+ */
13
+ requestContext?: Record<any, any>;
14
+ /**
15
+ * HTTP method for the incoming request.
16
+ */
17
+ httpMethod?: string;
18
+ /**
19
+ * Single-value HTTP headers.
20
+ */
21
+ headers?: Record<string, string>;
22
+ /**
23
+ * Multi-value HTTP headers keyed by header name.
24
+ */
25
+ multiValueHeaders?: Record<string, string[]>;
26
+ /**
27
+ * Request path string as provided by the AWS event.
28
+ */
29
+ path?: string;
30
+ /**
31
+ * Raw request body string (usually JSON).
32
+ */
33
+ body?: string;
34
+ }
35
+ /**
36
+ * @returns Normalized request path string.
37
+ */
38
+ const getPathFromEvent: (
39
+ /**
40
+ * AWS Cloud Function event to read the path from.
41
+ */
42
+ event: IAWSCloudFunctionEvent) => string;
43
+ /**
44
+ * @returns Parsed body payload, or undefined if parsing fails.
45
+ */
46
+ const getBodyFromEvent: (
47
+ /**
48
+ * AWS Cloud Function event to parse the body from.
49
+ */
50
+ event: IAWSCloudFunctionEvent) => any;
51
+ /**
52
+ * @returns Normalized headers keyed by lowercase header name.
53
+ */
54
+ const getHeadersFromEvent: (
55
+ /**
56
+ * AWS Cloud Function event to read headers from.
57
+ */
58
+ event: IAWSCloudFunctionEvent) => Record<string, string[]>;
59
+ /**
60
+ * @returns HTTP method string for the request.
61
+ */
62
+ const getMethodFromEvent: (
63
+ /**
64
+ * AWS Cloud Function event to read the method from.
65
+ */
66
+ event: IAWSCloudFunctionEvent) => string;
67
+ /**
68
+ * @returns Normalized auth info with user id and roles.
69
+ */
70
+ const getAuthInfo: (
71
+ /**
72
+ * AWS Cloud Function event to extract auth info from.
73
+ */
74
+ event: IAWSCloudFunctionEvent) => AuthInfo;
75
+ /**
76
+ * Parse out the Auth, CORS, Headers, Method and Body from an AWS Cloud Function event.
77
+ * @returns Normalized event data for routing.
78
+ * */
79
+ const normalizeCloudFunctionEvent: CloudFunctionEventTransformer;
80
+ }
@@ -0,0 +1,14 @@
1
+ import { AuthInfo, RouteAuthConfig } from "./Types";
2
+ /**
3
+ * Resolve authorization for a request using auth info and route config.
4
+ * @returns True when the request is authorized.
5
+ * */
6
+ export declare const getRouteIsAuthorized: (
7
+ /**
8
+ * Auth info resolved for the incoming request.
9
+ */
10
+ authInfo: AuthInfo,
11
+ /**
12
+ * Route-level auth requirements for the request.
13
+ */
14
+ authConfig: RouteAuthConfig) => boolean;
@@ -0,0 +1,66 @@
1
+ import { CORSPatter } from "./Types";
2
+ /**
3
+ * Check origin equality against an allowed string.
4
+ * @returns True when the origin exactly matches the string.
5
+ * */
6
+ export declare const originMatchesString: (
7
+ /**
8
+ * Origin value from the request.
9
+ */
10
+ origin?: string,
11
+ /**
12
+ * Allowed origin string to compare against.
13
+ */
14
+ str?: string) => boolean;
15
+ /**
16
+ * Check origin match against an allowed regular expression.
17
+ * @returns True when the origin matches the pattern.
18
+ * */
19
+ export declare const originMatchesRegExp: (
20
+ /**
21
+ * Origin value from the request.
22
+ */
23
+ origin?: string,
24
+ /**
25
+ * Allowed origin pattern to test against.
26
+ */
27
+ regExp?: RegExp) => boolean;
28
+ /**
29
+ * Check an origin against a string or regex CORS pattern.
30
+ * @returns True when the origin matches the allowed pattern.
31
+ * */
32
+ export declare const originMatches: (
33
+ /**
34
+ * Origin value from the request.
35
+ */
36
+ origin?: string,
37
+ /**
38
+ * Allowed origin matcher (string equality or regex test).
39
+ */
40
+ corsPattern?: CORSPatter) => boolean;
41
+ /**
42
+ * Resolve the origin if it is allowed by the CORS patterns.
43
+ * @returns The origin if allowed, otherwise an empty string.
44
+ * */
45
+ export declare const getAllowedCORSOrigin: (
46
+ /**
47
+ * Origin value from the request.
48
+ */
49
+ origin?: string,
50
+ /**
51
+ * Allowed origin matchers to check.
52
+ */
53
+ corsPatterns?: CORSPatter[]) => string;
54
+ /**
55
+ * Build CORS response headers for a given origin and allow list.
56
+ * @returns CORS headers for the response.
57
+ * */
58
+ export declare const getHeadersWithCORS: (
59
+ /**
60
+ * Origin value from the request.
61
+ */
62
+ origin?: string,
63
+ /**
64
+ * Allowed origin matchers to check.
65
+ */
66
+ corsPatterns?: CORSPatter[]) => Record<string, string>;
@@ -7,65 +7,131 @@ export type CORSPatter = string | RegExp;
7
7
  * Typically, from Cognito.
8
8
  * */
9
9
  export type AuthInfo = {
10
+ /**
11
+ * Unique user identifier from the auth provider.
12
+ */
10
13
  userId?: string;
14
+ /**
15
+ * Role or group names assigned to the user.
16
+ */
11
17
  roles?: string[];
12
18
  };
13
19
  /**
14
20
  * The normalized event data that is passed to the route handler.
15
21
  * */
16
22
  export type NormalizedCloudFunctionEventData = {
23
+ /**
24
+ * Auth info resolved from the incoming event.
25
+ */
17
26
  authInfo: AuthInfo;
27
+ /**
28
+ * Normalized headers keyed by lowercase header name.
29
+ */
18
30
  headers: Record<string, string[]>;
31
+ /**
32
+ * HTTP method (e.g. GET, POST).
33
+ */
19
34
  method: string;
35
+ /**
36
+ * Request path string.
37
+ */
20
38
  path: string;
39
+ /**
40
+ * Parsed body payload passed to handlers.
41
+ */
21
42
  body: any;
22
43
  };
23
44
  /**
24
45
  * The response information that sent back to the requester.
25
46
  * */
26
47
  export type CloudFunctionResponse = {
48
+ /**
49
+ * HTTP status code to return.
50
+ */
27
51
  statusCode: number;
52
+ /**
53
+ * Headers to include in the response.
54
+ */
28
55
  headers: Record<string, string>;
56
+ /**
57
+ * Serialized response payload.
58
+ */
29
59
  body: string;
30
60
  };
31
61
  /**
32
62
  * A function that handles an RPC request to a route.
33
- * */
63
+ * @param args Handler arguments derived from the normalized event body.
64
+ * @returns Handler result or a promise of the result.
65
+ */
34
66
  export type RouteHandler = (...args: any[]) => any | Promise<any>;
35
67
  /**
36
68
  * A factory for creating a route handler with context injected.
37
- * */
69
+ * @param eventData Normalized event data used to build the handler.
70
+ * @returns Route handler with context applied.
71
+ */
38
72
  export type RouteHandlerFactory = (eventData: NormalizedCloudFunctionEventData) => RouteHandler;
39
73
  /**
40
74
  * A configuration to specify the authentication required to access a route.
41
75
  * */
42
76
  export type RouteAuthConfig = {
77
+ /**
78
+ * When true, the route is publicly accessible without auth.
79
+ */
43
80
  public?: boolean;
81
+ /**
82
+ * When true, any authenticated user is allowed.
83
+ */
44
84
  anyAuthorized?: boolean;
85
+ /**
86
+ * Explicit list of role names permitted to access the route.
87
+ */
45
88
  allowedRoles?: string[];
46
89
  };
47
90
  /**
48
91
  * A configuration used to define how an RPC request to a specific path is handled.
49
92
  * */
50
93
  export type Route = {
94
+ /**
95
+ * Route path segment used as the lookup key in a RouteMap.
96
+ */
51
97
  path: string;
98
+ /**
99
+ * Optional auth requirements for the route.
100
+ */
52
101
  authConfig?: RouteAuthConfig;
53
102
  } & ({
103
+ /**
104
+ * Factory for building a handler with injected context.
105
+ */
54
106
  handlerFactory: RouteHandlerFactory;
55
107
  handler?: never;
56
108
  } | {
57
109
  handlerFactory?: never;
110
+ /**
111
+ * Direct handler invoked with the normalized body payload.
112
+ */
58
113
  handler: RouteHandler;
59
114
  });
60
115
  /**
61
116
  * A collection of {@link Route} objects, indexed by their path.
117
+ *
118
+ * @category Routing
62
119
  * */
63
120
  export type RouteMap = Record<string, Route>;
64
121
  /**
65
122
  * A function that transforms an event into a normalized event data object.
66
- * */
123
+ * @param event Raw cloud function event object.
124
+ * @returns Normalized event data for routing.
125
+ */
67
126
  export type CloudFunctionEventTransformer = (event: any) => NormalizedCloudFunctionEventData;
68
127
  /**
69
128
  * A function that routes an event to a route handler based on a {@link RouteMap}.
70
- * */
129
+ * @param event Raw cloud function event object.
130
+ * @param eventTransformer Transformer used to normalize the event.
131
+ * @param routeMap Route lookup map keyed by path.
132
+ * @param allowedOrigins Allowed origins for CORS responses.
133
+ * @param errorShouldBeExposedToClient Optional error filter for response payloads.
134
+ * @param debug When true, log handler inputs and outputs.
135
+ * @returns Cloud function response object.
136
+ */
71
137
  export type CloudFunctionEventRouter = (event: any, eventTransformer: CloudFunctionEventTransformer, routeMap: RouteMap, allowedOrigins: CORSPatter[], errorShouldBeExposedToClient?: (error: unknown) => boolean, debug?: boolean) => Promise<CloudFunctionResponse>;
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * Minimal Cloud Function routing helpers. Compose a {@link RouteMap}, wire in
5
+ * auth via {@link getRouteIsAuthorized}, apply CORS helpers, and dispatch with
6
+ * {@link handleCloudFunctionEvent}. AWS event normalization is available under
7
+ * {@link AWS}.
8
+ *
9
+ * Example wiring:
10
+ * ```ts
11
+ * import { AWS, addRoutesToRouteMap, handleCloudFunctionEvent } from "./Router";
12
+ * import type { RouteMap } from "./Router/Types";
13
+ *
14
+ * const routes: RouteMap = addRoutesToRouteMap({}, [
15
+ * { path: "status", authConfig: { public: true }, handler: () => "ok" },
16
+ * ]);
17
+ *
18
+ * export const handler = (event: unknown) =>
19
+ * handleCloudFunctionEvent(
20
+ * event,
21
+ * AWS.normalizeCloudFunctionEvent,
22
+ * routes,
23
+ * ["https://example.com"],
24
+ * );
25
+ * ```
26
+ */
27
+ import { CloudFunctionEventRouter, Route, RouteMap } from "./Types";
28
+ export * from "./Types";
29
+ export * from "./AWS";
30
+ /**
31
+ * A utility function to add a route to a route map by path.
32
+ * @returns New route map with the route appended.
33
+ * */
34
+ export declare const addRouteToRouteMap: (
35
+ /**
36
+ * Existing route map to append to.
37
+ */
38
+ routeMap: RouteMap,
39
+ /**
40
+ * Route definition to add to the map.
41
+ */
42
+ route: Route,
43
+ /**
44
+ * Optional base path prefix to apply to the route path.
45
+ */
46
+ basePath?: string) => RouteMap;
47
+ /**
48
+ * Add multiple routes to a {@link RouteMap} by path.
49
+ *
50
+ * @category Routing
51
+ * @returns New route map with all routes appended.
52
+ * */
53
+ export declare const addRoutesToRouteMap: (
54
+ /**
55
+ * Existing route map to append to.
56
+ */
57
+ routeMap: RouteMap,
58
+ /**
59
+ * Route list to add to the map.
60
+ */
61
+ routes: Route[],
62
+ /**
63
+ * Optional base path prefix applied to all route paths.
64
+ */
65
+ basePath?: string) => RouteMap;
66
+ /**
67
+ * Apply one {@link RouteMap} to another.
68
+ * @returns New route map with the incoming routes merged.
69
+ * */
70
+ export declare const addRouteMapToRouteMap: (
71
+ /**
72
+ * Existing route map to append to.
73
+ */
74
+ routeMap: RouteMap,
75
+ /**
76
+ * Route map to merge into the existing map.
77
+ */
78
+ routeMapToAdd: RouteMap,
79
+ /**
80
+ * Optional base path prefix applied to all incoming paths.
81
+ */
82
+ basePath?: string) => RouteMap;
83
+ /**
84
+ * A Cloud Function event router.
85
+ *
86
+ * @category Routing
87
+ * @returns Cloud function response for the routed request.
88
+ * */
89
+ export declare const handleCloudFunctionEvent: CloudFunctionEventRouter;
package/api/index.d.ts ADDED
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * Server-side API utilities: routing, ORM, indexing, and data access control.
5
+ *
6
+ * Import from the API subpath only:
7
+ * ```ts
8
+ * import {
9
+ * AWS,
10
+ * addRoutesToRouteMap,
11
+ * handleCloudFunctionEvent,
12
+ * type CloudFunctionResponse,
13
+ * } from "@resistdesign/voltra/api";
14
+ * ```
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import {
19
+ * AWS,
20
+ * addRoutesToRouteMap,
21
+ * handleCloudFunctionEvent,
22
+ * type CloudFunctionResponse,
23
+ * } from "@resistdesign/voltra/api";
24
+ *
25
+ * const routes = addRoutesToRouteMap({}, [
26
+ * {
27
+ * path: "",
28
+ * authConfig: { anyAuthorized: true },
29
+ * handler: async () => "WELCOME!!!!",
30
+ * },
31
+ * ]);
32
+ *
33
+ * export const handler = async (
34
+ * event: any,
35
+ * ): Promise<CloudFunctionResponse> =>
36
+ * handleCloudFunctionEvent(
37
+ * event,
38
+ * AWS.normalizeCloudFunctionEvent,
39
+ * routes,
40
+ * [
41
+ * process.env.CLIENT_ORIGIN as string,
42
+ * /https:\\/\\/example\\.com(:.*?$|\\/.*$|$)/gim,
43
+ * ],
44
+ * );
45
+ * ```
46
+ *
47
+ * See also: `@resistdesign/voltra/app` for client-side app helpers.
48
+ */
49
+ /**
50
+ * @category api
51
+ * @group Indexing
52
+ */
53
+ export * from "./Indexing";
54
+ /**
55
+ * @category api
56
+ * @group ORM
57
+ */
58
+ export * from "./ORM";
59
+ /**
60
+ * @category api
61
+ * @group Routing
62
+ */
63
+ export * from "./Router";
64
+ /**
65
+ * @category api
66
+ * @group Data Access Control
67
+ */
68
+ export * from "./DataAccessControl";