@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
@@ -1,282 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DynamoDBSupportedDataItemDBDriverEntry = exports.DynamoDBDataItemDBDriver = void 0;
7
- const common_1 = require("./common");
8
- const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
9
- const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
10
- const uuid_1 = require("uuid");
11
- const SearchTypes_1 = require("../../../common/SearchTypes");
12
- const SearchUtils_1 = require("../../../common/SearchUtils");
13
- const fs_1 = __importDefault(require("fs"));
14
- const path_1 = __importDefault(require("path"));
15
- const TypeParsing_1 = require("../../../common/TypeParsing");
16
- const DynamoDBOperatorMappings = {
17
- [SearchTypes_1.ComparisonOperators.EQUALS]: (fieldName) => `#${fieldName} = :${fieldName}`,
18
- [SearchTypes_1.ComparisonOperators.NOT_EQUALS]: (fieldName) => `#${fieldName} <> :${fieldName}`,
19
- [SearchTypes_1.ComparisonOperators.GREATER_THAN]: (fieldName) => `#${fieldName} > :${fieldName}`,
20
- [SearchTypes_1.ComparisonOperators.GREATER_THAN_OR_EQUAL]: (fieldName) => `#${fieldName} >= :${fieldName}`,
21
- [SearchTypes_1.ComparisonOperators.LESS_THAN]: (fieldName) => `#${fieldName} < :${fieldName}`,
22
- [SearchTypes_1.ComparisonOperators.LESS_THAN_OR_EQUAL]: (fieldName) => `#${fieldName} <= :${fieldName}`,
23
- [SearchTypes_1.ComparisonOperators.IN]: (fieldName) => `#${fieldName} IN (:${fieldName})`,
24
- [SearchTypes_1.ComparisonOperators.LIKE]: (fieldName) => `contains(#${fieldName}, :${fieldName})`,
25
- [SearchTypes_1.ComparisonOperators.EXISTS]: (fieldName) => `attribute_exists(#${fieldName})`,
26
- [SearchTypes_1.ComparisonOperators.NOT_EXISTS]: (fieldName) => `attribute_not_exists(#${fieldName})`,
27
- [SearchTypes_1.ComparisonOperators.IS_EMPTY]: (fieldName) => `size(#${fieldName}) = 0`,
28
- [SearchTypes_1.ComparisonOperators.IS_NOT_EMPTY]: (fieldName) => `size(#${fieldName}) > 0`,
29
- [SearchTypes_1.ComparisonOperators.BETWEEN]: (fieldName) => `#${fieldName} BETWEEN :${fieldName}_start AND :${fieldName}_end`,
30
- [SearchTypes_1.ComparisonOperators.CONTAINS]: (fieldName) => `contains(#${fieldName}, :${fieldName})`,
31
- [SearchTypes_1.ComparisonOperators.STARTS_WITH]: (fieldName) => `begins_with(#${fieldName}, :${fieldName})`,
32
- };
33
- const DynamoDBLogicalOperatorMappings = {
34
- [SearchTypes_1.LogicalOperators.AND]: "AND",
35
- [SearchTypes_1.LogicalOperators.OR]: "OR",
36
- };
37
- const createFilterExpression = (fieldCriteria, logicalOperator) => {
38
- let output = {};
39
- if (fieldCriteria && fieldCriteria.length > 0) {
40
- const expressions = [];
41
- const attributeNames = {};
42
- const attributeValues = {};
43
- for (const criterion of fieldCriteria) {
44
- const { fieldName, operator, value } = criterion;
45
- const createExpression = DynamoDBOperatorMappings[operator];
46
- if (!createExpression) {
47
- throw {
48
- message: common_1.DATA_ITEM_DB_DRIVER_ERRORS.SEARCH_COMPARISON_OPERATOR_NOT_SUPPORTED,
49
- operator,
50
- fieldName,
51
- };
52
- }
53
- expressions.push(createExpression(fieldName));
54
- attributeNames[`#${fieldName}`] = fieldName;
55
- attributeValues[`:${fieldName}`] = value;
56
- }
57
- output = {
58
- FilterExpression: expressions.join(` ${DynamoDBLogicalOperatorMappings[logicalOperator]} `),
59
- ExpressionAttributeNames: attributeNames,
60
- ExpressionAttributeValues: (0, util_dynamodb_1.marshall)(attributeValues),
61
- };
62
- }
63
- return output;
64
- };
65
- const buildUpdateExpression = (updatedItem, uniquelyIdentifyingFieldName) => {
66
- const updateExpressionParts = [];
67
- const attributeNames = {};
68
- const attributeValues = {};
69
- for (const f in updatedItem) {
70
- const value = updatedItem[f];
71
- // IMPORTANT: DO NOT use the `uniquelyIdentifyingFieldName`.
72
- if (f !== uniquelyIdentifyingFieldName && typeof value !== "undefined") {
73
- const placeholderName = `#${f}`;
74
- const placeholderValue = `:${f}`;
75
- updateExpressionParts.push(`${placeholderName} = ${placeholderValue}`);
76
- attributeNames[placeholderName] = f;
77
- attributeValues[placeholderValue] = (0, util_dynamodb_1.marshall)(value);
78
- }
79
- }
80
- return {
81
- UpdateExpression: `SET ${updateExpressionParts.join(", ")}`,
82
- ExpressionAttributeNames: attributeNames,
83
- ExpressionAttributeValues: attributeValues,
84
- };
85
- };
86
- const buildSelectedFieldParams = (selectedFields) => {
87
- const selectedFieldParams = typeof (selectedFields ?? false) && Array.isArray(selectedFields)
88
- ? {
89
- ExpressionAttributeNames: selectedFields.reduce((acc, field) => {
90
- const fieldAsString = String(field);
91
- acc[`#${fieldAsString}`] = fieldAsString;
92
- return acc;
93
- }, {}),
94
- ProjectionExpression: selectedFields
95
- .map((field) => `#${String(field)}`)
96
- .join(", "),
97
- }
98
- : {};
99
- return selectedFieldParams;
100
- };
101
- /**
102
- * A {@link DataItemDBDriver} that uses DynamoDB as its database.
103
- * */
104
- class DynamoDBDataItemDBDriver {
105
- config;
106
- dynamoDBClient;
107
- constructor(config) {
108
- this.config = config;
109
- const { dbSpecificConfig } = config;
110
- this.dynamoDBClient = new client_dynamodb_1.DynamoDBClient(dbSpecificConfig);
111
- }
112
- /**
113
- * Create an item in the database.
114
- */
115
- createItem = async (newItem) => {
116
- const { tableName, uniquelyIdentifyingFieldName, generateUniqueIdentifier = () => (0, uuid_1.v4)(), } = this.config;
117
- const newItemId = generateUniqueIdentifier(newItem);
118
- const cleanNewItemWithId = {
119
- ...newItem,
120
- [uniquelyIdentifyingFieldName]: newItemId,
121
- };
122
- const command = new client_dynamodb_1.PutItemCommand({
123
- TableName: tableName,
124
- Item: (0, util_dynamodb_1.marshall)(cleanNewItemWithId),
125
- });
126
- await this.dynamoDBClient.send(command);
127
- return newItemId;
128
- };
129
- /**
130
- * Read an item from the database.
131
- */
132
- readItem = async (uniqueIdentifier, selectedFields) => {
133
- const { tableName, uniquelyIdentifyingFieldName } = this.config;
134
- const selectedFieldParams = buildSelectedFieldParams(selectedFields);
135
- const command = new client_dynamodb_1.GetItemCommand({
136
- TableName: tableName,
137
- Key: (0, util_dynamodb_1.marshall)({
138
- [uniquelyIdentifyingFieldName]: uniqueIdentifier,
139
- }),
140
- ...selectedFieldParams,
141
- });
142
- const { Item } = await this.dynamoDBClient.send(command);
143
- if (typeof Item === "undefined") {
144
- throw new Error(common_1.DATA_ITEM_DB_DRIVER_ERRORS.ITEM_NOT_FOUND);
145
- }
146
- else {
147
- const cleanItem = (0, util_dynamodb_1.unmarshall)(Item);
148
- return cleanItem;
149
- }
150
- };
151
- /**
152
- * Update an item in the database.
153
- */
154
- updateItem = async (uniqueIdentifier, updatedItem) => {
155
- const { tableName, uniquelyIdentifyingFieldName } = this.config;
156
- const { [uniquelyIdentifyingFieldName]: _unusedUniqueIdentifier, ...cleanUpdatedItem } = updatedItem;
157
- if (typeof uniqueIdentifier !== "undefined") {
158
- const command = new client_dynamodb_1.UpdateItemCommand({
159
- TableName: tableName,
160
- Key: (0, util_dynamodb_1.marshall)({
161
- [uniquelyIdentifyingFieldName]: uniqueIdentifier,
162
- }),
163
- ReturnValues: "ALL_NEW",
164
- ...buildUpdateExpression(cleanUpdatedItem, uniquelyIdentifyingFieldName),
165
- });
166
- const { Attributes } = await this.dynamoDBClient.send(command);
167
- return !!Attributes;
168
- }
169
- else {
170
- throw {
171
- message: common_1.DATA_ITEM_DB_DRIVER_ERRORS.MISSING_UNIQUE_IDENTIFIER,
172
- uniquelyIdentifyingFieldName,
173
- };
174
- }
175
- };
176
- /**
177
- * Delete an item from the database.
178
- */
179
- deleteItem = async (uniqueIdentifier) => {
180
- const { tableName, uniquelyIdentifyingFieldName } = this.config;
181
- const command = new client_dynamodb_1.DeleteItemCommand({
182
- TableName: tableName,
183
- Key: (0, util_dynamodb_1.marshall)({
184
- [uniquelyIdentifyingFieldName]: uniqueIdentifier,
185
- }),
186
- ReturnValues: "ALL_OLD",
187
- });
188
- const { Attributes } = await this.dynamoDBClient.send(command);
189
- return !!Attributes;
190
- };
191
- /**
192
- * List items from the database.
193
- */
194
- listItems = async (config, selectedFields) => {
195
- const { tableName } = this.config;
196
- const { itemsPerPage = 10, cursor, sortFields, criteria: { logicalOperator = SearchTypes_1.LogicalOperators.AND, fieldCriteria = [], } = {}, } = config;
197
- const { ProjectionExpression, ExpressionAttributeNames: selectFieldParamsAttributeNames, } = buildSelectedFieldParams(selectedFields);
198
- const { FilterExpression, ExpressionAttributeNames, ExpressionAttributeValues, } = createFilterExpression(fieldCriteria, logicalOperator);
199
- // IMPORTANT: DynamoDB is VERY particular about whether to include
200
- // properties, AT ALL, based on expressions being used.
201
- const params = {
202
- TableName: tableName,
203
- Select: selectedFields && selectedFields.length > 0
204
- ? "SPECIFIC_ATTRIBUTES"
205
- : "ALL_ATTRIBUTES",
206
- ...(ProjectionExpression
207
- ? {
208
- ProjectionExpression: ProjectionExpression,
209
- }
210
- : {}),
211
- ...(FilterExpression
212
- ? {
213
- FilterExpression,
214
- }
215
- : {}),
216
- ...(FilterExpression
217
- ? {
218
- ExpressionAttributeNames: {
219
- ...selectFieldParamsAttributeNames,
220
- ...ExpressionAttributeNames,
221
- },
222
- }
223
- : ProjectionExpression
224
- ? {
225
- ExpressionAttributeNames: {
226
- ...selectFieldParamsAttributeNames,
227
- },
228
- }
229
- : {}),
230
- ...(FilterExpression
231
- ? {
232
- ExpressionAttributeValues,
233
- }
234
- : {}),
235
- };
236
- let structuredCursor = undefined;
237
- if (typeof cursor === "string") {
238
- try {
239
- structuredCursor = (0, util_dynamodb_1.marshall)(JSON.parse(cursor));
240
- }
241
- catch (error) {
242
- throw {
243
- message: common_1.DATA_ITEM_DB_DRIVER_ERRORS.INVALID_CURSOR,
244
- cursor,
245
- };
246
- }
247
- }
248
- const command = new client_dynamodb_1.ScanCommand({
249
- ...params,
250
- ExclusiveStartKey: structuredCursor,
251
- Limit: itemsPerPage,
252
- });
253
- const { Items = [], LastEvaluatedKey } = await this.dynamoDBClient.send(command);
254
- const unmarshalledItems = Items.map((item) => (0, util_dynamodb_1.unmarshall)(item));
255
- // Sort the items.
256
- const sortedItems = (0, SearchUtils_1.getSortedItems)(sortFields, unmarshalledItems);
257
- return {
258
- items: sortedItems,
259
- cursor: LastEvaluatedKey
260
- ? JSON.stringify((0, util_dynamodb_1.unmarshall)(LastEvaluatedKey))
261
- : undefined,
262
- };
263
- };
264
- }
265
- exports.DynamoDBDataItemDBDriver = DynamoDBDataItemDBDriver;
266
- /**
267
- * The supported DB driver entry for the DynamoDB {@link DataItemDBDriver}.
268
- * */
269
- exports.DynamoDBSupportedDataItemDBDriverEntry = {
270
- factory: (config) => {
271
- return new DynamoDBDataItemDBDriver(config);
272
- },
273
- getDBSpecificConfigTypeInfo: () => {
274
- const configTypesPath = path_1.default.join(__dirname, "DynamoDBDataItemDBDriver", "ConfigTypes.ts");
275
- const configTypesTS = fs_1.default.readFileSync(configTypesPath, "utf8");
276
- const typeInfoMap = (0, TypeParsing_1.getTypeInfoMapFromTypeScript)(configTypesTS);
277
- return {
278
- entryTypeName: "DynamoDBSpecificConfig",
279
- typeInfoMap,
280
- };
281
- },
282
- };
@@ -1,90 +0,0 @@
1
- export type Trace = (...content: any[]) => void;
2
- export type Logger = {
3
- trace?: string | Trace;
4
- debug: Trace;
5
- info: Trace;
6
- warn: Trace;
7
- error: Trace;
8
- };
9
- export type Endpoint = {
10
- protocol: string;
11
- hostname: string;
12
- port?: string;
13
- path: string;
14
- query?: string;
15
- };
16
- export type Properties = {
17
- authSchemes?: string;
18
- };
19
- export type RetryStrategy = {
20
- mode?: string;
21
- retry: any;
22
- };
23
- export type Credentials = {
24
- accessKeyId: string;
25
- secretAccessKey: string;
26
- sessionToken?: string;
27
- credentialScope?: string;
28
- expiration?: string;
29
- };
30
- export type Signer = {
31
- sign: any;
32
- };
33
- export type AbridgedS3ClientConfig = {
34
- requestHandler?: string;
35
- apiVersion?: string;
36
- sha256?: string;
37
- urlParser?: string;
38
- bodyLengthChecker?: string;
39
- streamCollector?: string;
40
- base64Decoder?: string;
41
- base64Encoder?: string;
42
- utf8Decoder?: string;
43
- utf8Encoder?: string;
44
- runtime?: string;
45
- disableHostPrefix?: string | false | true;
46
- serviceId?: string;
47
- useDualstackEndpoint?: string | false | true;
48
- useFipsEndpoint?: string | false | true;
49
- region?: string;
50
- credentialDefaultProvider?: string;
51
- signingEscapePath?: string | false | true;
52
- useArnRegion?: string | false | true;
53
- defaultUserAgentProvider?: string;
54
- streamHasher?: string;
55
- md5?: string;
56
- sha1?: string;
57
- getAwsChunkedEncodingStream?: string;
58
- maxAttempts?: string;
59
- retryMode?: string;
60
- logger?: string | Logger;
61
- extensions?: string;
62
- eventStreamSerdeProvider?: string;
63
- /**
64
- * @allowCustomSelection
65
- * */
66
- defaultsMode?: "standard" | "in-region" | "cross-region" | "mobile" | "auto" | "legacy";
67
- sdkStreamMixin?: string;
68
- endpoint?: string | Endpoint;
69
- endpointProvider?: string;
70
- tls?: string | false | true;
71
- retryStrategy?: string | RetryStrategy;
72
- credentials?: string | Credentials;
73
- signer?: string | Signer;
74
- systemClockOffset?: string;
75
- signingRegion?: string;
76
- signerConstructor?: string;
77
- forcePathStyle?: string | false | true;
78
- useAccelerateEndpoint?: string | false | true;
79
- disableMultiregionAccessPoints?: string | false | true;
80
- followRegionRedirects?: string | false | true;
81
- s3ExpressIdentityProvider?: string;
82
- customUserAgent?: string;
83
- useGlobalEndpoint?: string | false | true;
84
- disableS3ExpressSessionAuth?: string | false | true;
85
- };
86
- export type S3SpecificConfig = {
87
- s3Config?: AbridgedS3ClientConfig;
88
- bucketName: string;
89
- urlExpirationInSeconds?: number;
90
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,45 +0,0 @@
1
- import { S3, S3ClientConfig } from "@aws-sdk/client-s3";
2
- import { BaseFile, BaseFileLocationInfo, CloudFileServiceDriver } from "../common/Types";
3
- export declare const S3_FILE_DRIVER_ERRORS: {
4
- INVALID_PATH: string;
5
- };
6
- export declare const getFullFileKey: ({ file, baseDirectory, }: {
7
- file: BaseFileLocationInfo;
8
- baseDirectory?: string;
9
- }) => string;
10
- export declare const getBaseFileLocationInfo: (path: string) => BaseFileLocationInfo;
11
- /**
12
- * The configuration for an {@link S3FileDriver}.
13
- * */
14
- export type S3FileDriverConfig = {
15
- s3Config?: S3ClientConfig;
16
- bucketName: string;
17
- urlExpirationInSeconds?: number;
18
- };
19
- /**
20
- * Use S3 as a {@link CloudFileServiceDriver} for {@link BaseFile}s.
21
- */
22
- export declare class S3FileDriver implements CloudFileServiceDriver {
23
- protected config: S3FileDriverConfig;
24
- protected s3: S3;
25
- constructor(config: S3FileDriverConfig);
26
- /**
27
- * Get a signed URL for uploading a file.
28
- */
29
- getFileUploadUrl: (file: BaseFileLocationInfo, baseDirectory?: string) => Promise<string>;
30
- /**
31
- * Get a signed URL for downloading a file.
32
- */
33
- getFileDownloadUrl: (file: BaseFileLocationInfo, baseDirectory?: string) => Promise<string>;
34
- /**
35
- * Delete a file.
36
- */
37
- deleteFile: (file: BaseFileLocationInfo, baseDirectory?: string) => Promise<void>;
38
- /**
39
- * List the files and directories in a directory.
40
- */
41
- listFiles: (path?: string, baseDirectory?: string, maxNumberOfFiles?: number, cursor?: string) => Promise<{
42
- files: BaseFile[];
43
- cursor: string | undefined;
44
- }>;
45
- }
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.S3FileDriver = exports.getBaseFileLocationInfo = exports.getFullFileKey = exports.S3_FILE_DRIVER_ERRORS = void 0;
4
- const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
5
- const client_s3_1 = require("@aws-sdk/client-s3");
6
- const Routing_1 = require("../../../../common/Routing");
7
- exports.S3_FILE_DRIVER_ERRORS = {
8
- INVALID_PATH: "INVALID_PATH",
9
- };
10
- const getFullFileKey = ({ file, baseDirectory, }) => {
11
- const { directory, name } = file;
12
- const fullFileKey = `${baseDirectory ? `${baseDirectory}/` : ""}${directory ? `${directory}/` : ""}${name}`;
13
- const pathArray = (0, Routing_1.getPathArray)(fullFileKey, "/", false);
14
- if (pathArray.includes("..") ||
15
- pathArray.includes(".") ||
16
- pathArray.includes("")) {
17
- throw {
18
- message: exports.S3_FILE_DRIVER_ERRORS.INVALID_PATH,
19
- file,
20
- baseDirectory,
21
- };
22
- }
23
- else {
24
- return fullFileKey;
25
- }
26
- };
27
- exports.getFullFileKey = getFullFileKey;
28
- const getBaseFileLocationInfo = (path) => {
29
- const [name, ...directoryParts] = path.split("/").reverse();
30
- return {
31
- directory: directoryParts.reverse().join("/"),
32
- name,
33
- };
34
- };
35
- exports.getBaseFileLocationInfo = getBaseFileLocationInfo;
36
- /**
37
- * Use S3 as a {@link CloudFileServiceDriver} for {@link BaseFile}s.
38
- */
39
- class S3FileDriver {
40
- config;
41
- s3;
42
- constructor(config) {
43
- this.config = config;
44
- const { s3Config = {} } = config;
45
- this.s3 = new client_s3_1.S3(s3Config);
46
- }
47
- /**
48
- * Get a signed URL for uploading a file.
49
- */
50
- getFileUploadUrl = async (file, baseDirectory) => {
51
- const { bucketName, urlExpirationInSeconds } = this.config;
52
- const params = {
53
- Bucket: bucketName,
54
- Key: (0, exports.getFullFileKey)({ file, baseDirectory }),
55
- };
56
- return await (0, s3_request_presigner_1.getSignedUrl)(this.s3, new client_s3_1.PutObjectCommand(params), {
57
- expiresIn: urlExpirationInSeconds,
58
- });
59
- };
60
- /**
61
- * Get a signed URL for downloading a file.
62
- */
63
- getFileDownloadUrl = async (file, baseDirectory) => {
64
- const { bucketName, urlExpirationInSeconds } = this.config;
65
- const params = {
66
- Bucket: bucketName,
67
- Key: (0, exports.getFullFileKey)({ file, baseDirectory }),
68
- };
69
- return await (0, s3_request_presigner_1.getSignedUrl)(this.s3, new client_s3_1.GetObjectCommand(params), {
70
- expiresIn: urlExpirationInSeconds,
71
- });
72
- };
73
- /**
74
- * Delete a file.
75
- */
76
- deleteFile = async (file, baseDirectory) => {
77
- const { bucketName } = this.config;
78
- await this.s3.send(new client_s3_1.DeleteObjectCommand({
79
- Bucket: bucketName,
80
- Key: (0, exports.getFullFileKey)({ file, baseDirectory }),
81
- }));
82
- };
83
- /**
84
- * List the files and directories in a directory.
85
- */
86
- listFiles = async (path, baseDirectory, maxNumberOfFiles = 1, cursor) => {
87
- const { bucketName } = this.config;
88
- const files = [];
89
- let allContents = [], continuationToken = cursor, listAttempted = false;
90
- while ((!listAttempted || continuationToken) &&
91
- files.length < maxNumberOfFiles) {
92
- listAttempted = true;
93
- const listObjectsV2CommandOutput = await this.s3.send(new client_s3_1.ListObjectsV2Command({
94
- Bucket: bucketName,
95
- Prefix: `${baseDirectory || ""}${path || ""}`,
96
- ContinuationToken: continuationToken,
97
- MaxKeys: maxNumberOfFiles === Infinity
98
- ? undefined
99
- : maxNumberOfFiles - allContents.length,
100
- }));
101
- const { Contents = [], NextContinuationToken, } = listObjectsV2CommandOutput;
102
- allContents = [...allContents, ...Contents];
103
- continuationToken = NextContinuationToken;
104
- }
105
- for (const file of allContents) {
106
- if (file.Key) {
107
- const { ContentType = "", ContentLength = 0, LastModified, Metadata: {} = {}, } = await this.s3.send(new client_s3_1.HeadObjectCommand({
108
- Bucket: bucketName,
109
- Key: file.Key,
110
- }));
111
- files.push({
112
- updatedOn: LastModified?.getTime() || 0,
113
- mimeType: ContentType,
114
- sizeInBytes: ContentLength,
115
- directory: path,
116
- name: file.Key.split("/").pop() || "",
117
- isDirectory: ContentType === "application/x-directory",
118
- });
119
- }
120
- }
121
- return {
122
- files,
123
- cursor: continuationToken,
124
- };
125
- };
126
- }
127
- exports.S3FileDriver = S3FileDriver;