redis-smq 8.0.0-rc.2 → 8.0.0-rc.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/CHANGELOG.md +351 -2
  2. package/LICENSE +3 -1
  3. package/README.md +77 -47
  4. package/dist/cjs/index.d.ts +4 -0
  5. package/dist/cjs/index.js +20 -0
  6. package/dist/cjs/package.json +3 -0
  7. package/dist/cjs/src/common/index.d.ts +2 -0
  8. package/dist/cjs/src/common/index.js +18 -0
  9. package/dist/cjs/src/common/redis-client/errors/redis-client-instance-lock.error.d.ts +4 -0
  10. package/dist/cjs/src/common/redis-client/errors/redis-client-instance-lock.error.js +8 -0
  11. package/dist/cjs/src/common/redis-client/redis-client-factory.d.ts +4 -0
  12. package/dist/cjs/src/common/redis-client/redis-client-factory.js +15 -0
  13. package/dist/cjs/src/common/redis-client/redis-client-instance.d.ts +10 -0
  14. package/dist/cjs/src/common/redis-client/redis-client-instance.js +56 -0
  15. package/dist/cjs/src/common/redis-client/scripts/lua/cleanup-offline-consumer.lua +33 -0
  16. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/create-queue.lua +6 -3
  17. package/dist/cjs/src/common/redis-client/scripts/lua/delete-consumer-group.lua +34 -0
  18. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/delete-message.lua +36 -32
  19. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/delete-queue-messages.lua +4 -4
  20. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/handle-processing-queue.lua +3 -14
  21. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/init-consumer-queue.lua +1 -1
  22. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/publish-message.lua +14 -14
  23. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/publish-scheduled-message.lua +64 -37
  24. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/requeue-message.lua +10 -8
  25. package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/schedule-message.lua +1 -1
  26. package/dist/cjs/src/common/redis-client/scripts/scripts.d.ts +16 -0
  27. package/dist/cjs/src/common/redis-client/scripts/scripts.js +81 -0
  28. package/dist/cjs/src/common/redis-keys/redis-keys.d.ts +38 -0
  29. package/dist/cjs/src/common/redis-keys/redis-keys.error.d.ts +4 -0
  30. package/dist/cjs/src/common/redis-keys/redis-keys.error.js +8 -0
  31. package/dist/cjs/src/common/redis-keys/redis-keys.js +135 -0
  32. package/dist/cjs/src/common/types/event.d.ts +50 -0
  33. package/dist/cjs/src/common/types/event.js +3 -0
  34. package/dist/cjs/src/common/types/index.d.ts +2 -0
  35. package/dist/cjs/src/common/types/index.js +18 -0
  36. package/dist/cjs/src/config/configuration.d.ts +11 -0
  37. package/dist/cjs/src/config/configuration.error.d.ts +4 -0
  38. package/dist/cjs/src/config/configuration.error.js +8 -0
  39. package/dist/cjs/src/config/configuration.js +40 -0
  40. package/dist/cjs/src/config/event-bus.d.ts +3 -0
  41. package/dist/cjs/src/config/event-bus.js +15 -0
  42. package/dist/cjs/src/config/index.d.ts +3 -0
  43. package/dist/cjs/src/config/index.js +19 -0
  44. package/dist/cjs/src/config/logger.d.ts +3 -0
  45. package/dist/cjs/src/config/logger.js +15 -0
  46. package/dist/cjs/src/config/messages/messages.d.ts +3 -0
  47. package/dist/cjs/src/config/messages/messages.js +27 -0
  48. package/dist/cjs/src/config/messages/store.d.ts +4 -0
  49. package/dist/cjs/src/config/messages/store.js +46 -0
  50. package/dist/cjs/src/config/namespace.d.ts +3 -0
  51. package/dist/cjs/src/config/namespace.js +14 -0
  52. package/dist/cjs/src/config/redis.d.ts +3 -0
  53. package/dist/cjs/src/config/redis.js +16 -0
  54. package/dist/cjs/src/config/types/config.d.ts +16 -0
  55. package/dist/cjs/src/config/types/config.js +3 -0
  56. package/dist/cjs/src/config/types/index.d.ts +2 -0
  57. package/dist/cjs/src/config/types/index.js +18 -0
  58. package/dist/cjs/src/lib/consumer/consumer/consumer.d.ts +34 -0
  59. package/dist/cjs/src/lib/consumer/consumer/consumer.js +192 -0
  60. package/dist/cjs/src/lib/consumer/consumer/event-bus-publisher.d.ts +4 -0
  61. package/dist/cjs/src/lib/consumer/consumer/event-bus-publisher.js +49 -0
  62. package/dist/cjs/src/lib/consumer/consumer-heartbeat/_/_cleanup-offline-consumer.d.ts +3 -0
  63. package/dist/cjs/src/lib/consumer/consumer-heartbeat/_/_cleanup-offline-consumer.js +21 -0
  64. package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts +25 -0
  65. package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js +202 -0
  66. package/dist/cjs/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts +4 -0
  67. package/dist/cjs/src/lib/consumer/consumer-heartbeat/event-bus-publisher.js +17 -0
  68. package/dist/cjs/src/lib/consumer/consumer-queues.d.ts +10 -0
  69. package/dist/cjs/src/lib/consumer/consumer-queues.js +52 -0
  70. package/dist/cjs/src/lib/consumer/errors/consumer-group-delete.error.d.ts +4 -0
  71. package/dist/cjs/src/lib/consumer/errors/consumer-group-delete.error.js +8 -0
  72. package/dist/cjs/src/lib/consumer/errors/consumer-group-id-not-supported.error.d.ts +5 -0
  73. package/dist/cjs/src/lib/consumer/errors/consumer-group-id-not-supported.error.js +11 -0
  74. package/dist/cjs/src/lib/consumer/errors/consumer-group-id-required.error.d.ts +5 -0
  75. package/dist/cjs/src/lib/consumer/errors/consumer-group-id-required.error.js +11 -0
  76. package/dist/cjs/src/lib/consumer/errors/consumer-message-handler-already-exists.error.d.ts +6 -0
  77. package/dist/cjs/src/lib/consumer/errors/consumer-message-handler-already-exists.error.js +11 -0
  78. package/dist/cjs/src/lib/consumer/errors/consumer.error.d.ts +4 -0
  79. package/dist/cjs/src/lib/consumer/errors/consumer.error.js +8 -0
  80. package/dist/cjs/src/lib/consumer/errors/index.d.ts +6 -0
  81. package/dist/cjs/src/lib/consumer/errors/index.js +14 -0
  82. package/dist/cjs/src/lib/consumer/index.d.ts +4 -0
  83. package/dist/cjs/src/lib/consumer/index.js +20 -0
  84. package/dist/cjs/src/lib/consumer/message-handler/consume-message/consume-message.d.ts +31 -0
  85. package/dist/cjs/src/lib/consumer/message-handler/consume-message/consume-message.js +181 -0
  86. package/dist/cjs/src/lib/consumer/message-handler/consume-message/event-bus-publisher.d.ts +4 -0
  87. package/dist/cjs/src/lib/consumer/message-handler/consume-message/event-bus-publisher.js +58 -0
  88. package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/dequeue-message.d.ts +43 -0
  89. package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/dequeue-message.js +275 -0
  90. package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/event-bus-publisher.d.ts +4 -0
  91. package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/event-bus-publisher.js +34 -0
  92. package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler-file.error.d.ts +5 -0
  93. package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler-file.error.js +11 -0
  94. package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler-filename-extension.error.d.ts +5 -0
  95. package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler-filename-extension.error.js +11 -0
  96. package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler.error.d.ts +5 -0
  97. package/dist/cjs/src/lib/consumer/message-handler/errors/consumer-message-handler.error.js +11 -0
  98. package/dist/cjs/src/lib/consumer/message-handler/errors/index.d.ts +4 -0
  99. package/dist/cjs/src/lib/consumer/message-handler/errors/index.js +10 -0
  100. package/dist/cjs/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts +4 -0
  101. package/dist/cjs/src/lib/consumer/message-handler/message-handler/even-bus-publisher.js +17 -0
  102. package/dist/cjs/src/lib/consumer/message-handler/message-handler/message-handler.d.ts +38 -0
  103. package/dist/cjs/src/lib/consumer/message-handler/message-handler/message-handler.js +146 -0
  104. package/dist/cjs/src/lib/consumer/message-handler/multiplexed-message-handler.d.ts +12 -0
  105. package/dist/cjs/src/lib/consumer/message-handler/multiplexed-message-handler.js +21 -0
  106. package/dist/cjs/src/lib/consumer/message-handler/processing-queue.d.ts +12 -0
  107. package/dist/cjs/src/lib/consumer/message-handler/processing-queue.js +130 -0
  108. package/dist/cjs/src/lib/consumer/message-handler/retry-message.d.ts +15 -0
  109. package/dist/cjs/src/lib/consumer/message-handler/retry-message.js +42 -0
  110. package/dist/cjs/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts +4 -0
  111. package/dist/cjs/src/lib/consumer/message-handler-runner/event-bus-publisher.js +17 -0
  112. package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +28 -0
  113. package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.js +139 -0
  114. package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +19 -0
  115. package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.js +68 -0
  116. package/dist/cjs/src/lib/consumer/types/consume-message.d.ts +14 -0
  117. package/dist/cjs/src/lib/consumer/types/consume-message.js +19 -0
  118. package/dist/cjs/src/lib/consumer/types/consumer-heartbeat.d.ts +18 -0
  119. package/dist/cjs/src/lib/consumer/types/consumer-heartbeat.js +3 -0
  120. package/dist/cjs/src/lib/consumer/types/index.d.ts +4 -0
  121. package/dist/cjs/src/lib/consumer/types/index.js +20 -0
  122. package/dist/cjs/src/lib/consumer/types/message-handler.d.ts +12 -0
  123. package/dist/cjs/src/lib/consumer/types/message-handler.js +3 -0
  124. package/dist/cjs/src/lib/consumer/workers/delay-unacknowledged.worker.d.ts +9 -0
  125. package/dist/cjs/src/lib/consumer/workers/delay-unacknowledged.worker.js +82 -0
  126. package/dist/cjs/src/lib/consumer/workers/publish-scheduled.worker.d.ts +13 -0
  127. package/dist/cjs/src/lib/consumer/workers/publish-scheduled.worker.js +107 -0
  128. package/dist/cjs/src/lib/consumer/workers/requeue-unacknowledged.worker.d.ts +11 -0
  129. package/dist/cjs/src/lib/consumer/workers/requeue-unacknowledged.worker.js +72 -0
  130. package/dist/cjs/src/lib/consumer/workers/watch-consumers.worker.d.ts +9 -0
  131. package/dist/cjs/src/lib/consumer/workers/watch-consumers.worker.js +40 -0
  132. package/dist/cjs/src/lib/consumer/workers/worker.d.ts +17 -0
  133. package/dist/cjs/src/lib/consumer/workers/worker.js +54 -0
  134. package/dist/cjs/src/lib/consumer-groups/_/_delete-consumer-group.d.ts +5 -0
  135. package/dist/cjs/src/lib/consumer-groups/_/_delete-consumer-group.js +38 -0
  136. package/dist/cjs/src/lib/consumer-groups/_/_get-consumer-groups.d.ts +4 -0
  137. package/dist/cjs/src/lib/consumer-groups/_/_get-consumer-groups.js +10 -0
  138. package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.d.ts +5 -0
  139. package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.js +23 -0
  140. package/dist/cjs/src/lib/consumer-groups/consumer-groups.d.ts +15 -0
  141. package/dist/cjs/src/lib/consumer-groups/consumer-groups.js +82 -0
  142. package/dist/cjs/src/lib/consumer-groups/index.d.ts +2 -0
  143. package/dist/cjs/src/lib/consumer-groups/index.js +18 -0
  144. package/dist/cjs/src/lib/event-bus/errors/event-bus-lock.error.d.ts +4 -0
  145. package/dist/cjs/src/lib/event-bus/errors/event-bus-lock.error.js +8 -0
  146. package/dist/cjs/src/lib/event-bus/event-bus-redis-factory.d.ts +4 -0
  147. package/dist/cjs/src/lib/event-bus/event-bus-redis-factory.js +15 -0
  148. package/dist/cjs/src/lib/event-bus/event-bus-redis-instance.d.ts +11 -0
  149. package/dist/cjs/src/lib/event-bus/event-bus-redis-instance.js +58 -0
  150. package/dist/cjs/src/lib/event-bus/index.d.ts +3 -0
  151. package/dist/cjs/src/lib/event-bus/index.js +19 -0
  152. package/dist/cjs/src/lib/event-bus/types/config.d.ts +4 -0
  153. package/dist/cjs/src/lib/event-bus/types/config.js +3 -0
  154. package/dist/cjs/src/lib/event-bus/types/index.d.ts +2 -0
  155. package/dist/cjs/src/lib/event-bus/types/index.js +18 -0
  156. package/dist/cjs/src/lib/exchange/_/_get-exchange-queues.d.ts +5 -0
  157. package/dist/cjs/src/lib/exchange/_/_get-exchange-queues.js +19 -0
  158. package/dist/cjs/src/lib/exchange/errors/exchange-fan-out.error.d.ts +4 -0
  159. package/dist/cjs/src/lib/exchange/errors/exchange-fan-out.error.js +8 -0
  160. package/dist/cjs/src/lib/exchange/errors/exchange-invalid-data.error.d.ts +4 -0
  161. package/dist/cjs/src/lib/exchange/errors/exchange-invalid-data.error.js +8 -0
  162. package/dist/cjs/src/lib/exchange/errors/exchange.error.d.ts +4 -0
  163. package/dist/cjs/src/lib/exchange/errors/exchange.error.js +8 -0
  164. package/dist/cjs/src/lib/exchange/errors/index.d.ts +4 -0
  165. package/dist/cjs/src/lib/exchange/errors/index.js +10 -0
  166. package/dist/cjs/src/lib/exchange/exchange-abstract.d.ts +12 -0
  167. package/dist/cjs/src/lib/exchange/exchange-abstract.js +18 -0
  168. package/dist/cjs/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.d.ts +4 -0
  169. package/dist/cjs/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.js +15 -0
  170. package/dist/cjs/src/lib/exchange/exchange-direct/_/_validate-exchange-direct-params.d.ts +3 -0
  171. package/dist/cjs/src/lib/exchange/exchange-direct/_/_validate-exchange-direct-params.js +12 -0
  172. package/dist/cjs/src/lib/exchange/exchange-direct/exchange-direct.d.ts +7 -0
  173. package/dist/cjs/src/lib/exchange/exchange-direct/exchange-direct.js +13 -0
  174. package/dist/cjs/src/lib/exchange/exchange-direct/index.d.ts +2 -0
  175. package/dist/cjs/src/lib/exchange/exchange-direct/index.js +18 -0
  176. package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-exchange-fanout-transferable.d.ts +3 -0
  177. package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-exchange-fanout-transferable.js +15 -0
  178. package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-fan-out-exchange-queues.d.ts +4 -0
  179. package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-fan-out-exchange-queues.js +17 -0
  180. package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-queue-fan-out-exchange.d.ts +4 -0
  181. package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_get-queue-fan-out-exchange.js +19 -0
  182. package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_validate-exchange-fan-out-params.d.ts +2 -0
  183. package/dist/cjs/src/lib/exchange/exchange-fan-out/_/_validate-exchange-fan-out-params.js +12 -0
  184. package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.d.ts +13 -0
  185. package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +217 -0
  186. package/dist/cjs/src/lib/exchange/exchange-fan-out/index.d.ts +2 -0
  187. package/dist/cjs/src/lib/exchange/exchange-fan-out/index.js +18 -0
  188. package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-exchange-topic-transferable.d.ts +3 -0
  189. package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-exchange-topic-transferable.js +15 -0
  190. package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-topic-exchange-params.d.ts +4 -0
  191. package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-topic-exchange-params.js +26 -0
  192. package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-topic-exchange-queues.d.ts +5 -0
  193. package/dist/cjs/src/lib/exchange/exchange-topic/_/_get-topic-exchange-queues.js +30 -0
  194. package/dist/cjs/src/lib/exchange/exchange-topic/_/_validate-exchange-topic-params.d.ts +3 -0
  195. package/dist/cjs/src/lib/exchange/exchange-topic/_/_validate-exchange-topic-params.js +12 -0
  196. package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.d.ts +8 -0
  197. package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.js +26 -0
  198. package/dist/cjs/src/lib/exchange/exchange-topic/index.d.ts +2 -0
  199. package/dist/cjs/src/lib/exchange/exchange-topic/index.js +18 -0
  200. package/dist/cjs/src/lib/exchange/index.d.ts +6 -0
  201. package/dist/cjs/src/lib/exchange/index.js +22 -0
  202. package/dist/cjs/src/lib/exchange/types/exchange.d.ts +31 -0
  203. package/dist/cjs/src/lib/exchange/types/exchange.js +10 -0
  204. package/dist/cjs/src/lib/exchange/types/index.d.ts +2 -0
  205. package/dist/cjs/src/lib/exchange/types/index.js +18 -0
  206. package/dist/cjs/src/lib/index.d.ts +11 -0
  207. package/dist/cjs/src/lib/index.js +27 -0
  208. package/dist/cjs/src/lib/message/_/_delete-message.d.ts +3 -0
  209. package/dist/cjs/src/lib/message/_/_delete-message.js +50 -0
  210. package/dist/cjs/src/lib/message/_/_from-message.d.ts +5 -0
  211. package/dist/cjs/src/lib/message/_/_from-message.js +39 -0
  212. package/dist/cjs/src/lib/message/_/_get-message-state.d.ts +4 -0
  213. package/dist/cjs/src/lib/message/_/_get-message-state.js +19 -0
  214. package/dist/cjs/src/lib/message/_/_get-message-status.d.ts +4 -0
  215. package/dist/cjs/src/lib/message/_/_get-message-status.js +19 -0
  216. package/dist/cjs/src/lib/message/_/_get-message.d.ts +5 -0
  217. package/dist/cjs/src/lib/message/_/_get-message.js +45 -0
  218. package/dist/cjs/src/lib/message/errors/index.d.ts +7 -0
  219. package/dist/cjs/src/lib/message/errors/index.js +16 -0
  220. package/dist/cjs/src/lib/message/errors/message-delete.error.d.ts +5 -0
  221. package/dist/cjs/src/lib/message/errors/message-delete.error.js +11 -0
  222. package/dist/cjs/src/lib/message/errors/message-destination-queue-already-set.error.d.ts +5 -0
  223. package/dist/cjs/src/lib/message/errors/message-destination-queue-already-set.error.js +11 -0
  224. package/dist/cjs/src/lib/message/errors/message-destination-queue-required.error.d.ts +5 -0
  225. package/dist/cjs/src/lib/message/errors/message-destination-queue-required.error.js +11 -0
  226. package/dist/cjs/src/lib/message/errors/message-exchange-required.error.d.ts +5 -0
  227. package/dist/cjs/src/lib/message/errors/message-exchange-required.error.js +11 -0
  228. package/dist/cjs/src/lib/message/errors/message-not-found.error.d.ts +5 -0
  229. package/dist/cjs/src/lib/message/errors/message-not-found.error.js +11 -0
  230. package/dist/cjs/src/lib/message/errors/message.error.d.ts +4 -0
  231. package/dist/cjs/src/lib/message/errors/message.error.js +8 -0
  232. package/dist/cjs/src/lib/message/index.d.ts +5 -0
  233. package/dist/cjs/src/lib/message/index.js +21 -0
  234. package/dist/cjs/src/lib/message/message-envelope.d.ts +33 -0
  235. package/dist/cjs/src/lib/message/message-envelope.js +154 -0
  236. package/dist/cjs/src/lib/message/message-state.d.ts +44 -0
  237. package/dist/cjs/src/lib/message/message-state.js +161 -0
  238. package/dist/cjs/src/lib/message/message.d.ts +16 -0
  239. package/dist/cjs/src/lib/message/message.js +90 -0
  240. package/dist/cjs/src/lib/message/producible-message.d.ts +56 -0
  241. package/dist/cjs/src/lib/message/producible-message.js +220 -0
  242. package/dist/cjs/src/lib/message/types/config.d.ts +19 -0
  243. package/dist/cjs/src/lib/message/types/config.js +3 -0
  244. package/dist/cjs/src/lib/message/types/index.d.ts +4 -0
  245. package/dist/cjs/src/lib/message/types/index.js +20 -0
  246. package/dist/cjs/src/lib/message/types/message-state.d.ts +15 -0
  247. package/dist/cjs/src/lib/message/types/message-state.js +3 -0
  248. package/dist/cjs/src/lib/message/types/message.d.ts +57 -0
  249. package/dist/cjs/src/lib/message/types/message.js +33 -0
  250. package/dist/cjs/src/lib/namespace/errors/index.d.ts +3 -0
  251. package/dist/cjs/src/lib/namespace/errors/index.js +8 -0
  252. package/dist/cjs/src/lib/namespace/errors/namespace-not-found.error.d.ts +4 -0
  253. package/dist/cjs/src/lib/namespace/errors/namespace-not-found.error.js +8 -0
  254. package/dist/cjs/src/lib/namespace/errors/namespace.error.d.ts +4 -0
  255. package/dist/cjs/src/lib/namespace/errors/namespace.error.js +8 -0
  256. package/dist/cjs/src/lib/namespace/index.d.ts +3 -0
  257. package/dist/cjs/src/lib/namespace/index.js +19 -0
  258. package/dist/cjs/src/lib/namespace/namespace.d.ts +13 -0
  259. package/dist/cjs/src/lib/namespace/namespace.js +132 -0
  260. package/dist/cjs/src/lib/producer/_/_schedule-message.d.ts +4 -0
  261. package/dist/cjs/src/lib/producer/_/_schedule-message.js +50 -0
  262. package/dist/cjs/src/lib/producer/errors/index.d.ts +7 -0
  263. package/dist/cjs/src/lib/producer/errors/index.js +16 -0
  264. package/dist/cjs/src/lib/producer/errors/producer-instance-not-running.error.d.ts +5 -0
  265. package/dist/cjs/src/lib/producer/errors/producer-instance-not-running.error.js +11 -0
  266. package/dist/cjs/src/lib/producer/errors/producer-message-exchange-required.error.d.ts +4 -0
  267. package/dist/cjs/src/lib/producer/errors/producer-message-exchange-required.error.js +8 -0
  268. package/dist/cjs/src/lib/producer/errors/producer-message-not-published.error.d.ts +4 -0
  269. package/dist/cjs/src/lib/producer/errors/producer-message-not-published.error.js +8 -0
  270. package/dist/cjs/src/lib/producer/errors/producer-message-not-scheduled.error.d.ts +4 -0
  271. package/dist/cjs/src/lib/producer/errors/producer-message-not-scheduled.error.js +8 -0
  272. package/dist/cjs/src/lib/producer/errors/producer-queue-without-consumer-groups.error.d.ts +4 -0
  273. package/dist/cjs/src/lib/producer/errors/producer-queue-without-consumer-groups.error.js +8 -0
  274. package/dist/cjs/src/lib/producer/errors/producer.error.d.ts +4 -0
  275. package/dist/cjs/src/lib/producer/errors/producer.error.js +8 -0
  276. package/dist/cjs/src/lib/producer/event-bus-publisher.d.ts +4 -0
  277. package/dist/cjs/src/lib/producer/event-bus-publisher.js +57 -0
  278. package/dist/cjs/src/lib/producer/index.d.ts +3 -0
  279. package/dist/cjs/src/lib/producer/index.js +19 -0
  280. package/dist/cjs/src/lib/producer/producer.d.ts +27 -0
  281. package/dist/cjs/src/lib/producer/producer.js +234 -0
  282. package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.d.ts +26 -0
  283. package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.js +126 -0
  284. package/dist/cjs/src/lib/queue/_/_delete-queue.d.ts +4 -0
  285. package/dist/cjs/src/lib/queue/_/_delete-queue.js +137 -0
  286. package/dist/cjs/src/lib/queue/_/_get-queue-properties.d.ts +4 -0
  287. package/dist/cjs/src/lib/queue/_/_get-queue-properties.js +56 -0
  288. package/dist/cjs/src/lib/queue/_/_get-queues.d.ts +4 -0
  289. package/dist/cjs/src/lib/queue/_/_get-queues.js +20 -0
  290. package/dist/cjs/src/lib/queue/_/_parse-queue-extended-params.d.ts +4 -0
  291. package/dist/cjs/src/lib/queue/_/_parse-queue-extended-params.js +46 -0
  292. package/dist/cjs/src/lib/queue/_/_parse-queue-params.d.ts +4 -0
  293. package/dist/cjs/src/lib/queue/_/_parse-queue-params.js +23 -0
  294. package/dist/cjs/src/lib/queue/errors/index.d.ts +6 -0
  295. package/dist/cjs/src/lib/queue/errors/index.js +14 -0
  296. package/dist/cjs/src/lib/queue/errors/queue-exists.error.d.ts +4 -0
  297. package/dist/cjs/src/lib/queue/errors/queue-exists.error.js +8 -0
  298. package/dist/cjs/src/lib/queue/errors/queue-has-running-consumers.error.d.ts +5 -0
  299. package/dist/cjs/src/lib/queue/errors/queue-has-running-consumers.error.js +11 -0
  300. package/dist/cjs/src/lib/queue/errors/queue-not-empty.error.d.ts +4 -0
  301. package/dist/cjs/src/lib/queue/errors/queue-not-empty.error.js +8 -0
  302. package/dist/cjs/src/lib/queue/errors/queue-not-found.error.d.ts +4 -0
  303. package/dist/cjs/src/lib/queue/errors/queue-not-found.error.js +8 -0
  304. package/dist/cjs/src/lib/queue/errors/queue.error.d.ts +4 -0
  305. package/dist/cjs/src/lib/queue/errors/queue.error.js +8 -0
  306. package/dist/cjs/src/lib/queue/index.d.ts +4 -0
  307. package/dist/cjs/src/lib/queue/index.js +20 -0
  308. package/dist/cjs/src/lib/queue/queue.d.ts +20 -0
  309. package/dist/cjs/src/lib/queue/queue.js +163 -0
  310. package/dist/cjs/src/lib/queue/types/index.d.ts +3 -0
  311. package/dist/cjs/src/lib/queue/types/index.js +19 -0
  312. package/dist/cjs/src/lib/queue/types/queue-consumer.d.ts +7 -0
  313. package/dist/cjs/src/lib/queue/types/queue-consumer.js +3 -0
  314. package/dist/cjs/src/lib/queue/types/queue.d.ts +41 -0
  315. package/dist/cjs/src/lib/queue/types/queue.js +23 -0
  316. package/dist/cjs/src/lib/queue-messages/_/_requeue-message.d.ts +5 -0
  317. package/dist/cjs/src/lib/queue-messages/_/_requeue-message.js +71 -0
  318. package/dist/cjs/src/lib/queue-messages/_/_validate-queue-extended-params.d.ts +4 -0
  319. package/dist/cjs/src/lib/queue-messages/_/_validate-queue-extended-params.js +28 -0
  320. package/dist/cjs/src/lib/queue-messages/errors/index.d.ts +3 -0
  321. package/dist/cjs/src/lib/queue-messages/errors/index.js +8 -0
  322. package/dist/cjs/src/lib/queue-messages/errors/message-requeue.error.d.ts +5 -0
  323. package/dist/cjs/src/lib/queue-messages/errors/message-requeue.error.js +11 -0
  324. package/dist/cjs/src/lib/queue-messages/errors/queue-message.error.d.ts +4 -0
  325. package/dist/cjs/src/lib/queue-messages/errors/queue-message.error.js +8 -0
  326. package/dist/cjs/src/lib/queue-messages/index.d.ts +8 -0
  327. package/dist/cjs/src/lib/queue-messages/index.js +24 -0
  328. package/dist/cjs/src/lib/queue-messages/queue-acknowledged-messages.d.ts +10 -0
  329. package/dist/cjs/src/lib/queue-messages/queue-acknowledged-messages.js +25 -0
  330. package/dist/cjs/src/lib/queue-messages/queue-dead-lettered-messages.d.ts +10 -0
  331. package/dist/cjs/src/lib/queue-messages/queue-dead-lettered-messages.js +25 -0
  332. package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-abstract.d.ts +23 -0
  333. package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-abstract.js +148 -0
  334. package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-list.d.ts +9 -0
  335. package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-list.js +60 -0
  336. package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-set.d.ts +9 -0
  337. package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-set.js +68 -0
  338. package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-sorted-set.d.ts +9 -0
  339. package/dist/cjs/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-sorted-set.js +60 -0
  340. package/dist/cjs/src/lib/queue-messages/queue-messages.d.ts +22 -0
  341. package/dist/cjs/src/lib/queue-messages/queue-messages.js +119 -0
  342. package/dist/cjs/src/lib/queue-messages/queue-pending-messages/index.d.ts +2 -0
  343. package/dist/cjs/src/lib/queue-messages/queue-pending-messages/index.js +18 -0
  344. package/dist/cjs/src/lib/queue-messages/queue-pending-messages/linear-queue-pending-messages.d.ts +7 -0
  345. package/dist/cjs/src/lib/queue-messages/queue-pending-messages/linear-queue-pending-messages.js +13 -0
  346. package/dist/cjs/src/lib/queue-messages/queue-pending-messages/priority-queue-pending-messages.d.ts +7 -0
  347. package/dist/cjs/src/lib/queue-messages/queue-pending-messages/priority-queue-pending-messages.js +13 -0
  348. package/dist/cjs/src/lib/queue-messages/queue-pending-messages/queue-pending-messages.d.ts +20 -0
  349. package/dist/cjs/src/lib/queue-messages/queue-pending-messages/queue-pending-messages.js +90 -0
  350. package/dist/cjs/src/lib/queue-messages/queue-scheduled-messages.d.ts +6 -0
  351. package/dist/cjs/src/lib/queue-messages/queue-scheduled-messages.js +12 -0
  352. package/dist/cjs/src/lib/queue-messages/types/index.d.ts +42 -0
  353. package/dist/cjs/src/lib/queue-messages/types/index.js +3 -0
  354. package/dist/cjs/src/lib/queue-rate-limit/_/_has-rate-limit-exceeded.d.ts +4 -0
  355. package/dist/cjs/src/lib/queue-rate-limit/_/_has-rate-limit-exceeded.js +19 -0
  356. package/dist/cjs/src/lib/queue-rate-limit/errors/index.d.ts +2 -0
  357. package/dist/cjs/src/lib/queue-rate-limit/errors/index.js +6 -0
  358. package/dist/cjs/src/lib/queue-rate-limit/errors/queue-rate-limit.error.d.ts +4 -0
  359. package/dist/cjs/src/lib/queue-rate-limit/errors/queue-rate-limit.error.js +8 -0
  360. package/dist/cjs/src/lib/queue-rate-limit/index.d.ts +3 -0
  361. package/dist/cjs/src/lib/queue-rate-limit/index.js +19 -0
  362. package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.d.ts +15 -0
  363. package/dist/cjs/src/lib/queue-rate-limit/queue-rate-limit.js +111 -0
  364. package/dist/esm/index.d.ts +4 -0
  365. package/dist/esm/index.js +4 -0
  366. package/dist/esm/src/common/index.d.ts +2 -0
  367. package/dist/esm/src/common/index.js +2 -0
  368. package/dist/esm/src/common/redis-client/errors/redis-client-instance-lock.error.d.ts +4 -0
  369. package/dist/esm/src/common/redis-client/errors/redis-client-instance-lock.error.js +4 -0
  370. package/dist/esm/src/common/redis-client/redis-client-factory.d.ts +4 -0
  371. package/dist/esm/src/common/redis-client/redis-client-factory.js +11 -0
  372. package/dist/esm/src/common/redis-client/redis-client-instance.d.ts +10 -0
  373. package/dist/esm/src/common/redis-client/redis-client-instance.js +49 -0
  374. package/dist/esm/src/common/redis-client/scripts/lua/acknowledge-message.lua +28 -0
  375. package/dist/esm/src/common/redis-client/scripts/lua/cleanup-offline-consumer.lua +33 -0
  376. package/dist/esm/src/common/redis-client/scripts/lua/create-queue.lua +23 -0
  377. package/dist/esm/src/common/redis-client/scripts/lua/delete-consumer-group.lua +34 -0
  378. package/dist/esm/src/common/redis-client/scripts/lua/delete-message.lua +107 -0
  379. package/dist/esm/src/common/redis-client/scripts/lua/delete-queue-messages.lua +21 -0
  380. package/dist/esm/src/common/redis-client/scripts/lua/fetch-message-for-processing.lua +12 -0
  381. package/dist/esm/src/common/redis-client/scripts/lua/handle-processing-queue.lua +125 -0
  382. package/dist/esm/src/common/redis-client/scripts/lua/has-queue-rate-exceeded.lua +19 -0
  383. package/dist/esm/src/common/redis-client/scripts/lua/init-consumer-queue.lua +21 -0
  384. package/dist/esm/src/common/redis-client/scripts/lua/publish-message.lua +61 -0
  385. package/dist/esm/src/common/redis-client/scripts/lua/publish-scheduled-message.lua +149 -0
  386. package/dist/esm/src/common/redis-client/scripts/lua/requeue-message.lua +85 -0
  387. package/dist/esm/src/common/redis-client/scripts/lua/schedule-message.lua +100 -0
  388. package/dist/esm/src/common/redis-client/scripts/scripts.d.ts +16 -0
  389. package/dist/esm/src/common/redis-client/scripts/scripts.js +55 -0
  390. package/dist/esm/src/common/redis-keys/redis-keys.d.ts +38 -0
  391. package/dist/esm/src/common/redis-keys/redis-keys.error.d.ts +4 -0
  392. package/dist/esm/src/common/redis-keys/redis-keys.error.js +4 -0
  393. package/dist/esm/src/common/redis-keys/redis-keys.js +145 -0
  394. package/dist/esm/src/common/types/event.d.ts +50 -0
  395. package/dist/esm/src/common/types/event.js +2 -0
  396. package/dist/esm/src/common/types/index.d.ts +2 -0
  397. package/dist/esm/src/common/types/index.js +2 -0
  398. package/dist/esm/src/config/configuration.d.ts +11 -0
  399. package/dist/esm/src/config/configuration.error.d.ts +4 -0
  400. package/dist/esm/src/config/configuration.error.js +4 -0
  401. package/dist/esm/src/config/configuration.js +34 -0
  402. package/dist/esm/src/config/event-bus.d.ts +3 -0
  403. package/dist/esm/src/config/event-bus.js +8 -0
  404. package/dist/esm/src/config/index.d.ts +3 -0
  405. package/dist/esm/src/config/index.js +3 -0
  406. package/dist/esm/src/config/logger.d.ts +3 -0
  407. package/dist/esm/src/config/logger.js +8 -0
  408. package/dist/esm/src/config/messages/messages.d.ts +3 -0
  409. package/dist/esm/src/config/messages/messages.js +21 -0
  410. package/dist/esm/src/config/messages/store.d.ts +4 -0
  411. package/dist/esm/src/config/messages/store.js +41 -0
  412. package/dist/esm/src/config/namespace.d.ts +3 -0
  413. package/dist/esm/src/config/namespace.js +11 -0
  414. package/dist/esm/src/config/redis.d.ts +3 -0
  415. package/dist/esm/src/config/redis.js +9 -0
  416. package/dist/esm/src/config/types/config.d.ts +16 -0
  417. package/dist/esm/src/config/types/config.js +2 -0
  418. package/dist/esm/src/config/types/index.d.ts +2 -0
  419. package/dist/esm/src/config/types/index.js +2 -0
  420. package/dist/esm/src/lib/consumer/consumer/consumer.d.ts +34 -0
  421. package/dist/esm/src/lib/consumer/consumer/consumer.js +188 -0
  422. package/dist/esm/src/lib/consumer/consumer/event-bus-publisher.d.ts +4 -0
  423. package/dist/esm/src/lib/consumer/consumer/event-bus-publisher.js +45 -0
  424. package/dist/esm/src/lib/consumer/consumer-heartbeat/_/_cleanup-offline-consumer.d.ts +3 -0
  425. package/dist/esm/src/lib/consumer/consumer-heartbeat/_/_cleanup-offline-consumer.js +17 -0
  426. package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.d.ts +25 -0
  427. package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js +185 -0
  428. package/dist/esm/src/lib/consumer/consumer-heartbeat/event-bus-publisher.d.ts +4 -0
  429. package/dist/esm/src/lib/consumer/consumer-heartbeat/event-bus-publisher.js +13 -0
  430. package/dist/esm/src/lib/consumer/consumer-queues.d.ts +10 -0
  431. package/dist/esm/src/lib/consumer/consumer-queues.js +49 -0
  432. package/dist/esm/src/lib/consumer/errors/consumer-group-delete.error.d.ts +4 -0
  433. package/dist/esm/src/lib/consumer/errors/consumer-group-delete.error.js +4 -0
  434. package/dist/esm/src/lib/consumer/errors/consumer-group-id-not-supported.error.d.ts +5 -0
  435. package/dist/esm/src/lib/consumer/errors/consumer-group-id-not-supported.error.js +7 -0
  436. package/dist/esm/src/lib/consumer/errors/consumer-group-id-required.error.d.ts +5 -0
  437. package/dist/esm/src/lib/consumer/errors/consumer-group-id-required.error.js +7 -0
  438. package/dist/esm/src/lib/consumer/errors/consumer-message-handler-already-exists.error.d.ts +6 -0
  439. package/dist/esm/src/lib/consumer/errors/consumer-message-handler-already-exists.error.js +7 -0
  440. package/dist/esm/src/lib/consumer/errors/consumer.error.d.ts +4 -0
  441. package/dist/esm/src/lib/consumer/errors/consumer.error.js +4 -0
  442. package/dist/esm/src/lib/consumer/errors/index.d.ts +6 -0
  443. package/dist/esm/src/lib/consumer/errors/index.js +6 -0
  444. package/dist/esm/src/lib/consumer/index.d.ts +4 -0
  445. package/dist/esm/src/lib/consumer/index.js +4 -0
  446. package/dist/esm/src/lib/consumer/message-handler/consume-message/consume-message.d.ts +31 -0
  447. package/dist/esm/src/lib/consumer/message-handler/consume-message/consume-message.js +182 -0
  448. package/dist/esm/src/lib/consumer/message-handler/consume-message/event-bus-publisher.d.ts +4 -0
  449. package/dist/esm/src/lib/consumer/message-handler/consume-message/event-bus-publisher.js +54 -0
  450. package/dist/esm/src/lib/consumer/message-handler/dequeue-message/dequeue-message.d.ts +43 -0
  451. package/dist/esm/src/lib/consumer/message-handler/dequeue-message/dequeue-message.js +262 -0
  452. package/dist/esm/src/lib/consumer/message-handler/dequeue-message/event-bus-publisher.d.ts +4 -0
  453. package/dist/esm/src/lib/consumer/message-handler/dequeue-message/event-bus-publisher.js +30 -0
  454. package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler-file.error.d.ts +5 -0
  455. package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler-file.error.js +7 -0
  456. package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler-filename-extension.error.d.ts +5 -0
  457. package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler-filename-extension.error.js +7 -0
  458. package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler.error.d.ts +5 -0
  459. package/dist/esm/src/lib/consumer/message-handler/errors/consumer-message-handler.error.js +7 -0
  460. package/dist/esm/src/lib/consumer/message-handler/errors/index.d.ts +4 -0
  461. package/dist/esm/src/lib/consumer/message-handler/errors/index.js +4 -0
  462. package/dist/esm/src/lib/consumer/message-handler/message-handler/even-bus-publisher.d.ts +4 -0
  463. package/dist/esm/src/lib/consumer/message-handler/message-handler/even-bus-publisher.js +13 -0
  464. package/dist/esm/src/lib/consumer/message-handler/message-handler/message-handler.d.ts +38 -0
  465. package/dist/esm/src/lib/consumer/message-handler/message-handler/message-handler.js +151 -0
  466. package/dist/esm/src/lib/consumer/message-handler/multiplexed-message-handler.d.ts +12 -0
  467. package/dist/esm/src/lib/consumer/message-handler/multiplexed-message-handler.js +18 -0
  468. package/dist/esm/src/lib/consumer/message-handler/processing-queue.d.ts +12 -0
  469. package/dist/esm/src/lib/consumer/message-handler/processing-queue.js +127 -0
  470. package/dist/esm/src/lib/consumer/message-handler/retry-message.d.ts +15 -0
  471. package/dist/esm/src/lib/consumer/message-handler/retry-message.js +38 -0
  472. package/dist/esm/src/lib/consumer/message-handler-runner/event-bus-publisher.d.ts +4 -0
  473. package/dist/esm/src/lib/consumer/message-handler-runner/event-bus-publisher.js +13 -0
  474. package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +28 -0
  475. package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.js +137 -0
  476. package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +19 -0
  477. package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.js +65 -0
  478. package/dist/esm/src/lib/consumer/types/consume-message.d.ts +14 -0
  479. package/dist/esm/src/lib/consumer/types/consume-message.js +16 -0
  480. package/dist/esm/src/lib/consumer/types/consumer-heartbeat.d.ts +18 -0
  481. package/dist/esm/src/lib/consumer/types/consumer-heartbeat.js +2 -0
  482. package/dist/esm/src/lib/consumer/types/index.d.ts +4 -0
  483. package/dist/esm/src/lib/consumer/types/index.js +4 -0
  484. package/dist/esm/src/lib/consumer/types/message-handler.d.ts +12 -0
  485. package/dist/esm/src/lib/consumer/types/message-handler.js +2 -0
  486. package/dist/esm/src/lib/consumer/workers/delay-unacknowledged.worker.d.ts +9 -0
  487. package/dist/esm/src/lib/consumer/workers/delay-unacknowledged.worker.js +77 -0
  488. package/dist/esm/src/lib/consumer/workers/publish-scheduled.worker.d.ts +13 -0
  489. package/dist/esm/src/lib/consumer/workers/publish-scheduled.worker.js +101 -0
  490. package/dist/esm/src/lib/consumer/workers/requeue-unacknowledged.worker.d.ts +11 -0
  491. package/dist/esm/src/lib/consumer/workers/requeue-unacknowledged.worker.js +70 -0
  492. package/dist/esm/src/lib/consumer/workers/watch-consumers.worker.d.ts +9 -0
  493. package/dist/esm/src/lib/consumer/workers/watch-consumers.worker.js +35 -0
  494. package/dist/esm/src/lib/consumer/workers/worker.d.ts +17 -0
  495. package/dist/esm/src/lib/consumer/workers/worker.js +54 -0
  496. package/dist/esm/src/lib/consumer-groups/_/_delete-consumer-group.d.ts +5 -0
  497. package/dist/esm/src/lib/consumer-groups/_/_delete-consumer-group.js +34 -0
  498. package/dist/esm/src/lib/consumer-groups/_/_get-consumer-groups.d.ts +4 -0
  499. package/dist/esm/src/lib/consumer-groups/_/_get-consumer-groups.js +6 -0
  500. package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.d.ts +5 -0
  501. package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.js +19 -0
  502. package/dist/esm/src/lib/consumer-groups/consumer-groups.d.ts +15 -0
  503. package/dist/esm/src/lib/consumer-groups/consumer-groups.js +81 -0
  504. package/dist/esm/src/lib/consumer-groups/index.d.ts +2 -0
  505. package/dist/esm/src/lib/consumer-groups/index.js +2 -0
  506. package/dist/esm/src/lib/event-bus/errors/event-bus-lock.error.d.ts +4 -0
  507. package/dist/esm/src/lib/event-bus/errors/event-bus-lock.error.js +4 -0
  508. package/dist/esm/src/lib/event-bus/event-bus-redis-factory.d.ts +4 -0
  509. package/dist/esm/src/lib/event-bus/event-bus-redis-factory.js +11 -0
  510. package/dist/esm/src/lib/event-bus/event-bus-redis-instance.d.ts +11 -0
  511. package/dist/esm/src/lib/event-bus/event-bus-redis-instance.js +51 -0
  512. package/dist/esm/src/lib/event-bus/index.d.ts +3 -0
  513. package/dist/esm/src/lib/event-bus/index.js +3 -0
  514. package/dist/esm/src/lib/event-bus/types/config.d.ts +4 -0
  515. package/dist/esm/src/lib/event-bus/types/config.js +2 -0
  516. package/dist/esm/src/lib/event-bus/types/index.d.ts +2 -0
  517. package/dist/esm/src/lib/event-bus/types/index.js +2 -0
  518. package/dist/esm/src/lib/exchange/_/_get-exchange-queues.d.ts +5 -0
  519. package/dist/esm/src/lib/exchange/_/_get-exchange-queues.js +15 -0
  520. package/dist/esm/src/lib/exchange/errors/exchange-fan-out.error.d.ts +4 -0
  521. package/dist/esm/src/lib/exchange/errors/exchange-fan-out.error.js +4 -0
  522. package/dist/esm/src/lib/exchange/errors/exchange-invalid-data.error.d.ts +4 -0
  523. package/dist/esm/src/lib/exchange/errors/exchange-invalid-data.error.js +4 -0
  524. package/dist/esm/src/lib/exchange/errors/exchange.error.d.ts +4 -0
  525. package/dist/esm/src/lib/exchange/errors/exchange.error.js +4 -0
  526. package/dist/esm/src/lib/exchange/errors/index.d.ts +4 -0
  527. package/dist/esm/src/lib/exchange/errors/index.js +4 -0
  528. package/dist/esm/src/lib/exchange/exchange-abstract.d.ts +12 -0
  529. package/dist/esm/src/lib/exchange/exchange-abstract.js +16 -0
  530. package/dist/esm/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.d.ts +4 -0
  531. package/dist/esm/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.js +11 -0
  532. package/dist/esm/src/lib/exchange/exchange-direct/_/_validate-exchange-direct-params.d.ts +3 -0
  533. package/dist/esm/src/lib/exchange/exchange-direct/_/_validate-exchange-direct-params.js +8 -0
  534. package/dist/esm/src/lib/exchange/exchange-direct/exchange-direct.d.ts +7 -0
  535. package/dist/esm/src/lib/exchange/exchange-direct/exchange-direct.js +9 -0
  536. package/dist/esm/src/lib/exchange/exchange-direct/index.d.ts +2 -0
  537. package/dist/esm/src/lib/exchange/exchange-direct/index.js +2 -0
  538. package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-exchange-fanout-transferable.d.ts +3 -0
  539. package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-exchange-fanout-transferable.js +11 -0
  540. package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-fan-out-exchange-queues.d.ts +4 -0
  541. package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-fan-out-exchange-queues.js +13 -0
  542. package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-queue-fan-out-exchange.d.ts +4 -0
  543. package/dist/esm/src/lib/exchange/exchange-fan-out/_/_get-queue-fan-out-exchange.js +15 -0
  544. package/dist/esm/src/lib/exchange/exchange-fan-out/_/_validate-exchange-fan-out-params.d.ts +2 -0
  545. package/dist/esm/src/lib/exchange/exchange-fan-out/_/_validate-exchange-fan-out-params.js +8 -0
  546. package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.d.ts +13 -0
  547. package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +213 -0
  548. package/dist/esm/src/lib/exchange/exchange-fan-out/index.d.ts +2 -0
  549. package/dist/esm/src/lib/exchange/exchange-fan-out/index.js +2 -0
  550. package/dist/esm/src/lib/exchange/exchange-topic/_/_get-exchange-topic-transferable.d.ts +3 -0
  551. package/dist/esm/src/lib/exchange/exchange-topic/_/_get-exchange-topic-transferable.js +11 -0
  552. package/dist/esm/src/lib/exchange/exchange-topic/_/_get-topic-exchange-params.d.ts +4 -0
  553. package/dist/esm/src/lib/exchange/exchange-topic/_/_get-topic-exchange-params.js +22 -0
  554. package/dist/esm/src/lib/exchange/exchange-topic/_/_get-topic-exchange-queues.d.ts +5 -0
  555. package/dist/esm/src/lib/exchange/exchange-topic/_/_get-topic-exchange-queues.js +26 -0
  556. package/dist/esm/src/lib/exchange/exchange-topic/_/_validate-exchange-topic-params.d.ts +3 -0
  557. package/dist/esm/src/lib/exchange/exchange-topic/_/_validate-exchange-topic-params.js +8 -0
  558. package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.d.ts +8 -0
  559. package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.js +22 -0
  560. package/dist/esm/src/lib/exchange/exchange-topic/index.d.ts +2 -0
  561. package/dist/esm/src/lib/exchange/exchange-topic/index.js +2 -0
  562. package/dist/esm/src/lib/exchange/index.d.ts +6 -0
  563. package/dist/esm/src/lib/exchange/index.js +6 -0
  564. package/dist/esm/src/lib/exchange/types/exchange.d.ts +31 -0
  565. package/dist/esm/src/lib/exchange/types/exchange.js +7 -0
  566. package/dist/esm/src/lib/exchange/types/index.d.ts +2 -0
  567. package/dist/esm/src/lib/exchange/types/index.js +2 -0
  568. package/dist/esm/src/lib/index.d.ts +11 -0
  569. package/dist/esm/src/lib/index.js +11 -0
  570. package/dist/esm/src/lib/message/_/_delete-message.d.ts +3 -0
  571. package/dist/esm/src/lib/message/_/_delete-message.js +46 -0
  572. package/dist/esm/src/lib/message/_/_from-message.d.ts +5 -0
  573. package/dist/esm/src/lib/message/_/_from-message.js +24 -0
  574. package/dist/esm/src/lib/message/_/_get-message-state.d.ts +4 -0
  575. package/dist/esm/src/lib/message/_/_get-message-state.js +15 -0
  576. package/dist/esm/src/lib/message/_/_get-message-status.d.ts +4 -0
  577. package/dist/esm/src/lib/message/_/_get-message-status.js +15 -0
  578. package/dist/esm/src/lib/message/_/_get-message.d.ts +5 -0
  579. package/dist/esm/src/lib/message/_/_get-message.js +40 -0
  580. package/dist/esm/src/lib/message/errors/index.d.ts +7 -0
  581. package/dist/esm/src/lib/message/errors/index.js +7 -0
  582. package/dist/esm/src/lib/message/errors/message-delete.error.d.ts +5 -0
  583. package/dist/esm/src/lib/message/errors/message-delete.error.js +7 -0
  584. package/dist/esm/src/lib/message/errors/message-destination-queue-already-set.error.d.ts +5 -0
  585. package/dist/esm/src/lib/message/errors/message-destination-queue-already-set.error.js +7 -0
  586. package/dist/esm/src/lib/message/errors/message-destination-queue-required.error.d.ts +5 -0
  587. package/dist/esm/src/lib/message/errors/message-destination-queue-required.error.js +7 -0
  588. package/dist/esm/src/lib/message/errors/message-exchange-required.error.d.ts +5 -0
  589. package/dist/esm/src/lib/message/errors/message-exchange-required.error.js +7 -0
  590. package/dist/esm/src/lib/message/errors/message-not-found.error.d.ts +5 -0
  591. package/dist/esm/src/lib/message/errors/message-not-found.error.js +7 -0
  592. package/dist/esm/src/lib/message/errors/message.error.d.ts +4 -0
  593. package/dist/esm/src/lib/message/errors/message.error.js +4 -0
  594. package/dist/esm/src/lib/message/index.d.ts +5 -0
  595. package/dist/esm/src/lib/message/index.js +5 -0
  596. package/dist/esm/src/lib/message/message-envelope.d.ts +33 -0
  597. package/dist/esm/src/lib/message/message-envelope.js +154 -0
  598. package/dist/esm/src/lib/message/message-state.d.ts +44 -0
  599. package/dist/esm/src/lib/message/message-state.js +158 -0
  600. package/dist/esm/src/lib/message/message.d.ts +16 -0
  601. package/dist/esm/src/lib/message/message.js +88 -0
  602. package/dist/esm/src/lib/message/producible-message.d.ts +56 -0
  603. package/dist/esm/src/lib/message/producible-message.js +214 -0
  604. package/dist/esm/src/lib/message/types/config.d.ts +19 -0
  605. package/dist/esm/src/lib/message/types/config.js +2 -0
  606. package/dist/esm/src/lib/message/types/index.d.ts +4 -0
  607. package/dist/esm/src/lib/message/types/index.js +4 -0
  608. package/dist/esm/src/lib/message/types/message-state.d.ts +15 -0
  609. package/dist/esm/src/lib/message/types/message-state.js +2 -0
  610. package/dist/esm/src/lib/message/types/message.d.ts +57 -0
  611. package/dist/esm/src/lib/message/types/message.js +30 -0
  612. package/dist/esm/src/lib/namespace/errors/index.d.ts +3 -0
  613. package/dist/esm/src/lib/namespace/errors/index.js +3 -0
  614. package/dist/esm/src/lib/namespace/errors/namespace-not-found.error.d.ts +4 -0
  615. package/dist/esm/src/lib/namespace/errors/namespace-not-found.error.js +4 -0
  616. package/dist/esm/src/lib/namespace/errors/namespace.error.d.ts +4 -0
  617. package/dist/esm/src/lib/namespace/errors/namespace.error.js +4 -0
  618. package/dist/esm/src/lib/namespace/index.d.ts +3 -0
  619. package/dist/esm/src/lib/namespace/index.js +3 -0
  620. package/dist/esm/src/lib/namespace/namespace.d.ts +13 -0
  621. package/dist/esm/src/lib/namespace/namespace.js +130 -0
  622. package/dist/esm/src/lib/producer/_/_schedule-message.d.ts +4 -0
  623. package/dist/esm/src/lib/producer/_/_schedule-message.js +46 -0
  624. package/dist/esm/src/lib/producer/errors/index.d.ts +7 -0
  625. package/dist/esm/src/lib/producer/errors/index.js +7 -0
  626. package/dist/esm/src/lib/producer/errors/producer-instance-not-running.error.d.ts +5 -0
  627. package/dist/esm/src/lib/producer/errors/producer-instance-not-running.error.js +7 -0
  628. package/dist/esm/src/lib/producer/errors/producer-message-exchange-required.error.d.ts +4 -0
  629. package/dist/esm/src/lib/producer/errors/producer-message-exchange-required.error.js +4 -0
  630. package/dist/esm/src/lib/producer/errors/producer-message-not-published.error.d.ts +4 -0
  631. package/dist/esm/src/lib/producer/errors/producer-message-not-published.error.js +4 -0
  632. package/dist/esm/src/lib/producer/errors/producer-message-not-scheduled.error.d.ts +4 -0
  633. package/dist/esm/src/lib/producer/errors/producer-message-not-scheduled.error.js +4 -0
  634. package/dist/esm/src/lib/producer/errors/producer-queue-without-consumer-groups.error.d.ts +4 -0
  635. package/dist/esm/src/lib/producer/errors/producer-queue-without-consumer-groups.error.js +4 -0
  636. package/dist/esm/src/lib/producer/errors/producer.error.d.ts +4 -0
  637. package/dist/esm/src/lib/producer/errors/producer.error.js +4 -0
  638. package/dist/esm/src/lib/producer/event-bus-publisher.d.ts +4 -0
  639. package/dist/esm/src/lib/producer/event-bus-publisher.js +53 -0
  640. package/dist/esm/src/lib/producer/index.d.ts +3 -0
  641. package/dist/esm/src/lib/producer/index.js +3 -0
  642. package/dist/esm/src/lib/producer/producer.d.ts +27 -0
  643. package/dist/esm/src/lib/producer/producer.js +232 -0
  644. package/dist/esm/src/lib/producer/queue-consumer-groups-cache.d.ts +26 -0
  645. package/dist/esm/src/lib/producer/queue-consumer-groups-cache.js +126 -0
  646. package/dist/esm/src/lib/queue/_/_delete-queue.d.ts +4 -0
  647. package/dist/esm/src/lib/queue/_/_delete-queue.js +132 -0
  648. package/dist/esm/src/lib/queue/_/_get-queue-properties.d.ts +4 -0
  649. package/dist/esm/src/lib/queue/_/_get-queue-properties.js +52 -0
  650. package/dist/esm/src/lib/queue/_/_get-queues.d.ts +4 -0
  651. package/dist/esm/src/lib/queue/_/_get-queues.js +16 -0
  652. package/dist/esm/src/lib/queue/_/_parse-queue-extended-params.d.ts +4 -0
  653. package/dist/esm/src/lib/queue/_/_parse-queue-extended-params.js +42 -0
  654. package/dist/esm/src/lib/queue/_/_parse-queue-params.d.ts +4 -0
  655. package/dist/esm/src/lib/queue/_/_parse-queue-params.js +19 -0
  656. package/dist/esm/src/lib/queue/errors/index.d.ts +6 -0
  657. package/dist/esm/src/lib/queue/errors/index.js +6 -0
  658. package/dist/esm/src/lib/queue/errors/queue-exists.error.d.ts +4 -0
  659. package/dist/esm/src/lib/queue/errors/queue-exists.error.js +4 -0
  660. package/dist/esm/src/lib/queue/errors/queue-has-running-consumers.error.d.ts +5 -0
  661. package/dist/esm/src/lib/queue/errors/queue-has-running-consumers.error.js +7 -0
  662. package/dist/esm/src/lib/queue/errors/queue-not-empty.error.d.ts +4 -0
  663. package/dist/esm/src/lib/queue/errors/queue-not-empty.error.js +4 -0
  664. package/dist/esm/src/lib/queue/errors/queue-not-found.error.d.ts +4 -0
  665. package/dist/esm/src/lib/queue/errors/queue-not-found.error.js +4 -0
  666. package/dist/esm/src/lib/queue/errors/queue.error.d.ts +4 -0
  667. package/dist/esm/src/lib/queue/errors/queue.error.js +4 -0
  668. package/dist/esm/src/lib/queue/index.d.ts +4 -0
  669. package/dist/esm/src/lib/queue/index.js +4 -0
  670. package/dist/esm/src/lib/queue/queue.d.ts +20 -0
  671. package/dist/esm/src/lib/queue/queue.js +162 -0
  672. package/dist/esm/src/lib/queue/types/index.d.ts +3 -0
  673. package/dist/esm/src/lib/queue/types/index.js +3 -0
  674. package/dist/esm/src/lib/queue/types/queue-consumer.d.ts +7 -0
  675. package/dist/esm/src/lib/queue/types/queue-consumer.js +2 -0
  676. package/dist/esm/src/lib/queue/types/queue.d.ts +41 -0
  677. package/dist/esm/src/lib/queue/types/queue.js +20 -0
  678. package/dist/esm/src/lib/queue-messages/_/_requeue-message.d.ts +5 -0
  679. package/dist/esm/src/lib/queue-messages/_/_requeue-message.js +66 -0
  680. package/dist/esm/src/lib/queue-messages/_/_validate-queue-extended-params.d.ts +4 -0
  681. package/dist/esm/src/lib/queue-messages/_/_validate-queue-extended-params.js +24 -0
  682. package/dist/esm/src/lib/queue-messages/errors/index.d.ts +3 -0
  683. package/dist/esm/src/lib/queue-messages/errors/index.js +3 -0
  684. package/dist/esm/src/lib/queue-messages/errors/message-requeue.error.d.ts +5 -0
  685. package/dist/esm/src/lib/queue-messages/errors/message-requeue.error.js +7 -0
  686. package/dist/esm/src/lib/queue-messages/errors/queue-message.error.d.ts +4 -0
  687. package/dist/esm/src/lib/queue-messages/errors/queue-message.error.js +4 -0
  688. package/dist/esm/src/lib/queue-messages/index.d.ts +8 -0
  689. package/dist/esm/src/lib/queue-messages/index.js +8 -0
  690. package/dist/esm/src/lib/queue-messages/queue-acknowledged-messages.d.ts +10 -0
  691. package/dist/esm/src/lib/queue-messages/queue-acknowledged-messages.js +18 -0
  692. package/dist/esm/src/lib/queue-messages/queue-dead-lettered-messages.d.ts +10 -0
  693. package/dist/esm/src/lib/queue-messages/queue-dead-lettered-messages.js +18 -0
  694. package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-abstract.d.ts +23 -0
  695. package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-abstract.js +147 -0
  696. package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-list.d.ts +9 -0
  697. package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-list.js +56 -0
  698. package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-set.d.ts +9 -0
  699. package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-set.js +64 -0
  700. package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-sorted-set.d.ts +9 -0
  701. package/dist/esm/src/lib/queue-messages/queue-messages-paginator/queue-messages-paginator-sorted-set.js +56 -0
  702. package/dist/esm/src/lib/queue-messages/queue-messages.d.ts +22 -0
  703. package/dist/esm/src/lib/queue-messages/queue-messages.js +120 -0
  704. package/dist/esm/src/lib/queue-messages/queue-pending-messages/index.d.ts +2 -0
  705. package/dist/esm/src/lib/queue-messages/queue-pending-messages/index.js +2 -0
  706. package/dist/esm/src/lib/queue-messages/queue-pending-messages/linear-queue-pending-messages.d.ts +7 -0
  707. package/dist/esm/src/lib/queue-messages/queue-pending-messages/linear-queue-pending-messages.js +6 -0
  708. package/dist/esm/src/lib/queue-messages/queue-pending-messages/priority-queue-pending-messages.d.ts +7 -0
  709. package/dist/esm/src/lib/queue-messages/queue-pending-messages/priority-queue-pending-messages.js +6 -0
  710. package/dist/esm/src/lib/queue-messages/queue-pending-messages/queue-pending-messages.d.ts +20 -0
  711. package/dist/esm/src/lib/queue-messages/queue-pending-messages/queue-pending-messages.js +90 -0
  712. package/dist/esm/src/lib/queue-messages/queue-scheduled-messages.d.ts +6 -0
  713. package/dist/esm/src/lib/queue-messages/queue-scheduled-messages.js +5 -0
  714. package/dist/esm/src/lib/queue-messages/types/index.d.ts +42 -0
  715. package/dist/esm/src/lib/queue-messages/types/index.js +2 -0
  716. package/dist/esm/src/lib/queue-rate-limit/_/_has-rate-limit-exceeded.d.ts +4 -0
  717. package/dist/esm/src/lib/queue-rate-limit/_/_has-rate-limit-exceeded.js +15 -0
  718. package/dist/esm/src/lib/queue-rate-limit/errors/index.d.ts +2 -0
  719. package/dist/esm/src/lib/queue-rate-limit/errors/index.js +2 -0
  720. package/dist/esm/src/lib/queue-rate-limit/errors/queue-rate-limit.error.d.ts +4 -0
  721. package/dist/esm/src/lib/queue-rate-limit/errors/queue-rate-limit.error.js +4 -0
  722. package/dist/esm/src/lib/queue-rate-limit/index.d.ts +3 -0
  723. package/dist/esm/src/lib/queue-rate-limit/index.js +3 -0
  724. package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.d.ts +15 -0
  725. package/dist/esm/src/lib/queue-rate-limit/queue-rate-limit.js +110 -0
  726. package/package.json +25 -10
  727. package/dist/index.cjs +0 -4964
  728. package/dist/index.d.cts +0 -861
  729. package/dist/index.d.ts +0 -861
  730. package/dist/index.js +0 -4959
  731. /package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/acknowledge-message.lua +0 -0
  732. /package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/fetch-message-for-processing.lua +0 -0
  733. /package/dist/{lua → cjs/src/common/redis-client/scripts/lua}/has-queue-rate-exceeded.lua +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,356 @@
