@signageos/lib 23.8.1 → 23.8.2-master.4405

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 (631) hide show
  1. package/dist/AMQP/CQRS/ICommand.d.ts +38 -0
  2. package/dist/AMQP/CQRS/ICommand.js +3 -0
  3. package/dist/AMQP/CQRS/ICommand.js.map +1 -0
  4. package/dist/AMQP/CQRS/ICommandError.d.ts +4 -0
  5. package/dist/AMQP/CQRS/ICommandError.js +3 -0
  6. package/dist/AMQP/CQRS/ICommandError.js.map +1 -0
  7. package/dist/AMQP/CQRS/commandQueue.d.ts +59 -0
  8. package/dist/AMQP/CQRS/commandQueue.js +313 -0
  9. package/dist/AMQP/CQRS/commandQueue.js.map +1 -0
  10. package/dist/AMQP/CQRS/commandResponseHelper.d.ts +3 -0
  11. package/dist/AMQP/CQRS/commandResponseHelper.js +8 -0
  12. package/dist/AMQP/CQRS/commandResponseHelper.js.map +1 -0
  13. package/dist/AMQP/CQRS/storedCommandQueue.d.ts +27 -0
  14. package/dist/AMQP/CQRS/storedCommandQueue.js +301 -0
  15. package/dist/AMQP/CQRS/storedCommandQueue.js.map +1 -0
  16. package/dist/AMQP/ChannelProvider.d.ts +37 -0
  17. package/dist/AMQP/ChannelProvider.js +886 -0
  18. package/dist/AMQP/ChannelProvider.js.map +1 -0
  19. package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.d.ts +39 -0
  20. package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.js +292 -0
  21. package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.js.map +1 -0
  22. package/dist/AMQP/DeviceActions/IDeviceAction.d.ts +4 -0
  23. package/dist/AMQP/DeviceActions/IDeviceAction.js +3 -0
  24. package/dist/AMQP/DeviceActions/IDeviceAction.js.map +1 -0
  25. package/dist/AMQP/DeviceActions/deviceActionsQueue.d.ts +83 -0
  26. package/dist/AMQP/DeviceActions/deviceActionsQueue.js +538 -0
  27. package/dist/AMQP/DeviceActions/deviceActionsQueue.js.map +1 -0
  28. package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.d.ts +47 -0
  29. package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.js +218 -0
  30. package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.js.map +1 -0
  31. package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.d.ts +13 -0
  32. package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.js +3 -0
  33. package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.js.map +1 -0
  34. package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.d.ts +15 -0
  35. package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.js +76 -0
  36. package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.js.map +1 -0
  37. package/dist/AMQP/EventSourcing/IEvent.d.ts +72 -0
  38. package/dist/AMQP/EventSourcing/IEvent.js +3 -0
  39. package/dist/AMQP/EventSourcing/IEvent.js.map +1 -0
  40. package/dist/AMQP/EventSourcing/Locked/deferredState.d.ts +21 -0
  41. package/dist/AMQP/EventSourcing/Locked/deferredState.js +72 -0
  42. package/dist/AMQP/EventSourcing/Locked/deferredState.js.map +1 -0
  43. package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.d.ts +63 -0
  44. package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.js +261 -0
  45. package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.js.map +1 -0
  46. package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.d.ts +24 -0
  47. package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.js +64 -0
  48. package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.js.map +1 -0
  49. package/dist/AMQP/EventSourcing/Locked/withLock.d.ts +42 -0
  50. package/dist/AMQP/EventSourcing/Locked/withLock.js +141 -0
  51. package/dist/AMQP/EventSourcing/Locked/withLock.js.map +1 -0
  52. package/dist/AMQP/EventSourcing/eventQueue.d.ts +87 -0
  53. package/dist/AMQP/EventSourcing/eventQueue.js +139 -0
  54. package/dist/AMQP/EventSourcing/eventQueue.js.map +1 -0
  55. package/dist/AMQP/EventSourcing/eventQueue.utils.d.ts +73 -0
  56. package/dist/AMQP/EventSourcing/eventQueue.utils.js +157 -0
  57. package/dist/AMQP/EventSourcing/eventQueue.utils.js.map +1 -0
  58. package/dist/AMQP/EventSourcing/eventQueueDetached.d.ts +49 -0
  59. package/dist/AMQP/EventSourcing/eventQueueDetached.js +428 -0
  60. package/dist/AMQP/EventSourcing/eventQueueDetached.js.map +1 -0
  61. package/dist/AMQP/EventSourcing/eventQueueDomain.d.ts +42 -0
  62. package/dist/AMQP/EventSourcing/eventQueueDomain.js +371 -0
  63. package/dist/AMQP/EventSourcing/eventQueueDomain.js.map +1 -0
  64. package/dist/AMQP/EventSourcing/eventQueuePublish.d.ts +19 -0
  65. package/dist/AMQP/EventSourcing/eventQueuePublish.js +209 -0
  66. package/dist/AMQP/EventSourcing/eventQueuePublish.js.map +1 -0
  67. package/dist/AMQP/EventSourcing/synchronization.d.ts +39 -0
  68. package/dist/AMQP/EventSourcing/synchronization.js +12 -0
  69. package/dist/AMQP/EventSourcing/synchronization.js.map +1 -0
  70. package/dist/AMQP/Exchange.d.ts +1 -0
  71. package/dist/AMQP/Exchange.js +3 -0
  72. package/dist/AMQP/Exchange.js.map +1 -0
  73. package/dist/AMQP/IAMQPPool.d.ts +5 -0
  74. package/dist/AMQP/IAMQPPool.js +3 -0
  75. package/dist/AMQP/IAMQPPool.js.map +1 -0
  76. package/dist/AMQP/IAsyncGotMessage.d.ts +15 -0
  77. package/dist/AMQP/IAsyncGotMessage.js +3 -0
  78. package/dist/AMQP/IAsyncGotMessage.js.map +1 -0
  79. package/dist/AMQP/IChannel.d.ts +43 -0
  80. package/dist/AMQP/IChannel.js +3 -0
  81. package/dist/AMQP/IChannel.js.map +1 -0
  82. package/dist/AMQP/IConsumeOptions.d.ts +106 -0
  83. package/dist/AMQP/IConsumeOptions.js +3 -0
  84. package/dist/AMQP/IConsumeOptions.js.map +1 -0
  85. package/dist/AMQP/IMessageOptions.d.ts +6 -0
  86. package/dist/AMQP/IMessageOptions.js +3 -0
  87. package/dist/AMQP/IMessageOptions.js.map +1 -0
  88. package/dist/AMQP/INackOptions.d.ts +4 -0
  89. package/dist/AMQP/INackOptions.js +3 -0
  90. package/dist/AMQP/INackOptions.js.map +1 -0
  91. package/dist/AMQP/IQueueOptions.d.ts +8 -0
  92. package/dist/AMQP/IQueueOptions.js +3 -0
  93. package/dist/AMQP/IQueueOptions.js.map +1 -0
  94. package/dist/AMQP/Logging/IDeviceLog.d.ts +15 -0
  95. package/dist/AMQP/Logging/IDeviceLog.js +10 -0
  96. package/dist/AMQP/Logging/IDeviceLog.js.map +1 -0
  97. package/dist/AMQP/Logging/logDeviceQueue.d.ts +12 -0
  98. package/dist/AMQP/Logging/logDeviceQueue.js +107 -0
  99. package/dist/AMQP/Logging/logDeviceQueue.js.map +1 -0
  100. package/dist/AMQP/QueueFetcher.d.ts +13 -0
  101. package/dist/AMQP/QueueFetcher.js +166 -0
  102. package/dist/AMQP/QueueFetcher.js.map +1 -0
  103. package/dist/AMQP/QueuePublisher.d.ts +7 -0
  104. package/dist/AMQP/QueuePublisher.js +135 -0
  105. package/dist/AMQP/QueuePublisher.js.map +1 -0
  106. package/dist/AMQP/QueueRepeatableSubscription.d.ts +14 -0
  107. package/dist/AMQP/QueueRepeatableSubscription.js +162 -0
  108. package/dist/AMQP/QueueRepeatableSubscription.js.map +1 -0
  109. package/dist/AMQP/QueueSubscriber.d.ts +11 -0
  110. package/dist/AMQP/QueueSubscriber.js +163 -0
  111. package/dist/AMQP/QueueSubscriber.js.map +1 -0
  112. package/dist/AMQP/ResponseProvider.d.ts +20 -0
  113. package/dist/AMQP/ResponseProvider.js +193 -0
  114. package/dist/AMQP/ResponseProvider.js.map +1 -0
  115. package/dist/AMQP/Static/filesQueue.d.ts +12 -0
  116. package/dist/AMQP/Static/filesQueue.js +220 -0
  117. package/dist/AMQP/Static/filesQueue.js.map +1 -0
  118. package/dist/AMQP/amqpConnectionFactory.d.ts +27 -0
  119. package/dist/AMQP/amqpConnectionFactory.js +236 -0
  120. package/dist/AMQP/amqpConnectionFactory.js.map +1 -0
  121. package/dist/AMQP/amqpErrors.d.ts +5 -0
  122. package/dist/AMQP/amqpErrors.js +30 -0
  123. package/dist/AMQP/amqpErrors.js.map +1 -0
  124. package/dist/AMQP/errors.d.ts +3 -0
  125. package/dist/AMQP/errors.js +30 -0
  126. package/dist/AMQP/errors.js.map +1 -0
  127. package/dist/AMQP/fetchNextMessage.d.ts +14 -0
  128. package/dist/AMQP/fetchNextMessage.js +118 -0
  129. package/dist/AMQP/fetchNextMessage.js.map +1 -0
  130. package/dist/AMQP/queueConfigurator.d.ts +5 -0
  131. package/dist/AMQP/queueConfigurator.js +78 -0
  132. package/dist/AMQP/queueConfigurator.js.map +1 -0
  133. package/dist/AWS/S3.d.ts +95 -0
  134. package/dist/AWS/S3.js +448 -0
  135. package/dist/AWS/S3.js.map +1 -0
  136. package/dist/AWS/S3Types.d.ts +113 -0
  137. package/dist/AWS/S3Types.js +3 -0
  138. package/dist/AWS/S3Types.js.map +1 -0
  139. package/dist/AWS/config.d.ts +2 -0
  140. package/dist/AWS/config.js +23 -0
  141. package/dist/AWS/config.js.map +1 -0
  142. package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.d.ts +30 -0
  143. package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.js +81 -0
  144. package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.js.map +1 -0
  145. package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.utils.d.ts +5 -0
  146. package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.utils.js +33 -0
  147. package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.utils.js.map +1 -0
  148. package/dist/Auth0/ManagementClient/Auth0ManagementClient.d.ts +41 -0
  149. package/dist/Auth0/ManagementClient/Auth0ManagementClient.js +137 -0
  150. package/dist/Auth0/ManagementClient/Auth0ManagementClient.js.map +1 -0
  151. package/dist/Auth0/ManagementClient/auth0ManagementClient.utils.d.ts +8 -0
  152. package/dist/Auth0/ManagementClient/auth0ManagementClient.utils.js +37 -0
  153. package/dist/Auth0/ManagementClient/auth0ManagementClient.utils.js.map +1 -0
  154. package/dist/Auth0/UserInfoClient/Auth0UserInfoClient.d.ts +14 -0
  155. package/dist/Auth0/UserInfoClient/Auth0UserInfoClient.js +58 -0
  156. package/dist/Auth0/UserInfoClient/Auth0UserInfoClient.js.map +1 -0
  157. package/dist/Auth0/auth0.types.d.ts +4 -0
  158. package/dist/Auth0/auth0.types.js +10 -0
  159. package/dist/Auth0/auth0.types.js.map +1 -0
  160. package/dist/Cache/lruCache.d.ts +22 -0
  161. package/dist/Cache/lruCache.js +42 -0
  162. package/dist/Cache/lruCache.js.map +1 -0
  163. package/dist/Cache/memoryCache.d.ts +7 -0
  164. package/dist/Cache/memoryCache.js +80 -0
  165. package/dist/Cache/memoryCache.js.map +1 -0
  166. package/dist/Config/config.d.ts +81 -0
  167. package/dist/Config/config.js +119 -0
  168. package/dist/Config/config.js.map +1 -0
  169. package/dist/Config/environment.d.ts +8 -0
  170. package/dist/Config/environment.js +13 -0
  171. package/dist/Config/environment.js.map +1 -0
  172. package/dist/Config/validation.d.ts +61 -0
  173. package/dist/Config/validation.js +56 -0
  174. package/dist/Config/validation.js.map +1 -0
  175. package/dist/DateTime/dateMonkeyPatch.d.ts +15 -0
  176. package/dist/DateTime/dateMonkeyPatch.js +149 -0
  177. package/dist/DateTime/dateMonkeyPatch.js.map +1 -0
  178. package/dist/DateTime/dateTimeFactory.d.ts +4 -0
  179. package/dist/DateTime/dateTimeFactory.js +22 -0
  180. package/dist/DateTime/dateTimeFactory.js.map +1 -0
  181. package/dist/DateTime/millisecondConstants.d.ts +7 -0
  182. package/dist/DateTime/millisecondConstants.js +11 -0
  183. package/dist/DateTime/millisecondConstants.js.map +1 -0
  184. package/dist/DateTime/posixTimezone.d.ts +1 -0
  185. package/dist/DateTime/posixTimezone.js +54 -0
  186. package/dist/DateTime/posixTimezone.js.map +1 -0
  187. package/dist/DateTime/statistics.d.ts +6 -0
  188. package/dist/DateTime/statistics.js +30 -0
  189. package/dist/DateTime/statistics.js.map +1 -0
  190. package/dist/DateTime/timeConverter.d.ts +1 -0
  191. package/dist/DateTime/timeConverter.js +11 -0
  192. package/dist/DateTime/timeConverter.js.map +1 -0
  193. package/dist/DateTime/timer.d.ts +10 -0
  194. package/dist/DateTime/timer.js +18 -0
  195. package/dist/DateTime/timer.js.map +1 -0
  196. package/dist/DateTime/timestamp.d.ts +2 -0
  197. package/dist/DateTime/timestamp.js +16 -0
  198. package/dist/DateTime/timestamp.js.map +1 -0
  199. package/dist/DateTime/waitUntil.d.ts +20 -0
  200. package/dist/DateTime/waitUntil.js +148 -0
  201. package/dist/DateTime/waitUntil.js.map +1 -0
  202. package/dist/Debug/debugClassDecorator.d.ts +13 -0
  203. package/dist/Debug/debugClassDecorator.js +63 -0
  204. package/dist/Debug/debugClassDecorator.js.map +1 -0
  205. package/dist/Debug/debugDecorator.d.ts +24 -0
  206. package/dist/Debug/debugDecorator.js +107 -0
  207. package/dist/Debug/debugDecorator.js.map +1 -0
  208. package/dist/Encryption/passwordEncryption.d.ts +4 -0
  209. package/dist/Encryption/passwordEncryption.js +29 -0
  210. package/dist/Encryption/passwordEncryption.js.map +1 -0
  211. package/dist/Encryption/tokenEncryption.d.ts +14 -0
  212. package/dist/Encryption/tokenEncryption.js +32 -0
  213. package/dist/Encryption/tokenEncryption.js.map +1 -0
  214. package/dist/Events/AsyncEventEmitter.d.ts +31 -0
  215. package/dist/Events/AsyncEventEmitter.js +125 -0
  216. package/dist/Events/AsyncEventEmitter.js.map +1 -0
  217. package/dist/Events/eventsHelpers.d.ts +3 -0
  218. package/dist/Events/eventsHelpers.js +24 -0
  219. package/dist/Events/eventsHelpers.js.map +1 -0
  220. package/dist/Events/genericGracefulExit.d.ts +11 -0
  221. package/dist/Events/genericGracefulExit.js +90 -0
  222. package/dist/Events/genericGracefulExit.js.map +1 -0
  223. package/dist/FileSystem/moduleDiscoverer.d.ts +7 -0
  224. package/dist/FileSystem/moduleDiscoverer.js +88 -0
  225. package/dist/FileSystem/moduleDiscoverer.js.map +1 -0
  226. package/dist/FileSystem/tmpDir.d.ts +9 -0
  227. package/dist/FileSystem/tmpDir.js +64 -0
  228. package/dist/FileSystem/tmpDir.js.map +1 -0
  229. package/dist/Functional/compose.d.ts +22 -0
  230. package/dist/Functional/compose.js +44 -0
  231. package/dist/Functional/compose.js.map +1 -0
  232. package/dist/GenericPool/options.d.ts +63 -0
  233. package/dist/GenericPool/options.js +3 -0
  234. package/dist/GenericPool/options.js.map +1 -0
  235. package/dist/Hash/checksum.d.ts +5 -0
  236. package/dist/Hash/checksum.js +20 -0
  237. package/dist/Hash/checksum.js.map +1 -0
  238. package/dist/Hash/checksumFile.d.ts +4 -0
  239. package/dist/Hash/checksumFile.js +82 -0
  240. package/dist/Hash/checksumFile.js.map +1 -0
  241. package/dist/Hash/generator.d.ts +2 -0
  242. package/dist/Hash/generator.js +15 -0
  243. package/dist/Hash/generator.js.map +1 -0
  244. package/dist/Http/download.d.ts +1 -0
  245. package/dist/Http/download.js +91 -0
  246. package/dist/Http/download.js.map +1 -0
  247. package/dist/HttpStatus/checks/amqpStatusCheck.d.ts +3 -0
  248. package/dist/HttpStatus/checks/amqpStatusCheck.js +98 -0
  249. package/dist/HttpStatus/checks/amqpStatusCheck.js.map +1 -0
  250. package/dist/HttpStatus/checks/mongoDBStatusCheck.d.ts +3 -0
  251. package/dist/HttpStatus/checks/mongoDBStatusCheck.js +60 -0
  252. package/dist/HttpStatus/checks/mongoDBStatusCheck.js.map +1 -0
  253. package/dist/HttpStatus/checks/redisStatusCheck.d.ts +3 -0
  254. package/dist/HttpStatus/checks/redisStatusCheck.js +94 -0
  255. package/dist/HttpStatus/checks/redisStatusCheck.js.map +1 -0
  256. package/dist/HttpStatus/createHttpStatusMiddleware.d.ts +9 -0
  257. package/dist/HttpStatus/createHttpStatusMiddleware.js +109 -0
  258. package/dist/HttpStatus/createHttpStatusMiddleware.js.map +1 -0
  259. package/dist/HttpStatus/enrichHttpServerWithStatus.d.ts +15 -0
  260. package/dist/HttpStatus/enrichHttpServerWithStatus.js +114 -0
  261. package/dist/HttpStatus/enrichHttpServerWithStatus.js.map +1 -0
  262. package/dist/HttpStatus/sendStatusResponse.d.ts +5 -0
  263. package/dist/HttpStatus/sendStatusResponse.js +71 -0
  264. package/dist/HttpStatus/sendStatusResponse.js.map +1 -0
  265. package/dist/HttpStatus/status.d.ts +19 -0
  266. package/dist/HttpStatus/status.js +132 -0
  267. package/dist/HttpStatus/status.js.map +1 -0
  268. package/dist/HttpStatus/statuses/amqpStatus.d.ts +3 -0
  269. package/dist/HttpStatus/statuses/amqpStatus.js +35 -0
  270. package/dist/HttpStatus/statuses/amqpStatus.js.map +1 -0
  271. package/dist/HttpStatus/statuses/mongoStatus.d.ts +3 -0
  272. package/dist/HttpStatus/statuses/mongoStatus.js +35 -0
  273. package/dist/HttpStatus/statuses/mongoStatus.js.map +1 -0
  274. package/dist/HttpStatus/statuses/redisStatus.d.ts +3 -0
  275. package/dist/HttpStatus/statuses/redisStatus.js +35 -0
  276. package/dist/HttpStatus/statuses/redisStatus.js.map +1 -0
  277. package/dist/InfluxDB/IInfluxDB.d.ts +5 -0
  278. package/dist/InfluxDB/IInfluxDB.js +3 -0
  279. package/dist/InfluxDB/IInfluxDB.js.map +1 -0
  280. package/dist/InfluxDB/influxDBConnectionFactory.d.ts +9 -0
  281. package/dist/InfluxDB/influxDBConnectionFactory.js +83 -0
  282. package/dist/InfluxDB/influxDBConnectionFactory.js.map +1 -0
  283. package/dist/JSON/jsonHelper.d.ts +4 -0
  284. package/dist/JSON/jsonHelper.js +21 -0
  285. package/dist/JSON/jsonHelper.js.map +1 -0
  286. package/dist/Lib/Redis/connection.utils.d.ts +22 -0
  287. package/dist/Lib/Redis/connection.utils.js +95 -0
  288. package/dist/Lib/Redis/connection.utils.js.map +1 -0
  289. package/dist/Lib/String/string.d.ts +1 -0
  290. package/dist/Lib/String/string.js +6 -0
  291. package/dist/Lib/String/string.js.map +1 -0
  292. package/dist/Lock/lockedDecorator.d.ts +12 -0
  293. package/dist/Lock/lockedDecorator.js +150 -0
  294. package/dist/Lock/lockedDecorator.js.map +1 -0
  295. package/dist/Logging/console.d.ts +8 -0
  296. package/dist/Logging/console.js +50 -0
  297. package/dist/Logging/console.js.map +1 -0
  298. package/dist/Logging/debug.d.ts +10 -0
  299. package/dist/Logging/debug.js +61 -0
  300. package/dist/Logging/debug.js.map +1 -0
  301. package/dist/Logging/format.d.ts +10 -0
  302. package/dist/Logging/format.js +79 -0
  303. package/dist/Logging/format.js.map +1 -0
  304. package/dist/Logging/logger.d.ts +53 -0
  305. package/dist/Logging/logger.js +63 -0
  306. package/dist/Logging/logger.js.map +1 -0
  307. package/dist/Logging/logging.d.ts +12 -0
  308. package/dist/Logging/logging.js +113 -0
  309. package/dist/Logging/logging.js.map +1 -0
  310. package/dist/Metrics/MetricsClient.d.ts +46 -0
  311. package/dist/Metrics/MetricsClient.js +101 -0
  312. package/dist/Metrics/MetricsClient.js.map +1 -0
  313. package/dist/Metrics/deviceConsumerMetrics.d.ts +6 -0
  314. package/dist/Metrics/deviceConsumerMetrics.js +59 -0
  315. package/dist/Metrics/deviceConsumerMetrics.js.map +1 -0
  316. package/dist/Metrics/eventConsumerMetrics.d.ts +19 -0
  317. package/dist/Metrics/eventConsumerMetrics.js +52 -0
  318. package/dist/Metrics/eventConsumerMetrics.js.map +1 -0
  319. package/dist/Metrics/eventQueueMetrics.d.ts +7 -0
  320. package/dist/Metrics/eventQueueMetrics.js +19 -0
  321. package/dist/Metrics/eventQueueMetrics.js.map +1 -0
  322. package/dist/Metrics/logMetrics.d.ts +4 -0
  323. package/dist/Metrics/logMetrics.js +20 -0
  324. package/dist/Metrics/logMetrics.js.map +1 -0
  325. package/dist/Metrics/metrics.d.ts +84 -0
  326. package/dist/Metrics/metrics.js +255 -0
  327. package/dist/Metrics/metrics.js.map +1 -0
  328. package/dist/Metrics/mongoDBMetrics.d.ts +35 -0
  329. package/dist/Metrics/mongoDBMetrics.js +162 -0
  330. package/dist/Metrics/mongoDBMetrics.js.map +1 -0
  331. package/dist/Metrics/processSocketsMetrics.d.ts +10 -0
  332. package/dist/Metrics/processSocketsMetrics.js +92 -0
  333. package/dist/Metrics/processSocketsMetrics.js.map +1 -0
  334. package/dist/Metrics/redisMetrics.d.ts +13 -0
  335. package/dist/Metrics/redisMetrics.js +60 -0
  336. package/dist/Metrics/redisMetrics.js.map +1 -0
  337. package/dist/MongoDB/MongoDBConnection.d.ts +19 -0
  338. package/dist/MongoDB/MongoDBConnection.js +185 -0
  339. package/dist/MongoDB/MongoDBConnection.js.map +1 -0
  340. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.d.ts +2 -0
  341. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.js +106 -0
  342. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.js.map +1 -0
  343. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.d.ts +2 -0
  344. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.js +94 -0
  345. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.js.map +1 -0
  346. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.d.ts +2 -0
  347. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.js +80 -0
  348. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.js.map +1 -0
  349. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.d.ts +2 -0
  350. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.js +51 -0
  351. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.js.map +1 -0
  352. package/dist/MongoDB/ProprietaryCluster/helper.d.ts +13 -0
  353. package/dist/MongoDB/ProprietaryCluster/helper.js +147 -0
  354. package/dist/MongoDB/ProprietaryCluster/helper.js.map +1 -0
  355. package/dist/MongoDB/cursorIterator.d.ts +5 -0
  356. package/dist/MongoDB/cursorIterator.js +63 -0
  357. package/dist/MongoDB/cursorIterator.js.map +1 -0
  358. package/dist/MongoDB/escape.d.ts +4 -0
  359. package/dist/MongoDB/escape.js +54 -0
  360. package/dist/MongoDB/escape.js.map +1 -0
  361. package/dist/MongoDB/mongoDBConnectionFactory.d.ts +13 -0
  362. package/dist/MongoDB/mongoDBConnectionFactory.js +11 -0
  363. package/dist/MongoDB/mongoDBConnectionFactory.js.map +1 -0
  364. package/dist/MongoDB/proprietaryCluster.d.ts +1 -0
  365. package/dist/MongoDB/proprietaryCluster.js +76 -0
  366. package/dist/MongoDB/proprietaryCluster.js.map +1 -0
  367. package/dist/Npm/INpmClient.d.ts +25 -0
  368. package/dist/Npm/INpmClient.js +3 -0
  369. package/dist/Npm/INpmClient.js.map +1 -0
  370. package/dist/Npm/MockNpmClient.d.ts +17 -0
  371. package/dist/Npm/MockNpmClient.js +124 -0
  372. package/dist/Npm/MockNpmClient.js.map +1 -0
  373. package/dist/Npm/NpmClient.d.ts +14 -0
  374. package/dist/Npm/NpmClient.js +212 -0
  375. package/dist/Npm/NpmClient.js.map +1 -0
  376. package/dist/Npm/NpmCredentialsProvider.d.ts +18 -0
  377. package/dist/Npm/NpmCredentialsProvider.js +111 -0
  378. package/dist/Npm/NpmCredentialsProvider.js.map +1 -0
  379. package/dist/Observable/helpers.d.ts +3 -0
  380. package/dist/Observable/helpers.js +117 -0
  381. package/dist/Observable/helpers.js.map +1 -0
  382. package/dist/Parsers/parsers.d.ts +1 -0
  383. package/dist/Parsers/parsers.js +17 -0
  384. package/dist/Parsers/parsers.js.map +1 -0
  385. package/dist/Path/detector.d.ts +9 -0
  386. package/dist/Path/detector.js +78 -0
  387. package/dist/Path/detector.js.map +1 -0
  388. package/dist/Pool/IBasePool.d.ts +6 -0
  389. package/dist/Pool/IBasePool.js +3 -0
  390. package/dist/Pool/IBasePool.js.map +1 -0
  391. package/dist/Promise/cancelable.d.ts +4 -0
  392. package/dist/Promise/cancelable.js +21 -0
  393. package/dist/Promise/cancelable.js.map +1 -0
  394. package/dist/Promise/deferred.d.ts +4 -0
  395. package/dist/Promise/deferred.js +21 -0
  396. package/dist/Promise/deferred.js.map +1 -0
  397. package/dist/Promise/deferredStream.d.ts +4 -0
  398. package/dist/Promise/deferredStream.js +21 -0
  399. package/dist/Promise/deferredStream.js.map +1 -0
  400. package/dist/Promise/lock.d.ts +4 -0
  401. package/dist/Promise/lock.js +21 -0
  402. package/dist/Promise/lock.js.map +1 -0
  403. package/dist/Promise/timeoutable.d.ts +4 -0
  404. package/dist/Promise/timeoutable.js +21 -0
  405. package/dist/Promise/timeoutable.js.map +1 -0
  406. package/dist/Redis/DeviceActions/PostponedAction.d.ts +4 -0
  407. package/dist/Redis/DeviceActions/PostponedAction.js +3 -0
  408. package/dist/Redis/DeviceActions/PostponedAction.js.map +1 -0
  409. package/dist/Redis/DeviceActions/postponedDeviceActions.d.ts +8 -0
  410. package/dist/Redis/DeviceActions/postponedDeviceActions.js +333 -0
  411. package/dist/Redis/DeviceActions/postponedDeviceActions.js.map +1 -0
  412. package/dist/Redis/redisConnectionFactory.d.ts +41 -0
  413. package/dist/Redis/redisConnectionFactory.js +158 -0
  414. package/dist/Redis/redisConnectionFactory.js.map +1 -0
  415. package/dist/Redis/redisLock.d.ts +11 -0
  416. package/dist/Redis/redisLock.js +213 -0
  417. package/dist/Redis/redisLock.js.map +1 -0
  418. package/dist/Retry/retry.d.ts +28 -0
  419. package/dist/Retry/retry.js +154 -0
  420. package/dist/Retry/retry.js.map +1 -0
  421. package/dist/Rsync/copier.d.ts +1 -0
  422. package/dist/Rsync/copier.js +123 -0
  423. package/dist/Rsync/copier.js.map +1 -0
  424. package/dist/SemVer/SemVerLevel.d.ts +6 -0
  425. package/dist/SemVer/SemVerLevel.js +10 -0
  426. package/dist/SemVer/SemVerLevel.js.map +1 -0
  427. package/dist/SemVer/semVerConstants.d.ts +2 -0
  428. package/dist/SemVer/semVerConstants.js +9 -0
  429. package/dist/SemVer/semVerConstants.js.map +1 -0
  430. package/dist/SemVer/semVerHelper.d.ts +7 -0
  431. package/dist/SemVer/semVerHelper.js +82 -0
  432. package/dist/SemVer/semVerHelper.js.map +1 -0
  433. package/dist/Service/HTTP/express/app.d.ts +33 -0
  434. package/dist/Service/HTTP/express/app.js +82 -0
  435. package/dist/Service/HTTP/express/app.js.map +1 -0
  436. package/dist/Service/HTTP/express/expressFactory.d.ts +4 -0
  437. package/dist/Service/HTTP/express/expressFactory.js +22 -0
  438. package/dist/Service/HTTP/express/expressFactory.js.map +1 -0
  439. package/dist/Service/HTTP/express/monitoring.d.ts +8 -0
  440. package/dist/Service/HTTP/express/monitoring.js +25 -0
  441. package/dist/Service/HTTP/express/monitoring.js.map +1 -0
  442. package/dist/Service/HTTP/httpServerFactory.d.ts +54 -0
  443. package/dist/Service/HTTP/httpServerFactory.js +104 -0
  444. package/dist/Service/HTTP/httpServerFactory.js.map +1 -0
  445. package/dist/Service/HTTP/middleware/accessLogMiddleware.d.ts +20 -0
  446. package/dist/Service/HTTP/middleware/accessLogMiddleware.js +90 -0
  447. package/dist/Service/HTTP/middleware/accessLogMiddleware.js.map +1 -0
  448. package/dist/Service/HTTP/middleware/headersMiddleware.d.ts +2 -0
  449. package/dist/Service/HTTP/middleware/headersMiddleware.js +18 -0
  450. package/dist/Service/HTTP/middleware/headersMiddleware.js.map +1 -0
  451. package/dist/Service/HTTP/routes/app/indexPage.d.ts +7 -0
  452. package/dist/Service/HTTP/routes/app/indexPage.js +12 -0
  453. package/dist/Service/HTTP/routes/app/indexPage.js.map +1 -0
  454. package/dist/Service/HTTP/routes/app/router.d.ts +14 -0
  455. package/dist/Service/HTTP/routes/app/router.js +12 -0
  456. package/dist/Service/HTTP/routes/app/router.js.map +1 -0
  457. package/dist/Service/HTTP/routes/app/status.d.ts +13 -0
  458. package/dist/Service/HTTP/routes/app/status.js +44 -0
  459. package/dist/Service/HTTP/routes/app/status.js.map +1 -0
  460. package/dist/Service/HTTP/routes/monitoring/aliveness.d.ts +20 -0
  461. package/dist/Service/HTTP/routes/monitoring/aliveness.js +75 -0
  462. package/dist/Service/HTTP/routes/monitoring/aliveness.js.map +1 -0
  463. package/dist/Service/HTTP/routes/monitoring/metrics.d.ts +9 -0
  464. package/dist/Service/HTTP/routes/monitoring/metrics.js +59 -0
  465. package/dist/Service/HTTP/routes/monitoring/metrics.js.map +1 -0
  466. package/dist/Service/HTTP/routes/monitoring/readniness.d.ts +18 -0
  467. package/dist/Service/HTTP/routes/monitoring/readniness.js +80 -0
  468. package/dist/Service/HTTP/routes/monitoring/readniness.js.map +1 -0
  469. package/dist/Service/HTTP/routes/monitoring/router.d.ts +10 -0
  470. package/dist/Service/HTTP/routes/monitoring/router.js +12 -0
  471. package/dist/Service/HTTP/routes/monitoring/router.js.map +1 -0
  472. package/dist/Service/HTTP/server/serverFactory.d.ts +10 -0
  473. package/dist/Service/HTTP/server/serverFactory.js +133 -0
  474. package/dist/Service/HTTP/server/serverFactory.js.map +1 -0
  475. package/dist/Service/Service.d.ts +17 -0
  476. package/dist/Service/Service.js +97 -0
  477. package/dist/Service/Service.js.map +1 -0
  478. package/dist/Service/dbConnections.d.ts +8 -0
  479. package/dist/Service/dbConnections.js +3 -0
  480. package/dist/Service/dbConnections.js.map +1 -0
  481. package/dist/Service/metrics/connections.d.ts +3 -0
  482. package/dist/Service/metrics/connections.js +47 -0
  483. package/dist/Service/metrics/connections.js.map +1 -0
  484. package/dist/Service/metrics/mongodb.d.ts +2 -0
  485. package/dist/Service/metrics/mongodb.js +13 -0
  486. package/dist/Service/metrics/mongodb.js.map +1 -0
  487. package/dist/Service/metrics/redis.d.ts +2 -0
  488. package/dist/Service/metrics/redis.js +11 -0
  489. package/dist/Service/metrics/redis.js.map +1 -0
  490. package/dist/Service/process.d.ts +11 -0
  491. package/dist/Service/process.js +88 -0
  492. package/dist/Service/process.js.map +1 -0
  493. package/dist/Service/serviceFactory.d.ts +115 -0
  494. package/dist/Service/serviceFactory.js +118 -0
  495. package/dist/Service/serviceFactory.js.map +1 -0
  496. package/dist/Service/types.d.ts +55 -0
  497. package/dist/Service/types.js +3 -0
  498. package/dist/Service/types.js.map +1 -0
  499. package/dist/Storage/IArrayStorage.d.ts +7 -0
  500. package/dist/Storage/IArrayStorage.js +3 -0
  501. package/dist/Storage/IArrayStorage.js.map +1 -0
  502. package/dist/Storage/MemoryArrayStorage.d.ts +9 -0
  503. package/dist/Storage/MemoryArrayStorage.js +22 -0
  504. package/dist/Storage/MemoryArrayStorage.js.map +1 -0
  505. package/dist/String/pad.d.ts +1 -0
  506. package/dist/String/pad.js +7 -0
  507. package/dist/String/pad.js.map +1 -0
  508. package/dist/String/string.d.ts +3 -0
  509. package/dist/String/string.js +17 -0
  510. package/dist/String/string.js.map +1 -0
  511. package/dist/String/webalize.d.ts +1 -0
  512. package/dist/String/webalize.js +15 -0
  513. package/dist/String/webalize.js.map +1 -0
  514. package/dist/String/word.d.ts +32 -0
  515. package/dist/String/word.js +97 -0
  516. package/dist/String/word.js.map +1 -0
  517. package/dist/System/signalSender.d.ts +1 -0
  518. package/dist/System/signalSender.js +7 -0
  519. package/dist/System/signalSender.js.map +1 -0
  520. package/dist/ThirdParty/connection.d.ts +28 -0
  521. package/dist/ThirdParty/connection.js +9 -0
  522. package/dist/ThirdParty/connection.js.map +1 -0
  523. package/dist/Timer/Power/PowerTimerSettings.d.ts +29 -0
  524. package/dist/Timer/Power/PowerTimerSettings.js +3 -0
  525. package/dist/Timer/Power/PowerTimerSettings.js.map +1 -0
  526. package/dist/Timer/Power/PowerTimerType.d.ts +2 -0
  527. package/dist/Timer/Power/PowerTimerType.js +3 -0
  528. package/dist/Timer/Power/PowerTimerType.js.map +1 -0
  529. package/dist/Timer/Power/PowerTimerWeekday.d.ts +18 -0
  530. package/dist/Timer/Power/PowerTimerWeekday.js +18 -0
  531. package/dist/Timer/Power/PowerTimerWeekday.js.map +1 -0
  532. package/dist/Timer/Power/PowerTimerWeekdayEnum.d.ts +28 -0
  533. package/dist/Timer/Power/PowerTimerWeekdayEnum.js +32 -0
  534. package/dist/Timer/Power/PowerTimerWeekdayEnum.js.map +1 -0
  535. package/dist/Timer/Power/TimerEventWeekdayNumber.d.ts +9 -0
  536. package/dist/Timer/Power/TimerEventWeekdayNumber.js +14 -0
  537. package/dist/Timer/Power/TimerEventWeekdayNumber.js.map +1 -0
  538. package/dist/Timer/Power/powerTimerComputer.d.ts +36 -0
  539. package/dist/Timer/Power/powerTimerComputer.js +141 -0
  540. package/dist/Timer/Power/powerTimerComputer.js.map +1 -0
  541. package/dist/Timer/convertWeekday.d.ts +25 -0
  542. package/dist/Timer/convertWeekday.js +211 -0
  543. package/dist/Timer/convertWeekday.js.map +1 -0
  544. package/dist/Timer/converters.d.ts +44 -0
  545. package/dist/Timer/converters.js +72 -0
  546. package/dist/Timer/converters.js.map +1 -0
  547. package/dist/Timer/increasingInterval.d.ts +2 -0
  548. package/dist/Timer/increasingInterval.js +108 -0
  549. package/dist/Timer/increasingInterval.js.map +1 -0
  550. package/dist/Timer/nonConcurrentInterval.d.ts +4 -0
  551. package/dist/Timer/nonConcurrentInterval.js +73 -0
  552. package/dist/Timer/nonConcurrentInterval.js.map +1 -0
  553. package/dist/Timer/progressiveWait.d.ts +40 -0
  554. package/dist/Timer/progressiveWait.js +96 -0
  555. package/dist/Timer/progressiveWait.js.map +1 -0
  556. package/dist/Timer/timeout.d.ts +4 -0
  557. package/dist/Timer/timeout.js +21 -0
  558. package/dist/Timer/timeout.js.map +1 -0
  559. package/dist/Timer/wait.d.ts +5 -0
  560. package/dist/Timer/wait.js +27 -0
  561. package/dist/Timer/wait.js.map +1 -0
  562. package/dist/TypeScript/asyncIterator.d.ts +1 -0
  563. package/dist/TypeScript/asyncIterator.js +76 -0
  564. package/dist/TypeScript/asyncIterator.js.map +1 -0
  565. package/dist/TypeScript/expect.d.ts +6 -0
  566. package/dist/TypeScript/expect.js +12 -0
  567. package/dist/TypeScript/expect.js.map +1 -0
  568. package/dist/TypeScript/generator.d.ts +1 -0
  569. package/dist/TypeScript/generator.js +20 -0
  570. package/dist/TypeScript/generator.js.map +1 -0
  571. package/dist/TypeScript/object.d.ts +12 -0
  572. package/dist/TypeScript/object.js +3 -0
  573. package/dist/TypeScript/object.js.map +1 -0
  574. package/dist/TypeScript/observable-polyfill.d.ts +1 -0
  575. package/dist/TypeScript/observable-polyfill.js +33 -0
  576. package/dist/TypeScript/observable-polyfill.js.map +1 -0
  577. package/dist/Utils/array.d.ts +2 -0
  578. package/dist/Utils/array.js +23 -0
  579. package/dist/Utils/array.js.map +1 -0
  580. package/dist/Utils/enum.d.ts +24 -0
  581. package/dist/Utils/enum.js +35 -0
  582. package/dist/Utils/enum.js.map +1 -0
  583. package/dist/Utils/file.d.ts +1 -0
  584. package/dist/Utils/file.js +55 -0
  585. package/dist/Utils/file.js.map +1 -0
  586. package/dist/Utils/http.d.ts +23 -0
  587. package/dist/Utils/http.js +68 -0
  588. package/dist/Utils/http.js.map +1 -0
  589. package/dist/Utils/object.d.ts +22 -0
  590. package/dist/Utils/object.js +112 -0
  591. package/dist/Utils/object.js.map +1 -0
  592. package/dist/Utils/sorting.d.ts +1 -0
  593. package/dist/Utils/sorting.js +33 -0
  594. package/dist/Utils/sorting.js.map +1 -0
  595. package/dist/WebSocket/Client/ISocket.d.ts +55 -0
  596. package/dist/WebSocket/Client/ISocket.js +46 -0
  597. package/dist/WebSocket/Client/ISocket.js.map +1 -0
  598. package/dist/WebSocket/Client/SocketIO/createSocketIOSocket.d.ts +8 -0
  599. package/dist/WebSocket/Client/SocketIO/createSocketIOSocket.js +81 -0
  600. package/dist/WebSocket/Client/SocketIO/createSocketIOSocket.js.map +1 -0
  601. package/dist/WebSocket/Client/WS/AutoReconnectingWSSocket.d.ts +25 -0
  602. package/dist/WebSocket/Client/WS/AutoReconnectingWSSocket.js +174 -0
  603. package/dist/WebSocket/Client/WS/AutoReconnectingWSSocket.js.map +1 -0
  604. package/dist/WebSocket/Client/WS/createWSSocket.d.ts +8 -0
  605. package/dist/WebSocket/Client/WS/createWSSocket.js +155 -0
  606. package/dist/WebSocket/Client/WS/createWSSocket.js.map +1 -0
  607. package/dist/WebSocket/autoWsServerFactory.d.ts +4 -0
  608. package/dist/WebSocket/autoWsServerFactory.js +334 -0
  609. package/dist/WebSocket/autoWsServerFactory.js.map +1 -0
  610. package/dist/WebSocket/perMessageDeflate.d.ts +14 -0
  611. package/dist/WebSocket/perMessageDeflate.js +3 -0
  612. package/dist/WebSocket/perMessageDeflate.js.map +1 -0
  613. package/dist/WebSocket/socketIOServerFactory.d.ts +6 -0
  614. package/dist/WebSocket/socketIOServerFactory.js +124 -0
  615. package/dist/WebSocket/socketIOServerFactory.js.map +1 -0
  616. package/dist/WebSocket/socketServer.d.ts +30 -0
  617. package/dist/WebSocket/socketServer.js +3 -0
  618. package/dist/WebSocket/socketServer.js.map +1 -0
  619. package/dist/WebSocket/wsServerFactory.d.ts +8 -0
  620. package/dist/WebSocket/wsServerFactory.js +272 -0
  621. package/dist/WebSocket/wsServerFactory.js.map +1 -0
  622. package/dist/Webpack/NpmPackPlugin.d.ts +14 -0
  623. package/dist/Webpack/NpmPackPlugin.js +90 -0
  624. package/dist/Webpack/NpmPackPlugin.js.map +1 -0
  625. package/dist/Zod/zod.d.ts +2 -0
  626. package/dist/Zod/zod.js +7 -0
  627. package/dist/Zod/zod.js.map +1 -0
  628. package/dist/Zod/zodError.d.ts +40 -0
  629. package/dist/Zod/zodError.js +76 -0
  630. package/dist/Zod/zodError.js.map +1 -0
  631. package/package.json +36 -2
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.LockedEventConsumer = void 0;
54
+ var eventQueueDomain_1 = require("../eventQueueDomain");
55
+ var debug_1 = __importDefault(require("debug"));
56
+ var deferredState_1 = require("./deferredState");
57
+ var withLock_1 = require("./withLock");
58
+ var eventConsumerMetrics_1 = require("../../../Metrics/eventConsumerMetrics");
59
+ var rejectedTimestamps_1 = require("./rejectedTimestamps");
60
+ var debug = (0, debug_1.default)('@signageos/lib:AMQP:EventSourcing:Locked:LockedEventConsumer');
61
+ /**
62
+ * The default values for the bind options doesn't allow concurrent processing of events.
63
+ */
64
+ var DEFAULT_BIND_OPTIONS = {
65
+ mainPrefetchCount: 1,
66
+ distributedPrefetchCount: 0,
67
+ redeliverDelayMs: 30e3,
68
+ legacyNotification: false,
69
+ };
70
+ var mainEventQueueBindOptions = {
71
+ queueType: 'quorum',
72
+ singleActiveConsumer: true,
73
+ deadLetterIfErred: true,
74
+ };
75
+ var distributedEventQueueBindOptions = {
76
+ queueType: 'classic',
77
+ singleActiveConsumer: false,
78
+ durable: false,
79
+ };
80
+ var DEFAULT_LOCK_KEY = '$default';
81
+ /**
82
+ * Event consumer that consumes events in a locked manner with timestamp-based ordering.
83
+ *
84
+ * It ensures that only one event with the same lockKey is processed at a time.
85
+ * Practically, it means that events with the same lockKey are processed sequentially.
86
+ * However, events with different lockKeys can be processed in parallel.
87
+ *
88
+ * The consumer includes a rejection mechanism that prevents processing events out of order
89
+ * when temporary failures occur (e.g., MongoDB transaction failures). Failed events are
90
+ * sent to rejected queues (dead-letter queues) and their timestamps are tracked to ensure
91
+ * later events with the same lockKeys wait until earlier failed events are resolved.
92
+ *
93
+ * Internal implementation uses 2 separate queues (if distributedPrefetchCount > 0):
94
+ * - Main queue for distributing events to distributed queue
95
+ * - Distributed queue for processing events
96
+ *
97
+ * The main queue is "Single Active Consumer" and is locking the event processing based on lockKeys field of the event.
98
+ * So the order of events is preserved based on the lockKeys.
99
+ * However, the distributed queue is not locking the event processing and is processing across multiple consumers at the same time.
100
+ * Messages in the distributed queue are transient. In case of failure, they are not lost because the main queue is persistent
101
+ * and is not acked until the distributed queue acks the message.
102
+ */
103
+ var LockedEventConsumer = /** @class */ (function () {
104
+ function LockedEventConsumer(amqpConnection) {
105
+ this.amqpConnection = amqpConnection;
106
+ this.withLock = (0, withLock_1.createWithLock)({ deferredState: new deferredState_1.DeferredState(), rejectedTimestamps: new rejectedTimestamps_1.RejectedTimestamps() });
107
+ }
108
+ LockedEventConsumer.prototype.bind = function (eventTypes_1, domainName_1, consumerType_1, onEvent_1) {
109
+ return __awaiter(this, arguments, void 0, function (eventTypes, domainName, consumerType, onEvent, bindOptions) {
110
+ var mainBindOptions, distributedBindOptions, consumeEvent, cancelConsumptions, cancelMain, distributeEvent, cancelDistributed, cancelMain;
111
+ var _this = this;
112
+ var _a;
113
+ if (bindOptions === void 0) { bindOptions = DEFAULT_BIND_OPTIONS; }
114
+ return __generator(this, function (_b) {
115
+ switch (_b.label) {
116
+ case 0:
117
+ bindOptions = __assign(__assign({}, DEFAULT_BIND_OPTIONS), bindOptions);
118
+ return [4 /*yield*/, (0, eventQueueDomain_1.prepareRejectedDomain)(this.amqpConnection, domainName, consumerType, {
119
+ redeliverDelayMs: (_a = bindOptions.redeliverDelayMs) !== null && _a !== void 0 ? _a : DEFAULT_BIND_OPTIONS.redeliverDelayMs,
120
+ })];
121
+ case 1:
122
+ _b.sent();
123
+ mainBindOptions = this.createMainBindOptions(bindOptions);
124
+ distributedBindOptions = this.createDistributedBindOptions(bindOptions);
125
+ consumeEvent = this.createConsumeEvent(domainName, consumerType, mainBindOptions, onEvent);
126
+ cancelConsumptions = [];
127
+ if (!(bindOptions.distributedPrefetchCount === 0)) return [3 /*break*/, 3];
128
+ return [4 /*yield*/, (0, eventQueueDomain_1.bindDomain)(this.amqpConnection, eventTypes, domainName, consumerType, consumeEvent, mainBindOptions)];
129
+ case 2:
130
+ cancelMain = _b.sent();
131
+ cancelConsumptions.push(cancelMain);
132
+ return [3 /*break*/, 6];
133
+ case 3:
134
+ distributeEvent = this.createDistributeEvent(domainName, consumerType, distributedBindOptions);
135
+ return [4 /*yield*/, (0, eventQueueDomain_1.bindRPCDomain)(this.amqpConnection, domainName, consumerType, consumeEvent, distributedBindOptions)];
136
+ case 4:
137
+ cancelDistributed = _b.sent();
138
+ return [4 /*yield*/, (0, eventQueueDomain_1.bindDomain)(this.amqpConnection, eventTypes, domainName, consumerType, distributeEvent, mainBindOptions)];
139
+ case 5:
140
+ cancelMain = _b.sent();
141
+ cancelConsumptions.push(cancelDistributed);
142
+ cancelConsumptions.push(cancelMain);
143
+ _b.label = 6;
144
+ case 6: return [2 /*return*/, function () { return __awaiter(_this, void 0, void 0, function () {
145
+ var closeChannels;
146
+ var _this = this;
147
+ return __generator(this, function (_a) {
148
+ switch (_a.label) {
149
+ case 0: return [4 /*yield*/, Promise.all(cancelConsumptions.map(function (cancel) { return cancel(); }))];
150
+ case 1:
151
+ closeChannels = _a.sent();
152
+ return [2 /*return*/, function () { return __awaiter(_this, void 0, void 0, function () {
153
+ return __generator(this, function (_a) {
154
+ switch (_a.label) {
155
+ case 0: return [4 /*yield*/, Promise.all(closeChannels.map(function (close) { return close(); }))];
156
+ case 1:
157
+ _a.sent();
158
+ return [2 /*return*/];
159
+ }
160
+ });
161
+ }); }];
162
+ }
163
+ });
164
+ }); }];
165
+ }
166
+ });
167
+ });
168
+ };
169
+ LockedEventConsumer.prototype.createMainBindOptions = function (bindOptions) {
170
+ var _a;
171
+ return __assign(__assign({}, mainEventQueueBindOptions), { prefetchCount: bindOptions.mainPrefetchCount, notification: (_a = bindOptions.legacyNotification) !== null && _a !== void 0 ? _a : false });
172
+ };
173
+ LockedEventConsumer.prototype.createConsumeEvent = function (domainName, consumerType, bindOptions, onEvent) {
174
+ var _this = this;
175
+ return function (event) { return __awaiter(_this, void 0, void 0, function () {
176
+ var start, commandStart, logMetadata, e_1;
177
+ return __generator(this, function (_a) {
178
+ switch (_a.label) {
179
+ case 0:
180
+ start = new Date().getTime();
181
+ eventConsumerMetrics_1.metrics.emit('events_total', { eventType: event.type });
182
+ eventConsumerMetrics_1.metrics.emit('event_duration_seconds_total', { eventType: event.type, phase: 'eventStart' }, start - event.receivedAt.getTime());
183
+ commandStart = event.receivedAt.getTime() - event.dispatchedAt.getTime();
184
+ if (commandStart !== 0) {
185
+ eventConsumerMetrics_1.metrics.emit('event_duration_seconds_total', { eventType: event.type, phase: 'commandStart' }, event.receivedAt.getTime() - event.dispatchedAt.getTime());
186
+ }
187
+ logMetadata = {
188
+ domainName: domainName,
189
+ consumerType: consumerType,
190
+ bindOptions: bindOptions,
191
+ event: event,
192
+ };
193
+ debug("Consuming event ".concat(event.type, " from ").concat(domainName, ".").concat(consumerType), logMetadata);
194
+ _a.label = 1;
195
+ case 1:
196
+ _a.trys.push([1, 3, 4, 5]);
197
+ return [4 /*yield*/, onEvent(event)];
198
+ case 2:
199
+ _a.sent();
200
+ eventConsumerMetrics_1.metrics.emit('event_success_total', { eventType: event.type });
201
+ return [3 /*break*/, 5];
202
+ case 3:
203
+ e_1 = _a.sent();
204
+ eventConsumerMetrics_1.metrics.emit('event_error_total', { eventType: event.type });
205
+ debug("Error consuming event ".concat(event.type, " from ").concat(domainName, ".").concat(consumerType), logMetadata);
206
+ throw e_1;
207
+ case 4:
208
+ eventConsumerMetrics_1.metrics.emit('event_duration_seconds_total', { eventType: event.type, phase: 'processing' }, new Date().getTime() - start);
209
+ eventConsumerMetrics_1.metrics.emit('event_duration_seconds', { eventType: event.type }, new Date().getTime() - start);
210
+ return [7 /*endfinally*/];
211
+ case 5: return [2 /*return*/];
212
+ }
213
+ });
214
+ }); };
215
+ };
216
+ LockedEventConsumer.prototype.createDistributedBindOptions = function (bindOptions) {
217
+ return __assign(__assign({}, distributedEventQueueBindOptions), { prefetchCount: bindOptions.distributedPrefetchCount });
218
+ };
219
+ LockedEventConsumer.prototype.createDistributeEvent = function (domainName, consumerType, bindOptions) {
220
+ var _this = this;
221
+ return function (event) { return __awaiter(_this, void 0, void 0, function () {
222
+ var logMetadata, lockKeys;
223
+ var _this = this;
224
+ var _a;
225
+ return __generator(this, function (_b) {
226
+ switch (_b.label) {
227
+ case 0:
228
+ logMetadata = {
229
+ domainName: domainName,
230
+ consumerType: consumerType,
231
+ bindOptions: bindOptions,
232
+ event: event,
233
+ };
234
+ debug("Received event ".concat(event.type, " to ").concat(domainName, ".").concat(consumerType), logMetadata);
235
+ lockKeys = (_a = event.lockKeys) !== null && _a !== void 0 ? _a : [DEFAULT_LOCK_KEY];
236
+ return [4 /*yield*/, this.withLock(lockKeys, event, function () { return __awaiter(_this, void 0, void 0, function () {
237
+ return __generator(this, function (_a) {
238
+ switch (_a.label) {
239
+ case 0:
240
+ debug("Distributing event ".concat(event.type, " to ").concat(domainName, ".").concat(consumerType), logMetadata);
241
+ // TODO Add timeout for processing event, because it can be stucked until the instance is restarted
242
+ return [4 /*yield*/, (0, eventQueueDomain_1.processRPCDomain)(this.amqpConnection, domainName, consumerType, event, { persistent: false })];
243
+ case 1:
244
+ // TODO Add timeout for processing event, because it can be stucked until the instance is restarted
245
+ _a.sent();
246
+ return [2 /*return*/];
247
+ }
248
+ });
249
+ }); })];
250
+ case 1:
251
+ _b.sent();
252
+ debug("Distributed event consumed ".concat(event.type, " to ").concat(domainName, ".").concat(consumerType), logMetadata);
253
+ return [2 /*return*/];
254
+ }
255
+ });
256
+ }); };
257
+ };
258
+ return LockedEventConsumer;
259
+ }());
260
+ exports.LockedEventConsumer = LockedEventConsumer;
261
+ //# sourceMappingURL=lockedEventConsumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lockedEventConsumer.js","sourceRoot":"","sources":["../../../../src/AMQP/EventSourcing/Locked/lockedEventConsumer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ITimestamp } from '../synchronization';
2
+ /**
3
+ * A stateful class used for temporary storing of rejected consumptions of lockedEventConsumer
4
+ * to prevent processing/consuming events in incorrect order based on random (temporary) failing events.
5
+ *
6
+ * This class helps maintain event ordering by keeping track of rejected events' timestamps,
7
+ * ensuring that later events cannot be processed until earlier failed events are resolved.
8
+ * It has to be sideloaded to __rejected queues (dead-letter queues) so it doesn't affect
9
+ * processing of other events with different lockKeys.
10
+ *
11
+ * The main goal is to react as soon as possible and skip failing events, but continue
12
+ * processing others to prevent downtimes or outages. This implementation should only slow down
13
+ * or block a single lockDomain without significantly affecting others.
14
+ *
15
+ * Usually, the errors are temporary (for example MongoDB transactions), so this keeps in memory
16
+ * the last rejected events' timestamps to know that later events cannot be processed yet (by lockKeys).
17
+ */
18
+ export declare class RejectedTimestamps {
19
+ private rejectedTimestamps;
20
+ addRejection(lockKeys: string[], timestamp: ITimestamp): void;
21
+ removeRejection(lockKeys: string[], timestamp: ITimestamp): void;
22
+ previousWasRejected(lockKeys: string[], timestamp: ITimestamp): boolean;
23
+ private compareTimestamps;
24
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RejectedTimestamps = void 0;
4
+ /**
5
+ * A stateful class used for temporary storing of rejected consumptions of lockedEventConsumer
6
+ * to prevent processing/consuming events in incorrect order based on random (temporary) failing events.
7
+ *
8
+ * This class helps maintain event ordering by keeping track of rejected events' timestamps,
9
+ * ensuring that later events cannot be processed until earlier failed events are resolved.
10
+ * It has to be sideloaded to __rejected queues (dead-letter queues) so it doesn't affect
11
+ * processing of other events with different lockKeys.
12
+ *
13
+ * The main goal is to react as soon as possible and skip failing events, but continue
14
+ * processing others to prevent downtimes or outages. This implementation should only slow down
15
+ * or block a single lockDomain without significantly affecting others.
16
+ *
17
+ * Usually, the errors are temporary (for example MongoDB transactions), so this keeps in memory
18
+ * the last rejected events' timestamps to know that later events cannot be processed yet (by lockKeys).
19
+ */
20
+ var RejectedTimestamps = /** @class */ (function () {
21
+ function RejectedTimestamps() {
22
+ this.rejectedTimestamps = new Map();
23
+ }
24
+ RejectedTimestamps.prototype.addRejection = function (lockKeys, timestamp) {
25
+ for (var _i = 0, lockKeys_1 = lockKeys; _i < lockKeys_1.length; _i++) {
26
+ var key = lockKeys_1[_i];
27
+ this.rejectedTimestamps.set(key, timestamp);
28
+ }
29
+ };
30
+ RejectedTimestamps.prototype.removeRejection = function (lockKeys, timestamp) {
31
+ for (var _i = 0, lockKeys_2 = lockKeys; _i < lockKeys_2.length; _i++) {
32
+ var key = lockKeys_2[_i];
33
+ var rejectedTimestamp = this.rejectedTimestamps.get(key);
34
+ if (rejectedTimestamp && this.compareTimestamps(rejectedTimestamp, timestamp) === 0) {
35
+ this.rejectedTimestamps.delete(key);
36
+ }
37
+ }
38
+ };
39
+ RejectedTimestamps.prototype.previousWasRejected = function (lockKeys, timestamp) {
40
+ for (var _i = 0, lockKeys_3 = lockKeys; _i < lockKeys_3.length; _i++) {
41
+ var key = lockKeys_3[_i];
42
+ var rejectedTimestamp = this.rejectedTimestamps.get(key);
43
+ if (rejectedTimestamp && this.compareTimestamps(rejectedTimestamp, timestamp) < 0) {
44
+ return true;
45
+ }
46
+ }
47
+ return false;
48
+ };
49
+ RejectedTimestamps.prototype.compareTimestamps = function (ts1, ts2) {
50
+ if (ts1.receivedAt.valueOf() === ts2.receivedAt.valueOf() && ts1.secondaryIndex === ts2.secondaryIndex) {
51
+ return 0;
52
+ }
53
+ else if (ts1.receivedAt.valueOf() < ts2.receivedAt.valueOf() ||
54
+ (ts1.receivedAt.valueOf() === ts2.receivedAt.valueOf() && ts1.secondaryIndex < ts2.secondaryIndex)) {
55
+ return -1;
56
+ }
57
+ else {
58
+ return 1;
59
+ }
60
+ };
61
+ return RejectedTimestamps;
62
+ }());
63
+ exports.RejectedTimestamps = RejectedTimestamps;
64
+ //# sourceMappingURL=rejectedTimestamps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rejectedTimestamps.js","sourceRoot":"","sources":["../../../../src/AMQP/EventSourcing/Locked/rejectedTimestamps.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;GAeG;AACH;IAAA;QACS,uBAAkB,GAA4B,IAAI,GAAG,EAAE,CAAC;IAuCjE,CAAC;IArCO,yCAAY,GAAnB,UAAoB,QAAkB,EAAE,SAAqB;QAC5D,KAAkB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE,CAAC;YAAxB,IAAM,GAAG,iBAAA;YACb,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAEM,4CAAe,GAAtB,UAAuB,QAAkB,EAAE,SAAqB;QAC/D,KAAkB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE,CAAC;YAAxB,IAAM,GAAG,iBAAA;YACb,IAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrF,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;IACF,CAAC;IAEM,gDAAmB,GAA1B,UAA2B,QAAkB,EAAE,SAAqB;QACnE,KAAkB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE,CAAC;YAAxB,IAAM,GAAG,iBAAA;YACb,IAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnF,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,8CAAiB,GAAzB,UAA0B,GAAe,EAAE,GAAe;QACzD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC,cAAc,EAAE,CAAC;YACxG,OAAO,CAAC,CAAC;QACV,CAAC;aAAM,IACN,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE;YACnD,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC,EACjG,CAAC;YACF,OAAO,CAAC,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IACF,yBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,gDAAkB"}
@@ -0,0 +1,42 @@
1
+ import { DeferredState } from './deferredState';
2
+ import { RejectedTimestamps } from './rejectedTimestamps';
3
+ import { ITimestamp } from '../synchronization';
4
+ /**
5
+ * Function type that executes a callback with locking and timestamp-based ordering.
6
+ *
7
+ * @param lockKeys - Array of lock keys that determine which events should be processed sequentially
8
+ * @param timestamp - Event timestamp used for ordering and rejection tracking
9
+ * @param callback - The async function to execute within the lock
10
+ */
11
+ export type WithLock = (lockKeys: string[], timestamp: ITimestamp, callback: () => Promise<void>) => Promise<void>;
12
+ /**
13
+ * Configuration object for creating a withLock function.
14
+ */
15
+ type WithLockArgs = {
16
+ /** State manager for deferred promises */
17
+ deferredState: DeferredState;
18
+ /** Timestamp tracker for rejected events */
19
+ rejectedTimestamps: RejectedTimestamps;
20
+ };
21
+ /**
22
+ * Creates a locking function that uses deferredState for managing deferred promises and
23
+ * rejectedTimestamps for handling timestamp-based event ordering.
24
+ *
25
+ * The returned function will:
26
+ * 1. Wait for all previous promises with the same lock-keys to finish before executing the callback
27
+ * 2. Check if previous events with the same lock-keys were rejected based on timestamps
28
+ * 3. If the callback throws an error, all subsequent waiting promises with the same lock-keys will be rejected
29
+ * 4. Store rejection timestamps to prevent processing later events until earlier ones are resolved
30
+ *
31
+ * This ensures proper event ordering and prevents processing events out of sequence when temporary
32
+ * failures occur (e.g., MongoDB transaction failures).
33
+ */
34
+ export declare const createWithLock: ({ deferredState, rejectedTimestamps }: WithLockArgs) => (lockKeys: string[], timestamp: ITimestamp, callback: () => Promise<void>) => Promise<void>;
35
+ /**
36
+ * Error thrown when a previous promise with the same lock keys failed,
37
+ * causing subsequent promises to be rejected to maintain event ordering.
38
+ */
39
+ export declare class WithLockPreviousError extends Error {
40
+ constructor(lockKeys: string[]);
41
+ }
42
+ export {};
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.WithLockPreviousError = exports.createWithLock = void 0;
58
+ var debug_1 = __importDefault(require("debug"));
59
+ var debug = (0, debug_1.default)('@signageos/lib:AMQP:EventSourcing:Locked:withLock');
60
+ /**
61
+ * Creates a locking function that uses deferredState for managing deferred promises and
62
+ * rejectedTimestamps for handling timestamp-based event ordering.
63
+ *
64
+ * The returned function will:
65
+ * 1. Wait for all previous promises with the same lock-keys to finish before executing the callback
66
+ * 2. Check if previous events with the same lock-keys were rejected based on timestamps
67
+ * 3. If the callback throws an error, all subsequent waiting promises with the same lock-keys will be rejected
68
+ * 4. Store rejection timestamps to prevent processing later events until earlier ones are resolved
69
+ *
70
+ * This ensures proper event ordering and prevents processing events out of sequence when temporary
71
+ * failures occur (e.g., MongoDB transaction failures).
72
+ */
73
+ var createWithLock = function (_a) {
74
+ var deferredState = _a.deferredState, rejectedTimestamps = _a.rejectedTimestamps;
75
+ return function (lockKeys, timestamp, callback) { return __awaiter(void 0, void 0, void 0, function () {
76
+ var previousPromises, currentDeferred, error_1;
77
+ return __generator(this, function (_a) {
78
+ switch (_a.label) {
79
+ case 0:
80
+ previousPromises = deferredState.getPreviousPromises(lockKeys);
81
+ currentDeferred = deferredState.addDeferred(lockKeys);
82
+ _a.label = 1;
83
+ case 1:
84
+ _a.trys.push([1, , 7, 8]);
85
+ // Wait for all previous promises with the same lock-keys to finish
86
+ return [4 /*yield*/, Promise.all(previousPromises)];
87
+ case 2:
88
+ // Wait for all previous promises with the same lock-keys to finish
89
+ _a.sent();
90
+ if (rejectedTimestamps.previousWasRejected(lockKeys, timestamp)) {
91
+ debug('Error in previous locked callback', { lockKeys: lockKeys, timestamp: timestamp });
92
+ currentDeferred.reject(new WithLockPreviousError(lockKeys));
93
+ throw new Error("Previous callback with same lock-key ".concat(lockKeys.join(','), " failed."));
94
+ }
95
+ _a.label = 3;
96
+ case 3:
97
+ _a.trys.push([3, 5, , 6]);
98
+ debug('Starting locked callback', { lockKeys: lockKeys });
99
+ return [4 /*yield*/, callback()];
100
+ case 4:
101
+ _a.sent();
102
+ debug('Finished locked callback', { lockKeys: lockKeys });
103
+ // Resolve the current deferred to allow the next promise to proceed
104
+ currentDeferred.resolve();
105
+ return [3 /*break*/, 6];
106
+ case 5:
107
+ error_1 = _a.sent();
108
+ debug('Error in locked callback', { lockKeys: lockKeys, error: error_1 });
109
+ // Reject all subsequent waiting promises with the same lock-keys in the same order
110
+ currentDeferred.reject(new WithLockPreviousError(lockKeys));
111
+ // Store current event timestamp (receivedAt + secondaryIndex) in memory and reject all events with the higher timestamp
112
+ rejectedTimestamps.addRejection(lockKeys, timestamp);
113
+ // Because of call stack of JS, following error will be thrown and promise rejected first, before the above rejected promise
114
+ throw error_1;
115
+ case 6:
116
+ rejectedTimestamps.removeRejection(lockKeys, timestamp);
117
+ return [3 /*break*/, 8];
118
+ case 7:
119
+ deferredState.removeDeferred(lockKeys, currentDeferred);
120
+ return [7 /*endfinally*/];
121
+ case 8: return [2 /*return*/];
122
+ }
123
+ });
124
+ }); };
125
+ };
126
+ exports.createWithLock = createWithLock;
127
+ /**
128
+ * Error thrown when a previous promise with the same lock keys failed,
129
+ * causing subsequent promises to be rejected to maintain event ordering.
130
+ */
131
+ var WithLockPreviousError = /** @class */ (function (_super) {
132
+ __extends(WithLockPreviousError, _super);
133
+ function WithLockPreviousError(lockKeys) {
134
+ var _this = _super.call(this, "Previous promise with same lock-key ".concat(lockKeys.join(','), " failed, rejecting all subsequent waiting promises.")) || this;
135
+ Object.setPrototypeOf(_this, WithLockPreviousError.prototype);
136
+ return _this;
137
+ }
138
+ return WithLockPreviousError;
139
+ }(Error));
140
+ exports.WithLockPreviousError = WithLockPreviousError;
141
+ //# sourceMappingURL=withLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withLock.js","sourceRoot":"","sources":["../../../../src/AMQP/EventSourcing/Locked/withLock.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAA0B;AAG1B,IAAM,KAAK,GAAG,IAAA,eAAK,EAAC,mDAAmD,CAAC,CAAC;AAqBzE;;;;;;;;;;;;GAYG;AACI,IAAM,cAAc,GAC1B,UAAC,EAAmD;QAAjD,aAAa,mBAAA,EAAE,kBAAkB,wBAAA;IACpC,OAAA,UAAO,QAAkB,EAAE,SAAqB,EAAE,QAA6B;;;;;oBACxE,gBAAgB,GAAG,aAAa,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBAC/D,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;;;;oBAG3D,mEAAmE;oBACnE,qBAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAA;;oBADnC,mEAAmE;oBACnE,SAAmC,CAAC;oBAEpC,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;wBACjE,KAAK,CAAC,mCAAmC,EAAE,EAAE,QAAQ,UAAA,EAAE,SAAS,WAAA,EAAE,CAAC,CAAC;wBACpE,eAAe,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC5D,MAAM,IAAI,KAAK,CAAC,+CAAwC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAU,CAAC,CAAC;oBACvF,CAAC;;;;oBAGA,KAAK,CAAC,0BAA0B,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBAChD,qBAAM,QAAQ,EAAE,EAAA;;oBAAhB,SAAgB,CAAC;oBACjB,KAAK,CAAC,0BAA0B,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBAChD,oEAAoE;oBACpE,eAAe,CAAC,OAAO,EAAE,CAAC;;;;oBAE1B,KAAK,CAAC,0BAA0B,EAAE,EAAE,QAAQ,UAAA,EAAE,KAAK,SAAA,EAAE,CAAC,CAAC;oBACvD,mFAAmF;oBACnF,eAAe,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5D,wHAAwH;oBACxH,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACrD,4HAA4H;oBAC5H,MAAM,OAAK,CAAC;;oBAEb,kBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;;;oBAExD,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;;;;;SAEzD;AAjCD,CAiCC,CAAC;AAnCU,QAAA,cAAc,kBAmCxB;AAEH;;;GAGG;AACH;IAA2C,yCAAK;IAC/C,+BAAY,QAAkB;QAC7B,YAAA,MAAK,YAAC,8CAAuC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,wDAAqD,CAAC,SAAC;QACtH,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;;IAC9D,CAAC;IACF,4BAAC;AAAD,CAAC,AALD,CAA2C,KAAK,GAK/C;AALY,sDAAqB"}
@@ -0,0 +1,87 @@
1
+ import IEvent, { IEventPayload } from './IEvent';
2
+ import { IAMQPConnection } from '../amqpConnectionFactory';
3
+ import IQueueOptions from '../IQueueOptions';
4
+ import { deleteQueues, IBindOptions, IRejectedRedeliverOptions, purgeQueue } from './eventQueue.utils';
5
+ import { bindDetached, bindDetachedExpectingConfirmation, fetchRejectedDetached, prepareDetached, prepareRejectedDetached, IEventDetachedMessage, bindRejectedDetached } from './eventQueueDetached';
6
+ import { bindDomain, bindRejectedDomain, bindRPCDomain, fetchRejectedDomain, prepareDomain, prepareRejectedDomain as prepareRejected, processRPCDomain, IEventDomainMessage as IEventMessage } from './eventQueueDomain';
7
+ import { enqueue, enqueueBatch, enqueueNotification, enqueueToConsumer } from './eventQueuePublish';
8
+ /**
9
+ * Fetch one event from the queue, either it's domain type or detached type.
10
+ * It automatically asserts exchanges and queues that is non-standard.
11
+ * The fetched message is automatically acked.
12
+ * This function is meant mostly for testing purposes.
13
+ * @deprecated TODO Use fetchDomain or fetchDetached instead
14
+ */
15
+ export declare function fetchNext<TPayload extends IEventPayload>(amqpConnection: IAMQPConnection, eventType: string, consumerType: string, bindOptions?: IBindOptions, queueOptions?: IQueueOptions, domainName?: string): Promise<IEvent<TPayload> | null>;
16
+ export {
17
+ /** @deprecated Use IBindOptions from './eventQueue.utils' instead. */
18
+ IBindOptions,
19
+ /** @deprecated Use IRejectedRedeliverOptions from './eventQueue.utils' instead. */
20
+ IRejectedRedeliverOptions,
21
+ /** @deprecated Use IEventDomainMessage from './eventQueueDomain' instead. */
22
+ IEventMessage,
23
+ /** @deprecated Use IEventDetachedMessage from './eventQueueDetached' instead. */
24
+ IEventDetachedMessage, };
25
+ export {
26
+ /** @deprecated Use enqueue from './eventQueuePublish' instead. */
27
+ enqueue,
28
+ /** @deprecated Use enqueueBatch from './eventQueuePublish' instead. */
29
+ enqueueBatch,
30
+ /** @deprecated Use enqueueNotification from './eventQueuePublish' instead. */
31
+ enqueueNotification,
32
+ /** @deprecated Use enqueueToConsumer from './eventQueuePublish' instead. */
33
+ enqueueToConsumer,
34
+ /** @deprecated Use bindRejectedDetached from './eventQueueDetached' instead. */
35
+ bindRejectedDetached,
36
+ /** @deprecated Use prepareRejectedDomain from './eventQueueDomain' instead. */
37
+ prepareRejected,
38
+ /** @deprecated Use prepareRejectedDetached from './eventQueueDetached' instead. */
39
+ prepareRejectedDetached, };
40
+ /**
41
+ * @deprecated Use bindDetached from './eventQueueDetached' instead. This alias will be removed in the next major version.
42
+ */
43
+ export declare const bindOne: typeof bindDetached;
44
+ /**
45
+ * @deprecated Use bindDetachedExpectingConfirmation from './eventQueueDetached' instead. This alias will be removed in the next major version.
46
+ */
47
+ export declare const bindOneExpectingConfirmation: typeof bindDetachedExpectingConfirmation;
48
+ /**
49
+ * @deprecated Use purgeQueue from './eventQueueDetached' instead. This alias will be removed in the next major version.
50
+ */
51
+ export declare const purgeOne: typeof purgeQueue;
52
+ /**
53
+ * @deprecated Use deleteQueues from './eventQueueDetached' instead. This alias will be removed in the next major version.
54
+ */
55
+ export declare const deleteMore: typeof deleteQueues;
56
+ /**
57
+ * @deprecated Use bindDomain from './eventQueueDomain' instead. This alias will be removed in the next major version.
58
+ */
59
+ export declare const bindMany: typeof bindDomain;
60
+ /**
61
+ * @deprecated Use bindRejectedDomain from './eventQueueDomain' instead. This alias will be removed in the next major version.
62
+ */
63
+ export declare const bindRejectedMany: typeof bindRejectedDomain;
64
+ /**
65
+ * @deprecated Use prepareDomain from './eventQueueDomain' instead. This alias will be removed in the next major version.
66
+ */
67
+ export declare const prepareMany: typeof prepareDomain;
68
+ /**
69
+ * @deprecated Use fetchRejectedDomain from './eventQueueDomain' instead. This alias will be removed in the next major version.
70
+ */
71
+ export declare const fetchOneRejected: typeof fetchRejectedDomain;
72
+ /**
73
+ * @deprecated Use fetchRejectedDetached from './eventQueueDetached' instead. This alias will be removed in the next major version.
74
+ */
75
+ export declare const fetchOneRejectedDetached: typeof fetchRejectedDetached;
76
+ /**
77
+ * @deprecated Use prepareDetached from './eventQueueDetached' instead. This alias will be removed in the next major version.
78
+ */
79
+ export declare const prepareMore: typeof prepareDetached;
80
+ /**
81
+ * @deprecated Use bindRPCDomain from './eventQueueDomain' instead. This alias will be removed in the next major version.
82
+ */
83
+ export declare const bindRPC: typeof bindRPCDomain;
84
+ /**
85
+ * @deprecated Use processRPCDomain from './eventQueueDomain' instead. This alias will be removed in the next major version.
86
+ */
87
+ export declare const processRPC: typeof processRPCDomain;