@webiny/api-sync-system 0.0.0-unstable.06b2ede40f → 0.0.0-unstable.0d717d18dd

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 (349) hide show
  1. package/README.md +6 -108
  2. package/constants.js +2 -7
  3. package/constants.js.map +1 -1
  4. package/index.d.ts +11 -3
  5. package/index.js +8 -40
  6. package/package.json +31 -26
  7. package/resolver/SyncResolverConfig.d.ts +17 -0
  8. package/resolver/SyncResolverConfig.js +5 -0
  9. package/resolver/SyncResolverConfig.js.map +1 -0
  10. package/resolver/SyncResolverLambdaHandler.d.ts +14 -0
  11. package/resolver/SyncResolverLambdaHandler.js +159 -0
  12. package/resolver/SyncResolverLambdaHandler.js.map +1 -0
  13. package/resolver/app/RecordHandler.d.ts +6 -6
  14. package/resolver/app/RecordHandler.js +84 -114
  15. package/resolver/app/RecordHandler.js.map +1 -1
  16. package/resolver/app/RecordsValidation.js +13 -24
  17. package/resolver/app/RecordsValidation.js.map +1 -1
  18. package/resolver/app/ResolverApplication.d.ts +1 -1
  19. package/resolver/app/ResolverApplication.js +27 -42
  20. package/resolver/app/ResolverApplication.js.map +1 -1
  21. package/resolver/app/abstractions/RecordHandler.d.ts +1 -1
  22. package/resolver/app/abstractions/RecordHandler.js +0 -7
  23. package/resolver/app/abstractions/RecordsValidation.d.ts +2 -2
  24. package/resolver/app/abstractions/RecordsValidation.js +0 -7
  25. package/resolver/app/abstractions/ResolverApplication.js +0 -7
  26. package/resolver/app/abstractions/ResolverRecord.d.ts +1 -1
  27. package/resolver/app/abstractions/ResolverRecord.js +0 -7
  28. package/resolver/app/bundler/BaseBundle.d.ts +6 -6
  29. package/resolver/app/bundler/BaseBundle.js +16 -22
  30. package/resolver/app/bundler/BaseBundle.js.map +1 -1
  31. package/resolver/app/bundler/Bundler.d.ts +1 -1
  32. package/resolver/app/bundler/Bundler.js +12 -25
  33. package/resolver/app/bundler/Bundler.js.map +1 -1
  34. package/resolver/app/bundler/Bundles.d.ts +2 -2
  35. package/resolver/app/bundler/Bundles.js +20 -33
  36. package/resolver/app/bundler/Bundles.js.map +1 -1
  37. package/resolver/app/bundler/CommandBundle.d.ts +1 -1
  38. package/resolver/app/bundler/CommandBundle.js +8 -25
  39. package/resolver/app/bundler/CommandBundle.js.map +1 -1
  40. package/resolver/app/bundler/TableBundle.d.ts +1 -1
  41. package/resolver/app/bundler/TableBundle.js +7 -22
  42. package/resolver/app/bundler/TableBundle.js.map +1 -1
  43. package/resolver/app/bundler/types.d.ts +2 -2
  44. package/resolver/app/bundler/types.js +0 -7
  45. package/resolver/app/commandHandler/DeleteCommandHandler.d.ts +3 -3
  46. package/resolver/app/commandHandler/DeleteCommandHandler.js +21 -35
  47. package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -1
  48. package/resolver/app/commandHandler/PutCommandHandler.d.ts +4 -4
  49. package/resolver/app/commandHandler/PutCommandHandler.js +15 -28
  50. package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -1
  51. package/resolver/app/commandHandler/delete.d.ts +1 -1
  52. package/resolver/app/commandHandler/delete.js +13 -21
  53. package/resolver/app/commandHandler/delete.js.map +1 -1
  54. package/resolver/app/commandHandler/put.d.ts +1 -1
  55. package/resolver/app/commandHandler/put.js +13 -21
  56. package/resolver/app/commandHandler/put.js.map +1 -1
  57. package/resolver/app/data/SourceDataContainer.d.ts +3 -3
  58. package/resolver/app/data/SourceDataContainer.js +27 -36
  59. package/resolver/app/data/SourceDataContainer.js.map +1 -1
  60. package/resolver/app/data/types.d.ts +2 -2
  61. package/resolver/app/data/types.js +0 -7
  62. package/resolver/app/fetcher/Fetcher.d.ts +3 -3
  63. package/resolver/app/fetcher/Fetcher.js +87 -121
  64. package/resolver/app/fetcher/Fetcher.js.map +1 -1
  65. package/resolver/app/fetcher/types.d.ts +2 -2
  66. package/resolver/app/fetcher/types.js +0 -7
  67. package/resolver/app/ingestor/Ingestor.d.ts +1 -1
  68. package/resolver/app/ingestor/Ingestor.js +26 -39
  69. package/resolver/app/ingestor/Ingestor.js.map +1 -1
  70. package/resolver/app/ingestor/IngestorResult.js +27 -39
  71. package/resolver/app/ingestor/IngestorResult.js.map +1 -1
  72. package/resolver/app/ingestor/types.d.ts +2 -2
  73. package/resolver/app/ingestor/types.js +0 -7
  74. package/resolver/app/storer/Storer.d.ts +3 -3
  75. package/resolver/app/storer/Storer.js +73 -95
  76. package/resolver/app/storer/Storer.js.map +1 -1
  77. package/resolver/app/storer/types.d.ts +2 -2
  78. package/resolver/app/storer/types.js +0 -7
  79. package/resolver/app/transform/TransformHandler.d.ts +4 -4
  80. package/resolver/app/transform/TransformHandler.js +46 -64
  81. package/resolver/app/transform/TransformHandler.js.map +1 -1
  82. package/resolver/app/transform/middleware.d.ts +1 -1
  83. package/resolver/app/transform/middleware.js +12 -25
  84. package/resolver/app/transform/middleware.js.map +1 -1
  85. package/resolver/app/utils/Retry.js +21 -32
  86. package/resolver/app/utils/Retry.js.map +1 -1
  87. package/resolver/app/utils/sleep.js +4 -12
  88. package/resolver/app/utils/sleep.js.map +1 -1
  89. package/resolver/app/validation/body.d.ts +25 -124
  90. package/resolver/app/validation/body.js +31 -44
  91. package/resolver/app/validation/body.js.map +1 -1
  92. package/resolver/app/validation/createJsonTransform.d.ts +1 -1
  93. package/resolver/app/validation/createJsonTransform.js +13 -22
  94. package/resolver/app/validation/createJsonTransform.js.map +1 -1
  95. package/resolver/app/validation/detail.d.ts +19 -72
  96. package/resolver/app/validation/detail.js +33 -46
  97. package/resolver/app/validation/detail.js.map +1 -1
  98. package/resolver/app/validation/event.d.ts +29 -188
  99. package/resolver/app/validation/event.js +21 -30
  100. package/resolver/app/validation/event.js.map +1 -1
  101. package/resolver/app/validation/numericString.d.ts +1 -1
  102. package/resolver/app/validation/numericString.js +9 -20
  103. package/resolver/app/validation/numericString.js.map +1 -1
  104. package/resolver/app/validation/system.d.ts +2 -14
  105. package/resolver/app/validation/system.js +9 -18
  106. package/resolver/app/validation/system.js.map +1 -1
  107. package/resolver/deployment/Deployment.d.ts +2 -3
  108. package/resolver/deployment/Deployment.js +27 -44
  109. package/resolver/deployment/Deployment.js.map +1 -1
  110. package/resolver/deployment/Deployments.js +19 -30
  111. package/resolver/deployment/Deployments.js.map +1 -1
  112. package/resolver/deployment/DeploymentsFetcher.js +82 -102
  113. package/resolver/deployment/DeploymentsFetcher.js.map +1 -1
  114. package/resolver/deployment/types.d.ts +4 -6
  115. package/resolver/deployment/types.js +0 -7
  116. package/resolver/lambda/LambdaTrigger.js +25 -34
  117. package/resolver/lambda/LambdaTrigger.js.map +1 -1
  118. package/resolver/plugins/CommandHandlerPlugin.d.ts +3 -3
  119. package/resolver/plugins/CommandHandlerPlugin.js +17 -24
  120. package/resolver/plugins/CommandHandlerPlugin.js.map +1 -1
  121. package/resolver/plugins/StorerAfterEachPlugin.d.ts +2 -2
  122. package/resolver/plugins/StorerAfterEachPlugin.js +21 -29
  123. package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -1
  124. package/resolver/plugins/TransformRecordPlugin.d.ts +3 -3
  125. package/resolver/plugins/TransformRecordPlugin.js +20 -27
  126. package/resolver/plugins/TransformRecordPlugin.js.map +1 -1
  127. package/resolver/recordTypes/fileManager/CopyFile.js +44 -74
  128. package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -1
  129. package/resolver/recordTypes/fileManager/DeleteFile.d.ts +1 -1
  130. package/resolver/recordTypes/fileManager/DeleteFile.js +40 -65
  131. package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -1
  132. package/resolver/recordTypes/fileManager/fileManager.d.ts +1 -1
  133. package/resolver/recordTypes/fileManager/fileManager.js +7 -12
  134. package/resolver/recordTypes/fileManager/fileManager.js.map +1 -1
  135. package/resolver/recordTypes/fileManager/fileManagerOnDelete.d.ts +1 -1
  136. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +27 -45
  137. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -1
  138. package/resolver/recordTypes/fileManager/fileManagerOnPut.d.ts +1 -1
  139. package/resolver/recordTypes/fileManager/fileManagerOnPut.js +27 -45
  140. package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -1
  141. package/resolver/recordTypes/fileManager/shouldBeHandled.d.ts +1 -1
  142. package/resolver/recordTypes/fileManager/shouldBeHandled.js +10 -34
  143. package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -1
  144. package/resolver/recordTypes/fileManager/types.d.ts +2 -2
  145. package/resolver/recordTypes/fileManager/types.js +0 -7
  146. package/resolver/recordTypes/users/CopyUser.d.ts +2 -2
  147. package/resolver/recordTypes/users/CopyUser.js +44 -61
  148. package/resolver/recordTypes/users/CopyUser.js.map +1 -1
  149. package/resolver/recordTypes/users/DeleteUser.d.ts +2 -2
  150. package/resolver/recordTypes/users/DeleteUser.js +40 -58
  151. package/resolver/recordTypes/users/DeleteUser.js.map +1 -1
  152. package/resolver/recordTypes/users/shouldBeHandled.d.ts +1 -1
  153. package/resolver/recordTypes/users/shouldBeHandled.js +10 -33
  154. package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -1
  155. package/resolver/recordTypes/users/types.d.ts +1 -1
  156. package/resolver/recordTypes/users/types.js +0 -7
  157. package/resolver/recordTypes/users/users.js +7 -12
  158. package/resolver/recordTypes/users/users.js.map +1 -1
  159. package/resolver/recordTypes/users/usersOnDelete.d.ts +2 -2
  160. package/resolver/recordTypes/users/usersOnDelete.js +26 -44
  161. package/resolver/recordTypes/users/usersOnDelete.js.map +1 -1
  162. package/resolver/recordTypes/users/usersOnPut.d.ts +2 -2
  163. package/resolver/recordTypes/users/usersOnPut.js +27 -45
  164. package/resolver/recordTypes/users/usersOnPut.js.map +1 -1
  165. package/sync/ApiGatewaySyncDecorator.d.ts +14 -0
  166. package/sync/ApiGatewaySyncDecorator.js +49 -0
  167. package/sync/ApiGatewaySyncDecorator.js.map +1 -0
  168. package/sync/FilterOutRecord.d.ts +2 -2
  169. package/sync/FilterOutRecord.js +8 -24
  170. package/sync/FilterOutRecord.js.map +1 -1
  171. package/sync/SyncSystemConfig.d.ts +11 -0
  172. package/sync/SyncSystemConfig.js +5 -0
  173. package/sync/SyncSystemConfig.js.map +1 -0
  174. package/sync/attachToDynamoDbDocument.d.ts +1 -1
  175. package/sync/attachToDynamoDbDocument.js +48 -75
  176. package/sync/attachToDynamoDbDocument.js.map +1 -1
  177. package/sync/createHandler.js +44 -60
  178. package/sync/createHandler.js.map +1 -1
  179. package/sync/filter/createDefaultFilterOutRecordPlugins.d.ts +1 -1
  180. package/sync/filter/createDefaultFilterOutRecordPlugins.js +37 -86
  181. package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -1
  182. package/sync/handler/Handler.d.ts +2 -2
  183. package/sync/handler/Handler.js +66 -86
  184. package/sync/handler/Handler.js.map +1 -1
  185. package/sync/handler/HandlerConverter.js +20 -36
  186. package/sync/handler/HandlerConverter.js.map +1 -1
  187. package/sync/handler/converter/BatchGetCommandConverter.js +13 -20
  188. package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -1
  189. package/sync/handler/converter/BatchWriteCommandConverter.js +13 -20
  190. package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -1
  191. package/sync/handler/converter/DeleteCommandConverter.js +13 -20
  192. package/sync/handler/converter/DeleteCommandConverter.js.map +1 -1
  193. package/sync/handler/converter/GetCommandConverter.js +13 -20
  194. package/sync/handler/converter/GetCommandConverter.js.map +1 -1
  195. package/sync/handler/converter/PutCommandConverter.js +13 -20
  196. package/sync/handler/converter/PutCommandConverter.js.map +1 -1
  197. package/sync/handler/converter/QueryCommandConverter.js +13 -20
  198. package/sync/handler/converter/QueryCommandConverter.js.map +1 -1
  199. package/sync/handler/converter/ScanCommandConverter.js +13 -20
  200. package/sync/handler/converter/ScanCommandConverter.js.map +1 -1
  201. package/sync/handler/converter/UpdateCommandConverter.js +13 -20
  202. package/sync/handler/converter/UpdateCommandConverter.js.map +1 -1
  203. package/sync/handler/converter/commands/BatchWriteCommandValue.d.ts +2 -2
  204. package/sync/handler/converter/commands/BatchWriteCommandValue.js +34 -44
  205. package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -1
  206. package/sync/handler/converter/commands/DeleteCommandValue.d.ts +2 -2
  207. package/sync/handler/converter/commands/DeleteCommandValue.js +19 -23
  208. package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -1
  209. package/sync/handler/converter/commands/NullCommandValue.d.ts +1 -1
  210. package/sync/handler/converter/commands/NullCommandValue.js +7 -14
  211. package/sync/handler/converter/commands/NullCommandValue.js.map +1 -1
  212. package/sync/handler/converter/commands/PutCommandValue.d.ts +2 -2
  213. package/sync/handler/converter/commands/PutCommandValue.js +19 -23
  214. package/sync/handler/converter/commands/PutCommandValue.js.map +1 -1
  215. package/sync/handler/converter/commands/UpdateCommandValue.d.ts +2 -2
  216. package/sync/handler/converter/commands/UpdateCommandValue.js +19 -23
  217. package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -1
  218. package/sync/handler/types.d.ts +3 -3
  219. package/sync/handler/types.js +0 -7
  220. package/sync/plugins/FilterOutRecordPlugin.d.ts +1 -1
  221. package/sync/plugins/FilterOutRecordPlugin.js +18 -28
  222. package/sync/plugins/FilterOutRecordPlugin.js.map +1 -1
  223. package/sync/types.js +0 -7
  224. package/sync/utils/getTableType.js +11 -19
  225. package/sync/utils/getTableType.js.map +1 -1
  226. package/sync/utils/manifest.d.ts +3 -7
  227. package/sync/utils/manifest.js +30 -47
  228. package/sync/utils/manifest.js.map +1 -1
  229. package/sync/utils/validateSystemInput.d.ts +1 -1
  230. package/sync/utils/validateSystemInput.js +22 -37
  231. package/sync/utils/validateSystemInput.js.map +1 -1
  232. package/types.d.ts +1 -5
  233. package/types.js +6 -12
  234. package/types.js.map +1 -1
  235. package/utils/createSystemName.js +5 -10
  236. package/utils/createSystemName.js.map +1 -1
  237. package/worker/SyncWorkerConfig.d.ts +9 -0
  238. package/worker/SyncWorkerConfig.js +5 -0
  239. package/worker/SyncWorkerConfig.js.map +1 -0
  240. package/worker/SyncWorkerEventHandler.d.ts +14 -0
  241. package/worker/SyncWorkerEventHandler.js +5 -0
  242. package/worker/SyncWorkerEventHandler.js.map +1 -0
  243. package/worker/SyncWorkerEventType.d.ts +10 -0
  244. package/worker/SyncWorkerEventType.js +24 -0
  245. package/worker/SyncWorkerEventType.js.map +1 -0
  246. package/worker/SyncWorkerLambdaHandler.d.ts +13 -0
  247. package/worker/SyncWorkerLambdaHandler.js +61 -0
  248. package/worker/SyncWorkerLambdaHandler.js.map +1 -0
  249. package/worker/actions/copyFile/CopyFile.js +185 -268
  250. package/worker/actions/copyFile/CopyFile.js.map +1 -1
  251. package/worker/actions/copyFile/copyFileAction.d.ts +1 -1
  252. package/worker/actions/copyFile/copyFileAction.js +30 -45
  253. package/worker/actions/copyFile/copyFileAction.js.map +1 -1
  254. package/worker/actions/copyFile/copyFileSchema.d.ts +6 -38
  255. package/worker/actions/copyFile/copyFileSchema.js +14 -23
  256. package/worker/actions/copyFile/copyFileSchema.js.map +1 -1
  257. package/worker/actions/copyFile/types.js +0 -7
  258. package/worker/actions/createUser/CreateUser.d.ts +1 -1
  259. package/worker/actions/createUser/CreateUser.js +53 -83
  260. package/worker/actions/createUser/CreateUser.js.map +1 -1
  261. package/worker/actions/createUser/createUserAction.d.ts +2 -2
  262. package/worker/actions/createUser/createUserAction.js +28 -39
  263. package/worker/actions/createUser/createUserAction.js.map +1 -1
  264. package/worker/actions/createUser/createUserSchema.d.ts +6 -38
  265. package/worker/actions/createUser/createUserSchema.js +14 -23
  266. package/worker/actions/createUser/createUserSchema.js.map +1 -1
  267. package/worker/actions/createUser/types.js +0 -7
  268. package/worker/actions/deleteFile/DeleteFile.js +52 -74
  269. package/worker/actions/deleteFile/DeleteFile.js.map +1 -1
  270. package/worker/actions/deleteFile/deleteFileAction.d.ts +1 -1
  271. package/worker/actions/deleteFile/deleteFileAction.js +25 -40
  272. package/worker/actions/deleteFile/deleteFileAction.js.map +1 -1
  273. package/worker/actions/deleteFile/deleteFileSchema.d.ts +6 -38
  274. package/worker/actions/deleteFile/deleteFileSchema.js +14 -23
  275. package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -1
  276. package/worker/actions/deleteFile/types.js +0 -7
  277. package/worker/actions/deleteUser/DeleteUser.d.ts +2 -2
  278. package/worker/actions/deleteUser/DeleteUser.js +39 -60
  279. package/worker/actions/deleteUser/DeleteUser.js.map +1 -1
  280. package/worker/actions/deleteUser/deleteUserAction.d.ts +1 -1
  281. package/worker/actions/deleteUser/deleteUserAction.js +26 -37
  282. package/worker/actions/deleteUser/deleteUserAction.js.map +1 -1
  283. package/worker/actions/deleteUser/deleteUserSchema.d.ts +5 -23
  284. package/worker/actions/deleteUser/deleteUserSchema.js +13 -22
  285. package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -1
  286. package/worker/actions/deleteUser/types.js +0 -7
  287. package/worker/actions/logValidationError.js +6 -14
  288. package/worker/actions/logValidationError.js.map +1 -1
  289. package/worker/actions/removeCognitoUserAttributes.js +9 -22
  290. package/worker/actions/removeCognitoUserAttributes.js.map +1 -1
  291. package/worker/actions/updateUser/UpdateUser.d.ts +1 -1
  292. package/worker/actions/updateUser/UpdateUser.js +50 -74
  293. package/worker/actions/updateUser/UpdateUser.js.map +1 -1
  294. package/worker/actions/updateUser/types.js +0 -7
  295. package/worker/actions/updateUser/updateUserAction.d.ts +2 -2
  296. package/worker/actions/updateUser/updateUserAction.js +28 -39
  297. package/worker/actions/updateUser/updateUserAction.js.map +1 -1
  298. package/worker/actions/updateUser/updateUserSchema.d.ts +6 -38
  299. package/worker/actions/updateUser/updateUserSchema.js +14 -23
  300. package/worker/actions/updateUser/updateUserSchema.js.map +1 -1
  301. package/worker/handler/WorkerActionHandler.d.ts +2 -2
  302. package/worker/handler/WorkerActionHandler.js +19 -28
  303. package/worker/handler/WorkerActionHandler.js.map +1 -1
  304. package/worker/plugins/WorkerActionPlugin.d.ts +1 -1
  305. package/worker/plugins/WorkerActionPlugin.js +18 -25
  306. package/worker/plugins/WorkerActionPlugin.js.map +1 -1
  307. package/worker/types.js +0 -7
  308. package/index.js.map +0 -1
  309. package/resolver/app/abstractions/RecordHandler.js.map +0 -1
  310. package/resolver/app/abstractions/RecordsValidation.js.map +0 -1
  311. package/resolver/app/abstractions/ResolverApplication.js.map +0 -1
  312. package/resolver/app/abstractions/ResolverRecord.js.map +0 -1
  313. package/resolver/app/bundler/types.js.map +0 -1
  314. package/resolver/app/data/types.js.map +0 -1
  315. package/resolver/app/fetcher/types.js.map +0 -1
  316. package/resolver/app/ingestor/types.js.map +0 -1
  317. package/resolver/app/storer/types.js.map +0 -1
  318. package/resolver/createEventHandlerPlugin.d.ts +0 -10
  319. package/resolver/createEventHandlerPlugin.js +0 -127
  320. package/resolver/createEventHandlerPlugin.js.map +0 -1
  321. package/resolver/createResolverHandler.d.ts +0 -21
  322. package/resolver/createResolverHandler.js +0 -79
  323. package/resolver/createResolverHandler.js.map +0 -1
  324. package/resolver/deployment/types.js.map +0 -1
  325. package/resolver/recordTypes/fileManager/types.js.map +0 -1
  326. package/resolver/recordTypes/users/types.js.map +0 -1
  327. package/sync/createSendDataToEventBridgeOnRequestEnd.d.ts +0 -2
  328. package/sync/createSendDataToEventBridgeOnRequestEnd.js +0 -51
  329. package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +0 -1
  330. package/sync/createSyncSystem.d.ts +0 -16
  331. package/sync/createSyncSystem.js +0 -42
  332. package/sync/createSyncSystem.js.map +0 -1
  333. package/sync/handler/types.js.map +0 -1
  334. package/sync/requestPlugin.d.ts +0 -9
  335. package/sync/requestPlugin.js +0 -59
  336. package/sync/requestPlugin.js.map +0 -1
  337. package/sync/types.js.map +0 -1
  338. package/worker/actions/copyFile/types.js.map +0 -1
  339. package/worker/actions/createUser/types.js.map +0 -1
  340. package/worker/actions/deleteFile/types.js.map +0 -1
  341. package/worker/actions/deleteUser/types.js.map +0 -1
  342. package/worker/actions/updateUser/types.js.map +0 -1
  343. package/worker/createWorkerHandler.d.ts +0 -11
  344. package/worker/createWorkerHandler.js +0 -48
  345. package/worker/createWorkerHandler.js.map +0 -1
  346. package/worker/handler/eventHandler.d.ts +0 -1
  347. package/worker/handler/eventHandler.js +0 -31
  348. package/worker/handler/eventHandler.js.map +0 -1
  349. package/worker/types.js.map +0 -1