1
1
 
2
2
 
3
+ ## [8.0.0-rc.21](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.20...v8.0.0-rc.21) (2024-04-29)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **message:** correct logic for deleting multiple messages by IDs ([fdb39d6](https://github.com/weyoss/redis-smq/commit/fdb39d66f3cea59decf8ad29b5efdf827780ba73))
9
+
10
+
11
+ ### Documentation
12
+
13
+ * improve RC release status description, clean up ([98910dc](https://github.com/weyoss/redis-smq/commit/98910dcef215494ccee4de01879d0e2f8037213d))
14
+ * update examples ([d80beb2](https://github.com/weyoss/redis-smq/commit/d80beb2af2472ac596a88531786a0ba2681e09dd))
15
+
16
+
17
+ ### Codebase Refactoring
18
+
19
+ * optimize imports ([29a0efb](https://github.com/weyoss/redis-smq/commit/29a0efb9e46ce23a6fb14c44222cf987a05ee22a))
20
+ * remove unused error classes and clean up ([15bd959](https://github.com/weyoss/redis-smq/commit/15bd9591d58b5717ee5a8e8191df7388e65a768b))
21
+ * shorten imports ([3bfb8f1](https://github.com/weyoss/redis-smq/commit/3bfb8f1e39011e2f48039b2c534f0fe936b67759))
22
+
23
+
24
+ ### Tests
25
+
26
+ * increase code coverage ([e9d84e8](https://github.com/weyoss/redis-smq/commit/e9d84e8b4a9a239246473ca770ce035ce8e66831))
27
+
28
+
29
+ ### Misc
30
+
31
+ * clean up package.json ([ff9ff3d](https://github.com/weyoss/redis-smq/commit/ff9ff3d06f61c20f70bd55c34a545278713847d5))
32
+ * update LICENSE ([cb18d44](https://github.com/weyoss/redis-smq/commit/cb18d4449f851df803a0e2cd84410257cbfcfdfd))
33
+
34
+ ## [8.0.0-rc.20](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.19...v8.0.0-rc.20) (2024-03-24)
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * include missing enums when exporting esm/cjs modules ([2ee6802](https://github.com/weyoss/redis-smq/commit/2ee680205dbde78af46f4e4347cdf4fa80adfe3b))
40
+
41
+ ## [8.0.0-rc.19](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.18...v8.0.0-rc.19) (2024-03-24)
42
+
43
+
44
+ ### Documentation
45
+
46
+ * fix incorrect generated anchor texts ([c4f523f](https://github.com/weyoss/redis-smq/commit/c4f523f9a17dbbb8510b35032cfecfc69905dd04))
47
+
48
+ ## [8.0.0-rc.18](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.17...v8.0.0-rc.18) (2024-03-24)
49
+
50
+
51
+ ### ⚠ BREAKING CHANGES
52
+
53
+ * rebase on redis-smq-common@3.0.0-rc.14
54
+
55
+ ### Documentation
56
+
57
+ * update documentation and API reference ([3baaee6](https://github.com/weyoss/redis-smq/commit/3baaee6649c7bde47ce4c22c12ca4dc367ab301d))
58
+
59
+
60
+ ### Codebase Refactoring
61
+
62
+ * do not throw errors for async functions ([582f355](https://github.com/weyoss/redis-smq/commit/582f35539c01e9b98a05fbd65b2247cba623524c))
63
+ * rebase on redis-smq-common@3.0.0-rc.14 ([2c5edbd](https://github.com/weyoss/redis-smq/commit/2c5edbd8debdf4599ddbb7ad42a37bc94fea14d1))
64
+
65
+ ## [8.0.0-rc.17](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.16...v8.0.0-rc.17) (2024-01-30)
66
+
67
+
68
+ ### Documentation
69
+
70
+ * add missing error classes ([753331e](https://github.com/weyoss/redis-smq/commit/753331e5ce4fb239cb29b3ae4c3246ba185b4d94))
71
+ * simplify and unify class/method naming and referencing ([0299b31](https://github.com/weyoss/redis-smq/commit/0299b314e843c28d52e2f767ace150e39652287c))
72
+
73
+
74
+ ### Codebase Refactoring
75
+
76
+ * improve MessageHandler error handling ([957d257](https://github.com/weyoss/redis-smq/commit/957d257e66cce6faaf9dad5bf949cdd1198cfae8))
77
+
78
+ ## [8.0.0-rc.16](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.15...v8.0.0-rc.16) (2024-01-28)
79
+
80
+
81
+ ### Features
82
+
83
+ * allow running/sandboxing message handlers using worker threads ([53095bd](https://github.com/weyoss/redis-smq/commit/53095bd2689ccb2f701365bafb4ef8e550da82b3))
84
+
85
+
86
+ ### Bug Fixes
87
+
88
+ * export message handler errors ([26d2689](https://github.com/weyoss/redis-smq/commit/26d26890da139d88c46ce220e3dda3d9c8e03aee))
89
+
90
+
91
+ ### Documentation
92
+
93
+ * **ConsumeMessageWorker:** update docs and clean up ([140322e](https://github.com/weyoss/redis-smq/commit/140322e3520ee3db905ea977a159064f339aa7d2))
94
+ * fix broken links ([aad9010](https://github.com/weyoss/redis-smq/commit/aad9010e70ed332b154f4fbdcb8ac657a14fe6b9))
95
+ * update messages and queues documentation ([7c3d06e](https://github.com/weyoss/redis-smq/commit/7c3d06ed3765ffc14dfece4f725241aa4535e1e7))
96
+
97
+
98
+ ### Codebase Refactoring
99
+
100
+ * **ConsumeMessageWorker:** improve typings ([66c6ca9](https://github.com/weyoss/redis-smq/commit/66c6ca948677f76d496fe0b988bd195e1a7108a2))
101
+
102
+
103
+ ### Tests
104
+
105
+ * allow running/sandboxing message handlers using worker threads ([79e6886](https://github.com/weyoss/redis-smq/commit/79e688674ed11ec34ce2f74d5f15c8eefa129767))
106
+
107
+ ## [8.0.0-rc.15](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.14...v8.0.0-rc.15) (2024-01-25)
108
+
109
+
110
+ ### Features
111
+
112
+ * add Pub/Sub delivery model, refactor and clean up ([47affa1](https://github.com/weyoss/redis-smq/commit/47affa172eb2fc6943f660bea3feab3af1bc28ec))
113
+
114
+
115
+ ### Documentation
116
+
117
+ * add a notification about the latest release, clean up ([904f196](https://github.com/weyoss/redis-smq/commit/904f196f1854059625b08af05fe5ceb1466d4a9f))
118
+ * add Pub/Sub delivery model, refactor and clean up ([32db9dd](https://github.com/weyoss/redis-smq/commit/32db9dd2772bc16568e03e6e216a7d0fd0a599a7))
119
+ * clean up ([c7d13a6](https://github.com/weyoss/redis-smq/commit/c7d13a639a1ed9f134ba3deb99d1e2a23223935a))
120
+
121
+
122
+ ### Misc
123
+
124
+ * bump up redis-smq-common to v3.0.0-rc.8 ([d411849](https://github.com/weyoss/redis-smq/commit/d4118496263479036085ee09ceb5785ee497bb59))
125
+ * bump up redis-smq-common to v3.0.0-rc9 ([d372e9d](https://github.com/weyoss/redis-smq/commit/d372e9d98593934e9e9fb63efcd56cbad99202af))
126
+
127
+ ## [8.0.0-rc.14](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.13...v8.0.0-rc.14) (2024-01-03)
128
+
129
+
130
+ ### Documentation
131
+
132
+ * add new diagrams and update existing ones ([f5182b1](https://github.com/weyoss/redis-smq/commit/f5182b10b5179365edf68e7b6bf564ccc25281ab))
133
+ * **event-listeners:** add a link to IRedisSMQConfig interface ([a7635c5](https://github.com/weyoss/redis-smq/commit/a7635c5d811ad775123547a5696c78b030981269))
134
+ * scale down diagrams ([c3b37e4](https://github.com/weyoss/redis-smq/commit/c3b37e445a6d15fdcc8c7a73b713a1f7d5e7c94e))
135
+ * update exchange diagrams ([9dc05d6](https://github.com/weyoss/redis-smq/commit/9dc05d6cd835d779b9d183e83f562c7991105c92))
136
+
137
+
138
+ ### Codebase Refactoring
139
+
140
+ * **event-listeners:** clean up ([d9195e4](https://github.com/weyoss/redis-smq/commit/d9195e4e85e2e4519d238f5f3ecace37ae9bbb32))
141
+ * **exchanges:** improve typings ([97665fe](https://github.com/weyoss/redis-smq/commit/97665fed4a579af444c46e01a6b05f9adb12e888))
142
+ * **message:** handle various errors when deleting a message ([a4505ae](https://github.com/weyoss/redis-smq/commit/a4505ae7d95bda0185da28433c6737e395400e7b))
143
+
144
+
145
+ ### Tests
146
+
147
+ * **message:** handle various errors when deleting a message ([ecf301b](https://github.com/weyoss/redis-smq/commit/ecf301b06aac1bf6d0fcb1ced962a32ac6a6ca68))
148
+
149
+ ## [8.0.0-rc.13](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.12...v8.0.0-rc.13) (2023-12-23)
150
+
151
+
152
+ ### ⚠ BREAKING CHANGES
153
+
154
+ * **event-listeners:** unify consumer/producer event listeners
155
+
156
+ ### Documentation
157
+
158
+ * **event-listeners:** update documentation ([71100d3](https://github.com/weyoss/redis-smq/commit/71100d3aa94a61fb8ece86e439f0b120b66a6cab))
159
+
160
+
161
+ ### Codebase Refactoring
162
+
163
+ * **event-listeners:** unify consumer/producer event listeners ([9e1a181](https://github.com/weyoss/redis-smq/commit/9e1a1811dd841d4329f0ee14e979d2770a7a6358))
164
+
165
+
166
+ ### Tests
167
+
168
+ * **event-listeners:** unify consumer/producer event listeners ([2d14a07](https://github.com/weyoss/redis-smq/commit/2d14a077feda98933fb6c038bea5a33ad8d5f610))
169
+
170
+ ## [8.0.0-rc.12](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.11...v8.0.0-rc.12) (2023-12-18)
171
+
172
+
173
+ ### Misc
174
+
175
+ * update logo ([9bd373e](https://github.com/weyoss/redis-smq/commit/9bd373e693c57c8e18dddb5b0899c710e6de9492))
176
+
177
+ ## [8.0.0-rc.11](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.10...v8.0.0-rc.11) (2023-12-18)
178
+
179
+
180
+ ### Documentation
181
+
182
+ * **IConsumableMessage:** clean up ([5b5ce3a](https://github.com/weyoss/redis-smq/commit/5b5ce3aedd3e378cc74a2715da2ae1e98f41124f))
183
+
184
+
185
+ ### Codebase Refactoring
186
+
187
+ * **MessageEnvelope:** clean up ([72140f6](https://github.com/weyoss/redis-smq/commit/72140f61742dd4e3cbe36a6c421bf5f0b5a2f7ac))
188
+ * rename _createRMessage to _createConsumableMessage ([7a138fd](https://github.com/weyoss/redis-smq/commit/7a138fdce633946d4f69a7c8aa4d78a019bc82df))
189
+
190
+
191
+ ### Tests
192
+
193
+ * **ConsumableMessage:** increase code coverage ([3960c6e](https://github.com/weyoss/redis-smq/commit/3960c6ef72875fcdd0684eb1025afd0c0630c67c))
194
+
195
+ ## [8.0.0-rc.10](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.9...v8.0.0-rc.10) (2023-12-17)
196
+
197
+
198
+ ### ⚠ BREAKING CHANGES
199
+
200
+ * add ProducibleMessage/ConsumableMessage/MessageEnvelope
201
+
202
+ ### Features
203
+
204
+ * add ProducibleMessage/ConsumableMessage/MessageEnvelope ([4a3eec7](https://github.com/weyoss/redis-smq/commit/4a3eec79575b2845d2c35ec478b89e4a5acb863d))
205
+
206
+
207
+ ### Documentation
208
+
209
+ * add ProducibleMessage/ConsumableMessage/MessageEnvelope ([55aa68e](https://github.com/weyoss/redis-smq/commit/55aa68e17021afadad32ee2c1b9dfef6924449f5))
210
+ * **QueueMessages:** fix outdated class reference ([e6ae499](https://github.com/weyoss/redis-smq/commit/e6ae4991d4389e1d1602bd780f4e0d95e02e5606))
211
+ * update examples ([bbccf7c](https://github.com/weyoss/redis-smq/commit/bbccf7cb5a2a5dfe2eacaeabb097129cbdcf6720))
212
+
213
+
214
+ ### Tests
215
+
216
+ * add ProducibleMessage/ConsumableMessage/MessageEnvelope ([2961a22](https://github.com/weyoss/redis-smq/commit/2961a221190307c4a4a8857fed9ec12622bdd10d))
217
+
218
+
219
+ ### Misc
220
+
221
+ * update health-check ([81edb25](https://github.com/weyoss/redis-smq/commit/81edb255d081824143f147ed8d0faefe0948224f))
222
+
223
+ ## [8.0.0-rc.9](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.8...v8.0.0-rc.9) (2023-12-11)
224
+
225
+
226
+ ### Documentation
227
+
228
+ * update documentation ([85d6adb](https://github.com/weyoss/redis-smq/commit/85d6adb7e8db6cb4f427a34e8e510c11d2fc5bf0))
229
+
230
+
231
+ ### Codebase Refactoring
232
+
233
+ * **MessageEnvelope:** improve setPriority/getPriority typings ([91c44f0](https://github.com/weyoss/redis-smq/commit/91c44f013d6ff757876a0e57dcec45869ab6a02a))
234
+
235
+
236
+ ### Tests
237
+
238
+ * **MessageEnvelope:** improve setPriority/getPriority typings ([20fd6e5](https://github.com/weyoss/redis-smq/commit/20fd6e58e466ae425bba54d4d85adf4df888654b))
239
+
240
+ ## [8.0.0-rc.8](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.7...v8.0.0-rc.8) (2023-12-11)
241
+
242
+
243
+ ### ⚠ BREAKING CHANGES
244
+
245
+ * **Message:** remove Message.MessagePriority, add EMessagePriority
246
+ * **QueueMessages:** move message methods to Message,add MessageEnvelope
247
+
248
+ ### Features
249
+
250
+ * **Message:** add getMessageStatus() method ([fda81fa](https://github.com/weyoss/redis-smq/commit/fda81fa7a3c4428799dfabef8581f0f3b39949e8))
251
+
252
+
253
+ ### Bug Fixes
254
+
255
+ * **Message:** export missing error classes ([29e8817](https://github.com/weyoss/redis-smq/commit/29e8817fa805faed42ebd9a3fea469004552eec1))
256
+
257
+
258
+ ### Documentation
259
+
260
+ * update documentation and examples ([8efb082](https://github.com/weyoss/redis-smq/commit/8efb08200ac1f2751c7e10e3492445badb2e4039))
261
+
262
+
263
+ ### Codebase Refactoring
264
+
265
+ * **Message:** remove Message.MessagePriority, add EMessagePriority ([702a01d](https://github.com/weyoss/redis-smq/commit/702a01da987479a4f3b2127b9da0851d74046c10))
266
+ * **QueueMessages:** move message methods to Message,add MessageEnvelope ([f71f0d0](https://github.com/weyoss/redis-smq/commit/f71f0d06240e16b1519ae175793ae28470684d4f))
267
+
268
+
269
+ ### Tests
270
+
271
+ * **Message:** add getMessageStatus() method ([76e97c4](https://github.com/weyoss/redis-smq/commit/76e97c48fdc86c2709db39b17a0ba55432157270))
272
+ * **Message:** remove Message.MessagePriority, add EMessagePriority ([88a1368](https://github.com/weyoss/redis-smq/commit/88a1368ff8e000f3f26141ec29fddc7f96a7103e))
273
+ * **QueueMessages:** move message methods to Message,add MessageEnvelope ([932a88e](https://github.com/weyoss/redis-smq/commit/932a88eee5bfd0dc020c8516f76e2d351d486fe3))
274
+
275
+ ## [8.0.0-rc.7](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.6...v8.0.0-rc.7) (2023-12-09)
276
+
277
+
278
+ ### ⚠ BREAKING CHANGES
279
+
280
+ * **QueueMessages:** remove redundant method deleteMessage()
281
+
282
+ ### Documentation
283
+
284
+ * **QueueMessages:** remove redundant method deleteMessage() ([cdeb454](https://github.com/weyoss/redis-smq/commit/cdeb4543f859e108efdcaa61aeac15d3a325b0a5))
285
+
286
+
287
+ ### Codebase Refactoring
288
+
289
+ * **QueueMessages:** remove redundant method deleteMessage() ([af21dff](https://github.com/weyoss/redis-smq/commit/af21dff9f6b959ed21aa4cbe812606c1efbf4046))
290
+
291
+
292
+ ### Tests
293
+
294
+ * **QueueMessages:** remove redundant method deleteMessage() ([dfa3792](https://github.com/weyoss/redis-smq/commit/dfa37924a0a8e2fc726ce4a76baa535c79f0c917))
295
+
296
+ ## [8.0.0-rc.6](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.5...v8.0.0-rc.6) (2023-12-09)
297
+
298
+
299
+ ### ⚠ BREAKING CHANGES
300
+
301
+ * **QueueMessages:** rename deleteMessagesById to deleteMessageById
302
+
303
+ ### Documentation
304
+
305
+ * **QueueMessages:** rename deleteMessagesById to deleteMessageById ([81cfb72](https://github.com/weyoss/redis-smq/commit/81cfb72a012e99398435418f52c8a24018759234))
306
+
307
+
308
+ ### Codebase Refactoring
309
+
310
+ * **QueueMessages:** rename deleteMessagesById to deleteMessageById ([b3baf71](https://github.com/weyoss/redis-smq/commit/b3baf711e6210034aac256362418dd8d87859557))
311
+
312
+ ## [8.0.0-rc.5](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.4...v8.0.0-rc.5) (2023-12-03)
313
+
314
+
315
+ ### Documentation
316
+
317
+ * clean up ([2d7c004](https://github.com/weyoss/redis-smq/commit/2d7c004e690ca2f30a6de8d22feb5f4a3711eab9))
318
+
319
+
320
+ ### Codebase Refactoring
321
+
322
+ * improve typings ([c86bb53](https://github.com/weyoss/redis-smq/commit/c86bb53969bbb919f115268cbf510c818af44066))
323
+
324
+ ## [8.0.0-rc.4](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.3...v8.0.0-rc.4) (2023-12-02)
325
+
326
+
327
+ ### Documentation
328
+
329
+ * clean up outdated examples ([dd1c68b](https://github.com/weyoss/redis-smq/commit/dd1c68bdd7cf7de2dfa309dbe7efff76fed5c983))
330
+
331
+
332
+ ### Misc
333
+
334
+ * move redis-smq-common from dev-deps to deps ([675880d](https://github.com/weyoss/redis-smq/commit/675880d3803cca9c89aa860486bae43dbe7e2f70))
335
+
336
+ ## [8.0.0-rc.3](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.2...v8.0.0-rc.3) (2023-12-02)
337
+
338
+
339
+ ### Bug Fixes
340
+
341
+ * **scheduler:** handle unacked messages with retry delay correctly ([a97b145](https://github.com/weyoss/redis-smq/commit/a97b145f605d6b5c7d9f6f83c844c9d2447c5786))
342
+
343
+
344
+ ### Documentation
345
+
346
+ * update Message reference ([1cff3e3](https://github.com/weyoss/redis-smq/commit/1cff3e3fe3634ffa2d502a4bbb589948ed8e56ea))
347
+ * update TRedisSMQEvent reference ([5afa22e](https://github.com/weyoss/redis-smq/commit/5afa22ea1d2de00cb9c4708c55ec8fe1ef5a39b5))
348
+
349
+
350
+ ### Tests
351
+
352
+ * **message:** add new test cases covering message status ([9eec7e9](https://github.com/weyoss/redis-smq/commit/9eec7e9e2a39244ab62b9f8db4d049d3363a534d))
353
+
3
354
  ## [8.0.0-rc.2](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.1...v8.0.0-rc.2) (2023-11-27)
4
355
 
5
356
 
@@ -104,8 +455,6 @@
104
455
  * drop support for redis server 2.8 and 3 ([9ef8ade](https://github.com/weyoss/redis-smq/commit/9ef8adec08bf90d1cc27b9bbabe591bca25a7d8e))
105
456
  * update minimal supported versions for nodejs and redis ([13b3197](https://github.com/weyoss/redis-smq/commit/13b31977937c65aa989de8d715022d1afb5f0839))
106
457
 
107
- # CHANGELOG
108
-
109
458
  ## 7.2.3 (2023-03-26)
110
459
 
111
460
  * test(consumer-heartbeat): update tests (4332153)
package/LICENSE CHANGED
@@ -1,4 +1,6 @@
1
- Copyright (c) 2017-2023 Weyoss <weyoss@protonmail.com>
1
+ MIT License
2
+
3
+ Copyright (c) Weyoss <weyoss@protonmail.com>, https://github.com/weyoss
2
4
 
3
5
  Permission is hereby granted, free of charge, to any person obtaining
4
6
  a copy of this software and associated documentation files (the
package/README.md CHANGED
@@ -1,49 +1,70 @@
1
+ > [!IMPORTANT]
2
+ > Currently, RedisSMQ is going under heavy development. Pre-releases at any time may introduce new commits with breaking changes.
3
+ > The master branch always reflects the most recent changes. To view the latest release reference see [RedisSMQ v7.2.3](https://github.com/weyoss/redis-smq/tree/v7.2.3)
4
+
1
5
  <div align="center" style="text-align: center">
2
- <p><a href="https://github.com/weyoss/redis-smq"><img alt="RedisSMQ" src="./logo.png" /></a></p>
3
- <p>A simple high-performance Redis message queue for Node.js.</p>
6
+ <p><a href="https://github.com/weyoss/redis-smq"><img alt="RedisSMQ" src="./logo.png?v=202312182134" /></a></p>
7
+ <p>A simple high-performance Redis message queue for Node.js.</p>
8
+ <p>
9
+ <a href="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml"><img src="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml/badge.svg" alt="Tests" style="max-width:100%;" /></a>
10
+ <a href="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml" rel="nofollow"><img src="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml/badge.svg" alt="Code quality" /></a>
11
+ <a href="https://codecov.io/github/weyoss/redis-smq?branch=master" rel="nofollow"><img src="https://img.shields.io/codecov/c/github/weyoss/redis-smq" alt="Coverage Status" /></a>
12
+ <a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/v/redis-smq.svg" alt="NPM version" /></a>
13
+ <a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/dm/redis-smq.svg" alt="NPM downloads" /></a>
14
+ </p>
4
15
  </div>
5
16
 
6
17
  # RedisSMQ
7
18
 
8
- <p>
9
- <a href="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml"><img src="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml/badge.svg" alt="Tests" style="max-width:100%;" /></a>
10
- <a href="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml" rel="nofollow"><img src="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml/badge.svg" alt="Code quality" /></a>
11
- <a href="https://codecov.io/github/weyoss/redis-smq?branch=master" rel="nofollow"><img src="https://img.shields.io/codecov/c/github/weyoss/redis-smq" alt="Coverage Status" /></a>
12
- <a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/v/redis-smq.svg" alt="NPM version" /></a>
13
- <a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/dm/redis-smq.svg" alt="NPM downloads" /></a>
14
- </p>
15
-
16
- RedisSMQ is a Node.js library for queuing messages (aka jobs) and processing them asynchronously with consumers. Backed by Redis, it allows scaling up your application with ease of use.
19
+ RedisSMQ is a Node.js library for queuing messages (aka jobs) and processing them asynchronously with consumers. Backed by Redis, it allows scaling up your typical applications with ease of use.
17
20
 
18
21
  ## Features
19
22
 
20
23
  * [High-performance message processing](docs/performance.md).
21
- * Flexible Producer/Consumer model which offers [Multi-Queue Producers](docs/producing-messages.md) & [Multi-Queue Consumers](docs/consuming-messages.md), focuses on simplicity and without tons of features. This makes RedisSMQ an ideal message broker for microservices-based applications.
22
- * In case of failures, while delivering or processing a message, RedisSMQ can guaranty that the message is not lost and that it is redelivered [at-least-once](docs/api/classes/Message.md#setretrythreshold). When configured to do so, RedisSMQ can also ensure that the message is delivered [at-most-once](docs/api/classes/Message.md#setretrythreshold).
24
+ * Flexible Producer/Consumer model which offers [Multi-Queue Producers](docs/producing-messages.md) & [Multi-Queue Consumers](docs/consuming-messages.md).
23
25
  * RedisSMQ offers different exchange types: [Direct Exchange](docs/message-exchanges.md#direct-exchange), [Topic Exchange](docs/message-exchanges.md#topic-exchange), and [FanOut Exchange](docs/message-exchanges.md#fanout-exchange) for publishing a message to one or multiple queues.
24
- * 3 queuing strategies that you may use depending on your needs and requirements: [FIFO queues, LIFO queues, and Reliable Priority Queues](docs/queues.md).
25
- * A message can be [set to expire](docs/api/classes/Message.md#setttl) if it has not been delivered within a given amount of time. [Consumption timeout](docs/api/classes/Message.md#setconsumetimeout) allows canceling a message consumption if a consumer did not acknowledge the message for a period of time.
26
- * [Queue Rate Limiting](docs/queue-rate-limiting.md) which allows to control the rate at which the messages are consumed from a given queue.
27
- * Builtin [message scheduler](docs/scheduling-messages.md) allowing to delay a message, to deliver a message for N times with an optional period between deliveries, or simply to schedule message delivery using CRON expressions.
28
- * [Multiplexing](/docs/multiplexing.md): A feature which allows message handlers to use a single redis connection to dequeue and consume messages.
29
- * An [HTTP interface](https://github.com/weyoss/redis-smq-monitor) is provided to interact with the MQ. RedisSMQ can be managed also from your [web browser](https://github.com/weyoss/redis-smq-monitor-client).
30
- * Depending on [your preferences](docs/configuration.md), RedisSMQ can use either [node-redis v3](https://github.com/redis/node-redis/tree/v3.1.2), [node-redis v4](https://github.com/redis/node-redis), or [ioredis](https://github.com/luin/ioredis).
31
- * RedisSMQ is [highly optimized](https://lgtm.com/projects/g/weyoss/redis-smq/context:javascript), implemented using pure callbacks, with small memory footprint and no memory leaks. See [Callback vs Promise vs Async/Await benchmarks](https://gist.github.com/weyoss/24f9ecbda175d943a48cb7ec38bde821).
26
+ * Supports [Point-2-Point](docs/queue-delivery-models.md#point-2-point-delivery-model) and [Pub/Sub](docs/queue-delivery-models.md#pubsub-delivery-model) [delivery models](docs/queue-delivery-models.md).
27
+ * Both [delivery models](docs/queue-delivery-models.md) are reliable. For cases of failure, while delivering/consuming messages, [at-least-once](docs/api/classes/ProducibleMessage.md#setretrythreshold) and [at-most-once](docs/api/classes/ProducibleMessage.md#setretrythreshold) modes may be configured.
28
+ * [3 queuing strategies](docs/queues.md): [FIFO queues](docs/queues.md#fifo-first-in-first-out-queues), [LIFO queues](docs/queues.md#lifo-last-in-first-out-queues), and [Priority Queues](docs/queues.md#priority-queues).
29
+ * [Message Handler Worker Threads](docs/message-handler-worker-threads.md) which allow sandboxing and running your message handler from a separate isolated thread and without affecting the performance of other message handlers from the same consumer.
30
+ * Messages can be [set to expire](docs/api/classes/ProducibleMessage.md#setttl) when not delivered within a given amount of time or to have a [consumption timeout](docs/api/classes/ProducibleMessage.md#setconsumetimeout) while being in process.
31
+ * Queues may be [rate Limited](docs/queue-rate-limiting.md) to control the rate at which the messages are consumed.
32
+ * Has a builtin [scheduler](docs/scheduling-messages.md) allowing messages [to be delayed](docs/api/classes/ProducibleMessage.md#setscheduleddelay), [to be delivered for N times](docs/api/classes/ProducibleMessage.md#setscheduledrepeat) with an optional [period between deliveries](docs/api/classes/ProducibleMessage.md#setscheduledrepeatperiod), or simply [to be scheduled using CRON expressions](docs/api/classes/ProducibleMessage.md#setscheduledcron).
33
+ * Provides [an HTTP API](https://github.com/weyoss/redis-smq-monitor) to interact with the message queue for external services.
34
+ * RedisSMQ can be managed also from your [web browser](https://github.com/weyoss/redis-smq-monitor-client).
35
+ * Either [node-redis](https://github.com/redis/node-redis) or [ioredis](https://github.com/luin/ioredis) can be used as a Redis client.
36
+ * [Highly optimized](https://lgtm.com/projects/g/weyoss/redis-smq/context:javascript), implemented using pure callbacks, with small memory footprint and no memory leaks. See [Callback vs Promise vs Async/Await benchmarks](https://gist.github.com/weyoss/24f9ecbda175d943a48cb7ec38bde821).
32
37
  * [Both ESM & CJS modules are supported](docs/esm-cjs-modules.md).
33
38
 
34
39
  ## RedisSMQ Use Case: Multi-Queue Producers & Multi-Queue Consumers
35
40
 
36
- &nbsp;
37
-
38
- ![RedisSMQ Overview](docs/redis-smq-overview.png)
41
+ ![RedisSMQ Multi-Queue Producers & Multi-Queue Consumers](docs/redis-smq-multi-queue-consumers-producers.png)
39
42
 
40
43
  ## What's new?
41
44
 
42
- :rocket: RedisSMQ v8 is coming soon!
45
+ :rocket: RC's are now available for RedisSMQ v8! The v8 release will bring major improvements and new features. Some of them are:
43
46
 
44
- ## Installation
47
+ - [x] Message queue codebase refactoring and optimizations.
48
+ - [x] Message storage and handling improvements.
49
+ - [x] Message status which allows to retrieve, at any time, the status of a message by its ID.
50
+ - [x] [Pub/Sub Delivery Model and Consumer Groups](docs/queue-delivery-models.md#pubsub-delivery-model).
51
+ - [x] Message handlers sandboxing and message processing performance improvement with [Message Handler Worker Threads](docs/message-handler-worker-threads.md).
52
+ - [x] Cross-system event propagation based on [EventBus](docs/event-bus.md).
53
+ - [x] Better error handling aiming at reporting fatal errors to the application whenever it is possible and without crashing the main process.
54
+ - [x] [ESM Modules Support](docs/esm-cjs-modules.md).
55
+
56
+ Current RedisSMQ v8 RC status:
45
57
 
46
- > Currently, RedisSMQ is going under heavy development. Pre-releases at any time may introduce new commits with breaking changes. To view the latest release reference see [RedisSMQ v7.2.3](https://github.com/weyoss/redis-smq/tree/v7.2.3)
58
+ - [x] RedisSMQ Common Library
59
+ - [x] RedisSMQ
60
+ - [ ] HTTP API (WIP)
61
+ - [ ] Web UI (WIP)
62
+
63
+ If you wish to get the latest updates early feel free to try RedisSMQ v8 RC. Do not hesitate to report any bug or issue if encountered.
64
+
65
+ Otherwise, stay with [RedisSMQ v7](https://github.com/weyoss/redis-smq/tree/v7.2.3) if you are looking for a fully working release with an HTTP API and a Web UI.
66
+
67
+ ## Installation
47
68
 
48
69
  ```shell
49
70
  npm i redis-smq@rc
@@ -56,7 +77,7 @@ Considerations:
56
77
 
57
78
  ## Usage
58
79
 
59
- RedisSMQ provides 3 classes in order to work with the message queue: `Message`, `Producer`, and `Consumer`.
80
+ RedisSMQ provides 3 classes in order to work with the message queue: `ProducibleMessage`, `Producer`, and `Consumer`.
60
81
 
61
82
  Producers and consumers exchange data using one or multiple queues that may be created using the [Queue Class](docs/api/classes/Queue.md).
62
83
 
@@ -65,40 +86,49 @@ A queue is responsible for holding messages which are produced by producers and
65
86
  ### Creating a queue
66
87
 
67
88
  ```javascript
68
- const { Queue, EQueueType } = require('redis-smq');
69
-
70
89
  const queue = new Queue();
71
-
72
- // Creating a LIFO queue
73
- queue.save('my_queue', EQueueType.LIFO_QUEUE, (err) => console.log(err));
90
+ queue.save(
91
+ 'my_queue',
92
+ EQueueType.LIFO_QUEUE,
93
+ EQueueDeliveryModel.POINT_TO_POINT,
94
+ (err) => {
95
+ if (err) console.error(err);
96
+ },
97
+ );
74
98
  ```
75
99
 
76
- ### Producing a message
100
+ In the example above we are defining a [LIFO queue](docs/queues.md#lifo-last-in-first-out-queues) with a [POINT-2-POINT delivery model](docs/queue-delivery-models.md#point-2-point-delivery-model).
77
101
 
78
- ```javascript
79
- const { Producer, Message } = require('redis-smq');
102
+ See [Queues](docs/queues.md) for more details.
80
103
 
81
- const producer = new Producer();
82
-
83
- const message = new Message();
84
- message.setQueue('my_queue').setBody('Hello Word!')
104
+ ### Producing a message
85
105
 
86
- producer.produce(message, (err) => console.log(err));
106
+ ```javascript
107
+ const msg = new ProducibleMessage();
108
+ msg.setQueue('my_queue').setBody('Hello Word!');
109
+ producer.produce(msg, (err, ids) => {
110
+ if (err) console.error(err);
111
+ else console.log(`Produced message IDs are: ${ids.join(', ')}`);
112
+ });
87
113
  ```
88
114
 
115
+ See [Producing Messages](docs/producing-messages.md) for more details.
116
+
89
117
  ### Consuming a message
90
118
 
91
119
  ```javascript
92
- const { Consumer } = require('redis-smq');
93
-
94
120
  const consumer = new Consumer();
95
- const messageHandler = (message, cb) => {
96
- console.log(message.getBody());
121
+ const messageHandler = (msg, cb) => {
122
+ console.log(msg.body);
97
123
  cb();
98
- }
99
- consumer.consume('my_queue', messageHandler, (err) => console.log(err));
124
+ };
125
+ consumer.consume('my_queue', messageHandler, (err) => {
126
+ if (err) console.error(err);
127
+ });
100
128
  ```
101
129
 
130
+ See [Consuming Messages](docs/consuming-messages.md) for more details.
131
+
102
132
  ## Documentation
103
133
 
104
134
  See [RedisSMQ Docs](docs/README.md) for more details.
@@ -0,0 +1,4 @@
1
+ export * from './src/common/index.js';
2
+ export * from './src/config/index.js';
3
+ export * from './src/lib/index.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./src/common/index.js"), exports);
18
+ __exportStar(require("./src/config/index.js"), exports);
19
+ __exportStar(require("./src/lib/index.js"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,2 @@
1
+ export * from './types/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types/index.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import { RedisSMQError } from 'redis-smq-common';
2
+ export declare class RedisClientInstanceLockError extends RedisSMQError {
3
+ }
4
+ //# sourceMappingURL=redis-client-instance-lock.error.d.ts.map
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisClientInstanceLockError = void 0;
4
+ const redis_smq_common_1 = require("redis-smq-common");
5
+ class RedisClientInstanceLockError extends redis_smq_common_1.RedisSMQError {
6
+ }
7
+ exports.RedisClientInstanceLockError = RedisClientInstanceLockError;
8
+ //# sourceMappingURL=redis-client-instance-lock.error.js.map
@@ -0,0 +1,4 @@
1
+ import { TUnaryFunction } from 'redis-smq-common';
2
+ import { RedisClientInstance } from './redis-client-instance.js';
3
+ export declare function RedisClientFactory(id: string, onError: TUnaryFunction<Error>): RedisClientInstance;
4
+ //# sourceMappingURL=redis-client-factory.d.ts.map
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisClientFactory = void 0;
4
+ const redis_client_instance_js_1 = require("./redis-client-instance.js");
5
+ const instances = {};
6
+ function RedisClientFactory(id, onError) {
7
+ if (!instances[id]) {
8
+ const instance = new redis_client_instance_js_1.RedisClientInstance();
9
+ instance.on('error', onError);
10
+ instances[id] = instance;
11
+ }
12
+ return instances[id];
13
+ }
14
+ exports.RedisClientFactory = RedisClientFactory;
15
+ //# sourceMappingURL=redis-client-factory.js.map