@webiny/api-headless-cms-import-export 5.41.0-beta.0

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 (504) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/crud/index.d.ts +2 -0
  4. package/crud/index.js +125 -0
  5. package/crud/index.js.map +1 -0
  6. package/crud/useCases/abortExportContentEntries/AbortExportContentEntriesUseCase.d.ts +11 -0
  7. package/crud/useCases/abortExportContentEntries/AbortExportContentEntriesUseCase.js +21 -0
  8. package/crud/useCases/abortExportContentEntries/AbortExportContentEntriesUseCase.js.map +1 -0
  9. package/crud/useCases/abortExportContentEntries/abstractions/AbortExportContentEntriesUseCase.d.ts +7 -0
  10. package/crud/useCases/abortExportContentEntries/abstractions/AbortExportContentEntriesUseCase.js +7 -0
  11. package/crud/useCases/abortExportContentEntries/abstractions/AbortExportContentEntriesUseCase.js.map +1 -0
  12. package/crud/useCases/abortExportContentEntries/index.d.ts +2 -0
  13. package/crud/useCases/abortExportContentEntries/index.js +29 -0
  14. package/crud/useCases/abortExportContentEntries/index.js.map +1 -0
  15. package/crud/useCases/abortImportFromUrl/AbortImportFromUrlUseCase.d.ts +14 -0
  16. package/crud/useCases/abortImportFromUrl/AbortImportFromUrlUseCase.js +31 -0
  17. package/crud/useCases/abortImportFromUrl/AbortImportFromUrlUseCase.js.map +1 -0
  18. package/crud/useCases/abortImportFromUrl/abstractions/AbortImportFromUrlUseCase.d.ts +7 -0
  19. package/crud/useCases/abortImportFromUrl/abstractions/AbortImportFromUrlUseCase.js +7 -0
  20. package/crud/useCases/abortImportFromUrl/abstractions/AbortImportFromUrlUseCase.js.map +1 -0
  21. package/crud/useCases/abortImportFromUrl/index.d.ts +2 -0
  22. package/crud/useCases/abortImportFromUrl/index.js +29 -0
  23. package/crud/useCases/abortImportFromUrl/index.js.map +1 -0
  24. package/crud/useCases/exportContentEntries/ExportContentEntriesUseCase.d.ts +11 -0
  25. package/crud/useCases/exportContentEntries/ExportContentEntriesUseCase.js +30 -0
  26. package/crud/useCases/exportContentEntries/ExportContentEntriesUseCase.js.map +1 -0
  27. package/crud/useCases/exportContentEntries/abstractions/ExportContentEntriesUseCase.d.ts +12 -0
  28. package/crud/useCases/exportContentEntries/abstractions/ExportContentEntriesUseCase.js +7 -0
  29. package/crud/useCases/exportContentEntries/abstractions/ExportContentEntriesUseCase.js.map +1 -0
  30. package/crud/useCases/exportContentEntries/index.d.ts +2 -0
  31. package/crud/useCases/exportContentEntries/index.js +29 -0
  32. package/crud/useCases/exportContentEntries/index.js.map +1 -0
  33. package/crud/useCases/getExportContentEntries/GetExportContentEntriesUseCase.d.ts +13 -0
  34. package/crud/useCases/getExportContentEntries/GetExportContentEntriesUseCase.js +52 -0
  35. package/crud/useCases/getExportContentEntries/GetExportContentEntriesUseCase.js.map +1 -0
  36. package/crud/useCases/getExportContentEntries/abstractions/GetExportContentEntriesUseCase.d.ts +8 -0
  37. package/crud/useCases/getExportContentEntries/abstractions/GetExportContentEntriesUseCase.js +7 -0
  38. package/crud/useCases/getExportContentEntries/abstractions/GetExportContentEntriesUseCase.js.map +1 -0
  39. package/crud/useCases/getExportContentEntries/index.d.ts +2 -0
  40. package/crud/useCases/getExportContentEntries/index.js +29 -0
  41. package/crud/useCases/getExportContentEntries/index.js.map +1 -0
  42. package/crud/useCases/getImportFromUrl/GetImportFromUrlUseCase.d.ts +11 -0
  43. package/crud/useCases/getImportFromUrl/GetImportFromUrlUseCase.js +23 -0
  44. package/crud/useCases/getImportFromUrl/GetImportFromUrlUseCase.js.map +1 -0
  45. package/crud/useCases/getImportFromUrl/abstractions/GetImportFromUrlUseCase.d.ts +4 -0
  46. package/crud/useCases/getImportFromUrl/abstractions/GetImportFromUrlUseCase.js +7 -0
  47. package/crud/useCases/getImportFromUrl/abstractions/GetImportFromUrlUseCase.js.map +1 -0
  48. package/crud/useCases/getImportFromUrl/index.d.ts +2 -0
  49. package/crud/useCases/getImportFromUrl/index.js +29 -0
  50. package/crud/useCases/getImportFromUrl/index.js.map +1 -0
  51. package/crud/useCases/getValidateImportFromUrl/GetValidateImportFromUrlUseCase.d.ts +10 -0
  52. package/crud/useCases/getValidateImportFromUrl/GetValidateImportFromUrlUseCase.js +23 -0
  53. package/crud/useCases/getValidateImportFromUrl/GetValidateImportFromUrlUseCase.js.map +1 -0
  54. package/crud/useCases/getValidateImportFromUrl/abstractions/GetValidateImportFromUrlUseCase.d.ts +8 -0
  55. package/crud/useCases/getValidateImportFromUrl/abstractions/GetValidateImportFromUrlUseCase.js +7 -0
  56. package/crud/useCases/getValidateImportFromUrl/abstractions/GetValidateImportFromUrlUseCase.js.map +1 -0
  57. package/crud/useCases/getValidateImportFromUrl/index.d.ts +2 -0
  58. package/crud/useCases/getValidateImportFromUrl/index.js +29 -0
  59. package/crud/useCases/getValidateImportFromUrl/index.js.map +1 -0
  60. package/crud/useCases/importFromUrl/ImportFromUrlUseCase.d.ts +14 -0
  61. package/crud/useCases/importFromUrl/ImportFromUrlUseCase.js +84 -0
  62. package/crud/useCases/importFromUrl/ImportFromUrlUseCase.js.map +1 -0
  63. package/crud/useCases/importFromUrl/abstractions/ImportFromUrlUseCase.d.ts +18 -0
  64. package/crud/useCases/importFromUrl/abstractions/ImportFromUrlUseCase.js +7 -0
  65. package/crud/useCases/importFromUrl/abstractions/ImportFromUrlUseCase.js.map +1 -0
  66. package/crud/useCases/importFromUrl/index.d.ts +2 -0
  67. package/crud/useCases/importFromUrl/index.js +29 -0
  68. package/crud/useCases/importFromUrl/index.js.map +1 -0
  69. package/crud/useCases/index.d.ts +9 -0
  70. package/crud/useCases/index.js +106 -0
  71. package/crud/useCases/index.js.map +1 -0
  72. package/crud/useCases/listExportContentEntries/ListExportContentEntriesUseCase.d.ts +10 -0
  73. package/crud/useCases/listExportContentEntries/ListExportContentEntriesUseCase.js +29 -0
  74. package/crud/useCases/listExportContentEntries/ListExportContentEntriesUseCase.js.map +1 -0
  75. package/crud/useCases/listExportContentEntries/abstractions/ListExportContentEntriesUseCase.d.ts +6 -0
  76. package/crud/useCases/listExportContentEntries/abstractions/ListExportContentEntriesUseCase.js +7 -0
  77. package/crud/useCases/listExportContentEntries/abstractions/ListExportContentEntriesUseCase.js.map +1 -0
  78. package/crud/useCases/listExportContentEntries/index.d.ts +2 -0
  79. package/crud/useCases/listExportContentEntries/index.js +29 -0
  80. package/crud/useCases/listExportContentEntries/index.js.map +1 -0
  81. package/crud/useCases/validateImportFromUrl/ValidateImportFromUrlUseCase.d.ts +12 -0
  82. package/crud/useCases/validateImportFromUrl/ValidateImportFromUrlUseCase.js +80 -0
  83. package/crud/useCases/validateImportFromUrl/ValidateImportFromUrlUseCase.js.map +1 -0
  84. package/crud/useCases/validateImportFromUrl/abstractions/ValidateImportFromUrlUseCase.d.ts +13 -0
  85. package/crud/useCases/validateImportFromUrl/abstractions/ValidateImportFromUrlUseCase.js +7 -0
  86. package/crud/useCases/validateImportFromUrl/abstractions/ValidateImportFromUrlUseCase.js.map +1 -0
  87. package/crud/useCases/validateImportFromUrl/index.d.ts +2 -0
  88. package/crud/useCases/validateImportFromUrl/index.js +29 -0
  89. package/crud/useCases/validateImportFromUrl/index.js.map +1 -0
  90. package/crud/useCases/validateImportFromUrlIntegrity/ValidateImportFromUrlIntegrityUseCase.d.ts +10 -0
  91. package/crud/useCases/validateImportFromUrlIntegrity/ValidateImportFromUrlIntegrityUseCase.js +33 -0
  92. package/crud/useCases/validateImportFromUrlIntegrity/ValidateImportFromUrlIntegrityUseCase.js.map +1 -0
  93. package/crud/useCases/validateImportFromUrlIntegrity/abstractions/ValidateImportFromUrlIntegrityUseCase.d.ts +15 -0
  94. package/crud/useCases/validateImportFromUrlIntegrity/abstractions/ValidateImportFromUrlIntegrityUseCase.js +7 -0
  95. package/crud/useCases/validateImportFromUrlIntegrity/abstractions/ValidateImportFromUrlIntegrityUseCase.js.map +1 -0
  96. package/crud/useCases/validateImportFromUrlIntegrity/index.d.ts +2 -0
  97. package/crud/useCases/validateImportFromUrlIntegrity/index.js +29 -0
  98. package/crud/useCases/validateImportFromUrlIntegrity/index.js.map +1 -0
  99. package/crud/utils/convertTaskToExportRecord.d.ts +3 -0
  100. package/crud/utils/convertTaskToExportRecord.js +22 -0
  101. package/crud/utils/convertTaskToExportRecord.js.map +1 -0
  102. package/crud/utils/convertTaskToImportRecord.d.ts +4 -0
  103. package/crud/utils/convertTaskToImportRecord.js +20 -0
  104. package/crud/utils/convertTaskToImportRecord.js.map +1 -0
  105. package/crud/utils/convertTaskToValidateImportFromUrlRecord.d.ts +3 -0
  106. package/crud/utils/convertTaskToValidateImportFromUrlRecord.js +30 -0
  107. package/crud/utils/convertTaskToValidateImportFromUrlRecord.js.map +1 -0
  108. package/crud/utils/makeSureModelsAreIdentical.d.ts +8 -0
  109. package/crud/utils/makeSureModelsAreIdentical.js +70 -0
  110. package/crud/utils/makeSureModelsAreIdentical.js.map +1 -0
  111. package/crud/utils/parseImportUrlData.d.ts +8 -0
  112. package/crud/utils/parseImportUrlData.js +56 -0
  113. package/crud/utils/parseImportUrlData.js.map +1 -0
  114. package/domain/CmsImportExportRecord.d.ts +14 -0
  115. package/domain/CmsImportExportRecord.js +25 -0
  116. package/domain/CmsImportExportRecord.js.map +1 -0
  117. package/domain/CmsImportExportValidateRecord.d.ts +12 -0
  118. package/domain/CmsImportExportValidateRecord.js +21 -0
  119. package/domain/CmsImportExportValidateRecord.js.map +1 -0
  120. package/domain/abstractions/CmsImportExportRecord.d.ts +18 -0
  121. package/domain/abstractions/CmsImportExportRecord.js +7 -0
  122. package/domain/abstractions/CmsImportExportRecord.js.map +1 -0
  123. package/domain/abstractions/CmsImportExportValidateRecord.d.ts +9 -0
  124. package/domain/abstractions/CmsImportExportValidateRecord.js +7 -0
  125. package/domain/abstractions/CmsImportExportValidateRecord.js.map +1 -0
  126. package/domain/index.d.ts +4 -0
  127. package/domain/index.js +51 -0
  128. package/domain/index.js.map +1 -0
  129. package/graphql/index.d.ts +2 -0
  130. package/graphql/index.js +25 -0
  131. package/graphql/index.js.map +1 -0
  132. package/graphql/models.d.ts +3 -0
  133. package/graphql/models.js +21 -0
  134. package/graphql/models.js.map +1 -0
  135. package/graphql/resolvers.d.ts +17 -0
  136. package/graphql/resolvers.js +159 -0
  137. package/graphql/resolvers.js.map +1 -0
  138. package/graphql/security.d.ts +2 -0
  139. package/graphql/security.js +22 -0
  140. package/graphql/security.js.map +1 -0
  141. package/graphql/typeDefs.d.ts +3 -0
  142. package/graphql/typeDefs.js +169 -0
  143. package/graphql/typeDefs.js.map +1 -0
  144. package/index.d.ts +2 -0
  145. package/index.js +27 -0
  146. package/index.js.map +1 -0
  147. package/package.json +66 -0
  148. package/tasks/constants.d.ts +13 -0
  149. package/tasks/constants.js +21 -0
  150. package/tasks/constants.js.map +1 -0
  151. package/tasks/domain/ExportContentEntriesController.d.ts +8 -0
  152. package/tasks/domain/ExportContentEntriesController.js +249 -0
  153. package/tasks/domain/ExportContentEntriesController.js.map +1 -0
  154. package/tasks/domain/ImportFromUrlController.d.ts +6 -0
  155. package/tasks/domain/ImportFromUrlController.js +97 -0
  156. package/tasks/domain/ImportFromUrlController.js.map +1 -0
  157. package/tasks/domain/ImportFromUrlDownload.d.ts +6 -0
  158. package/tasks/domain/ImportFromUrlDownload.js +109 -0
  159. package/tasks/domain/ImportFromUrlDownload.js.map +1 -0
  160. package/tasks/domain/abstractions/ExportContentAssets.d.ts +27 -0
  161. package/tasks/domain/abstractions/ExportContentAssets.js +7 -0
  162. package/tasks/domain/abstractions/ExportContentAssets.js.map +1 -0
  163. package/tasks/domain/abstractions/ExportContentEntries.d.ts +29 -0
  164. package/tasks/domain/abstractions/ExportContentEntries.js +7 -0
  165. package/tasks/domain/abstractions/ExportContentEntries.js.map +1 -0
  166. package/tasks/domain/abstractions/ExportContentEntriesController.d.ts +34 -0
  167. package/tasks/domain/abstractions/ExportContentEntriesController.js +13 -0
  168. package/tasks/domain/abstractions/ExportContentEntriesController.js.map +1 -0
  169. package/tasks/domain/abstractions/ImportFromUrlController.d.ts +41 -0
  170. package/tasks/domain/abstractions/ImportFromUrlController.js +14 -0
  171. package/tasks/domain/abstractions/ImportFromUrlController.js.map +1 -0
  172. package/tasks/domain/abstractions/ImportFromUrlDownload.d.ts +15 -0
  173. package/tasks/domain/abstractions/ImportFromUrlDownload.js +7 -0
  174. package/tasks/domain/abstractions/ImportFromUrlDownload.js.map +1 -0
  175. package/tasks/domain/abstractions/ValidateImportFromUrl.d.ts +16 -0
  176. package/tasks/domain/abstractions/ValidateImportFromUrl.js +7 -0
  177. package/tasks/domain/abstractions/ValidateImportFromUrl.js.map +1 -0
  178. package/tasks/domain/createExportContentAssets.d.ts +2 -0
  179. package/tasks/domain/createExportContentAssets.js +55 -0
  180. package/tasks/domain/createExportContentAssets.js.map +1 -0
  181. package/tasks/domain/createExportContentEntries.d.ts +2 -0
  182. package/tasks/domain/createExportContentEntries.js +56 -0
  183. package/tasks/domain/createExportContentEntries.js.map +1 -0
  184. package/tasks/domain/createImportFromUrlProcessAssets.d.ts +3 -0
  185. package/tasks/domain/createImportFromUrlProcessAssets.js +42 -0
  186. package/tasks/domain/createImportFromUrlProcessAssets.js.map +1 -0
  187. package/tasks/domain/createImportFromUrlProcessEntries.d.ts +3 -0
  188. package/tasks/domain/createImportFromUrlProcessEntries.js +42 -0
  189. package/tasks/domain/createImportFromUrlProcessEntries.js.map +1 -0
  190. package/tasks/domain/createValidateImportFromUrl.d.ts +2 -0
  191. package/tasks/domain/createValidateImportFromUrl.js +30 -0
  192. package/tasks/domain/createValidateImportFromUrl.js.map +1 -0
  193. package/tasks/domain/downloadFileFromUrl/DownloadFileFromUrl.d.ts +26 -0
  194. package/tasks/domain/downloadFileFromUrl/DownloadFileFromUrl.js +79 -0
  195. package/tasks/domain/downloadFileFromUrl/DownloadFileFromUrl.js.map +1 -0
  196. package/tasks/domain/downloadFileFromUrl/abstractions/DownloadFileFromUrl.d.ts +19 -0
  197. package/tasks/domain/downloadFileFromUrl/abstractions/DownloadFileFromUrl.js +7 -0
  198. package/tasks/domain/downloadFileFromUrl/abstractions/DownloadFileFromUrl.js.map +1 -0
  199. package/tasks/domain/downloadFileFromUrl/index.d.ts +2 -0
  200. package/tasks/domain/downloadFileFromUrl/index.js +29 -0
  201. package/tasks/domain/downloadFileFromUrl/index.js.map +1 -0
  202. package/tasks/domain/exportContentAssets/ExportContentAssets.d.ts +25 -0
  203. package/tasks/domain/exportContentAssets/ExportContentAssets.js +164 -0
  204. package/tasks/domain/exportContentAssets/ExportContentAssets.js.map +1 -0
  205. package/tasks/domain/exportContentEntries/ExportContentEntries.d.ts +19 -0
  206. package/tasks/domain/exportContentEntries/ExportContentEntries.js +87 -0
  207. package/tasks/domain/exportContentEntries/ExportContentEntries.js.map +1 -0
  208. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep.d.ts +7 -0
  209. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep.js +123 -0
  210. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep.js.map +1 -0
  211. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep.d.ts +7 -0
  212. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep.js +123 -0
  213. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep.js.map +1 -0
  214. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep.d.ts +7 -0
  215. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep.js +123 -0
  216. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep.js.map +1 -0
  217. package/tasks/domain/importFromUrlControllerSteps/abstractions/ImportFromUrlControllerStep.d.ts +6 -0
  218. package/tasks/domain/importFromUrlControllerSteps/abstractions/ImportFromUrlControllerStep.js +7 -0
  219. package/tasks/domain/importFromUrlControllerSteps/abstractions/ImportFromUrlControllerStep.js.map +1 -0
  220. package/tasks/domain/importFromUrlControllerSteps/getChildTasks.d.ts +15 -0
  221. package/tasks/domain/importFromUrlControllerSteps/getChildTasks.js +92 -0
  222. package/tasks/domain/importFromUrlControllerSteps/getChildTasks.js.map +1 -0
  223. package/tasks/domain/importFromUrlProcessAssets/ImportFromUrlProcessAssets.d.ts +19 -0
  224. package/tasks/domain/importFromUrlProcessAssets/ImportFromUrlProcessAssets.js +265 -0
  225. package/tasks/domain/importFromUrlProcessAssets/ImportFromUrlProcessAssets.js.map +1 -0
  226. package/tasks/domain/importFromUrlProcessAssets/abstractions/ImportFromUrlProcessAssets.d.ts +20 -0
  227. package/tasks/domain/importFromUrlProcessAssets/abstractions/ImportFromUrlProcessAssets.js +7 -0
  228. package/tasks/domain/importFromUrlProcessAssets/abstractions/ImportFromUrlProcessAssets.js.map +1 -0
  229. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntries.d.ts +17 -0
  230. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntries.js +82 -0
  231. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntries.js.map +1 -0
  232. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesDecompress.d.ts +14 -0
  233. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesDecompress.js +79 -0
  234. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesDecompress.js.map +1 -0
  235. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesInsert.d.ts +22 -0
  236. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesInsert.js +163 -0
  237. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesInsert.js.map +1 -0
  238. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntries.d.ts +46 -0
  239. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntries.js +7 -0
  240. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntries.js.map +1 -0
  241. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesDecompress.d.ts +8 -0
  242. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesDecompress.js +7 -0
  243. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesDecompress.js.map +1 -0
  244. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesInsert.d.ts +8 -0
  245. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesInsert.js +7 -0
  246. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesInsert.js.map +1 -0
  247. package/tasks/domain/validateImportFromUrl/ValidateImportFromUrl.d.ts +17 -0
  248. package/tasks/domain/validateImportFromUrl/ValidateImportFromUrl.js +167 -0
  249. package/tasks/domain/validateImportFromUrl/ValidateImportFromUrl.js.map +1 -0
  250. package/tasks/exportContentAssets.d.ts +3 -0
  251. package/tasks/exportContentAssets.js +31 -0
  252. package/tasks/exportContentAssets.js.map +1 -0
  253. package/tasks/exportContentEntries.d.ts +3 -0
  254. package/tasks/exportContentEntries.js +31 -0
  255. package/tasks/exportContentEntries.js.map +1 -0
  256. package/tasks/exportContentEntriesController.d.ts +3 -0
  257. package/tasks/exportContentEntriesController.js +31 -0
  258. package/tasks/exportContentEntriesController.js.map +1 -0
  259. package/tasks/importFromUrlController.d.ts +3 -0
  260. package/tasks/importFromUrlController.js +40 -0
  261. package/tasks/importFromUrlController.js.map +1 -0
  262. package/tasks/importFromUrlDownload.d.ts +3 -0
  263. package/tasks/importFromUrlDownload.js +31 -0
  264. package/tasks/importFromUrlDownload.js.map +1 -0
  265. package/tasks/importFromUrlProcessAssets.d.ts +3 -0
  266. package/tasks/importFromUrlProcessAssets.js +31 -0
  267. package/tasks/importFromUrlProcessAssets.js.map +1 -0
  268. package/tasks/importFromUrlProcessEntries.d.ts +3 -0
  269. package/tasks/importFromUrlProcessEntries.js +31 -0
  270. package/tasks/importFromUrlProcessEntries.js.map +1 -0
  271. package/tasks/index.d.ts +8 -0
  272. package/tasks/index.js +95 -0
  273. package/tasks/index.js.map +1 -0
  274. package/tasks/utils/archiver/Archiver.d.ts +11 -0
  275. package/tasks/utils/archiver/Archiver.js +19 -0
  276. package/tasks/utils/archiver/Archiver.js.map +1 -0
  277. package/tasks/utils/archiver/abstractions/Archiver.d.ts +4 -0
  278. package/tasks/utils/archiver/abstractions/Archiver.js +7 -0
  279. package/tasks/utils/archiver/abstractions/Archiver.js.map +1 -0
  280. package/tasks/utils/archiver/index.d.ts +2 -0
  281. package/tasks/utils/archiver/index.js +29 -0
  282. package/tasks/utils/archiver/index.js.map +1 -0
  283. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipper.d.ts +21 -0
  284. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipper.js +245 -0
  285. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipper.js.map +1 -0
  286. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueResult.d.ts +8 -0
  287. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueResult.js +17 -0
  288. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueResult.js.map +1 -0
  289. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueWithoutResult.d.ts +6 -0
  290. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueWithoutResult.js +15 -0
  291. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueWithoutResult.js.map +1 -0
  292. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneResult.d.ts +6 -0
  293. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneResult.js +15 -0
  294. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneResult.js.map +1 -0
  295. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneWithoutResult.d.ts +3 -0
  296. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneWithoutResult.js +14 -0
  297. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneWithoutResult.js.map +1 -0
  298. package/tasks/utils/cmsAssetsZipper/PointerStore.d.ts +25 -0
  299. package/tasks/utils/cmsAssetsZipper/PointerStore.js +63 -0
  300. package/tasks/utils/cmsAssetsZipper/PointerStore.js.map +1 -0
  301. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipper.d.ts +15 -0
  302. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipper.js +7 -0
  303. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipper.js.map +1 -0
  304. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueResult.d.ts +6 -0
  305. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueResult.js +7 -0
  306. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueResult.js.map +1 -0
  307. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueWithoutResult.d.ts +4 -0
  308. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueWithoutResult.js +7 -0
  309. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueWithoutResult.js.map +1 -0
  310. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneResult.d.ts +4 -0
  311. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneResult.js +7 -0
  312. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneResult.js.map +1 -0
  313. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneWithoutResult.d.ts +2 -0
  314. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneWithoutResult.js +7 -0
  315. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneWithoutResult.js.map +1 -0
  316. package/tasks/utils/cmsAssetsZipper/index.d.ts +10 -0
  317. package/tasks/utils/cmsAssetsZipper/index.js +117 -0
  318. package/tasks/utils/cmsAssetsZipper/index.js.map +1 -0
  319. package/tasks/utils/cmsEntryFetcher/abstractions/CmsEntryFetcher.d.ts +8 -0
  320. package/tasks/utils/cmsEntryFetcher/abstractions/CmsEntryFetcher.js +7 -0
  321. package/tasks/utils/cmsEntryFetcher/abstractions/CmsEntryFetcher.js.map +1 -0
  322. package/tasks/utils/cmsEntryFetcher/createCmsEntryFetcher.d.ts +2 -0
  323. package/tasks/utils/cmsEntryFetcher/createCmsEntryFetcher.js +12 -0
  324. package/tasks/utils/cmsEntryFetcher/createCmsEntryFetcher.js.map +1 -0
  325. package/tasks/utils/cmsEntryFetcher/index.d.ts +2 -0
  326. package/tasks/utils/cmsEntryFetcher/index.js +29 -0
  327. package/tasks/utils/cmsEntryFetcher/index.js.map +1 -0
  328. package/tasks/utils/cmsEntryZipper/CmsEntryZipper.d.ts +19 -0
  329. package/tasks/utils/cmsEntryZipper/CmsEntryZipper.js +172 -0
  330. package/tasks/utils/cmsEntryZipper/CmsEntryZipper.js.map +1 -0
  331. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteContinueResult.d.ts +7 -0
  332. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteContinueResult.js +16 -0
  333. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteContinueResult.js.map +1 -0
  334. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteDoneResult.d.ts +6 -0
  335. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteDoneResult.js +15 -0
  336. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteDoneResult.js.map +1 -0
  337. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipper.d.ts +15 -0
  338. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipper.js +7 -0
  339. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipper.js.map +1 -0
  340. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteContinueResult.d.ts +5 -0
  341. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteContinueResult.js +7 -0
  342. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteContinueResult.js.map +1 -0
  343. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteDoneResult.d.ts +4 -0
  344. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteDoneResult.js +7 -0
  345. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteDoneResult.js.map +1 -0
  346. package/tasks/utils/cmsEntryZipper/index.d.ts +6 -0
  347. package/tasks/utils/cmsEntryZipper/index.js +73 -0
  348. package/tasks/utils/cmsEntryZipper/index.js.map +1 -0
  349. package/tasks/utils/decompressor/CompressedFileReader.d.ts +14 -0
  350. package/tasks/utils/decompressor/CompressedFileReader.js +29 -0
  351. package/tasks/utils/decompressor/CompressedFileReader.js.map +1 -0
  352. package/tasks/utils/decompressor/Decompressor.d.ts +18 -0
  353. package/tasks/utils/decompressor/Decompressor.js +95 -0
  354. package/tasks/utils/decompressor/Decompressor.js.map +1 -0
  355. package/tasks/utils/decompressor/abstractions/CompressedFileReader.d.ts +4 -0
  356. package/tasks/utils/decompressor/abstractions/CompressedFileReader.js +7 -0
  357. package/tasks/utils/decompressor/abstractions/CompressedFileReader.js.map +1 -0
  358. package/tasks/utils/decompressor/abstractions/Decompressor.d.ts +11 -0
  359. package/tasks/utils/decompressor/abstractions/Decompressor.js +7 -0
  360. package/tasks/utils/decompressor/abstractions/Decompressor.js.map +1 -0
  361. package/tasks/utils/decompressor/index.d.ts +4 -0
  362. package/tasks/utils/decompressor/index.js +51 -0
  363. package/tasks/utils/decompressor/index.js.map +1 -0
  364. package/tasks/utils/deleteFiles/DeleteFiles.d.ts +11 -0
  365. package/tasks/utils/deleteFiles/DeleteFiles.js +53 -0
  366. package/tasks/utils/deleteFiles/DeleteFiles.js.map +1 -0
  367. package/tasks/utils/deleteFiles/abstractions/DeleteFiles.d.ts +8 -0
  368. package/tasks/utils/deleteFiles/abstractions/DeleteFiles.js +7 -0
  369. package/tasks/utils/deleteFiles/abstractions/DeleteFiles.js.map +1 -0
  370. package/tasks/utils/entryAssets/EntryAssets.d.ts +15 -0
  371. package/tasks/utils/entryAssets/EntryAssets.js +69 -0
  372. package/tasks/utils/entryAssets/EntryAssets.js.map +1 -0
  373. package/tasks/utils/entryAssets/EntryAssetsResolver.d.ts +18 -0
  374. package/tasks/utils/entryAssets/EntryAssetsResolver.js +88 -0
  375. package/tasks/utils/entryAssets/EntryAssetsResolver.js.map +1 -0
  376. package/tasks/utils/entryAssets/abstractions/EntryAssets.d.ts +22 -0
  377. package/tasks/utils/entryAssets/abstractions/EntryAssets.js +7 -0
  378. package/tasks/utils/entryAssets/abstractions/EntryAssets.js.map +1 -0
  379. package/tasks/utils/entryAssets/abstractions/EntryAssetsResolver.d.ts +6 -0
  380. package/tasks/utils/entryAssets/abstractions/EntryAssetsResolver.js +7 -0
  381. package/tasks/utils/entryAssets/abstractions/EntryAssetsResolver.js.map +1 -0
  382. package/tasks/utils/entryAssets/index.d.ts +4 -0
  383. package/tasks/utils/entryAssets/index.js +51 -0
  384. package/tasks/utils/entryAssets/index.js.map +1 -0
  385. package/tasks/utils/externalFileFetcher/ExternalFileFetcher.d.ts +18 -0
  386. package/tasks/utils/externalFileFetcher/ExternalFileFetcher.js +120 -0
  387. package/tasks/utils/externalFileFetcher/ExternalFileFetcher.js.map +1 -0
  388. package/tasks/utils/externalFileFetcher/abstractions/ExternalFileFetcher.d.ts +40 -0
  389. package/tasks/utils/externalFileFetcher/abstractions/ExternalFileFetcher.js +7 -0
  390. package/tasks/utils/externalFileFetcher/abstractions/ExternalFileFetcher.js.map +1 -0
  391. package/tasks/utils/externalFileFetcher/index.d.ts +2 -0
  392. package/tasks/utils/externalFileFetcher/index.js +29 -0
  393. package/tasks/utils/externalFileFetcher/index.js.map +1 -0
  394. package/tasks/utils/fileFetcher/FileFetcher.d.ts +18 -0
  395. package/tasks/utils/fileFetcher/FileFetcher.js +120 -0
  396. package/tasks/utils/fileFetcher/FileFetcher.js.map +1 -0
  397. package/tasks/utils/fileFetcher/abstractions/FileFetcher.d.ts +41 -0
  398. package/tasks/utils/fileFetcher/abstractions/FileFetcher.js +7 -0
  399. package/tasks/utils/fileFetcher/abstractions/FileFetcher.js.map +1 -0
  400. package/tasks/utils/fileFetcher/index.d.ts +2 -0
  401. package/tasks/utils/fileFetcher/index.js +29 -0
  402. package/tasks/utils/fileFetcher/index.js.map +1 -0
  403. package/tasks/utils/helpers/cleanChecksum.d.ts +1 -0
  404. package/tasks/utils/helpers/cleanChecksum.js +12 -0
  405. package/tasks/utils/helpers/cleanChecksum.js.map +1 -0
  406. package/tasks/utils/helpers/exportPath.d.ts +2 -0
  407. package/tasks/utils/helpers/exportPath.js +17 -0
  408. package/tasks/utils/helpers/exportPath.js.map +1 -0
  409. package/tasks/utils/helpers/getBackOffSeconds.d.ts +7 -0
  410. package/tasks/utils/helpers/getBackOffSeconds.js +18 -0
  411. package/tasks/utils/helpers/getBackOffSeconds.js.map +1 -0
  412. package/tasks/utils/helpers/getBucket.d.ts +1 -0
  413. package/tasks/utils/helpers/getBucket.js +17 -0
  414. package/tasks/utils/helpers/getBucket.js.map +1 -0
  415. package/tasks/utils/helpers/getFilePath.d.ts +5 -0
  416. package/tasks/utils/helpers/getFilePath.js +23 -0
  417. package/tasks/utils/helpers/getFilePath.js.map +1 -0
  418. package/tasks/utils/helpers/getImportExportFileType.d.ts +14 -0
  419. package/tasks/utils/helpers/getImportExportFileType.js +41 -0
  420. package/tasks/utils/helpers/getImportExportFileType.js.map +1 -0
  421. package/tasks/utils/helpers/importPath.d.ts +2 -0
  422. package/tasks/utils/helpers/importPath.js +17 -0
  423. package/tasks/utils/helpers/importPath.js.map +1 -0
  424. package/tasks/utils/helpers/matchKeyOrAlias.d.ts +10 -0
  425. package/tasks/utils/helpers/matchKeyOrAlias.js +37 -0
  426. package/tasks/utils/helpers/matchKeyOrAlias.js.map +1 -0
  427. package/tasks/utils/helpers/s3Client.d.ts +3 -0
  428. package/tasks/utils/helpers/s3Client.js +40 -0
  429. package/tasks/utils/helpers/s3Client.js.map +1 -0
  430. package/tasks/utils/helpers/sizeSegments.d.ts +5 -0
  431. package/tasks/utils/helpers/sizeSegments.js +25 -0
  432. package/tasks/utils/helpers/sizeSegments.js.map +1 -0
  433. package/tasks/utils/types.d.ts +23 -0
  434. package/tasks/utils/types.js +7 -0
  435. package/tasks/utils/types.js.map +1 -0
  436. package/tasks/utils/uniqueResolver/UniqueResolver.d.ts +6 -0
  437. package/tasks/utils/uniqueResolver/UniqueResolver.js +23 -0
  438. package/tasks/utils/uniqueResolver/UniqueResolver.js.map +1 -0
  439. package/tasks/utils/uniqueResolver/abstractions/UniqueResolver.d.ts +4 -0
  440. package/tasks/utils/uniqueResolver/abstractions/UniqueResolver.js +7 -0
  441. package/tasks/utils/uniqueResolver/abstractions/UniqueResolver.js.map +1 -0
  442. package/tasks/utils/upload/MultipartUploadFactory.d.ts +23 -0
  443. package/tasks/utils/upload/MultipartUploadFactory.js +111 -0
  444. package/tasks/utils/upload/MultipartUploadFactory.js.map +1 -0
  445. package/tasks/utils/upload/Upload.d.ts +36 -0
  446. package/tasks/utils/upload/Upload.js +70 -0
  447. package/tasks/utils/upload/Upload.js.map +1 -0
  448. package/tasks/utils/upload/abstractions/MultipartUploadFactory.d.ts +7 -0
  449. package/tasks/utils/upload/abstractions/MultipartUploadFactory.js +7 -0
  450. package/tasks/utils/upload/abstractions/MultipartUploadFactory.js.map +1 -0
  451. package/tasks/utils/upload/abstractions/MultipartUploadHandler.d.ts +54 -0
  452. package/tasks/utils/upload/abstractions/MultipartUploadHandler.js +7 -0
  453. package/tasks/utils/upload/abstractions/MultipartUploadHandler.js.map +1 -0
  454. package/tasks/utils/upload/abstractions/Upload.d.ts +18 -0
  455. package/tasks/utils/upload/abstractions/Upload.js +7 -0
  456. package/tasks/utils/upload/abstractions/Upload.js.map +1 -0
  457. package/tasks/utils/upload/getContentType.d.ts +1 -0
  458. package/tasks/utils/upload/getContentType.js +28 -0
  459. package/tasks/utils/upload/getContentType.js.map +1 -0
  460. package/tasks/utils/upload/index.d.ts +6 -0
  461. package/tasks/utils/upload/index.js +73 -0
  462. package/tasks/utils/upload/index.js.map +1 -0
  463. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandler.d.ts +23 -0
  464. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandler.js +196 -0
  465. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandler.js.map +1 -0
  466. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAbortResult.d.ts +9 -0
  467. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAbortResult.js +20 -0
  468. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAbortResult.js.map +1 -0
  469. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAddResult.d.ts +15 -0
  470. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAddResult.js +26 -0
  471. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAddResult.js.map +1 -0
  472. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerCompleteResult.d.ts +9 -0
  473. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerCompleteResult.js +20 -0
  474. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerCompleteResult.js.map +1 -0
  475. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerPauseResult.d.ts +7 -0
  476. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerPauseResult.js +19 -0
  477. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerPauseResult.js.map +1 -0
  478. package/tasks/utils/upload/multipartUploadHandler/index.d.ts +5 -0
  479. package/tasks/utils/upload/multipartUploadHandler/index.js +62 -0
  480. package/tasks/utils/upload/multipartUploadHandler/index.js.map +1 -0
  481. package/tasks/utils/urlSigner/UrlSigner.d.ts +20 -0
  482. package/tasks/utils/urlSigner/UrlSigner.js +40 -0
  483. package/tasks/utils/urlSigner/UrlSigner.js.map +1 -0
  484. package/tasks/utils/urlSigner/abstractions/UrlSigner.d.ts +14 -0
  485. package/tasks/utils/urlSigner/abstractions/UrlSigner.js +7 -0
  486. package/tasks/utils/urlSigner/abstractions/UrlSigner.js.map +1 -0
  487. package/tasks/utils/urlSigner/index.d.ts +2 -0
  488. package/tasks/utils/urlSigner/index.js +29 -0
  489. package/tasks/utils/urlSigner/index.js.map +1 -0
  490. package/tasks/utils/zipper/Zipper.d.ts +27 -0
  491. package/tasks/utils/zipper/Zipper.js +38 -0
  492. package/tasks/utils/zipper/Zipper.js.map +1 -0
  493. package/tasks/utils/zipper/abstractions/Zipper.d.ts +25 -0
  494. package/tasks/utils/zipper/abstractions/Zipper.js +7 -0
  495. package/tasks/utils/zipper/abstractions/Zipper.js.map +1 -0
  496. package/tasks/utils/zipper/index.d.ts +2 -0
  497. package/tasks/utils/zipper/index.js +29 -0
  498. package/tasks/utils/zipper/index.js.map +1 -0
  499. package/tasks/validateImportFromUrl.d.ts +3 -0
  500. package/tasks/validateImportFromUrl.js +31 -0
  501. package/tasks/validateImportFromUrl.js.map +1 -0
  502. package/types.d.ts +119 -0
  503. package/types.js +28 -0
  504. package/types.js.map +1 -0
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUploadFactory = exports.Upload = void 0;
7
+ var _libStorage = require("@webiny/aws-sdk/lib-storage");
8
+ var _stream = require("stream");
9
+ var _getContentType = require("./getContentType");
10
+ const defaultFactory = options => {
11
+ return new _libStorage.Upload(options);
12
+ };
13
+ class Upload {
14
+ constructor(input) {
15
+ this.client = input.client;
16
+ const factory = input?.factory || defaultFactory;
17
+ const params = {
18
+ ACL: "private",
19
+ Body: input.stream,
20
+ Bucket: input.bucket,
21
+ ContentType: (0, _getContentType.getContentType)(input.filename),
22
+ Key: input.filename
23
+ };
24
+ this.upload = factory({
25
+ client: input.client,
26
+ params,
27
+ queueSize: input.queueSize || 1,
28
+ partSize: 1024 * 1024 * 5,
29
+ leavePartsOnError: false
30
+ });
31
+ this.stream = input.stream;
32
+ }
33
+ async abort() {
34
+ await this.upload.abort();
35
+ }
36
+ async done() {
37
+ try {
38
+ return await this.upload.done();
39
+ } catch (ex) {
40
+ await this.abort();
41
+ throw ex;
42
+ }
43
+ }
44
+ onProgress(listener) {
45
+ this.upload.on("httpUploadProgress", listener);
46
+ }
47
+ }
48
+ exports.Upload = Upload;
49
+ const createUploadFactory = params => {
50
+ return (filename, options) => {
51
+ const stream = options?.stream || new _stream.PassThrough({
52
+ autoDestroy: true
53
+ });
54
+ if (stream.listenerCount("error") === 0) {
55
+ stream.on("error", ex => {
56
+ console.log("Upload Stream Error", ex);
57
+ throw ex;
58
+ });
59
+ }
60
+ return new Upload({
61
+ client: options?.client || params.client,
62
+ bucket: options?.bucket || params.bucket,
63
+ stream,
64
+ filename
65
+ });
66
+ };
67
+ };
68
+ exports.createUploadFactory = createUploadFactory;
69
+
70
+ //# sourceMappingURL=Upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_libStorage","require","_stream","_getContentType","defaultFactory","options","BaseUpload","Upload","constructor","input","client","factory","params","ACL","Body","stream","Bucket","bucket","ContentType","getContentType","filename","Key","upload","queueSize","partSize","leavePartsOnError","abort","done","ex","onProgress","listener","on","exports","createUploadFactory","PassThrough","autoDestroy","listenerCount","console","log"],"sources":["Upload.ts"],"sourcesContent":["import type { Options as BaseUploadOptions } from \"@webiny/aws-sdk/lib-storage\";\nimport { Upload as BaseUpload } from \"@webiny/aws-sdk/lib-storage\";\nimport type { Transform } from \"stream\";\nimport { PassThrough } from \"stream\";\nimport type {\n CompleteMultipartUploadCommandOutput,\n PutObjectCommandInput,\n S3Client\n} from \"@webiny/aws-sdk/client-s3\";\nimport { IAwsUpload, IUpload, IUploadOnListener } from \"./abstractions/Upload\";\nimport { getContentType } from \"./getContentType\";\n\nexport interface IUploadConfig {\n client: S3Client;\n stream: PassThrough;\n bucket: string;\n filename: string;\n factory?(params: BaseUploadOptions): IAwsUpload;\n queueSize?: number;\n}\n\nconst defaultFactory = (options: BaseUploadOptions): IAwsUpload => {\n return new BaseUpload(options);\n};\n\nexport class Upload implements IUpload {\n public readonly stream: PassThrough;\n public readonly upload: IAwsUpload;\n public readonly client: S3Client;\n\n public constructor(input: IUploadConfig) {\n this.client = input.client;\n const factory = input?.factory || defaultFactory;\n\n const params: PutObjectCommandInput = {\n ACL: \"private\",\n Body: input.stream,\n Bucket: input.bucket,\n ContentType: getContentType(input.filename),\n Key: input.filename\n };\n\n this.upload = factory({\n client: input.client,\n params,\n queueSize: input.queueSize || 1,\n partSize: 1024 * 1024 * 5,\n leavePartsOnError: false\n });\n this.stream = input.stream;\n }\n\n public async abort(): Promise<void> {\n await this.upload.abort();\n }\n\n public async done(): Promise<CompleteMultipartUploadCommandOutput> {\n try {\n return await this.upload.done();\n } catch (ex) {\n await this.abort();\n throw ex;\n }\n }\n\n public onProgress(listener: IUploadOnListener): void {\n this.upload.on(\"httpUploadProgress\", listener);\n }\n}\n\nexport interface ICreateUploadFactoryParams {\n client: S3Client;\n bucket: string;\n}\n\nexport interface ICreateUploadCallable {\n (filename: string, options?: ICreateUploadFactoryOptions): IUpload;\n}\n\nexport interface ICreateUploadFactoryOptions {\n stream?: Transform;\n client?: S3Client;\n bucket?: string;\n}\n\nexport const createUploadFactory = (params: ICreateUploadFactoryParams): ICreateUploadCallable => {\n return (filename, options) => {\n const stream =\n options?.stream ||\n new PassThrough({\n autoDestroy: true\n });\n\n if (stream.listenerCount(\"error\") === 0) {\n stream.on(\"error\", ex => {\n console.log(\"Upload Stream Error\", ex);\n throw ex;\n });\n }\n\n return new Upload({\n client: options?.client || params.client,\n bucket: options?.bucket || params.bucket,\n stream,\n filename\n });\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAOA,IAAAE,eAAA,GAAAF,OAAA;AAWA,MAAMG,cAAc,GAAIC,OAA0B,IAAiB;EAC/D,OAAO,IAAIC,kBAAU,CAACD,OAAO,CAAC;AAClC,CAAC;AAEM,MAAME,MAAM,CAAoB;EAK5BC,WAAWA,CAACC,KAAoB,EAAE;IACrC,IAAI,CAACC,MAAM,GAAGD,KAAK,CAACC,MAAM;IAC1B,MAAMC,OAAO,GAAGF,KAAK,EAAEE,OAAO,IAAIP,cAAc;IAEhD,MAAMQ,MAA6B,GAAG;MAClCC,GAAG,EAAE,SAAS;MACdC,IAAI,EAAEL,KAAK,CAACM,MAAM;MAClBC,MAAM,EAAEP,KAAK,CAACQ,MAAM;MACpBC,WAAW,EAAE,IAAAC,8BAAc,EAACV,KAAK,CAACW,QAAQ,CAAC;MAC3CC,GAAG,EAAEZ,KAAK,CAACW;IACf,CAAC;IAED,IAAI,CAACE,MAAM,GAAGX,OAAO,CAAC;MAClBD,MAAM,EAAED,KAAK,CAACC,MAAM;MACpBE,MAAM;MACNW,SAAS,EAAEd,KAAK,CAACc,SAAS,IAAI,CAAC;MAC/BC,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC;MACzBC,iBAAiB,EAAE;IACvB,CAAC,CAAC;IACF,IAAI,CAACV,MAAM,GAAGN,KAAK,CAACM,MAAM;EAC9B;EAEA,MAAaW,KAAKA,CAAA,EAAkB;IAChC,MAAM,IAAI,CAACJ,MAAM,CAACI,KAAK,CAAC,CAAC;EAC7B;EAEA,MAAaC,IAAIA,CAAA,EAAkD;IAC/D,IAAI;MACA,OAAO,MAAM,IAAI,CAACL,MAAM,CAACK,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAI,CAACF,KAAK,CAAC,CAAC;MAClB,MAAME,EAAE;IACZ;EACJ;EAEOC,UAAUA,CAACC,QAA2B,EAAQ;IACjD,IAAI,CAACR,MAAM,CAACS,EAAE,CAAC,oBAAoB,EAAED,QAAQ,CAAC;EAClD;AACJ;AAACE,OAAA,CAAAzB,MAAA,GAAAA,MAAA;AAiBM,MAAM0B,mBAAmB,GAAIrB,MAAkC,IAA4B;EAC9F,OAAO,CAACQ,QAAQ,EAAEf,OAAO,KAAK;IAC1B,MAAMU,MAAM,GACRV,OAAO,EAAEU,MAAM,IACf,IAAImB,mBAAW,CAAC;MACZC,WAAW,EAAE;IACjB,CAAC,CAAC;IAEN,IAAIpB,MAAM,CAACqB,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;MACrCrB,MAAM,CAACgB,EAAE,CAAC,OAAO,EAAEH,EAAE,IAAI;QACrBS,OAAO,CAACC,GAAG,CAAC,qBAAqB,EAAEV,EAAE,CAAC;QACtC,MAAMA,EAAE;MACZ,CAAC,CAAC;IACN;IAEA,OAAO,IAAIrB,MAAM,CAAC;MACdG,MAAM,EAAEL,OAAO,EAAEK,MAAM,IAAIE,MAAM,CAACF,MAAM;MACxCO,MAAM,EAAEZ,OAAO,EAAEY,MAAM,IAAIL,MAAM,CAACK,MAAM;MACxCF,MAAM;MACNK;IACJ,CAAC,CAAC;EACN,CAAC;AACL,CAAC;AAACY,OAAA,CAAAC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { IMultipartUploadHandler } from "./MultipartUploadHandler";
2
+ export interface IMultipartUploadFactoryContinueParams {
3
+ uploadId?: string;
4
+ }
5
+ export interface IMultipartUploadFactory {
6
+ start(params?: IMultipartUploadFactoryContinueParams): Promise<IMultipartUploadHandler>;
7
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=MultipartUploadFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["MultipartUploadFactory.ts"],"sourcesContent":["import type { IMultipartUploadHandler } from \"./MultipartUploadHandler\";\n\nexport interface IMultipartUploadFactoryContinueParams {\n uploadId?: string;\n}\n\nexport interface IMultipartUploadFactory {\n start(params?: IMultipartUploadFactoryContinueParams): Promise<IMultipartUploadHandler>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import type { AbortMultipartUploadCommandOutput, CompleteMultipartUploadCommandOutput, S3Client } from "@webiny/aws-sdk/client-s3";
4
+ export type ITag = string;
5
+ export interface IPart {
6
+ tag: ITag;
7
+ partNumber: number;
8
+ }
9
+ export type IMultipartUploadHandlerParamsMinBufferSize = number | `${number}MB`;
10
+ export interface IMultipartUploadHandlerParams {
11
+ uploadId: string;
12
+ client: S3Client;
13
+ bucket: string;
14
+ filename: string;
15
+ parts: IPart[] | undefined;
16
+ minBufferSize?: IMultipartUploadHandlerParamsMinBufferSize;
17
+ }
18
+ export interface IMultipartUploadHandlerAddParams {
19
+ bufferLength: number;
20
+ body: Buffer;
21
+ }
22
+ export interface IMultipartUploadHandlerPauseResult {
23
+ uploadId: string;
24
+ parts: IPart[];
25
+ }
26
+ export interface IMultipartUploadHandlerAddResult {
27
+ parts: IPart[];
28
+ canBePaused(): boolean;
29
+ pause(): Promise<IMultipartUploadHandlerPauseResult>;
30
+ }
31
+ export interface IMultipartUploadHandlerCompleteResult {
32
+ result: CompleteMultipartUploadCommandOutput;
33
+ uploadId: string;
34
+ parts: IPart[];
35
+ }
36
+ export interface IMultipartUploadHandlerAbortResult {
37
+ result: AbortMultipartUploadCommandOutput;
38
+ uploadId: string;
39
+ parts: IPart[];
40
+ }
41
+ export interface IMultipartUploadHandlerGetBufferResult {
42
+ buffer: Buffer[];
43
+ bufferLength: number;
44
+ }
45
+ export interface IMultipartUploadHandler {
46
+ add(buffer: Buffer): Promise<IMultipartUploadHandlerAddResult>;
47
+ complete(): Promise<IMultipartUploadHandlerCompleteResult>;
48
+ abort(): Promise<IMultipartUploadHandlerAbortResult>;
49
+ getBuffer(): IMultipartUploadHandlerGetBufferResult;
50
+ getUploadId(): string;
51
+ }
52
+ export interface ICreateMultipartUploadHandler {
53
+ (params: IMultipartUploadHandlerParams): IMultipartUploadHandler;
54
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=MultipartUploadHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["MultipartUploadHandler.ts"],"sourcesContent":["import type {\n AbortMultipartUploadCommandOutput,\n CompleteMultipartUploadCommandOutput,\n S3Client\n} from \"@webiny/aws-sdk/client-s3\";\n\nexport type ITag = string;\n\nexport interface IPart {\n tag: ITag;\n partNumber: number;\n}\n\nexport type IMultipartUploadHandlerParamsMinBufferSize = number | `${number}MB`;\n\nexport interface IMultipartUploadHandlerParams {\n uploadId: string;\n client: S3Client;\n bucket: string;\n filename: string;\n parts: IPart[] | undefined;\n minBufferSize?: IMultipartUploadHandlerParamsMinBufferSize;\n}\n\nexport interface IMultipartUploadHandlerAddParams {\n bufferLength: number;\n body: Buffer;\n}\n\nexport interface IMultipartUploadHandlerPauseResult {\n uploadId: string;\n parts: IPart[];\n}\n\nexport interface IMultipartUploadHandlerAddResult {\n parts: IPart[];\n canBePaused(): boolean;\n pause(): Promise<IMultipartUploadHandlerPauseResult>;\n}\n\nexport interface IMultipartUploadHandlerCompleteResult {\n result: CompleteMultipartUploadCommandOutput;\n uploadId: string;\n parts: IPart[];\n}\n\nexport interface IMultipartUploadHandlerAbortResult {\n result: AbortMultipartUploadCommandOutput;\n uploadId: string;\n parts: IPart[];\n}\n\nexport interface IMultipartUploadHandlerGetBufferResult {\n buffer: Buffer[];\n bufferLength: number;\n}\n\nexport interface IMultipartUploadHandler {\n add(buffer: Buffer): Promise<IMultipartUploadHandlerAddResult>;\n complete(): Promise<IMultipartUploadHandlerCompleteResult>;\n abort(): Promise<IMultipartUploadHandlerAbortResult>;\n getBuffer(): IMultipartUploadHandlerGetBufferResult;\n getUploadId(): string;\n}\n\nexport interface ICreateMultipartUploadHandler {\n (params: IMultipartUploadHandlerParams): IMultipartUploadHandler;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ /// <reference types="node" />
2
+ import type { PassThrough } from "stream";
3
+ import type { CompleteMultipartUploadCommandOutput, S3Client } from "@webiny/aws-sdk/client-s3";
4
+ import type { Progress as BaseProgress, Upload as BaseUpload } from "@webiny/aws-sdk/lib-storage";
5
+ export type IAwsUpload = Pick<BaseUpload, "done" | "abort" | "on">;
6
+ export type IUploadDoneResult = CompleteMultipartUploadCommandOutput;
7
+ export type IUploadProgress = BaseProgress;
8
+ export interface IUploadOnListener {
9
+ (progress: IUploadProgress): void;
10
+ }
11
+ export interface IUpload {
12
+ client: S3Client;
13
+ stream: PassThrough;
14
+ upload: IAwsUpload;
15
+ done(): Promise<IUploadDoneResult>;
16
+ abort(): Promise<void>;
17
+ onProgress(listener: IUploadOnListener): void;
18
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=Upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["Upload.ts"],"sourcesContent":["import type { PassThrough } from \"stream\";\nimport type { CompleteMultipartUploadCommandOutput, S3Client } from \"@webiny/aws-sdk/client-s3\";\nimport type { Progress as BaseProgress, Upload as BaseUpload } from \"@webiny/aws-sdk/lib-storage\";\n\nexport type IAwsUpload = Pick<BaseUpload, \"done\" | \"abort\" | \"on\">;\n\nexport type IUploadDoneResult = CompleteMultipartUploadCommandOutput;\n\nexport type IUploadProgress = BaseProgress;\n\nexport interface IUploadOnListener {\n (progress: IUploadProgress): void;\n}\n\nexport interface IUpload {\n client: S3Client;\n stream: PassThrough;\n upload: IAwsUpload;\n\n done(): Promise<IUploadDoneResult>;\n abort(): Promise<void>;\n onProgress(listener: IUploadOnListener): void;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const getContentType: (filename: string) => string;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getContentType = void 0;
7
+ var _constants = require("../../constants");
8
+ const allowedContentTypes = {
9
+ "application/zip": ["zip", _constants.WEBINY_EXPORT_ENTRIES_EXTENSION, _constants.WEBINY_EXPORT_ASSETS_EXTENSION],
10
+ "application/json": ["json"],
11
+ "text/plain": ["txt"]
12
+ };
13
+ const getContentType = filename => {
14
+ const ext = filename.split(".").pop();
15
+ if (!ext) {
16
+ throw new Error(`Could not determine the file extension from the provided filename: ${filename}`);
17
+ }
18
+ for (const type in allowedContentTypes) {
19
+ const extensions = allowedContentTypes[type];
20
+ if (extensions.includes(ext)) {
21
+ return type;
22
+ }
23
+ }
24
+ throw new Error(`Could not determine the file content type from the provided extension: ${ext}.`);
25
+ };
26
+ exports.getContentType = getContentType;
27
+
28
+ //# sourceMappingURL=getContentType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","allowedContentTypes","WEBINY_EXPORT_ENTRIES_EXTENSION","WEBINY_EXPORT_ASSETS_EXTENSION","getContentType","filename","ext","split","pop","Error","type","extensions","includes","exports"],"sources":["getContentType.ts"],"sourcesContent":["import type { GenericRecord, NonEmptyArray } from \"@webiny/api/types\";\nimport { WEBINY_EXPORT_ASSETS_EXTENSION, WEBINY_EXPORT_ENTRIES_EXTENSION } from \"~/tasks/constants\";\n\nconst allowedContentTypes: GenericRecord<string, NonEmptyArray<string>> = {\n \"application/zip\": [\"zip\", WEBINY_EXPORT_ENTRIES_EXTENSION, WEBINY_EXPORT_ASSETS_EXTENSION],\n \"application/json\": [\"json\"],\n \"text/plain\": [\"txt\"]\n};\n\nexport const getContentType = (filename: string): string => {\n const ext = filename.split(\".\").pop();\n if (!ext) {\n throw new Error(\n `Could not determine the file extension from the provided filename: ${filename}`\n );\n }\n for (const type in allowedContentTypes) {\n const extensions = allowedContentTypes[type];\n if (extensions.includes(ext)) {\n return type;\n }\n }\n\n throw new Error(\n `Could not determine the file content type from the provided extension: ${ext}.`\n );\n};\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEA,MAAMC,mBAAiE,GAAG;EACtE,iBAAiB,EAAE,CAAC,KAAK,EAAEC,0CAA+B,EAAEC,yCAA8B,CAAC;EAC3F,kBAAkB,EAAE,CAAC,MAAM,CAAC;EAC5B,YAAY,EAAE,CAAC,KAAK;AACxB,CAAC;AAEM,MAAMC,cAAc,GAAIC,QAAgB,IAAa;EACxD,MAAMC,GAAG,GAAGD,QAAQ,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC;EACrC,IAAI,CAACF,GAAG,EAAE;IACN,MAAM,IAAIG,KAAK,CACV,sEAAqEJ,QAAS,EACnF,CAAC;EACL;EACA,KAAK,MAAMK,IAAI,IAAIT,mBAAmB,EAAE;IACpC,MAAMU,UAAU,GAAGV,mBAAmB,CAACS,IAAI,CAAC;IAC5C,IAAIC,UAAU,CAACC,QAAQ,CAACN,GAAG,CAAC,EAAE;MAC1B,OAAOI,IAAI;IACf;EACJ;EAEA,MAAM,IAAID,KAAK,CACV,0EAAyEH,GAAI,GAClF,CAAC;AACL,CAAC;AAACO,OAAA,CAAAT,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ export * from "./abstractions/Upload";
2
+ export * from "./abstractions/MultipartUploadHandler";
3
+ export * from "./abstractions/MultipartUploadFactory";
4
+ export * from "./Upload";
5
+ export * from "./multipartUploadHandler";
6
+ export * from "./MultipartUploadFactory";
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _Upload = require("./abstractions/Upload");
7
+ Object.keys(_Upload).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Upload[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _Upload[key];
14
+ }
15
+ });
16
+ });
17
+ var _MultipartUploadHandler = require("./abstractions/MultipartUploadHandler");
18
+ Object.keys(_MultipartUploadHandler).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _MultipartUploadHandler[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _MultipartUploadHandler[key];
25
+ }
26
+ });
27
+ });
28
+ var _MultipartUploadFactory = require("./abstractions/MultipartUploadFactory");
29
+ Object.keys(_MultipartUploadFactory).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _MultipartUploadFactory[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _MultipartUploadFactory[key];
36
+ }
37
+ });
38
+ });
39
+ var _Upload2 = require("./Upload");
40
+ Object.keys(_Upload2).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _Upload2[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _Upload2[key];
47
+ }
48
+ });
49
+ });
50
+ var _multipartUploadHandler = require("./multipartUploadHandler");
51
+ Object.keys(_multipartUploadHandler).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _multipartUploadHandler[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _multipartUploadHandler[key];
58
+ }
59
+ });
60
+ });
61
+ var _MultipartUploadFactory2 = require("./MultipartUploadFactory");
62
+ Object.keys(_MultipartUploadFactory2).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _MultipartUploadFactory2[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _MultipartUploadFactory2[key];
69
+ }
70
+ });
71
+ });
72
+
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Upload","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_MultipartUploadHandler","_MultipartUploadFactory","_Upload2","_multipartUploadHandler","_MultipartUploadFactory2"],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions/Upload\";\nexport * from \"./abstractions/MultipartUploadHandler\";\nexport * from \"./abstractions/MultipartUploadFactory\";\nexport * from \"./Upload\";\nexport * from \"./multipartUploadHandler\";\nexport * from \"./MultipartUploadFactory\";\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,uBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,uBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,uBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,uBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,uBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,uBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,uBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,uBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,QAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,QAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,QAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,QAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,uBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,uBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,uBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,uBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,wBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,wBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,wBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,wBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import type { ICreateMultipartUploadHandler, IMultipartUploadHandler, IMultipartUploadHandlerAbortResult, IMultipartUploadHandlerAddResult, IMultipartUploadHandlerCompleteResult, IMultipartUploadHandlerGetBufferResult, IMultipartUploadHandlerParams } from "../abstractions/MultipartUploadHandler";
4
+ export declare class MultipartUploadHandler implements IMultipartUploadHandler {
5
+ private readonly uploadId;
6
+ private readonly client;
7
+ private readonly bucket;
8
+ private readonly filename;
9
+ private readonly minBufferSize;
10
+ private readonly parts;
11
+ private buffer;
12
+ private bufferLength;
13
+ constructor(params: IMultipartUploadHandlerParams);
14
+ getBuffer(): IMultipartUploadHandlerGetBufferResult;
15
+ add(buffer: Buffer): Promise<IMultipartUploadHandlerAddResult>;
16
+ complete(): Promise<IMultipartUploadHandlerCompleteResult>;
17
+ abort(): Promise<IMultipartUploadHandlerAbortResult>;
18
+ private pause;
19
+ private write;
20
+ getUploadId(): string;
21
+ getNextPartNumber(): number;
22
+ }
23
+ export declare const createMultipartUpload: ICreateMultipartUploadHandler;
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createMultipartUpload = exports.MultipartUploadHandler = void 0;
8
+ var _clientS = require("@webiny/aws-sdk/client-s3");
9
+ var _error = require("@webiny/error");
10
+ var _bytes = _interopRequireDefault(require("bytes"));
11
+ var _MultipartUploadHandlerPauseResult = require("./MultipartUploadHandlerPauseResult");
12
+ var _MultipartUploadHandlerAbortResult = require("./MultipartUploadHandlerAbortResult");
13
+ var _MultipartUploadHandlerCompleteResult = require("./MultipartUploadHandlerCompleteResult");
14
+ var _MultipartUploadHandlerAddResult = require("./MultipartUploadHandlerAddResult");
15
+ /**
16
+ * Minimum we can send into the S3 is 5MB.
17
+ * We can modify to have this value bigger if required.
18
+ */
19
+ const MIN_BUFFER_SIZE = _bytes.default.parse("5MB");
20
+ const getMinBufferSize = minBufferSize => {
21
+ if (!minBufferSize) {
22
+ return MIN_BUFFER_SIZE;
23
+ }
24
+ const size = typeof minBufferSize === "number" ? minBufferSize : _bytes.default.parse(minBufferSize);
25
+ if (size >= MIN_BUFFER_SIZE) {
26
+ return size;
27
+ }
28
+ return MIN_BUFFER_SIZE;
29
+ };
30
+ class MultipartUploadHandler {
31
+ buffer = [];
32
+ bufferLength = 0;
33
+ constructor(params) {
34
+ if (!params.uploadId?.length) {
35
+ throw new _error.WebinyError({
36
+ message: `Missing "uploadId" in the multipart upload handler.`,
37
+ code: "MULTIPART_UPLOAD_ERROR"
38
+ });
39
+ } else if (!params.filename?.length) {
40
+ throw new _error.WebinyError({
41
+ message: `Missing "filename" in the multipart upload handler.`,
42
+ code: "MULTIPART_UPLOAD_ERROR"
43
+ });
44
+ }
45
+ this.uploadId = params.uploadId;
46
+ this.client = params.client;
47
+ this.bucket = params.bucket;
48
+ this.filename = params.filename;
49
+ this.parts = params.parts || [];
50
+ this.minBufferSize = getMinBufferSize(params.minBufferSize);
51
+ }
52
+ getBuffer() {
53
+ return {
54
+ buffer: this.buffer,
55
+ bufferLength: this.bufferLength
56
+ };
57
+ }
58
+ async add(buffer) {
59
+ this.buffer.push(buffer);
60
+ this.bufferLength = this.bufferLength + buffer.length;
61
+ if (this.bufferLength < this.minBufferSize) {
62
+ return (0, _MultipartUploadHandlerAddResult.createMultipartUploadHandlerAddResult)({
63
+ parts: this.parts,
64
+ written: false,
65
+ pause: () => {
66
+ return this.pause();
67
+ }
68
+ });
69
+ }
70
+ const bufferLength = this.bufferLength;
71
+ const body = Buffer.concat(this.buffer, bufferLength);
72
+ this.buffer = [];
73
+ this.bufferLength = 0;
74
+ await this.write({
75
+ body,
76
+ bufferLength
77
+ });
78
+ return (0, _MultipartUploadHandlerAddResult.createMultipartUploadHandlerAddResult)({
79
+ parts: this.parts,
80
+ written: true,
81
+ pause: () => {
82
+ return this.pause();
83
+ }
84
+ });
85
+ }
86
+ async complete() {
87
+ const bufferLength = this.bufferLength;
88
+ const body = Buffer.concat(this.buffer, bufferLength);
89
+ this.buffer = [];
90
+ this.bufferLength = 0;
91
+ await this.write({
92
+ body,
93
+ bufferLength
94
+ });
95
+ if (this.parts.length === 0) {
96
+ throw new _error.WebinyError({
97
+ message: `Failed to complete the upload, no parts were uploaded.`,
98
+ code: "S3_ERROR"
99
+ });
100
+ }
101
+ const cmd = new _clientS.CompleteMultipartUploadCommand({
102
+ UploadId: this.uploadId,
103
+ Bucket: this.bucket,
104
+ Key: this.filename,
105
+ MultipartUpload: {
106
+ Parts: this.parts.map(part => {
107
+ return {
108
+ ETag: part.tag,
109
+ PartNumber: part.partNumber
110
+ };
111
+ })
112
+ }
113
+ });
114
+ const result = await this.client.send(cmd);
115
+ return (0, _MultipartUploadHandlerCompleteResult.createMultipartUploadHandlerCompleteResult)({
116
+ result,
117
+ uploadId: this.uploadId,
118
+ parts: this.parts
119
+ });
120
+ }
121
+ async abort() {
122
+ const cmd = new _clientS.AbortMultipartUploadCommand({
123
+ UploadId: this.uploadId,
124
+ Bucket: this.bucket,
125
+ Key: this.filename
126
+ });
127
+ const result = await this.client.send(cmd);
128
+ return (0, _MultipartUploadHandlerAbortResult.createMultipartUploadHandlerAbortResult)({
129
+ result,
130
+ uploadId: this.uploadId,
131
+ parts: this.parts
132
+ });
133
+ }
134
+ async pause() {
135
+ if (this.bufferLength > 0) {
136
+ throw new _error.WebinyError({
137
+ message: `Failed to pause the upload, buffer was not empty.`,
138
+ code: "S3_ERROR"
139
+ });
140
+ } else if (this.parts.length === 0) {
141
+ throw new _error.WebinyError({
142
+ message: `Failed to pause the upload, no parts were uploaded.`,
143
+ code: "S3_ERROR"
144
+ });
145
+ }
146
+ return (0, _MultipartUploadHandlerPauseResult.createMultipartUploadHandlerPauseResult)({
147
+ uploadId: this.uploadId,
148
+ parts: this.parts
149
+ });
150
+ }
151
+ async write(params) {
152
+ if (params.bufferLength <= 0) {
153
+ return false;
154
+ }
155
+ const nextPart = this.getNextPartNumber();
156
+ const cmd = new _clientS.UploadPartCommand({
157
+ Bucket: this.bucket,
158
+ Key: this.filename,
159
+ UploadId: this.uploadId,
160
+ Body: params.body,
161
+ PartNumber: nextPart
162
+ });
163
+ const result = await this.client.send(cmd);
164
+ if (!result.ETag) {
165
+ throw new _error.WebinyError({
166
+ message: `Failed to upload part: ${nextPart}`,
167
+ code: "S3_ERROR"
168
+ });
169
+ }
170
+ this.parts.push({
171
+ partNumber: nextPart,
172
+ tag: result.ETag.replaceAll('"', "")
173
+ });
174
+ return true;
175
+ }
176
+ getUploadId() {
177
+ return this.uploadId;
178
+ }
179
+ getNextPartNumber() {
180
+ if (this.parts.length === 0) {
181
+ return 1;
182
+ }
183
+ const part = this.parts.at(-1);
184
+ if (!part) {
185
+ return 1;
186
+ }
187
+ return part.partNumber + 1;
188
+ }
189
+ }
190
+ exports.MultipartUploadHandler = MultipartUploadHandler;
191
+ const createMultipartUpload = params => {
192
+ return new MultipartUploadHandler(params);
193
+ };
194
+ exports.createMultipartUpload = createMultipartUpload;
195
+
196
+ //# sourceMappingURL=MultipartUploadHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_clientS","require","_error","_bytes","_interopRequireDefault","_MultipartUploadHandlerPauseResult","_MultipartUploadHandlerAbortResult","_MultipartUploadHandlerCompleteResult","_MultipartUploadHandlerAddResult","MIN_BUFFER_SIZE","bytes","parse","getMinBufferSize","minBufferSize","size","MultipartUploadHandler","buffer","bufferLength","constructor","params","uploadId","length","WebinyError","message","code","filename","client","bucket","parts","getBuffer","add","push","createMultipartUploadHandlerAddResult","written","pause","body","Buffer","concat","write","complete","cmd","CompleteMultipartUploadCommand","UploadId","Bucket","Key","MultipartUpload","Parts","map","part","ETag","tag","PartNumber","partNumber","result","send","createMultipartUploadHandlerCompleteResult","abort","AbortMultipartUploadCommand","createMultipartUploadHandlerAbortResult","createMultipartUploadHandlerPauseResult","nextPart","getNextPartNumber","UploadPartCommand","Body","replaceAll","getUploadId","at","exports","createMultipartUpload"],"sources":["MultipartUploadHandler.ts"],"sourcesContent":["import type { S3Client } from \"@webiny/aws-sdk/client-s3\";\nimport {\n AbortMultipartUploadCommand,\n CompleteMultipartUploadCommand,\n UploadPartCommand\n} from \"@webiny/aws-sdk/client-s3\";\nimport { WebinyError } from \"@webiny/error\";\nimport bytes from \"bytes\";\nimport type {\n ICreateMultipartUploadHandler,\n IMultipartUploadHandler,\n IMultipartUploadHandlerAbortResult,\n IMultipartUploadHandlerAddParams,\n IMultipartUploadHandlerAddResult,\n IMultipartUploadHandlerCompleteResult,\n IMultipartUploadHandlerGetBufferResult,\n IMultipartUploadHandlerParams,\n IMultipartUploadHandlerParamsMinBufferSize,\n IMultipartUploadHandlerPauseResult,\n IPart\n} from \"../abstractions/MultipartUploadHandler\";\nimport { createMultipartUploadHandlerPauseResult } from \"./MultipartUploadHandlerPauseResult\";\nimport { createMultipartUploadHandlerAbortResult } from \"./MultipartUploadHandlerAbortResult\";\nimport { createMultipartUploadHandlerCompleteResult } from \"./MultipartUploadHandlerCompleteResult\";\nimport { createMultipartUploadHandlerAddResult } from \"./MultipartUploadHandlerAddResult\";\n\n/**\n * Minimum we can send into the S3 is 5MB.\n * We can modify to have this value bigger if required.\n */\nconst MIN_BUFFER_SIZE = bytes.parse(\"5MB\");\n\nconst getMinBufferSize = (minBufferSize?: IMultipartUploadHandlerParamsMinBufferSize): number => {\n if (!minBufferSize) {\n return MIN_BUFFER_SIZE;\n }\n const size = typeof minBufferSize === \"number\" ? minBufferSize : bytes.parse(minBufferSize);\n if (size >= MIN_BUFFER_SIZE) {\n return size;\n }\n return MIN_BUFFER_SIZE;\n};\n\nexport class MultipartUploadHandler implements IMultipartUploadHandler {\n private readonly uploadId: string;\n private readonly client: S3Client;\n private readonly bucket: string;\n private readonly filename: string;\n private readonly minBufferSize: IMultipartUploadHandlerParamsMinBufferSize;\n private readonly parts: IPart[];\n\n private buffer: Buffer[] = [];\n private bufferLength = 0;\n\n public constructor(params: IMultipartUploadHandlerParams) {\n if (!params.uploadId?.length) {\n throw new WebinyError({\n message: `Missing \"uploadId\" in the multipart upload handler.`,\n code: \"MULTIPART_UPLOAD_ERROR\"\n });\n } else if (!params.filename?.length) {\n throw new WebinyError({\n message: `Missing \"filename\" in the multipart upload handler.`,\n code: \"MULTIPART_UPLOAD_ERROR\"\n });\n }\n this.uploadId = params.uploadId;\n this.client = params.client;\n this.bucket = params.bucket;\n this.filename = params.filename;\n this.parts = params.parts || [];\n this.minBufferSize = getMinBufferSize(params.minBufferSize);\n }\n\n public getBuffer(): IMultipartUploadHandlerGetBufferResult {\n return {\n buffer: this.buffer,\n bufferLength: this.bufferLength\n };\n }\n\n public async add(buffer: Buffer): Promise<IMultipartUploadHandlerAddResult> {\n this.buffer.push(buffer);\n this.bufferLength = this.bufferLength + buffer.length;\n if (this.bufferLength < this.minBufferSize) {\n return createMultipartUploadHandlerAddResult({\n parts: this.parts,\n written: false,\n pause: () => {\n return this.pause();\n }\n });\n }\n const bufferLength = this.bufferLength;\n\n const body = Buffer.concat(this.buffer, bufferLength);\n this.buffer = [];\n this.bufferLength = 0;\n await this.write({\n body,\n bufferLength\n });\n\n return createMultipartUploadHandlerAddResult({\n parts: this.parts,\n written: true,\n pause: () => {\n return this.pause();\n }\n });\n }\n\n public async complete(): Promise<IMultipartUploadHandlerCompleteResult> {\n const bufferLength = this.bufferLength;\n const body = Buffer.concat(this.buffer, bufferLength);\n this.buffer = [];\n this.bufferLength = 0;\n\n await this.write({\n body,\n bufferLength\n });\n\n if (this.parts.length === 0) {\n throw new WebinyError({\n message: `Failed to complete the upload, no parts were uploaded.`,\n code: \"S3_ERROR\"\n });\n }\n\n const cmd = new CompleteMultipartUploadCommand({\n UploadId: this.uploadId,\n Bucket: this.bucket,\n Key: this.filename,\n MultipartUpload: {\n Parts: this.parts.map(part => {\n return {\n ETag: part.tag,\n PartNumber: part.partNumber\n };\n })\n }\n });\n const result = await this.client.send(cmd);\n\n return createMultipartUploadHandlerCompleteResult({\n result,\n uploadId: this.uploadId,\n parts: this.parts\n });\n }\n\n public async abort(): Promise<IMultipartUploadHandlerAbortResult> {\n const cmd = new AbortMultipartUploadCommand({\n UploadId: this.uploadId,\n Bucket: this.bucket,\n Key: this.filename\n });\n const result = await this.client.send(cmd);\n return createMultipartUploadHandlerAbortResult({\n result,\n uploadId: this.uploadId,\n parts: this.parts\n });\n }\n\n private async pause(): Promise<IMultipartUploadHandlerPauseResult> {\n if (this.bufferLength > 0) {\n throw new WebinyError({\n message: `Failed to pause the upload, buffer was not empty.`,\n code: \"S3_ERROR\"\n });\n } else if (this.parts.length === 0) {\n throw new WebinyError({\n message: `Failed to pause the upload, no parts were uploaded.`,\n code: \"S3_ERROR\"\n });\n }\n\n return createMultipartUploadHandlerPauseResult({\n uploadId: this.uploadId,\n parts: this.parts\n });\n }\n\n private async write(params: IMultipartUploadHandlerAddParams): Promise<boolean> {\n if (params.bufferLength <= 0) {\n return false;\n }\n\n const nextPart = this.getNextPartNumber();\n const cmd = new UploadPartCommand({\n Bucket: this.bucket,\n Key: this.filename,\n UploadId: this.uploadId,\n Body: params.body,\n PartNumber: nextPart\n });\n const result = await this.client.send(cmd);\n if (!result.ETag) {\n throw new WebinyError({\n message: `Failed to upload part: ${nextPart}`,\n code: \"S3_ERROR\"\n });\n }\n this.parts.push({\n partNumber: nextPart,\n tag: result.ETag.replaceAll('\"', \"\")\n });\n return true;\n }\n\n public getUploadId(): string {\n return this.uploadId;\n }\n\n public getNextPartNumber(): number {\n if (this.parts.length === 0) {\n return 1;\n }\n const part = this.parts.at(-1);\n if (!part) {\n return 1;\n }\n return part.partNumber + 1;\n }\n}\n\nexport const createMultipartUpload: ICreateMultipartUploadHandler = params => {\n return new MultipartUploadHandler(params);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { AbortMultipartUploadCommandOutput } from "@webiny/aws-sdk/client-s3";
2
+ import type { IMultipartUploadHandlerAbortResult, IPart } from "../abstractions/MultipartUploadHandler";
3
+ export declare class MultipartUploadHandlerAbortResult implements IMultipartUploadHandlerAbortResult {
4
+ readonly result: AbortMultipartUploadCommandOutput;
5
+ readonly uploadId: string;
6
+ readonly parts: IPart[];
7
+ constructor(params: IMultipartUploadHandlerAbortResult);
8
+ }
9
+ export declare const createMultipartUploadHandlerAbortResult: (params: IMultipartUploadHandlerAbortResult) => IMultipartUploadHandlerAbortResult;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createMultipartUploadHandlerAbortResult = exports.MultipartUploadHandlerAbortResult = void 0;
7
+ class MultipartUploadHandlerAbortResult {
8
+ constructor(params) {
9
+ this.result = params.result;
10
+ this.uploadId = params.uploadId;
11
+ this.parts = params.parts;
12
+ }
13
+ }
14
+ exports.MultipartUploadHandlerAbortResult = MultipartUploadHandlerAbortResult;
15
+ const createMultipartUploadHandlerAbortResult = params => {
16
+ return new MultipartUploadHandlerAbortResult(params);
17
+ };
18
+ exports.createMultipartUploadHandlerAbortResult = createMultipartUploadHandlerAbortResult;
19
+
20
+ //# sourceMappingURL=MultipartUploadHandlerAbortResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MultipartUploadHandlerAbortResult","constructor","params","result","uploadId","parts","exports","createMultipartUploadHandlerAbortResult"],"sources":["MultipartUploadHandlerAbortResult.ts"],"sourcesContent":["import type { AbortMultipartUploadCommandOutput } from \"@webiny/aws-sdk/client-s3\";\nimport type {\n IMultipartUploadHandlerAbortResult,\n IPart\n} from \"../abstractions/MultipartUploadHandler\";\n\nexport class MultipartUploadHandlerAbortResult implements IMultipartUploadHandlerAbortResult {\n public readonly result: AbortMultipartUploadCommandOutput;\n public readonly uploadId: string;\n public readonly parts: IPart[];\n\n public constructor(params: IMultipartUploadHandlerAbortResult) {\n this.result = params.result;\n this.uploadId = params.uploadId;\n this.parts = params.parts;\n }\n}\n\nexport const createMultipartUploadHandlerAbortResult = (\n params: IMultipartUploadHandlerAbortResult\n): IMultipartUploadHandlerAbortResult => {\n return new MultipartUploadHandlerAbortResult(params);\n};\n"],"mappings":";;;;;;AAMO,MAAMA,iCAAiC,CAA+C;EAKlFC,WAAWA,CAACC,MAA0C,EAAE;IAC3D,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,KAAK,GAAGH,MAAM,CAACG,KAAK;EAC7B;AACJ;AAACC,OAAA,CAAAN,iCAAA,GAAAA,iCAAA;AAEM,MAAMO,uCAAuC,GAChDL,MAA0C,IACL;EACrC,OAAO,IAAIF,iCAAiC,CAACE,MAAM,CAAC;AACxD,CAAC;AAACI,OAAA,CAAAC,uCAAA,GAAAA,uCAAA","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { IMultipartUploadHandlerAddResult, IMultipartUploadHandlerPauseResult, IPart } from "../abstractions/MultipartUploadHandler";
2
+ export interface IMultipartUploadHandlerAddResultParams {
3
+ written: boolean;
4
+ parts: IPart[];
5
+ pause: () => Promise<IMultipartUploadHandlerPauseResult>;
6
+ }
7
+ export declare class MultipartUploadHandlerAddResult implements IMultipartUploadHandlerAddResult {
8
+ readonly parts: IPart[];
9
+ private readonly written;
10
+ private readonly _pause;
11
+ constructor(params: IMultipartUploadHandlerAddResultParams);
12
+ canBePaused(): boolean;
13
+ pause(): Promise<IMultipartUploadHandlerPauseResult>;
14
+ }
15
+ export declare const createMultipartUploadHandlerAddResult: (params: IMultipartUploadHandlerAddResultParams) => IMultipartUploadHandlerAddResult;