@@ -1,103 +1,81 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createStorer = exports.Storer = void 0;
7
- var _index = require("@webiny/aws-sdk/client-dynamodb/index.js");
8
- var _Retry = require("../utils/Retry");
9
- var _utils = require("@webiny/utils");
1
+ import { DeleteCommand, PutCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
2
+ import { createRetry } from "../utils/Retry.js";
3
+ import { convertException } from "@webiny/utils";
10
4
  class Storer {
11
- constructor(params) {
12
- this.maxRetries = params.maxRetries || 10;
13
- this.retryDelay = params.retryDelay || 1000;
14
- this.createDocumentClient = params.createDocumentClient;
15
- this.afterEach = params.afterEach;
16
- this.onError = params.onError;
17
- }
18
- async store(params) {
19
- const {
20
- deployment,
21
- bundle,
22
- table,
23
- command,
24
- items
25
- } = params;
26
- if (items.length === 0) {
27
- return;
5
+ constructor(params){
6
+ this.maxRetries = params.maxRetries || 10;
7
+ this.retryDelay = params.retryDelay || 1000;
8
+ this.createDocumentClient = params.createDocumentClient;
9
+ this.afterEach = params.afterEach;
10
+ this.onError = params.onError;
28
11
  }
29
- const client = this.createDocumentClient({
30
- region: deployment.region
31
- });
32
- const retry = (0, _Retry.createRetry)({
33
- maxRetries: this.maxRetries,
34
- retryDelay: this.retryDelay
35
- });
36
- for (const item of items) {
37
- const result = await retry.retry(async () => {
38
- switch (command) {
39
- case "delete":
40
- return await client.send(new _index.DeleteCommand({
41
- TableName: table.name,
42
- Key: {
43
- PK: item.PK,
44
- SK: item.SK
45
- }
46
- }));
47
- case "put":
48
- return await client.send(new _index.PutCommand({
49
- TableName: table.name,
50
- Item: item
51
- }));
52
- default:
53
- console.error(`Unsupported command type: ${command}`);
54
- return null;
55
- }
56
- }, {
57
- onFail: async error => {
58
- console.error("Error executing batch write command.");
59
- console.log((0, _utils.convertException)(error));
60
- if (!this.onError) {
61
- return;
62
- }
63
- try {
64
- await this.onError({
65
- item,
66
- command,
67
- table,
68
- error
69
- });
70
- } catch (ex) {
71
- console.error(`Error in onError callback for command: ${command}`);
72
- console.log({
73
- original: (0, _utils.convertException)(error),
74
- error: (0, _utils.convertException)(ex)
12
+ async store(params) {
13
+ const { deployment, bundle, table, command, items } = params;
14
+ if (0 === items.length) return;
15
+ const client = this.createDocumentClient({
16
+ region: deployment.region
17
+ });
18
+ const retry = createRetry({
19
+ maxRetries: this.maxRetries,
20
+ retryDelay: this.retryDelay
21
+ });
22
+ for (const item of items){
23
+ const result = await retry.retry(async ()=>{
24
+ switch(command){
25
+ case "delete":
26
+ return await client.send(new DeleteCommand({
27
+ TableName: table.name,
28
+ Key: {
29
+ PK: item.PK,
30
+ SK: item.SK
31
+ }
32
+ }));
33
+ case "put":
34
+ return await client.send(new PutCommand({
35
+ TableName: table.name,
36
+ Item: item
37
+ }));
38
+ default:
39
+ console.error(`Unsupported command type: ${command}`);
40
+ return null;
41
+ }
42
+ }, {
43
+ onFail: async (error)=>{
44
+ console.error("Error executing batch write command.");
45
+ console.log(convertException(error));
46
+ if (!this.onError) return;
47
+ try {
48
+ await this.onError({
49
+ item,
50
+ command,
51
+ table,
52
+ error
53
+ });
54
+ } catch (ex) {
55
+ console.error(`Error in onError callback for command: ${command}`);
56
+ console.log({
57
+ original: convertException(error),
58
+ error: convertException(ex)
59
+ });
60
+ }
61
+ }
75
62
  });
76
- }
63
+ if (result && this.afterEach) try {
64
+ await this.afterEach({
65
+ table,
66
+ command,
67
+ item,
68
+ source: bundle.source,
69
+ target: deployment
70
+ });
71
+ } catch (ex) {
72
+ console.error(`Error in afterEach callback for command: ${command}`);
73
+ console.log(convertException(ex));
74
+ }
77
75
  }
78
- });
79
- if (!result || !this.afterEach) {
80
- continue;
81
- }
82
- try {
83
- await this.afterEach({
84
- table,
85
- command,
86
- item,
87
- source: bundle.source,
88
- target: deployment
89
- });
90
- } catch (ex) {
91
- console.error(`Error in afterEach callback for command: ${command}`);
92
- console.log((0, _utils.convertException)(ex));
93
- }
94
76
  }
95
- }
96
77
  }
97
- exports.Storer = Storer;
98
- const createStorer = params => {
99
- return new Storer(params);
100
- };
101
- exports.createStorer = createStorer;
78
+ const createStorer = (params)=>new Storer(params);
79
+ export { Storer, createStorer };
102
80
 
103
81
  //# sourceMappingURL=Storer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_Retry","_utils","Storer","constructor","params","maxRetries","retryDelay","createDocumentClient","afterEach","onError","store","deployment","bundle","table","command","items","length","client","region","retry","createRetry","item","result","send","DeleteCommand","TableName","name","Key","PK","SK","PutCommand","Item","console","error","onFail","log","convertException","ex","original","source","target","exports","createStorer"],"sources":["Storer.ts"],"sourcesContent":["import type { IStoreItem, IStorer, IStorerExecParams } from \"./types\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\nimport type {\n DeleteCommandOutput,\n DynamoDBDocument,\n PutCommandOutput\n} from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { DeleteCommand, PutCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { CommandType } from \"~/types\";\nimport type { ITable } from \"~/sync/types.js\";\nimport { createRetry } from \"../utils/Retry\";\nimport { convertException } from \"@webiny/utils\";\n\nexport interface IStorerParamsCreateDocumentClientCallable {\n (deployment: Pick<IDeployment, \"region\">): Pick<DynamoDBDocument, \"send\">;\n}\n\nexport interface IStorerOnErrorParams {\n command: CommandType;\n item: IStoreItem;\n table: ITable;\n error: Error;\n}\n\nexport interface IStorerOnErrorCb {\n (params: IStorerOnErrorParams): Promise<void>;\n}\n\nexport interface ISingleStorerAfterEachParams {\n command: CommandType;\n target: IDeployment;\n source: IDeployment;\n table: ITable;\n item: IStoreItem;\n}\n\nexport interface IStorerAfterEachCb {\n (params: ISingleStorerAfterEachParams): Promise<void>;\n}\n\nexport interface IStorerParams {\n maxRetries?: number;\n retryDelay?: number;\n createDocumentClient: IStorerParamsCreateDocumentClientCallable;\n onError?: IStorerOnErrorCb;\n afterEach?: IStorerAfterEachCb;\n}\n\nexport class Storer implements IStorer {\n private readonly maxRetries: number;\n private readonly retryDelay: number;\n private readonly createDocumentClient: IStorerParamsCreateDocumentClientCallable;\n private readonly afterEach?: IStorerAfterEachCb;\n private readonly onError?: IStorerOnErrorCb;\n\n public constructor(params: IStorerParams) {\n this.maxRetries = params.maxRetries || 10;\n this.retryDelay = params.retryDelay || 1000;\n this.createDocumentClient = params.createDocumentClient;\n this.afterEach = params.afterEach;\n this.onError = params.onError;\n }\n\n public async store(params: IStorerExecParams): Promise<void> {\n const { deployment, bundle, table, command, items } = params;\n if (items.length === 0) {\n return;\n }\n const client = this.createDocumentClient({\n region: deployment.region\n });\n\n const retry = createRetry({\n maxRetries: this.maxRetries,\n retryDelay: this.retryDelay\n });\n\n for (const item of items) {\n const result = await retry.retry(\n async (): Promise<DeleteCommandOutput | PutCommandOutput | null> => {\n switch (command) {\n case \"delete\":\n return await client.send(\n new DeleteCommand({\n TableName: table.name,\n Key: {\n PK: item.PK,\n SK: item.SK\n }\n })\n );\n case \"put\":\n return await client.send(\n new PutCommand({\n TableName: table.name,\n Item: item\n })\n );\n\n default:\n console.error(`Unsupported command type: ${command}`);\n return null;\n }\n },\n {\n onFail: async error => {\n console.error(\"Error executing batch write command.\");\n console.log(convertException(error));\n if (!this.onError) {\n return;\n }\n try {\n await this.onError({\n item,\n command,\n table,\n error\n });\n } catch (ex) {\n console.error(`Error in onError callback for command: ${command}`);\n console.log({\n original: convertException(error),\n error: convertException(ex)\n });\n }\n }\n }\n );\n if (!result || !this.afterEach) {\n continue;\n }\n try {\n await this.afterEach({\n table,\n command,\n item,\n source: bundle.source,\n target: deployment\n });\n } catch (ex) {\n console.error(`Error in afterEach callback for command: ${command}`);\n console.log(convertException(ex));\n }\n }\n }\n}\n\nexport const createStorer = (params: IStorerParams): IStorer => {\n return new Storer(params);\n};\n"],"mappings":";;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAqCO,MAAMG,MAAM,CAAoB;EAO5BC,WAAWA,CAACC,MAAqB,EAAE;IACtC,IAAI,CAACC,UAAU,GAAGD,MAAM,CAACC,UAAU,IAAI,EAAE;IACzC,IAAI,CAACC,UAAU,GAAGF,MAAM,CAACE,UAAU,IAAI,IAAI;IAC3C,IAAI,CAACC,oBAAoB,GAAGH,MAAM,CAACG,oBAAoB;IACvD,IAAI,CAACC,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,OAAO,GAAGL,MAAM,CAACK,OAAO;EACjC;EAEA,MAAaC,KAAKA,CAACN,MAAyB,EAAiB;IACzD,MAAM;MAAEO,UAAU;MAAEC,MAAM;MAAEC,KAAK;MAAEC,OAAO;MAAEC;IAAM,CAAC,GAAGX,MAAM;IAC5D,IAAIW,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MACpB;IACJ;IACA,MAAMC,MAAM,GAAG,IAAI,CAACV,oBAAoB,CAAC;MACrCW,MAAM,EAAEP,UAAU,CAACO;IACvB,CAAC,CAAC;IAEF,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EAAC;MACtBf,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,UAAU,EAAE,IAAI,CAACA;IACrB,CAAC,CAAC;IAEF,KAAK,MAAMe,IAAI,IAAIN,KAAK,EAAE;MACtB,MAAMO,MAAM,GAAG,MAAMH,KAAK,CAACA,KAAK,CAC5B,YAAoE;QAChE,QAAQL,OAAO;UACX,KAAK,QAAQ;YACT,OAAO,MAAMG,MAAM,CAACM,IAAI,CACpB,IAAIC,oBAAa,CAAC;cACdC,SAAS,EAAEZ,KAAK,CAACa,IAAI;cACrBC,GAAG,EAAE;gBACDC,EAAE,EAAEP,IAAI,CAACO,EAAE;gBACXC,EAAE,EAAER,IAAI,CAACQ;cACb;YACJ,CAAC,CACL,CAAC;UACL,KAAK,KAAK;YACN,OAAO,MAAMZ,MAAM,CAACM,IAAI,CACpB,IAAIO,iBAAU,CAAC;cACXL,SAAS,EAAEZ,KAAK,CAACa,IAAI;cACrBK,IAAI,EAAEV;YACV,CAAC,CACL,CAAC;UAEL;YACIW,OAAO,CAACC,KAAK,CAAC,6BAA6BnB,OAAO,EAAE,CAAC;YACrD,OAAO,IAAI;QACnB;MACJ,CAAC,EACD;QACIoB,MAAM,EAAE,MAAMD,KAAK,IAAI;UACnBD,OAAO,CAACC,KAAK,CAAC,sCAAsC,CAAC;UACrDD,OAAO,CAACG,GAAG,CAAC,IAAAC,uBAAgB,EAACH,KAAK,CAAC,CAAC;UACpC,IAAI,CAAC,IAAI,CAACxB,OAAO,EAAE;YACf;UACJ;UACA,IAAI;YACA,MAAM,IAAI,CAACA,OAAO,CAAC;cACfY,IAAI;cACJP,OAAO;cACPD,KAAK;cACLoB;YACJ,CAAC,CAAC;UACN,CAAC,CAAC,OAAOI,EAAE,EAAE;YACTL,OAAO,CAACC,KAAK,CAAC,0CAA0CnB,OAAO,EAAE,CAAC;YAClEkB,OAAO,CAACG,GAAG,CAAC;cACRG,QAAQ,EAAE,IAAAF,uBAAgB,EAACH,KAAK,CAAC;cACjCA,KAAK,EAAE,IAAAG,uBAAgB,EAACC,EAAE;YAC9B,CAAC,CAAC;UACN;QACJ;MACJ,CACJ,CAAC;MACD,IAAI,CAACf,MAAM,IAAI,CAAC,IAAI,CAACd,SAAS,EAAE;QAC5B;MACJ;MACA,IAAI;QACA,MAAM,IAAI,CAACA,SAAS,CAAC;UACjBK,KAAK;UACLC,OAAO;UACPO,IAAI;UACJkB,MAAM,EAAE3B,MAAM,CAAC2B,MAAM;UACrBC,MAAM,EAAE7B;QACZ,CAAC,CAAC;MACN,CAAC,CAAC,OAAO0B,EAAE,EAAE;QACTL,OAAO,CAACC,KAAK,CAAC,4CAA4CnB,OAAO,EAAE,CAAC;QACpEkB,OAAO,CAACG,GAAG,CAAC,IAAAC,uBAAgB,EAACC,EAAE,CAAC,CAAC;MACrC;IACJ;EACJ;AACJ;AAACI,OAAA,CAAAvC,MAAA,GAAAA,MAAA;AAEM,MAAMwC,YAAY,GAAItC,MAAqB,IAAc;EAC5D,OAAO,IAAIF,MAAM,CAACE,MAAM,CAAC;AAC7B,CAAC;AAACqC,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/storer/Storer.js","sources":["../../../../src/resolver/app/storer/Storer.ts"],"sourcesContent":["import type { IStoreItem, IStorer, IStorerExecParams } from \"./types.js\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\nimport type {\n DeleteCommandOutput,\n DynamoDBDocument,\n PutCommandOutput\n} from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { DeleteCommand, PutCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { CommandType } from \"~/types.js\";\nimport type { ITable } from \"~/sync/types.js\";\nimport { createRetry } from \"../utils/Retry.js\";\nimport { convertException } from \"@webiny/utils\";\n\nexport interface IStorerParamsCreateDocumentClientCallable {\n (deployment: Pick<IDeployment, \"region\">): Pick<DynamoDBDocument, \"send\">;\n}\n\nexport interface IStorerOnErrorParams {\n command: CommandType;\n item: IStoreItem;\n table: ITable;\n error: Error;\n}\n\nexport interface IStorerOnErrorCb {\n (params: IStorerOnErrorParams): Promise<void>;\n}\n\nexport interface ISingleStorerAfterEachParams {\n command: CommandType;\n target: IDeployment;\n source: IDeployment;\n table: ITable;\n item: IStoreItem;\n}\n\nexport interface IStorerAfterEachCb {\n (params: ISingleStorerAfterEachParams): Promise<void>;\n}\n\nexport interface IStorerParams {\n maxRetries?: number;\n retryDelay?: number;\n createDocumentClient: IStorerParamsCreateDocumentClientCallable;\n onError?: IStorerOnErrorCb;\n afterEach?: IStorerAfterEachCb;\n}\n\nexport class Storer implements IStorer {\n private readonly maxRetries: number;\n private readonly retryDelay: number;\n private readonly createDocumentClient: IStorerParamsCreateDocumentClientCallable;\n private readonly afterEach?: IStorerAfterEachCb;\n private readonly onError?: IStorerOnErrorCb;\n\n public constructor(params: IStorerParams) {\n this.maxRetries = params.maxRetries || 10;\n this.retryDelay = params.retryDelay || 1000;\n this.createDocumentClient = params.createDocumentClient;\n this.afterEach = params.afterEach;\n this.onError = params.onError;\n }\n\n public async store(params: IStorerExecParams): Promise<void> {\n const { deployment, bundle, table, command, items } = params;\n if (items.length === 0) {\n return;\n }\n const client = this.createDocumentClient({\n region: deployment.region\n });\n\n const retry = createRetry({\n maxRetries: this.maxRetries,\n retryDelay: this.retryDelay\n });\n\n for (const item of items) {\n const result = await retry.retry(\n async (): Promise<DeleteCommandOutput | PutCommandOutput | null> => {\n switch (command) {\n case \"delete\":\n return await client.send(\n new DeleteCommand({\n TableName: table.name,\n Key: {\n PK: item.PK,\n SK: item.SK\n }\n })\n );\n case \"put\":\n return await client.send(\n new PutCommand({\n TableName: table.name,\n Item: item\n })\n );\n\n default:\n console.error(`Unsupported command type: ${command}`);\n return null;\n }\n },\n {\n onFail: async error => {\n console.error(\"Error executing batch write command.\");\n console.log(convertException(error));\n if (!this.onError) {\n return;\n }\n try {\n await this.onError({\n item,\n command,\n table,\n error\n });\n } catch (ex) {\n console.error(`Error in onError callback for command: ${command}`);\n console.log({\n original: convertException(error),\n error: convertException(ex)\n });\n }\n }\n }\n );\n if (!result || !this.afterEach) {\n continue;\n }\n try {\n await this.afterEach({\n table,\n command,\n item,\n source: bundle.source,\n target: deployment\n });\n } catch (ex) {\n console.error(`Error in afterEach callback for command: ${command}`);\n console.log(convertException(ex));\n }\n }\n }\n}\n\nexport const createStorer = (params: IStorerParams): IStorer => {\n return new Storer(params);\n};\n"],"names":["Storer","params","deployment","bundle","table","command","items","client","retry","createRetry","item","result","DeleteCommand","PutCommand","console","error","convertException","ex","createStorer"],"mappings":";;;AAgDO,MAAMA;IAOT,YAAmBC,MAAqB,CAAE;QACtC,IAAI,CAAC,UAAU,GAAGA,OAAO,UAAU,IAAI;QACvC,IAAI,CAAC,UAAU,GAAGA,OAAO,UAAU,IAAI;QACvC,IAAI,CAAC,oBAAoB,GAAGA,OAAO,oBAAoB;QACvD,IAAI,CAAC,SAAS,GAAGA,OAAO,SAAS;QACjC,IAAI,CAAC,OAAO,GAAGA,OAAO,OAAO;IACjC;IAEA,MAAa,MAAMA,MAAyB,EAAiB;QACzD,MAAM,EAAEC,UAAU,EAAEC,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAEC,KAAK,EAAE,GAAGL;QACtD,IAAIK,AAAiB,MAAjBA,MAAM,MAAM,EACZ;QAEJ,MAAMC,SAAS,IAAI,CAAC,oBAAoB,CAAC;YACrC,QAAQL,WAAW,MAAM;QAC7B;QAEA,MAAMM,QAAQC,YAAY;YACtB,YAAY,IAAI,CAAC,UAAU;YAC3B,YAAY,IAAI,CAAC,UAAU;QAC/B;QAEA,KAAK,MAAMC,QAAQJ,MAAO;YACtB,MAAMK,SAAS,MAAMH,MAAM,KAAK,CAC5B;gBACI,OAAQH;oBACJ,KAAK;wBACD,OAAO,MAAME,OAAO,IAAI,CACpB,IAAIK,cAAc;4BACd,WAAWR,MAAM,IAAI;4BACrB,KAAK;gCACD,IAAIM,KAAK,EAAE;gCACX,IAAIA,KAAK,EAAE;4BACf;wBACJ;oBAER,KAAK;wBACD,OAAO,MAAMH,OAAO,IAAI,CACpB,IAAIM,WAAW;4BACX,WAAWT,MAAM,IAAI;4BACrB,MAAMM;wBACV;oBAGR;wBACII,QAAQ,KAAK,CAAC,CAAC,0BAA0B,EAAET,SAAS;wBACpD,OAAO;gBACf;YACJ,GACA;gBACI,QAAQ,OAAMU;oBACVD,QAAQ,KAAK,CAAC;oBACdA,QAAQ,GAAG,CAACE,iBAAiBD;oBAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EACb;oBAEJ,IAAI;wBACA,MAAM,IAAI,CAAC,OAAO,CAAC;4BACfL;4BACAL;4BACAD;4BACAW;wBACJ;oBACJ,EAAE,OAAOE,IAAI;wBACTH,QAAQ,KAAK,CAAC,CAAC,uCAAuC,EAAET,SAAS;wBACjES,QAAQ,GAAG,CAAC;4BACR,UAAUE,iBAAiBD;4BAC3B,OAAOC,iBAAiBC;wBAC5B;oBACJ;gBACJ;YACJ;YAEJ,IAAI,AAACN,UAAW,IAAI,CAAC,SAAS,EAG9B,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC;oBACjBP;oBACAC;oBACAK;oBACA,QAAQP,OAAO,MAAM;oBACrB,QAAQD;gBACZ;YACJ,EAAE,OAAOe,IAAI;gBACTH,QAAQ,KAAK,CAAC,CAAC,yCAAyC,EAAET,SAAS;gBACnES,QAAQ,GAAG,CAACE,iBAAiBC;YACjC;QACJ;IACJ;AACJ;AAEO,MAAMC,eAAe,CAACjB,SAClB,IAAID,OAAOC"}
@@ -1,8 +1,8 @@
1
- import type { IDeployment } from "../../deployment/types.js";
1
+ import type { IDeployment } from "../../../resolver/deployment/types.js";
2
2
  import type { ITable } from "../../../sync/types.js";
3
3
  import type { CommandType } from "../../../types.js";
4
4
  import type { GenericRecord } from "@webiny/api/types.js";
5
- import type { IBundle } from "../bundler/types";
5
+ import type { IBundle } from "../bundler/types.js";
6
6
  export type StoreItemPossibleValues = string | number | boolean | undefined | null | GenericRecord | StoreItemPossibleValues[];
7
7
  export interface IStoreItem {
8
8
  PK: string;
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
- import type { ITable } from "../../../sync/types";
2
- import type { IDeployment } from "../../deployment/types.js";
3
- import type { PluginsContainer } from "@webiny/plugins/types";
4
- import type { IStoreItem } from "../storer/types";
1
+ import type { ITable } from "../../../sync/types.js";
2
+ import type { IDeployment } from "../../../resolver/deployment/types.js";
3
+ import type { PluginsContainer } from "@webiny/plugins/types.js";
4
+ import type { IStoreItem } from "../storer/types.js";
5
5
  export interface IMiddlewareParams {
6
6
  readonly plugins: PluginsContainer;
7
7
  readonly record: IStoreItem;
@@ -1,70 +1,52 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TransformHandler = void 0;
7
- var _TransformRecordPlugin = require("../../plugins/TransformRecordPlugin.js");
8
- var _middleware = require("./middleware.js");
1
+ import { TransformRecordPlugin } from "../../plugins/TransformRecordPlugin.js";
2
+ import { middleware } from "./middleware.js";
9
3
  class TransformHandler {
10
- constructor(params) {
11
- this.pluginsContainer = params.plugins;
12
- this.plugins = params.plugins.byType(_TransformRecordPlugin.TransformRecordPlugin.type);
13
- }
14
- async transform(params) {
15
- const {
16
- sourceTable,
17
- sourceDeployment,
18
- targetDeployment,
19
- targetTable,
20
- items
21
- } = params;
22
- if (this.plugins.length === 0) {
23
- process.env.DEBUG === "true" && console.log("There are no transform plugins registered in the system.");
24
- return {
25
- items
26
- };
4
+ constructor(params){
5
+ this.pluginsContainer = params.plugins;
6
+ this.plugins = params.plugins.byType(TransformRecordPlugin.type);
27
7
  }
28
- const plugins = this.plugins.filter(plugin => {
29
- if (plugin.isForTableType(sourceTable.type) === false) {
30
- return false;
31
- }
32
- return plugin.canTransform({
33
- from: sourceDeployment,
34
- to: targetDeployment
35
- });
36
- });
37
- if (plugins.length === 0) {
38
- process.env.DEBUG === "true" && console.log("There are no transform plugins registered for the given deployment versions or sourceTable type.", {
39
- sourceVersion: sourceDeployment.version.format(),
40
- targetVersion: targetDeployment.version.format(),
41
- sourceTable
42
- });
43
- return {
44
- items
45
- };
8
+ async transform(params) {
9
+ const { sourceTable, sourceDeployment, targetDeployment, targetTable, items } = params;
10
+ if (0 === this.plugins.length) {
11
+ "true" === process.env.DEBUG && console.log("There are no transform plugins registered in the system.");
12
+ return {
13
+ items
14
+ };
15
+ }
16
+ const plugins = this.plugins.filter((plugin)=>{
17
+ if (false === plugin.isForTableType(sourceTable.type)) return false;
18
+ return plugin.canTransform({
19
+ from: sourceDeployment,
20
+ to: targetDeployment
21
+ });
22
+ });
23
+ if (0 === plugins.length) {
24
+ "true" === process.env.DEBUG && console.log("There are no transform plugins registered for the given deployment versions or sourceTable type.", {
25
+ sourceVersion: sourceDeployment.version.format(),
26
+ targetVersion: targetDeployment.version.format(),
27
+ sourceTable
28
+ });
29
+ return {
30
+ items
31
+ };
32
+ }
33
+ const runner = middleware(plugins.map((plugin)=>async (params, next)=>await plugin.transform(params, next)));
34
+ const results = await Promise.all(items.map(async (input)=>{
35
+ const record = Object.freeze(input);
36
+ return await runner({
37
+ plugins: this.pluginsContainer,
38
+ sourceTable,
39
+ sourceDeployment,
40
+ targetDeployment,
41
+ targetTable,
42
+ record
43
+ }, record);
44
+ }));
45
+ return {
46
+ items: results.filter((item)=>!!item)
47
+ };
46
48
  }
47
- const runner = (0, _middleware.middleware)(plugins.map(plugin => {
48
- return async (params, next) => {
49
- return await plugin.transform(params, next);
50
- };
51
- }));
52
- const results = await Promise.all(items.map(async input => {
53
- const record = Object.freeze(input);
54
- return await runner({
55
- plugins: this.pluginsContainer,
56
- sourceTable,
57
- sourceDeployment,
58
- targetDeployment,
59
- targetTable,
60
- record
61
- }, record);
62
- }));
63
- return {
64
- items: results.filter(item => !!item)
65
- };
66
- }
67
49
  }
68
- exports.TransformHandler = TransformHandler;
50
+ export { TransformHandler };
69
51
 
70
52
  //# sourceMappingURL=TransformHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_TransformRecordPlugin","require","_middleware","TransformHandler","constructor","params","pluginsContainer","plugins","byType","TransformRecordPlugin","type","transform","sourceTable","sourceDeployment","targetDeployment","targetTable","items","length","process","env","DEBUG","console","log","filter","plugin","isForTableType","canTransform","from","to","sourceVersion","version","format","targetVersion","runner","middleware","map","next","results","Promise","all","input","record","Object","freeze","item","exports"],"sources":["TransformHandler.ts"],"sourcesContent":["import type { ITable } from \"~/sync/types\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\nimport type { PluginsContainer } from \"@webiny/plugins/types\";\nimport { TransformRecordPlugin } from \"~/resolver/plugins/TransformRecordPlugin.js\";\nimport { middleware } from \"./middleware.js\";\nimport type { IStoreItem } from \"../storer/types\";\n\nexport interface IMiddlewareParams {\n readonly plugins: PluginsContainer;\n readonly record: IStoreItem;\n readonly sourceDeployment: IDeployment;\n readonly targetDeployment: IDeployment;\n readonly sourceTable: ITable;\n readonly targetTable: ITable;\n}\n\nexport interface ITransformHandlerTransformParams {\n readonly sourceTable: ITable;\n readonly sourceDeployment: IDeployment;\n readonly targetTable: ITable;\n readonly targetDeployment: IDeployment;\n readonly items: IStoreItem[];\n}\n\nexport interface ITransformHandlerTransformResult {\n items: IStoreItem[];\n}\n\nexport interface ITransformHandler {\n transform(params: ITransformHandlerTransformParams): Promise<ITransformHandlerTransformResult>;\n}\n\nexport interface ITransformHandlerParams {\n readonly plugins: PluginsContainer;\n}\n\nexport class TransformHandler implements ITransformHandler {\n private readonly pluginsContainer: PluginsContainer;\n private readonly plugins: TransformRecordPlugin[];\n\n public constructor(params: ITransformHandlerParams) {\n this.pluginsContainer = params.plugins;\n this.plugins = params.plugins.byType<TransformRecordPlugin>(TransformRecordPlugin.type);\n }\n\n public async transform(\n params: ITransformHandlerTransformParams\n ): Promise<ITransformHandlerTransformResult> {\n const { sourceTable, sourceDeployment, targetDeployment, targetTable, items } = params;\n\n if (this.plugins.length === 0) {\n process.env.DEBUG === \"true\" &&\n console.log(\"There are no transform plugins registered in the system.\");\n return {\n items\n };\n }\n\n const plugins = this.plugins.filter(plugin => {\n if (plugin.isForTableType(sourceTable.type) === false) {\n return false;\n }\n return plugin.canTransform({\n from: sourceDeployment,\n to: targetDeployment\n });\n });\n\n if (plugins.length === 0) {\n process.env.DEBUG === \"true\" &&\n console.log(\n \"There are no transform plugins registered for the given deployment versions or sourceTable type.\",\n {\n sourceVersion: sourceDeployment.version.format(),\n targetVersion: targetDeployment.version.format(),\n sourceTable\n }\n );\n return {\n items\n };\n }\n\n const runner = middleware<IMiddlewareParams, IStoreItem>(\n plugins.map(plugin => {\n return async (params, next) => {\n return await plugin.transform(params, next);\n };\n })\n );\n\n const results = await Promise.all(\n items.map(async input => {\n const record = Object.freeze(input);\n return await runner(\n {\n plugins: this.pluginsContainer,\n sourceTable,\n sourceDeployment,\n targetDeployment,\n targetTable,\n record\n },\n record\n );\n })\n );\n return {\n items: results.filter((item): item is IStoreItem => !!item)\n };\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAgCO,MAAME,gBAAgB,CAA8B;EAIhDC,WAAWA,CAACC,MAA+B,EAAE;IAChD,IAAI,CAACC,gBAAgB,GAAGD,MAAM,CAACE,OAAO;IACtC,IAAI,CAACA,OAAO,GAAGF,MAAM,CAACE,OAAO,CAACC,MAAM,CAAwBC,4CAAqB,CAACC,IAAI,CAAC;EAC3F;EAEA,MAAaC,SAASA,CAClBN,MAAwC,EACC;IACzC,MAAM;MAAEO,WAAW;MAAEC,gBAAgB;MAAEC,gBAAgB;MAAEC,WAAW;MAAEC;IAAM,CAAC,GAAGX,MAAM;IAEtF,IAAI,IAAI,CAACE,OAAO,CAACU,MAAM,KAAK,CAAC,EAAE;MAC3BC,OAAO,CAACC,GAAG,CAACC,KAAK,KAAK,MAAM,IACxBC,OAAO,CAACC,GAAG,CAAC,0DAA0D,CAAC;MAC3E,OAAO;QACHN;MACJ,CAAC;IACL;IAEA,MAAMT,OAAO,GAAG,IAAI,CAACA,OAAO,CAACgB,MAAM,CAACC,MAAM,IAAI;MAC1C,IAAIA,MAAM,CAACC,cAAc,CAACb,WAAW,CAACF,IAAI,CAAC,KAAK,KAAK,EAAE;QACnD,OAAO,KAAK;MAChB;MACA,OAAOc,MAAM,CAACE,YAAY,CAAC;QACvBC,IAAI,EAAEd,gBAAgB;QACtBe,EAAE,EAAEd;MACR,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAIP,OAAO,CAACU,MAAM,KAAK,CAAC,EAAE;MACtBC,OAAO,CAACC,GAAG,CAACC,KAAK,KAAK,MAAM,IACxBC,OAAO,CAACC,GAAG,CACP,kGAAkG,EAClG;QACIO,aAAa,EAAEhB,gBAAgB,CAACiB,OAAO,CAACC,MAAM,CAAC,CAAC;QAChDC,aAAa,EAAElB,gBAAgB,CAACgB,OAAO,CAACC,MAAM,CAAC,CAAC;QAChDnB;MACJ,CACJ,CAAC;MACL,OAAO;QACHI;MACJ,CAAC;IACL;IAEA,MAAMiB,MAAM,GAAG,IAAAC,sBAAU,EACrB3B,OAAO,CAAC4B,GAAG,CAACX,MAAM,IAAI;MAClB,OAAO,OAAOnB,MAAM,EAAE+B,IAAI,KAAK;QAC3B,OAAO,MAAMZ,MAAM,CAACb,SAAS,CAACN,MAAM,EAAE+B,IAAI,CAAC;MAC/C,CAAC;IACL,CAAC,CACL,CAAC;IAED,MAAMC,OAAO,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC7BvB,KAAK,CAACmB,GAAG,CAAC,MAAMK,KAAK,IAAI;MACrB,MAAMC,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACH,KAAK,CAAC;MACnC,OAAO,MAAMP,MAAM,CACf;QACI1B,OAAO,EAAE,IAAI,CAACD,gBAAgB;QAC9BM,WAAW;QACXC,gBAAgB;QAChBC,gBAAgB;QAChBC,WAAW;QACX0B;MACJ,CAAC,EACDA,MACJ,CAAC;IACL,CAAC,CACL,CAAC;IACD,OAAO;MACHzB,KAAK,EAAEqB,OAAO,CAACd,MAAM,CAAEqB,IAAI,IAAyB,CAAC,CAACA,IAAI;IAC9D,CAAC;EACL;AACJ;AAACC,OAAA,CAAA1C,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/transform/TransformHandler.js","sources":["../../../../src/resolver/app/transform/TransformHandler.ts"],"sourcesContent":["import type { ITable } from \"~/sync/types.js\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\nimport type { PluginsContainer } from \"@webiny/plugins/types.js\";\nimport { TransformRecordPlugin } from \"~/resolver/plugins/TransformRecordPlugin.js\";\nimport { middleware } from \"./middleware.js\";\nimport type { IStoreItem } from \"../storer/types.js\";\n\nexport interface IMiddlewareParams {\n readonly plugins: PluginsContainer;\n readonly record: IStoreItem;\n readonly sourceDeployment: IDeployment;\n readonly targetDeployment: IDeployment;\n readonly sourceTable: ITable;\n readonly targetTable: ITable;\n}\n\nexport interface ITransformHandlerTransformParams {\n readonly sourceTable: ITable;\n readonly sourceDeployment: IDeployment;\n readonly targetTable: ITable;\n readonly targetDeployment: IDeployment;\n readonly items: IStoreItem[];\n}\n\nexport interface ITransformHandlerTransformResult {\n items: IStoreItem[];\n}\n\nexport interface ITransformHandler {\n transform(params: ITransformHandlerTransformParams): Promise<ITransformHandlerTransformResult>;\n}\n\nexport interface ITransformHandlerParams {\n readonly plugins: PluginsContainer;\n}\n\nexport class TransformHandler implements ITransformHandler {\n private readonly pluginsContainer: PluginsContainer;\n private readonly plugins: TransformRecordPlugin[];\n\n public constructor(params: ITransformHandlerParams) {\n this.pluginsContainer = params.plugins;\n this.plugins = params.plugins.byType<TransformRecordPlugin>(TransformRecordPlugin.type);\n }\n\n public async transform(\n params: ITransformHandlerTransformParams\n ): Promise<ITransformHandlerTransformResult> {\n const { sourceTable, sourceDeployment, targetDeployment, targetTable, items } = params;\n\n if (this.plugins.length === 0) {\n process.env.DEBUG === \"true\" &&\n console.log(\"There are no transform plugins registered in the system.\");\n return {\n items\n };\n }\n\n const plugins = this.plugins.filter(plugin => {\n if (plugin.isForTableType(sourceTable.type) === false) {\n return false;\n }\n return plugin.canTransform({\n from: sourceDeployment,\n to: targetDeployment\n });\n });\n\n if (plugins.length === 0) {\n process.env.DEBUG === \"true\" &&\n console.log(\n \"There are no transform plugins registered for the given deployment versions or sourceTable type.\",\n {\n sourceVersion: sourceDeployment.version.format(),\n targetVersion: targetDeployment.version.format(),\n sourceTable\n }\n );\n return {\n items\n };\n }\n\n const runner = middleware<IMiddlewareParams, IStoreItem>(\n plugins.map(plugin => {\n return async (params, next) => {\n return await plugin.transform(params, next);\n };\n })\n );\n\n const results = await Promise.all(\n items.map(async input => {\n const record = Object.freeze(input);\n return await runner(\n {\n plugins: this.pluginsContainer,\n sourceTable,\n sourceDeployment,\n targetDeployment,\n targetTable,\n record\n },\n record\n );\n })\n );\n return {\n items: results.filter((item): item is IStoreItem => !!item)\n };\n }\n}\n"],"names":["TransformHandler","params","TransformRecordPlugin","sourceTable","sourceDeployment","targetDeployment","targetTable","items","process","console","plugins","plugin","runner","middleware","next","results","Promise","input","record","Object","item"],"mappings":";;AAoCO,MAAMA;IAIT,YAAmBC,MAA+B,CAAE;QAChD,IAAI,CAAC,gBAAgB,GAAGA,OAAO,OAAO;QACtC,IAAI,CAAC,OAAO,GAAGA,OAAO,OAAO,CAAC,MAAM,CAAwBC,sBAAsB,IAAI;IAC1F;IAEA,MAAa,UACTD,MAAwC,EACC;QACzC,MAAM,EAAEE,WAAW,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAEC,WAAW,EAAEC,KAAK,EAAE,GAAGN;QAEhF,IAAI,AAAwB,MAAxB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAQ;YACL,WAAtBO,QAAQ,GAAG,CAAC,KAAK,IACbC,QAAQ,GAAG,CAAC;YAChB,OAAO;gBACHF;YACJ;QACJ;QAEA,MAAMG,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAACC,CAAAA;YAChC,IAAIA,AAA4C,UAA5CA,OAAO,cAAc,CAACR,YAAY,IAAI,GACtC,OAAO;YAEX,OAAOQ,OAAO,YAAY,CAAC;gBACvB,MAAMP;gBACN,IAAIC;YACR;QACJ;QAEA,IAAIK,AAAmB,MAAnBA,QAAQ,MAAM,EAAQ;YACA,WAAtBF,QAAQ,GAAG,CAAC,KAAK,IACbC,QAAQ,GAAG,CACP,oGACA;gBACI,eAAeL,iBAAiB,OAAO,CAAC,MAAM;gBAC9C,eAAeC,iBAAiB,OAAO,CAAC,MAAM;gBAC9CF;YACJ;YAER,OAAO;gBACHI;YACJ;QACJ;QAEA,MAAMK,SAASC,WACXH,QAAQ,GAAG,CAACC,CAAAA,SACD,OAAOV,QAAQa,OACX,MAAMH,OAAO,SAAS,CAACV,QAAQa;QAKlD,MAAMC,UAAU,MAAMC,QAAQ,GAAG,CAC7BT,MAAM,GAAG,CAAC,OAAMU;YACZ,MAAMC,SAASC,OAAO,MAAM,CAACF;YAC7B,OAAO,MAAML,OACT;gBACI,SAAS,IAAI,CAAC,gBAAgB;gBAC9BT;gBACAC;gBACAC;gBACAC;gBACAY;YACJ,GACAA;QAER;QAEJ,OAAO;YACH,OAAOH,QAAQ,MAAM,CAAC,CAACK,OAA6B,CAAC,CAACA;QAC1D;IACJ;AACJ"}
@@ -1,3 +1,3 @@
1
- import type { GenericRecord } from "@webiny/api/types";
1
+ import type { GenericRecord } from "@webiny/api/types.js";
2
2
  export type Middleware<Input, Output> = (input: Input, next: () => Promise<Output>) => Promise<Output>;
3
3
  export declare function middleware<Input = GenericRecord, Output = GenericRecord>(middlewares: Middleware<Input, Output>[]): (input: Input, defaultValue: Output) => Promise<Output>;
@@ -1,29 +1,16 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.middleware = middleware;
7
1
  function middleware(middlewares) {
8
- return async function runner(input, defaultValue) {
9
- let current = -1;
10
- async function dispatch(index) {
11
- /**
12
- * Should not be possible to run next multiple times.
13
- * Or do we want to allow it? What are possible downsides except something being done multiple times?
14
- */
15
- if (index <= current) {
16
- throw new Error("next() called multiple times");
17
- }
18
- current = index;
19
- const fn = middlewares[index];
20
- if (!fn) {
21
- return defaultValue;
22
- }
23
- return fn(input, () => dispatch(index + 1));
24
- }
25
- return dispatch(0);
26
- };
2
+ return async function(input, defaultValue) {
3
+ let current = -1;
4
+ async function dispatch(index) {
5
+ if (index <= current) throw new Error("next() called multiple times");
6
+ current = index;
7
+ const fn = middlewares[index];
8
+ if (!fn) return defaultValue;
9
+ return fn(input, ()=>dispatch(index + 1));
10
+ }
11
+ return dispatch(0);
12
+ };
27
13
  }
14
+ export { middleware };
28
15
 
29
16
  //# sourceMappingURL=middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["middleware","middlewares","runner","input","defaultValue","current","dispatch","index","Error","fn"],"sources":["middleware.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types\";\n\nexport type Middleware<Input, Output> = (\n input: Input,\n next: () => Promise<Output>\n) => Promise<Output>;\n\nexport function middleware<Input = GenericRecord, Output = GenericRecord>(\n middlewares: Middleware<Input, Output>[]\n) {\n return async function runner(input: Input, defaultValue: Output): Promise<Output> {\n let current = -1;\n\n async function dispatch(index: number): Promise<Output> {\n /**\n * Should not be possible to run next multiple times.\n * Or do we want to allow it? What are possible downsides except something being done multiple times?\n */\n if (index <= current) {\n throw new Error(\"next() called multiple times\");\n }\n current = index;\n\n const fn = middlewares[index];\n if (!fn) {\n return defaultValue;\n }\n\n return fn(input, () => dispatch(index + 1));\n }\n\n return dispatch(0);\n };\n}\n"],"mappings":";;;;;;AAOO,SAASA,UAAUA,CACtBC,WAAwC,EAC1C;EACE,OAAO,eAAeC,MAAMA,CAACC,KAAY,EAAEC,YAAoB,EAAmB;IAC9E,IAAIC,OAAO,GAAG,CAAC,CAAC;IAEhB,eAAeC,QAAQA,CAACC,KAAa,EAAmB;MACpD;AACZ;AACA;AACA;MACY,IAAIA,KAAK,IAAIF,OAAO,EAAE;QAClB,MAAM,IAAIG,KAAK,CAAC,8BAA8B,CAAC;MACnD;MACAH,OAAO,GAAGE,KAAK;MAEf,MAAME,EAAE,GAAGR,WAAW,CAACM,KAAK,CAAC;MAC7B,IAAI,CAACE,EAAE,EAAE;QACL,OAAOL,YAAY;MACvB;MAEA,OAAOK,EAAE,CAACN,KAAK,EAAE,MAAMG,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/C;IAEA,OAAOD,QAAQ,CAAC,CAAC,CAAC;EACtB,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/transform/middleware.js","sources":["../../../../src/resolver/app/transform/middleware.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport type Middleware<Input, Output> = (\n input: Input,\n next: () => Promise<Output>\n) => Promise<Output>;\n\nexport function middleware<Input = GenericRecord, Output = GenericRecord>(\n middlewares: Middleware<Input, Output>[]\n) {\n return async function runner(input: Input, defaultValue: Output): Promise<Output> {\n let current = -1;\n\n async function dispatch(index: number): Promise<Output> {\n /**\n * Should not be possible to run next multiple times.\n * Or do we want to allow it? What are possible downsides except something being done multiple times?\n */\n if (index <= current) {\n throw new Error(\"next() called multiple times\");\n }\n current = index;\n\n const fn = middlewares[index];\n if (!fn) {\n return defaultValue;\n }\n\n return fn(input, () => dispatch(index + 1));\n }\n\n return dispatch(0);\n };\n}\n"],"names":["middleware","middlewares","input","defaultValue","current","dispatch","index","Error","fn"],"mappings":"AAOO,SAASA,WACZC,WAAwC;IAExC,OAAO,eAAsBC,KAAY,EAAEC,YAAoB;QAC3D,IAAIC,UAAU;QAEd,eAAeC,SAASC,KAAa;YAKjC,IAAIA,SAASF,SACT,MAAM,IAAIG,MAAM;YAEpBH,UAAUE;YAEV,MAAME,KAAKP,WAAW,CAACK,MAAM;YAC7B,IAAI,CAACE,IACD,OAAOL;YAGX,OAAOK,GAAGN,OAAO,IAAMG,SAASC,QAAQ;QAC5C;QAEA,OAAOD,SAAS;IACpB;AACJ"}
@@ -1,38 +1,27 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createRetry = exports.Retry = void 0;
7
- var _sleep = require("./sleep");
1
+ import { sleep } from "./sleep.js";
8
2
  class Retry {
9
- retryCount = 0;
10
- constructor(params) {
11
- this.maxRetries = params.maxRetries;
12
- this.retryDelay = params.retryDelay;
13
- }
14
- async retry(fn, options) {
15
- try {
16
- return await fn();
17
- } catch (ex) {
18
- if (this.retryCount >= this.maxRetries) {
19
- if (options?.onFail) {
20
- await options.onFail(ex);
3
+ constructor(params){
4
+ this.retryCount = 0;
5
+ this.maxRetries = params.maxRetries;
6
+ this.retryDelay = params.retryDelay;
7
+ }
8
+ async retry(fn, options) {
9
+ try {
10
+ return await fn();
11
+ } catch (ex) {
12
+ if (this.retryCount >= this.maxRetries) {
13
+ if (options?.onFail) await options.onFail(ex);
14
+ throw ex;
15
+ }
21
16
  }
22
- throw ex;
23
- }
17
+ this.retryCount++;
18
+ await sleep(this.retryDelay);
19
+ const result = await this.retry(fn, options);
20
+ this.retryCount = 0;
21
+ return result;
24
22
  }
25
- this.retryCount++;
26
- await (0, _sleep.sleep)(this.retryDelay);
27
- const result = await this.retry(fn, options);
28
- this.retryCount = 0;
29
- return result;
30
- }
31
23
  }
32
- exports.Retry = Retry;
33
- const createRetry = params => {
34
- return new Retry(params);
35
- };
36
- exports.createRetry = createRetry;
24
+ const createRetry = (params)=>new Retry(params);
25
+ export { Retry, createRetry };
37
26
 
38
27
  //# sourceMappingURL=Retry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_sleep","require","Retry","retryCount","constructor","params","maxRetries","retryDelay","retry","fn","options","ex","onFail","sleep","result","exports","createRetry"],"sources":["Retry.ts"],"sourcesContent":["import { sleep } from \"./sleep\";\n\nexport interface IRetryableRetryOptions {\n onFail?: (error: Error) => Promise<void> | void;\n}\n\nexport interface IRetryable {\n retry<T>(fn: () => Promise<T>, options: IRetryableRetryOptions): Promise<T>;\n}\n\nexport interface IRetryParams {\n maxRetries: number;\n retryDelay: number;\n}\n\nexport class Retry implements IRetryable {\n private readonly maxRetries: number;\n private readonly retryDelay: number;\n private retryCount: number = 0;\n\n public constructor(params: IRetryParams) {\n this.maxRetries = params.maxRetries;\n this.retryDelay = params.retryDelay;\n }\n\n public async retry<T>(fn: () => Promise<T>, options?: IRetryableRetryOptions): Promise<T> {\n try {\n return await fn();\n } catch (ex) {\n if (this.retryCount >= this.maxRetries) {\n if (options?.onFail) {\n await options.onFail(ex as Error);\n }\n throw ex;\n }\n }\n this.retryCount++;\n await sleep(this.retryDelay);\n const result = await this.retry<T>(fn, options);\n this.retryCount = 0;\n return result;\n }\n}\n\nexport const createRetry = (params: IRetryParams): IRetryable => {\n return new Retry(params);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAeO,MAAMC,KAAK,CAAuB;EAG7BC,UAAU,GAAW,CAAC;EAEvBC,WAAWA,CAACC,MAAoB,EAAE;IACrC,IAAI,CAACC,UAAU,GAAGD,MAAM,CAACC,UAAU;IACnC,IAAI,CAACC,UAAU,GAAGF,MAAM,CAACE,UAAU;EACvC;EAEA,MAAaC,KAAKA,CAAIC,EAAoB,EAAEC,OAAgC,EAAc;IACtF,IAAI;MACA,OAAO,MAAMD,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC,OAAOE,EAAE,EAAE;MACT,IAAI,IAAI,CAACR,UAAU,IAAI,IAAI,CAACG,UAAU,EAAE;QACpC,IAAII,OAAO,EAAEE,MAAM,EAAE;UACjB,MAAMF,OAAO,CAACE,MAAM,CAACD,EAAW,CAAC;QACrC;QACA,MAAMA,EAAE;MACZ;IACJ;IACA,IAAI,CAACR,UAAU,EAAE;IACjB,MAAM,IAAAU,YAAK,EAAC,IAAI,CAACN,UAAU,CAAC;IAC5B,MAAMO,MAAM,GAAG,MAAM,IAAI,CAACN,KAAK,CAAIC,EAAE,EAAEC,OAAO,CAAC;IAC/C,IAAI,CAACP,UAAU,GAAG,CAAC;IACnB,OAAOW,MAAM;EACjB;AACJ;AAACC,OAAA,CAAAb,KAAA,GAAAA,KAAA;AAEM,MAAMc,WAAW,GAAIX,MAAoB,IAAiB;EAC7D,OAAO,IAAIH,KAAK,CAACG,MAAM,CAAC;AAC5B,CAAC;AAACU,OAAA,CAAAC,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/utils/Retry.js","sources":["../../../../src/resolver/app/utils/Retry.ts"],"sourcesContent":["import { sleep } from \"./sleep.js\";\n\nexport interface IRetryableRetryOptions {\n onFail?: (error: Error) => Promise<void> | void;\n}\n\nexport interface IRetryable {\n retry<T>(fn: () => Promise<T>, options: IRetryableRetryOptions): Promise<T>;\n}\n\nexport interface IRetryParams {\n maxRetries: number;\n retryDelay: number;\n}\n\nexport class Retry implements IRetryable {\n private readonly maxRetries: number;\n private readonly retryDelay: number;\n private retryCount: number = 0;\n\n public constructor(params: IRetryParams) {\n this.maxRetries = params.maxRetries;\n this.retryDelay = params.retryDelay;\n }\n\n public async retry<T>(fn: () => Promise<T>, options?: IRetryableRetryOptions): Promise<T> {\n try {\n return await fn();\n } catch (ex) {\n if (this.retryCount >= this.maxRetries) {\n if (options?.onFail) {\n await options.onFail(ex as Error);\n }\n throw ex;\n }\n }\n this.retryCount++;\n await sleep(this.retryDelay);\n const result = await this.retry<T>(fn, options);\n this.retryCount = 0;\n return result;\n }\n}\n\nexport const createRetry = (params: IRetryParams): IRetryable => {\n return new Retry(params);\n};\n"],"names":["Retry","params","fn","options","ex","sleep","result","createRetry"],"mappings":";AAeO,MAAMA;IAKT,YAAmBC,MAAoB,CAAE;aAFjC,UAAU,GAAW;QAGzB,IAAI,CAAC,UAAU,GAAGA,OAAO,UAAU;QACnC,IAAI,CAAC,UAAU,GAAGA,OAAO,UAAU;IACvC;IAEA,MAAa,MAASC,EAAoB,EAAEC,OAAgC,EAAc;QACtF,IAAI;YACA,OAAO,MAAMD;QACjB,EAAE,OAAOE,IAAI;YACT,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;gBACpC,IAAID,SAAS,QACT,MAAMA,QAAQ,MAAM,CAACC;gBAEzB,MAAMA;YACV;QACJ;QACA,IAAI,CAAC,UAAU;QACf,MAAMC,MAAM,IAAI,CAAC,UAAU;QAC3B,MAAMC,SAAS,MAAM,IAAI,CAAC,KAAK,CAAIJ,IAAIC;QACvC,IAAI,CAAC,UAAU,GAAG;QAClB,OAAOG;IACX;AACJ;AAEO,MAAMC,cAAc,CAACN,SACjB,IAAID,MAAMC"}
@@ -1,14 +1,6 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.sleep = void 0;
7
- const sleep = ms => {
8
- return new Promise(resolve => {
9
- setTimeout(resolve, ms);
10
- });
11
- };
12
- exports.sleep = sleep;
1
+ const sleep = (ms)=>new Promise((resolve)=>{
2
+ setTimeout(resolve, ms);
3
+ });
4
+ export { sleep };
13
5
 
14
6
  //# sourceMappingURL=sleep.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["sleep","ms","Promise","resolve","setTimeout","exports"],"sources":["sleep.ts"],"sourcesContent":["export const sleep = (ms: number) => {\n return new Promise<void>(resolve => {\n setTimeout(resolve, ms);\n });\n};\n"],"mappings":";;;;;;AAAO,MAAMA,KAAK,GAAIC,EAAU,IAAK;EACjC,OAAO,IAAIC,OAAO,CAAOC,OAAO,IAAI;IAChCC,UAAU,CAACD,OAAO,EAAEF,EAAE,CAAC;EAC3B,CAAC,CAAC;AACN,CAAC;AAACI,OAAA,CAAAL,KAAA,GAAAA,KAAA","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/utils/sleep.js","sources":["../../../../src/resolver/app/utils/sleep.ts"],"sourcesContent":["export const sleep = (ms: number) => {\n return new Promise<void>(resolve => {\n setTimeout(resolve, ms);\n });\n};\n"],"names":["sleep","ms","Promise","resolve","setTimeout"],"mappings":"AAAO,MAAMA,QAAQ,CAACC,KACX,IAAIC,QAAcC,CAAAA;QACrBC,WAAWD,SAASF;IACxB"}