node-cqrs 0.17.0 → 1.0.0-beta.1

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 (608) hide show
  1. package/CHANGELOG.md +584 -92
  2. package/LICENSE +202 -21
  3. package/NOTICE +15 -0
  4. package/README.md +429 -113
  5. package/dist/cjs/AbstractAggregate.js +193 -0
  6. package/dist/cjs/AbstractAggregate.js.map +1 -0
  7. package/dist/cjs/AbstractProjection.js +165 -0
  8. package/dist/cjs/AbstractProjection.js.map +1 -0
  9. package/dist/cjs/AbstractSaga.js +109 -0
  10. package/dist/cjs/AbstractSaga.js.map +1 -0
  11. package/dist/cjs/AggregateCommandHandler.js +182 -0
  12. package/dist/cjs/AggregateCommandHandler.js.map +1 -0
  13. package/dist/cjs/CommandBus.js +9 -0
  14. package/dist/cjs/CommandBus.js.map +1 -0
  15. package/dist/cjs/CqrsContainerBuilder.js +97 -0
  16. package/dist/cjs/CqrsContainerBuilder.js.map +1 -0
  17. package/dist/cjs/Event.js +19 -0
  18. package/dist/cjs/Event.js.map +1 -0
  19. package/dist/cjs/EventDispatchPipeline.js +83 -0
  20. package/dist/cjs/EventDispatchPipeline.js.map +1 -0
  21. package/dist/cjs/EventDispatcher.js +93 -0
  22. package/dist/cjs/EventDispatcher.js.map +1 -0
  23. package/dist/cjs/EventIdAugmentor.js +30 -0
  24. package/dist/cjs/EventIdAugmentor.js.map +1 -0
  25. package/dist/cjs/EventStore.js +106 -0
  26. package/dist/cjs/EventStore.js.map +1 -0
  27. package/dist/cjs/SagaEventHandler.js +153 -0
  28. package/dist/cjs/SagaEventHandler.js.map +1 -0
  29. package/dist/cjs/errors/ConcurrencyError.js +21 -0
  30. package/dist/cjs/errors/ConcurrencyError.js.map +1 -0
  31. package/dist/{infrastructure/utils → cjs/errors}/index.js +1 -2
  32. package/dist/cjs/errors/index.js.map +1 -0
  33. package/dist/cjs/in-memory/InMemoryEventStorage.js +106 -0
  34. package/dist/cjs/in-memory/InMemoryEventStorage.js.map +1 -0
  35. package/dist/cjs/in-memory/InMemoryLock.js +44 -0
  36. package/dist/cjs/in-memory/InMemoryLock.js.map +1 -0
  37. package/dist/cjs/in-memory/InMemoryMessageBus.js +93 -0
  38. package/dist/cjs/in-memory/InMemoryMessageBus.js.map +1 -0
  39. package/dist/cjs/in-memory/InMemorySnapshotStorage.js +101 -0
  40. package/dist/cjs/in-memory/InMemorySnapshotStorage.js.map +1 -0
  41. package/dist/{infrastructure → cjs/in-memory}/InMemoryView.js +26 -45
  42. package/dist/cjs/in-memory/InMemoryView.js.map +1 -0
  43. package/dist/{utils → cjs/in-memory}/index.js +5 -8
  44. package/dist/cjs/in-memory/index.js.map +1 -0
  45. package/dist/cjs/in-memory/utils/index.js +18 -0
  46. package/dist/cjs/in-memory/utils/index.js.map +1 -0
  47. package/dist/{infrastructure → cjs/in-memory}/utils/nextCycle.js +1 -1
  48. package/dist/cjs/in-memory/utils/nextCycle.js.map +1 -0
  49. package/dist/cjs/index.js +58 -0
  50. package/dist/cjs/index.js.map +1 -0
  51. package/dist/{interfaces.js → cjs/interfaces/IAggregate.js} +1 -2
  52. package/dist/cjs/interfaces/IAggregate.js.map +1 -0
  53. package/dist/cjs/interfaces/IAggregateSnapshotStorage.js +13 -0
  54. package/dist/cjs/interfaces/IAggregateSnapshotStorage.js.map +1 -0
  55. package/dist/cjs/interfaces/ICommand.js +3 -0
  56. package/dist/cjs/interfaces/ICommand.js.map +1 -0
  57. package/dist/cjs/interfaces/ICommandBus.js +3 -0
  58. package/dist/cjs/interfaces/ICommandBus.js.map +1 -0
  59. package/dist/cjs/interfaces/IContainer.js +3 -0
  60. package/dist/cjs/interfaces/IContainer.js.map +1 -0
  61. package/dist/cjs/interfaces/IDispatchPipelineProcessor.js +9 -0
  62. package/dist/cjs/interfaces/IDispatchPipelineProcessor.js.map +1 -0
  63. package/dist/cjs/interfaces/IEvent.js +10 -0
  64. package/dist/cjs/interfaces/IEvent.js.map +1 -0
  65. package/dist/cjs/interfaces/IEventBus.js +9 -0
  66. package/dist/cjs/interfaces/IEventBus.js.map +1 -0
  67. package/dist/cjs/interfaces/IEventDispatcher.js +3 -0
  68. package/dist/cjs/interfaces/IEventDispatcher.js.map +1 -0
  69. package/dist/cjs/interfaces/IEventLocker.js +15 -0
  70. package/dist/cjs/interfaces/IEventLocker.js.map +1 -0
  71. package/dist/cjs/interfaces/IEventReceptor.js +3 -0
  72. package/dist/cjs/interfaces/IEventReceptor.js.map +1 -0
  73. package/dist/cjs/interfaces/IEventSet.js +8 -0
  74. package/dist/cjs/interfaces/IEventSet.js.map +1 -0
  75. package/dist/cjs/interfaces/IEventStorageReader.js +13 -0
  76. package/dist/cjs/interfaces/IEventStorageReader.js.map +1 -0
  77. package/dist/cjs/interfaces/IEventStore.js +3 -0
  78. package/dist/cjs/interfaces/IEventStore.js.map +1 -0
  79. package/dist/cjs/interfaces/IEventStream.js +3 -0
  80. package/dist/cjs/interfaces/IEventStream.js.map +1 -0
  81. package/dist/cjs/interfaces/IIdentifierProvider.js +9 -0
  82. package/dist/cjs/interfaces/IIdentifierProvider.js.map +1 -0
  83. package/dist/cjs/interfaces/ILocker.js +9 -0
  84. package/dist/cjs/interfaces/ILocker.js.map +1 -0
  85. package/dist/cjs/interfaces/ILogger.js +3 -0
  86. package/dist/cjs/interfaces/ILogger.js.map +1 -0
  87. package/dist/cjs/interfaces/IMessage.js +10 -0
  88. package/dist/cjs/interfaces/IMessage.js.map +1 -0
  89. package/dist/cjs/interfaces/IMutableState.js +3 -0
  90. package/dist/cjs/interfaces/IMutableState.js.map +1 -0
  91. package/dist/cjs/interfaces/IObjectStorage.js +3 -0
  92. package/dist/cjs/interfaces/IObjectStorage.js.map +1 -0
  93. package/dist/cjs/interfaces/IObservable.js +11 -0
  94. package/dist/cjs/interfaces/IObservable.js.map +1 -0
  95. package/dist/cjs/interfaces/IObservableQueueProvider.js +9 -0
  96. package/dist/cjs/interfaces/IObservableQueueProvider.js.map +1 -0
  97. package/dist/cjs/interfaces/IObserver.js +3 -0
  98. package/dist/cjs/interfaces/IObserver.js.map +1 -0
  99. package/dist/cjs/interfaces/IProjection.js +3 -0
  100. package/dist/cjs/interfaces/IProjection.js.map +1 -0
  101. package/dist/cjs/interfaces/ISaga.js +3 -0
  102. package/dist/cjs/interfaces/ISaga.js.map +1 -0
  103. package/dist/cjs/interfaces/ISnapshotEvent.js +10 -0
  104. package/dist/cjs/interfaces/ISnapshotEvent.js.map +1 -0
  105. package/dist/cjs/interfaces/IViewLocker.js +21 -0
  106. package/dist/cjs/interfaces/IViewLocker.js.map +1 -0
  107. package/dist/cjs/interfaces/Identifier.js +3 -0
  108. package/dist/cjs/interfaces/Identifier.js.map +1 -0
  109. package/dist/cjs/interfaces/index.js +46 -0
  110. package/dist/cjs/interfaces/index.js.map +1 -0
  111. package/dist/cjs/interfaces/isObject.js +9 -0
  112. package/dist/cjs/interfaces/isObject.js.map +1 -0
  113. package/dist/cjs/package.json +3 -0
  114. package/dist/cjs/rabbitmq/IContainer.js +3 -0
  115. package/dist/cjs/rabbitmq/IContainer.js.map +1 -0
  116. package/dist/cjs/rabbitmq/RabbitMqCommandBus.js +84 -0
  117. package/dist/cjs/rabbitmq/RabbitMqCommandBus.js.map +1 -0
  118. package/dist/cjs/rabbitmq/RabbitMqEventBus.js +121 -0
  119. package/dist/cjs/rabbitmq/RabbitMqEventBus.js.map +1 -0
  120. package/dist/cjs/rabbitmq/RabbitMqGateway.js +578 -0
  121. package/dist/cjs/rabbitmq/RabbitMqGateway.js.map +1 -0
  122. package/dist/cjs/rabbitmq/index.js +21 -0
  123. package/dist/cjs/rabbitmq/index.js.map +1 -0
  124. package/dist/cjs/rabbitmq/utils/index.js +19 -0
  125. package/dist/cjs/rabbitmq/utils/index.js.map +1 -0
  126. package/dist/cjs/rabbitmq/utils/registerExitCleanup.js +28 -0
  127. package/dist/cjs/rabbitmq/utils/registerExitCleanup.js.map +1 -0
  128. package/dist/cjs/rabbitmq/utils/resolveProvider.js +9 -0
  129. package/dist/cjs/rabbitmq/utils/resolveProvider.js.map +1 -0
  130. package/dist/cjs/sqlite/AbstractSqliteAccessor.js +50 -0
  131. package/dist/cjs/sqlite/AbstractSqliteAccessor.js.map +1 -0
  132. package/dist/cjs/sqlite/AbstractSqliteObjectProjection.js +26 -0
  133. package/dist/cjs/sqlite/AbstractSqliteObjectProjection.js.map +1 -0
  134. package/dist/cjs/sqlite/AbstractSqliteView.js +50 -0
  135. package/dist/cjs/sqlite/AbstractSqliteView.js.map +1 -0
  136. package/dist/cjs/sqlite/IContainer.js +3 -0
  137. package/dist/cjs/sqlite/IContainer.js.map +1 -0
  138. package/dist/cjs/sqlite/SqliteEventLocker.js +93 -0
  139. package/dist/cjs/sqlite/SqliteEventLocker.js.map +1 -0
  140. package/dist/cjs/sqlite/SqliteObjectStorage.js +114 -0
  141. package/dist/cjs/sqlite/SqliteObjectStorage.js.map +1 -0
  142. package/dist/cjs/sqlite/SqliteObjectView.js +48 -0
  143. package/dist/cjs/sqlite/SqliteObjectView.js.map +1 -0
  144. package/dist/cjs/sqlite/SqliteProjectionDataParams.js +3 -0
  145. package/dist/cjs/sqlite/SqliteProjectionDataParams.js.map +1 -0
  146. package/dist/cjs/sqlite/SqliteViewLocker.js +119 -0
  147. package/dist/cjs/sqlite/SqliteViewLocker.js.map +1 -0
  148. package/dist/cjs/sqlite/index.js +26 -0
  149. package/dist/cjs/sqlite/index.js.map +1 -0
  150. package/dist/cjs/sqlite/queries/eventLockTableInit.js +15 -0
  151. package/dist/cjs/sqlite/queries/eventLockTableInit.js.map +1 -0
  152. package/dist/cjs/sqlite/queries/index.js +19 -0
  153. package/dist/cjs/sqlite/queries/index.js.map +1 -0
  154. package/dist/cjs/sqlite/queries/viewLockTableInit.js +14 -0
  155. package/dist/cjs/sqlite/queries/viewLockTableInit.js.map +1 -0
  156. package/dist/cjs/sqlite/utils/getEventId.js +14 -0
  157. package/dist/cjs/sqlite/utils/getEventId.js.map +1 -0
  158. package/dist/cjs/sqlite/utils/guid.js +9 -0
  159. package/dist/cjs/sqlite/utils/guid.js.map +1 -0
  160. package/dist/cjs/sqlite/utils/index.js +19 -0
  161. package/dist/cjs/sqlite/utils/index.js.map +1 -0
  162. package/dist/cjs/utils/Deferred.js.map +1 -0
  163. package/dist/cjs/utils/Lock.js +102 -0
  164. package/dist/cjs/utils/Lock.js.map +1 -0
  165. package/dist/cjs/utils/MapAssertable.js +30 -0
  166. package/dist/cjs/utils/MapAssertable.js.map +1 -0
  167. package/dist/cjs/utils/assert.js +88 -0
  168. package/dist/cjs/utils/assert.js.map +1 -0
  169. package/dist/cjs/utils/clone.js +13 -0
  170. package/dist/cjs/utils/clone.js.map +1 -0
  171. package/dist/cjs/utils/extractErrorDetails.js +37 -0
  172. package/dist/cjs/utils/extractErrorDetails.js.map +1 -0
  173. package/dist/cjs/utils/getClassName.js.map +1 -0
  174. package/dist/{utils → cjs/utils}/getHandler.js +5 -7
  175. package/dist/cjs/utils/getHandler.js.map +1 -0
  176. package/dist/{utils → cjs/utils}/getMessageHandlerNames.js +2 -10
  177. package/dist/cjs/utils/getMessageHandlerNames.js.map +1 -0
  178. package/dist/cjs/utils/index.js +31 -0
  179. package/dist/cjs/utils/index.js.map +1 -0
  180. package/dist/cjs/utils/isClass.js.map +1 -0
  181. package/dist/cjs/utils/sagaId.js +23 -0
  182. package/dist/cjs/utils/sagaId.js.map +1 -0
  183. package/dist/{utils → cjs/utils}/setupOneTimeEmitterSubscription.js +7 -8
  184. package/dist/cjs/utils/setupOneTimeEmitterSubscription.js.map +1 -0
  185. package/dist/cjs/utils/subscribe.js +43 -0
  186. package/dist/cjs/utils/subscribe.js.map +1 -0
  187. package/dist/{utils → cjs/utils}/validateHandlers.js +6 -6
  188. package/dist/cjs/utils/validateHandlers.js.map +1 -0
  189. package/dist/cjs/workers/AbstractWorkerProjection.js +56 -0
  190. package/dist/cjs/workers/AbstractWorkerProjection.js.map +1 -0
  191. package/dist/cjs/workers/WorkerProxyProjection.js +142 -0
  192. package/dist/cjs/workers/WorkerProxyProjection.js.map +1 -0
  193. package/dist/cjs/workers/index.js +20 -0
  194. package/dist/cjs/workers/index.js.map +1 -0
  195. package/dist/cjs/workers/interfaces/IProxyProjection.js +3 -0
  196. package/dist/cjs/workers/interfaces/IProxyProjection.js.map +1 -0
  197. package/dist/cjs/workers/interfaces/IWorkerProjection.js +3 -0
  198. package/dist/cjs/workers/interfaces/IWorkerProjection.js.map +1 -0
  199. package/dist/cjs/workers/interfaces/index.js +3 -0
  200. package/dist/cjs/workers/interfaces/index.js.map +1 -0
  201. package/dist/cjs/workers/protocol.js +16 -0
  202. package/dist/cjs/workers/protocol.js.map +1 -0
  203. package/dist/cjs/workers/utils/ProjectionView.js +3 -0
  204. package/dist/cjs/workers/utils/ProjectionView.js.map +1 -0
  205. package/dist/cjs/workers/utils/createWorker.js +87 -0
  206. package/dist/cjs/workers/utils/createWorker.js.map +1 -0
  207. package/dist/cjs/workers/utils/createWorkerInstance.js +59 -0
  208. package/dist/cjs/workers/utils/createWorkerInstance.js.map +1 -0
  209. package/dist/cjs/workers/utils/index.js +21 -0
  210. package/dist/cjs/workers/utils/index.js.map +1 -0
  211. package/dist/cjs/workers/utils/nodeEndpoint.js +8 -0
  212. package/dist/cjs/workers/utils/nodeEndpoint.js.map +1 -0
  213. package/dist/cjs/workers/utils/workerProxyFactory.js +21 -0
  214. package/dist/cjs/workers/utils/workerProxyFactory.js.map +1 -0
  215. package/dist/esm/AbstractAggregate.js +189 -0
  216. package/dist/esm/AbstractAggregate.js.map +1 -0
  217. package/dist/esm/AbstractProjection.js +161 -0
  218. package/dist/esm/AbstractProjection.js.map +1 -0
  219. package/dist/esm/AbstractSaga.js +105 -0
  220. package/dist/esm/AbstractSaga.js.map +1 -0
  221. package/dist/esm/AggregateCommandHandler.js +178 -0
  222. package/dist/esm/AggregateCommandHandler.js.map +1 -0
  223. package/dist/esm/CommandBus.js +5 -0
  224. package/dist/esm/CommandBus.js.map +1 -0
  225. package/dist/esm/CqrsContainerBuilder.js +93 -0
  226. package/dist/esm/CqrsContainerBuilder.js.map +1 -0
  227. package/dist/esm/Event.js +15 -0
  228. package/dist/esm/Event.js.map +1 -0
  229. package/dist/esm/EventDispatchPipeline.js +79 -0
  230. package/dist/esm/EventDispatchPipeline.js.map +1 -0
  231. package/dist/esm/EventDispatcher.js +89 -0
  232. package/dist/esm/EventDispatcher.js.map +1 -0
  233. package/dist/esm/EventIdAugmentor.js +26 -0
  234. package/dist/esm/EventIdAugmentor.js.map +1 -0
  235. package/dist/esm/EventStore.js +102 -0
  236. package/dist/esm/EventStore.js.map +1 -0
  237. package/dist/esm/SagaEventHandler.js +116 -0
  238. package/dist/esm/SagaEventHandler.js.map +1 -0
  239. package/dist/esm/errors/ConcurrencyError.js +17 -0
  240. package/dist/esm/errors/ConcurrencyError.js.map +1 -0
  241. package/dist/esm/errors/index.js +2 -0
  242. package/dist/esm/errors/index.js.map +1 -0
  243. package/dist/esm/in-memory/InMemoryEventStorage.js +102 -0
  244. package/dist/esm/in-memory/InMemoryEventStorage.js.map +1 -0
  245. package/dist/esm/in-memory/InMemoryLock.js +40 -0
  246. package/dist/esm/in-memory/InMemoryLock.js.map +1 -0
  247. package/dist/esm/in-memory/InMemoryMessageBus.js +89 -0
  248. package/dist/esm/in-memory/InMemoryMessageBus.js.map +1 -0
  249. package/dist/esm/in-memory/InMemorySnapshotStorage.js +64 -0
  250. package/dist/esm/in-memory/InMemorySnapshotStorage.js.map +1 -0
  251. package/dist/esm/in-memory/InMemoryView.js +150 -0
  252. package/dist/esm/in-memory/InMemoryView.js.map +1 -0
  253. package/dist/esm/in-memory/index.js +6 -0
  254. package/dist/esm/in-memory/index.js.map +1 -0
  255. package/dist/esm/in-memory/utils/index.js +2 -0
  256. package/dist/esm/in-memory/utils/index.js.map +1 -0
  257. package/dist/esm/in-memory/utils/nextCycle.js +5 -0
  258. package/dist/esm/in-memory/utils/nextCycle.js.map +1 -0
  259. package/dist/esm/index.js +16 -0
  260. package/dist/esm/index.js.map +1 -0
  261. package/dist/esm/interfaces/IAggregate.js +2 -0
  262. package/dist/esm/interfaces/IAggregate.js.map +1 -0
  263. package/dist/esm/interfaces/IAggregateSnapshotStorage.js +9 -0
  264. package/dist/esm/interfaces/IAggregateSnapshotStorage.js.map +1 -0
  265. package/dist/esm/interfaces/ICommand.js +2 -0
  266. package/dist/esm/interfaces/ICommand.js.map +1 -0
  267. package/dist/esm/interfaces/ICommandBus.js +2 -0
  268. package/dist/esm/interfaces/ICommandBus.js.map +1 -0
  269. package/dist/esm/interfaces/IContainer.js +2 -0
  270. package/dist/esm/interfaces/IContainer.js.map +1 -0
  271. package/dist/esm/interfaces/IDispatchPipelineProcessor.js +5 -0
  272. package/dist/esm/interfaces/IDispatchPipelineProcessor.js.map +1 -0
  273. package/dist/esm/interfaces/IEvent.js +6 -0
  274. package/dist/esm/interfaces/IEvent.js.map +1 -0
  275. package/dist/esm/interfaces/IEventBus.js +5 -0
  276. package/dist/esm/interfaces/IEventBus.js.map +1 -0
  277. package/dist/esm/interfaces/IEventDispatcher.js +2 -0
  278. package/dist/esm/interfaces/IEventDispatcher.js.map +1 -0
  279. package/dist/esm/interfaces/IEventLocker.js +11 -0
  280. package/dist/esm/interfaces/IEventLocker.js.map +1 -0
  281. package/dist/esm/interfaces/IEventReceptor.js +2 -0
  282. package/dist/esm/interfaces/IEventReceptor.js.map +1 -0
  283. package/dist/esm/interfaces/IEventSet.js +4 -0
  284. package/dist/esm/interfaces/IEventSet.js.map +1 -0
  285. package/dist/esm/interfaces/IEventStorageReader.js +9 -0
  286. package/dist/esm/interfaces/IEventStorageReader.js.map +1 -0
  287. package/dist/esm/interfaces/IEventStore.js +2 -0
  288. package/dist/esm/interfaces/IEventStore.js.map +1 -0
  289. package/dist/esm/interfaces/IEventStream.js +2 -0
  290. package/dist/esm/interfaces/IEventStream.js.map +1 -0
  291. package/dist/esm/interfaces/IIdentifierProvider.js +5 -0
  292. package/dist/esm/interfaces/IIdentifierProvider.js.map +1 -0
  293. package/dist/esm/interfaces/ILocker.js +5 -0
  294. package/dist/esm/interfaces/ILocker.js.map +1 -0
  295. package/dist/esm/interfaces/ILogger.js +2 -0
  296. package/dist/esm/interfaces/ILogger.js.map +1 -0
  297. package/dist/esm/interfaces/IMessage.js +6 -0
  298. package/dist/esm/interfaces/IMessage.js.map +1 -0
  299. package/dist/esm/interfaces/IMutableState.js +2 -0
  300. package/dist/esm/interfaces/IMutableState.js.map +1 -0
  301. package/dist/esm/interfaces/IObjectStorage.js +2 -0
  302. package/dist/esm/interfaces/IObjectStorage.js.map +1 -0
  303. package/dist/esm/interfaces/IObservable.js +7 -0
  304. package/dist/esm/interfaces/IObservable.js.map +1 -0
  305. package/dist/esm/interfaces/IObservableQueueProvider.js +5 -0
  306. package/dist/esm/interfaces/IObservableQueueProvider.js.map +1 -0
  307. package/dist/esm/interfaces/IObserver.js +2 -0
  308. package/dist/esm/interfaces/IObserver.js.map +1 -0
  309. package/dist/esm/interfaces/IProjection.js +2 -0
  310. package/dist/esm/interfaces/IProjection.js.map +1 -0
  311. package/dist/esm/interfaces/ISaga.js +2 -0
  312. package/dist/esm/interfaces/ISaga.js.map +1 -0
  313. package/dist/esm/interfaces/ISnapshotEvent.js +6 -0
  314. package/dist/esm/interfaces/ISnapshotEvent.js.map +1 -0
  315. package/dist/esm/interfaces/IViewLocker.js +17 -0
  316. package/dist/esm/interfaces/IViewLocker.js.map +1 -0
  317. package/dist/esm/interfaces/Identifier.js +2 -0
  318. package/dist/esm/interfaces/Identifier.js.map +1 -0
  319. package/dist/esm/interfaces/index.js +30 -0
  320. package/dist/esm/interfaces/index.js.map +1 -0
  321. package/dist/esm/interfaces/isObject.js +5 -0
  322. package/dist/esm/interfaces/isObject.js.map +1 -0
  323. package/dist/esm/rabbitmq/IContainer.js +2 -0
  324. package/dist/esm/rabbitmq/IContainer.js.map +1 -0
  325. package/dist/esm/rabbitmq/RabbitMqCommandBus.js +80 -0
  326. package/dist/esm/rabbitmq/RabbitMqCommandBus.js.map +1 -0
  327. package/dist/esm/rabbitmq/RabbitMqEventBus.js +117 -0
  328. package/dist/esm/rabbitmq/RabbitMqEventBus.js.map +1 -0
  329. package/dist/esm/rabbitmq/RabbitMqGateway.js +541 -0
  330. package/dist/esm/rabbitmq/RabbitMqGateway.js.map +1 -0
  331. package/dist/esm/rabbitmq/index.js +5 -0
  332. package/dist/esm/rabbitmq/index.js.map +1 -0
  333. package/dist/esm/rabbitmq/utils/index.js +3 -0
  334. package/dist/esm/rabbitmq/utils/index.js.map +1 -0
  335. package/dist/esm/rabbitmq/utils/registerExitCleanup.js +24 -0
  336. package/dist/esm/rabbitmq/utils/registerExitCleanup.js.map +1 -0
  337. package/dist/esm/rabbitmq/utils/resolveProvider.js +6 -0
  338. package/dist/esm/rabbitmq/utils/resolveProvider.js.map +1 -0
  339. package/dist/esm/sqlite/AbstractSqliteAccessor.js +46 -0
  340. package/dist/esm/sqlite/AbstractSqliteAccessor.js.map +1 -0
  341. package/dist/esm/sqlite/AbstractSqliteObjectProjection.js +22 -0
  342. package/dist/esm/sqlite/AbstractSqliteObjectProjection.js.map +1 -0
  343. package/dist/esm/sqlite/AbstractSqliteView.js +46 -0
  344. package/dist/esm/sqlite/AbstractSqliteView.js.map +1 -0
  345. package/dist/esm/sqlite/IContainer.js +2 -0
  346. package/dist/esm/sqlite/IContainer.js.map +1 -0
  347. package/dist/esm/sqlite/SqliteEventLocker.js +89 -0
  348. package/dist/esm/sqlite/SqliteEventLocker.js.map +1 -0
  349. package/dist/esm/sqlite/SqliteObjectStorage.js +110 -0
  350. package/dist/esm/sqlite/SqliteObjectStorage.js.map +1 -0
  351. package/dist/esm/sqlite/SqliteObjectView.js +44 -0
  352. package/dist/esm/sqlite/SqliteObjectView.js.map +1 -0
  353. package/dist/esm/sqlite/SqliteProjectionDataParams.js +2 -0
  354. package/dist/esm/sqlite/SqliteProjectionDataParams.js.map +1 -0
  355. package/dist/esm/sqlite/SqliteViewLocker.js +115 -0
  356. package/dist/esm/sqlite/SqliteViewLocker.js.map +1 -0
  357. package/dist/esm/sqlite/index.js +10 -0
  358. package/dist/esm/sqlite/index.js.map +1 -0
  359. package/dist/esm/sqlite/queries/eventLockTableInit.js +11 -0
  360. package/dist/esm/sqlite/queries/eventLockTableInit.js.map +1 -0
  361. package/dist/esm/sqlite/queries/index.js +3 -0
  362. package/dist/esm/sqlite/queries/index.js.map +1 -0
  363. package/dist/esm/sqlite/queries/viewLockTableInit.js +10 -0
  364. package/dist/esm/sqlite/queries/viewLockTableInit.js.map +1 -0
  365. package/dist/esm/sqlite/utils/getEventId.js +7 -0
  366. package/dist/esm/sqlite/utils/getEventId.js.map +1 -0
  367. package/dist/esm/sqlite/utils/guid.js +5 -0
  368. package/dist/esm/sqlite/utils/guid.js.map +1 -0
  369. package/dist/esm/sqlite/utils/index.js +3 -0
  370. package/dist/esm/sqlite/utils/index.js.map +1 -0
  371. package/dist/esm/utils/Deferred.js +34 -0
  372. package/dist/esm/utils/Deferred.js.map +1 -0
  373. package/dist/esm/utils/Lock.js +97 -0
  374. package/dist/esm/utils/Lock.js.map +1 -0
  375. package/dist/esm/utils/MapAssertable.js +26 -0
  376. package/dist/esm/utils/MapAssertable.js.map +1 -0
  377. package/dist/esm/utils/assert.js +70 -0
  378. package/dist/esm/utils/assert.js.map +1 -0
  379. package/dist/esm/utils/clone.js +10 -0
  380. package/dist/esm/utils/clone.js.map +1 -0
  381. package/dist/esm/utils/extractErrorDetails.js +33 -0
  382. package/dist/esm/utils/extractErrorDetails.js.map +1 -0
  383. package/dist/esm/utils/getClassName.js +7 -0
  384. package/dist/esm/utils/getClassName.js.map +1 -0
  385. package/dist/esm/utils/getHandler.js +15 -0
  386. package/dist/esm/utils/getHandler.js.map +1 -0
  387. package/dist/esm/utils/getMessageHandlerNames.js +27 -0
  388. package/dist/esm/utils/getMessageHandlerNames.js.map +1 -0
  389. package/dist/esm/utils/index.js +15 -0
  390. package/dist/esm/utils/index.js.map +1 -0
  391. package/dist/esm/utils/isClass.js +5 -0
  392. package/dist/esm/utils/isClass.js.map +1 -0
  393. package/dist/esm/utils/sagaId.js +18 -0
  394. package/dist/esm/utils/sagaId.js.map +1 -0
  395. package/dist/esm/utils/setupOneTimeEmitterSubscription.js +42 -0
  396. package/dist/esm/utils/setupOneTimeEmitterSubscription.js.map +1 -0
  397. package/dist/esm/utils/subscribe.js +40 -0
  398. package/dist/esm/utils/subscribe.js.map +1 -0
  399. package/dist/esm/utils/validateHandlers.js +18 -0
  400. package/dist/esm/utils/validateHandlers.js.map +1 -0
  401. package/dist/esm/workers/AbstractWorkerProjection.js +52 -0
  402. package/dist/esm/workers/AbstractWorkerProjection.js.map +1 -0
  403. package/dist/esm/workers/WorkerProxyProjection.js +105 -0
  404. package/dist/esm/workers/WorkerProxyProjection.js.map +1 -0
  405. package/dist/esm/workers/index.js +4 -0
  406. package/dist/esm/workers/index.js.map +1 -0
  407. package/dist/esm/workers/interfaces/IProxyProjection.js +2 -0
  408. package/dist/esm/workers/interfaces/IProxyProjection.js.map +1 -0
  409. package/dist/esm/workers/interfaces/IWorkerProjection.js +2 -0
  410. package/dist/esm/workers/interfaces/IWorkerProjection.js.map +1 -0
  411. package/dist/esm/workers/interfaces/index.js +2 -0
  412. package/dist/esm/workers/interfaces/index.js.map +1 -0
  413. package/dist/esm/workers/protocol.js +11 -0
  414. package/dist/esm/workers/protocol.js.map +1 -0
  415. package/dist/esm/workers/utils/ProjectionView.js +2 -0
  416. package/dist/esm/workers/utils/ProjectionView.js.map +1 -0
  417. package/dist/esm/workers/utils/createWorker.js +51 -0
  418. package/dist/esm/workers/utils/createWorker.js.map +1 -0
  419. package/dist/esm/workers/utils/createWorkerInstance.js +23 -0
  420. package/dist/esm/workers/utils/createWorkerInstance.js.map +1 -0
  421. package/dist/esm/workers/utils/index.js +5 -0
  422. package/dist/esm/workers/utils/index.js.map +1 -0
  423. package/dist/esm/workers/utils/nodeEndpoint.js +5 -0
  424. package/dist/esm/workers/utils/nodeEndpoint.js.map +1 -0
  425. package/dist/esm/workers/utils/workerProxyFactory.js +18 -0
  426. package/dist/esm/workers/utils/workerProxyFactory.js.map +1 -0
  427. package/dist/types/AbstractAggregate.d.ts +80 -0
  428. package/dist/types/AbstractProjection.d.ts +77 -0
  429. package/dist/types/AbstractSaga.d.ts +42 -0
  430. package/dist/types/AggregateCommandHandler.d.ts +22 -0
  431. package/dist/types/CommandBus.d.ts +4 -0
  432. package/dist/types/CqrsContainerBuilder.d.ts +21 -0
  433. package/dist/types/Event.d.ts +9 -0
  434. package/dist/types/EventDispatchPipeline.d.ts +16 -0
  435. package/dist/types/EventDispatcher.d.ts +39 -0
  436. package/dist/types/EventIdAugmentor.d.ts +12 -0
  437. package/dist/types/EventStore.d.ts +29 -0
  438. package/dist/types/SagaEventHandler.d.ts +22 -0
  439. package/dist/types/errors/ConcurrencyError.d.ts +9 -0
  440. package/dist/types/errors/index.d.ts +1 -0
  441. package/dist/types/in-memory/InMemoryEventStorage.d.ts +24 -0
  442. package/dist/types/in-memory/InMemoryLock.d.ts +23 -0
  443. package/dist/types/in-memory/InMemoryMessageBus.d.ts +45 -0
  444. package/dist/types/in-memory/InMemorySnapshotStorage.d.ts +37 -0
  445. package/dist/types/in-memory/InMemoryView.d.ts +53 -0
  446. package/dist/types/in-memory/index.d.ts +5 -0
  447. package/dist/types/in-memory/utils/index.d.ts +1 -0
  448. package/dist/types/in-memory/utils/nextCycle.d.ts +4 -0
  449. package/dist/types/index.d.ts +15 -0
  450. package/dist/types/interfaces/IAggregate.d.ts +78 -0
  451. package/dist/types/interfaces/IAggregateSnapshotStorage.d.ts +8 -0
  452. package/dist/types/interfaces/ICommand.d.ts +2 -0
  453. package/dist/types/interfaces/ICommandBus.d.ts +15 -0
  454. package/dist/types/interfaces/IContainer.d.ts +37 -0
  455. package/dist/types/interfaces/IDispatchPipelineProcessor.d.ts +29 -0
  456. package/dist/types/interfaces/IEvent.d.ts +7 -0
  457. package/dist/types/interfaces/IEventBus.d.ts +6 -0
  458. package/dist/types/interfaces/IEventDispatcher.d.ts +6 -0
  459. package/dist/types/interfaces/IEventLocker.d.ts +28 -0
  460. package/dist/types/interfaces/IEventReceptor.d.ts +5 -0
  461. package/dist/types/interfaces/IEventSet.d.ts +3 -0
  462. package/dist/types/interfaces/IEventStorageReader.d.ts +48 -0
  463. package/dist/types/interfaces/IEventStore.d.ts +9 -0
  464. package/dist/types/interfaces/IEventStream.d.ts +2 -0
  465. package/dist/types/interfaces/IIdentifierProvider.d.ts +10 -0
  466. package/dist/types/interfaces/ILocker.d.ts +8 -0
  467. package/dist/types/interfaces/ILogger.d.ts +22 -0
  468. package/dist/types/interfaces/IMessage.d.ts +23 -0
  469. package/dist/types/interfaces/IMutableState.d.ts +14 -0
  470. package/dist/types/interfaces/IObjectStorage.d.ts +8 -0
  471. package/dist/types/interfaces/IObservable.d.ts +15 -0
  472. package/dist/types/interfaces/IObservableQueueProvider.d.ts +8 -0
  473. package/dist/types/interfaces/IObserver.d.ts +4 -0
  474. package/dist/types/interfaces/IProjection.d.ts +17 -0
  475. package/dist/types/interfaces/ISaga.d.ts +38 -0
  476. package/dist/types/interfaces/ISnapshotEvent.d.ts +7 -0
  477. package/dist/types/interfaces/IViewLocker.d.ts +34 -0
  478. package/dist/types/interfaces/Identifier.d.ts +1 -0
  479. package/dist/types/interfaces/index.d.ts +29 -0
  480. package/dist/types/interfaces/isObject.d.ts +1 -0
  481. package/dist/types/rabbitmq/IContainer.d.ts +19 -0
  482. package/dist/types/rabbitmq/RabbitMqCommandBus.d.ts +38 -0
  483. package/dist/types/rabbitmq/RabbitMqEventBus.d.ts +44 -0
  484. package/dist/types/rabbitmq/RabbitMqGateway.d.ts +133 -0
  485. package/dist/types/rabbitmq/index.d.ts +4 -0
  486. package/dist/types/rabbitmq/utils/index.d.ts +2 -0
  487. package/dist/types/rabbitmq/utils/registerExitCleanup.d.ts +10 -0
  488. package/dist/types/rabbitmq/utils/resolveProvider.d.ts +3 -0
  489. package/dist/types/sqlite/AbstractSqliteAccessor.d.ts +25 -0
  490. package/dist/types/sqlite/AbstractSqliteObjectProjection.d.ts +8 -0
  491. package/dist/types/sqlite/AbstractSqliteView.d.ts +23 -0
  492. package/dist/types/sqlite/IContainer.d.ts +7 -0
  493. package/dist/types/sqlite/SqliteEventLocker.d.ts +30 -0
  494. package/dist/types/sqlite/SqliteObjectStorage.d.ts +17 -0
  495. package/dist/types/sqlite/SqliteObjectView.d.ts +19 -0
  496. package/dist/types/sqlite/SqliteProjectionDataParams.d.ts +14 -0
  497. package/dist/types/sqlite/SqliteViewLocker.d.ts +31 -0
  498. package/dist/types/sqlite/index.d.ts +9 -0
  499. package/dist/types/sqlite/queries/eventLockTableInit.d.ts +1 -0
  500. package/dist/types/sqlite/queries/index.d.ts +2 -0
  501. package/dist/types/sqlite/queries/viewLockTableInit.d.ts +1 -0
  502. package/dist/types/sqlite/utils/getEventId.d.ts +5 -0
  503. package/dist/types/sqlite/utils/guid.d.ts +4 -0
  504. package/dist/types/sqlite/utils/index.d.ts +2 -0
  505. package/dist/types/utils/Deferred.d.ts +13 -0
  506. package/dist/types/utils/Lock.d.ts +30 -0
  507. package/dist/types/utils/MapAssertable.d.ts +11 -0
  508. package/dist/types/utils/assert.d.ts +20 -0
  509. package/dist/types/utils/clone.d.ts +1 -0
  510. package/dist/types/utils/extractErrorDetails.d.ts +8 -0
  511. package/dist/types/utils/getClassName.d.ts +4 -0
  512. package/dist/types/utils/getHandler.d.ts +7 -0
  513. package/dist/types/utils/getMessageHandlerNames.d.ts +12 -0
  514. package/dist/types/utils/index.d.ts +14 -0
  515. package/dist/types/utils/isClass.d.ts +1 -0
  516. package/dist/types/utils/sagaId.d.ts +6 -0
  517. package/dist/types/utils/setupOneTimeEmitterSubscription.d.ts +12 -0
  518. package/dist/types/utils/subscribe.d.ts +9 -0
  519. package/dist/types/utils/validateHandlers.d.ts +4 -0
  520. package/dist/types/workers/AbstractWorkerProjection.d.ts +25 -0
  521. package/dist/types/workers/WorkerProxyProjection.d.ts +25 -0
  522. package/dist/types/workers/index.d.ts +3 -0
  523. package/dist/types/workers/interfaces/IProxyProjection.d.ts +15 -0
  524. package/dist/types/workers/interfaces/IWorkerProjection.d.ts +19 -0
  525. package/dist/types/workers/interfaces/index.d.ts +2 -0
  526. package/dist/types/workers/protocol.d.ts +10 -0
  527. package/dist/types/workers/utils/ProjectionView.d.ts +2 -0
  528. package/dist/types/workers/utils/createWorker.d.ts +10 -0
  529. package/dist/types/workers/utils/createWorkerInstance.d.ts +11 -0
  530. package/dist/types/workers/utils/index.d.ts +5 -0
  531. package/dist/types/workers/utils/nodeEndpoint.d.ts +2 -0
  532. package/dist/types/workers/utils/workerProxyFactory.d.ts +14 -0
  533. package/package.json +124 -35
  534. package/dist/AbstractAggregate.js +0 -178
  535. package/dist/AbstractAggregate.js.map +0 -1
  536. package/dist/AbstractProjection.js +0 -121
  537. package/dist/AbstractProjection.js.map +0 -1
  538. package/dist/AbstractSaga.js +0 -99
  539. package/dist/AbstractSaga.js.map +0 -1
  540. package/dist/AggregateCommandHandler.js +0 -85
  541. package/dist/AggregateCommandHandler.js.map +0 -1
  542. package/dist/CommandBus.js +0 -77
  543. package/dist/CommandBus.js.map +0 -1
  544. package/dist/CqrsContainerBuilder.js +0 -77
  545. package/dist/CqrsContainerBuilder.js.map +0 -1
  546. package/dist/Event.js +0 -43
  547. package/dist/Event.js.map +0 -1
  548. package/dist/EventStore.js +0 -229
  549. package/dist/EventStore.js.map +0 -1
  550. package/dist/SagaEventHandler.js +0 -117
  551. package/dist/SagaEventHandler.js.map +0 -1
  552. package/dist/index.js +0 -39
  553. package/dist/index.js.map +0 -1
  554. package/dist/infrastructure/InMemoryEventStorage.js +0 -53
  555. package/dist/infrastructure/InMemoryEventStorage.js.map +0 -1
  556. package/dist/infrastructure/InMemoryLock.js +0 -68
  557. package/dist/infrastructure/InMemoryLock.js.map +0 -1
  558. package/dist/infrastructure/InMemoryMessageBus.js +0 -95
  559. package/dist/infrastructure/InMemoryMessageBus.js.map +0 -1
  560. package/dist/infrastructure/InMemorySnapshotStorage.js +0 -26
  561. package/dist/infrastructure/InMemorySnapshotStorage.js.map +0 -1
  562. package/dist/infrastructure/InMemoryView.js.map +0 -1
  563. package/dist/infrastructure/utils/Deferred.js.map +0 -1
  564. package/dist/infrastructure/utils/index.js.map +0 -1
  565. package/dist/infrastructure/utils/nextCycle.js.map +0 -1
  566. package/dist/interfaces.js.map +0 -1
  567. package/dist/utils/getClassName.js.map +0 -1
  568. package/dist/utils/getHandledMessageTypes.js +0 -18
  569. package/dist/utils/getHandledMessageTypes.js.map +0 -1
  570. package/dist/utils/getHandler.js.map +0 -1
  571. package/dist/utils/getMessageHandlerNames.js.map +0 -1
  572. package/dist/utils/index.js.map +0 -1
  573. package/dist/utils/isClass.js.map +0 -1
  574. package/dist/utils/setupOneTimeEmitterSubscription.js.map +0 -1
  575. package/dist/utils/subscribe.js +0 -39
  576. package/dist/utils/subscribe.js.map +0 -1
  577. package/dist/utils/validateHandlers.js.map +0 -1
  578. package/src/AbstractAggregate.ts +0 -223
  579. package/src/AbstractProjection.ts +0 -172
  580. package/src/AbstractSaga.ts +0 -118
  581. package/src/AggregateCommandHandler.ts +0 -129
  582. package/src/CommandBus.ts +0 -98
  583. package/src/CqrsContainerBuilder.ts +0 -120
  584. package/src/Event.ts +0 -43
  585. package/src/EventStore.ts +0 -315
  586. package/src/SagaEventHandler.ts +0 -161
  587. package/src/index.ts +0 -26
  588. package/src/infrastructure/InMemoryEventStorage.ts +0 -68
  589. package/src/infrastructure/InMemoryLock.ts +0 -73
  590. package/src/infrastructure/InMemoryMessageBus.ts +0 -118
  591. package/src/infrastructure/InMemorySnapshotStorage.ts +0 -27
  592. package/src/infrastructure/InMemoryView.ts +0 -221
  593. package/src/infrastructure/utils/Deferred.ts +0 -41
  594. package/src/infrastructure/utils/index.ts +0 -2
  595. package/src/infrastructure/utils/nextCycle.ts +0 -4
  596. package/src/interfaces.ts +0 -328
  597. package/src/utils/getClassName.ts +0 -6
  598. package/src/utils/getHandledMessageTypes.ts +0 -20
  599. package/src/utils/getHandler.ts +0 -20
  600. package/src/utils/getMessageHandlerNames.ts +0 -44
  601. package/src/utils/index.ts +0 -8
  602. package/src/utils/isClass.ts +0 -4
  603. package/src/utils/setupOneTimeEmitterSubscription.ts +0 -57
  604. package/src/utils/subscribe.ts +0 -51
  605. package/src/utils/validateHandlers.ts +0 -19
  606. /package/dist/{infrastructure → cjs}/utils/Deferred.js +0 -0
  607. /package/dist/{utils → cjs/utils}/getClassName.js +0 -0
  608. /package/dist/{utils → cjs/utils}/isClass.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,112 +1,506 @@
1
- # [0.17.0](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.5...v0.17.0) (2025-08-12)
1
+ # [1.0.0-beta.1](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.46...v1.0.0-beta.1) (2026-03-21)
2
2
 
3
3
 
4
+ ### Build System
5
+
6
+ * Refactor NPM publish step to handle pre-release and release tagging dynamically ([3f35a79](https://github.com/snatalenko/node-cqrs/commit/3f35a797785ddbb557c4d4030d7f409e7d9e1a5d))
7
+ * Fix browser build with rollup ([cc70f71](https://github.com/snatalenko/node-cqrs/commit/cc70f71a93d40d00384b79f4ce0da6d1478866ee))
8
+ * Default npm publish tag to "alpha" for numeric pre-ids; rework tag cleanup hierarchy ([6d89e7b](https://github.com/snatalenko/node-cqrs/commit/6d89e7b303213d30adf030015dca839490c69d75))
4
9
 
5
- # [1.0.0-rc.5](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.4...v1.0.0-rc.5) (2024-10-27)
10
+
11
+ # [1.0.0-rc.46](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.45...v1.0.0-rc.46) (2026-03-19)
6
12
 
7
13
 
8
14
  ### Changes
9
15
 
10
- * Add `InMemoryView.prototype.getSync` method ([5d4adb9](https://github.com/snatalenko/node-cqrs/commit/5d4adb9109c4c85edae2b0f3dfd995e8c51aef06))
16
+ * Pass event meta through projection chain, allow skipping last event update for internal-origin events ([dd36395](https://github.com/snatalenko/node-cqrs/commit/dd36395a2ad4be712df0a81e60514701ec7e03b8))
17
+
18
+
19
+ # [1.0.0-rc.45](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.44...v1.0.0-rc.45) (2026-03-19)
20
+
21
+
22
+ ### Features
23
+
24
+ * Add RabbitMQ command bus implementation and enhance MQ configuration options ([a565c59](https://github.com/snatalenko/node-cqrs/commit/a565c59f87fa46f2279781329ebacf55b1245805))
25
+
26
+ ### Changes
27
+
28
+ * Resolve RabbitMQ appId from injected `rabbitMqAppId` provider ([56c2fe1](https://github.com/snatalenko/node-cqrs/commit/56c2fe1b4c5d1e9d85bf72ae6364a5012daec48d))
29
+ * Return established subscription details from `subscribe` method of RabbitMqGateway ([7768256](https://github.com/snatalenko/node-cqrs/commit/7768256639c58194d0792813afdb5ec9a0c2ee9c))
30
+ * Add option for queue expiration ([7073832](https://github.com/snatalenko/node-cqrs/commit/7073832aa5287f5786d6f8f06d4ad67698ac3f19))
31
+ * Add option to disable handler timeout on rabbitmq subscription ([dd76d5e](https://github.com/snatalenko/node-cqrs/commit/dd76d5e9c728739620ba7d4399108db97293772f))
32
+
33
+ ### Fixes
34
+
35
+ * Avoid finalization of already finalized MQ messages ([a9a1ea6](https://github.com/snatalenko/node-cqrs/commit/a9a1ea63fc85ba8cd6b09e2c2330636e22639b2c))
36
+
37
+ ### Internal Fixes
38
+
39
+ * Consolidate CommandBus into InMemoryMessageBus ([62b1b0a](https://github.com/snatalenko/node-cqrs/commit/62b1b0ad23e71ea78bafef780cd06d9366d8c803))
40
+ * Enable "x-single-active-consumer" on event queues ([6cf8e74](https://github.com/snatalenko/node-cqrs/commit/6cf8e74485201b157bb4265feeb4b5d3088cf531))
41
+
42
+
43
+ # [1.0.0-rc.44](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.43...v1.0.0-rc.44) (2026-03-18)
44
+
11
45
 
46
+ ### Internal Fixes
12
47
 
13
- # [1.0.0-rc.4](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.3...v1.0.0-rc.4) (2024-10-02)
48
+ * Upgrade di0 to latest stable version with resolvers ([5f2c9ad](https://github.com/snatalenko/node-cqrs/commit/5f2c9adfd101bb53e7250db95c89f1cbd1730362))
14
49
 
15
50
 
51
+ # [1.0.0-rc.43](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.42...v1.0.0-rc.43) (2026-03-18)
16
52
 
17
- # [1.0.0-rc.3](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.2...v1.0.0-rc.3) (2024-09-23)
18
53
 
54
+ ### Changes
19
55
 
56
+ * Allow extending WorkerProxyProjection via workerProxyFactory custom proxy type ([c9860b6](https://github.com/snatalenko/node-cqrs/commit/c9860b605a52e0cf0be167917b66e5efeb0fe29c))
20
57
 
21
- # [1.0.0-rc.2](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.1...v1.0.0-rc.2) (2024-08-03)
58
+ ### Fixes
22
59
 
60
+ * All errors being ignored with concurrency resolution set to 'ignore' ([0cb10bc](https://github.com/snatalenko/node-cqrs/commit/0cb10bcaef5ec76050b14caf6d5ad710a005b6d0))
23
61
 
62
+ ### Documentation
24
63
 
25
- # [1.0.0-rc.1](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.0...v1.0.0-rc.1) (2024-08-03)
64
+ * Update package description and keywords ([15ef847](https://github.com/snatalenko/node-cqrs/commit/15ef847b4b7dc7007f38423580704604901fc588))
65
+ * Add AbstractWorkerProjection description to readme.md ([dd3952c](https://github.com/snatalenko/node-cqrs/commit/dd3952cc79d8a5762cd5b5bc320429ac9d0e7403))
26
66
 
67
+ ### Tests
68
+
69
+ * Migrate chai+sinon tests to pure jest and remove legacy deps ([86840dd](https://github.com/snatalenko/node-cqrs/commit/86840dd7313e6af217fb74b7c32227d09860433b))
27
70
 
28
71
  ### Build System
29
72
 
30
- * Add NPM publishing script ([3372990](https://github.com/snatalenko/node-cqrs/commit/3372990ba2549695398e0949e35009396e660005))
31
- * Suppress audit and test for tags ([574a00c](https://github.com/snatalenko/node-cqrs/commit/574a00cc53af009994ca4dd3278cb764743b4ad6))
73
+ * Remove comments from compiled dists ([d7124bd](https://github.com/snatalenko/node-cqrs/commit/d7124bdb47d8cef12280f404146b4f4d8e0ae1e7))
32
74
 
75
+ ### Internal Fixes
33
76
 
34
- # [1.0.0-rc.0](https://github.com/snatalenko/node-cqrs/compare/v0.16.4...v1.0.0-rc.0) (2024-08-02)
77
+ * Allow EventStore to resolve reader from eventStorage alias ([91cd778](https://github.com/snatalenko/node-cqrs/commit/91cd778171ed1ace11802a4ef1fb05384de11433))
78
+ * Update dependencies ([8c7478e](https://github.com/snatalenko/node-cqrs/commit/8c7478e6f569426c8ad94fed9bc84a159f31bf1c))
79
+
80
+
81
+ # [1.0.0-rc.42](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.41...v1.0.0-rc.42) (2026-02-27)
82
+
83
+
84
+ ### Documentation
85
+
86
+ * Add CONTRIBUTING.md symlinks for coding agents ([878f25f](https://github.com/snatalenko/node-cqrs/commit/878f25fd99ff4884045ea4d8b2cb739f3e2bf5ff))
87
+
88
+ ### Tests
89
+
90
+ * Fix broken AbstractWorkerProjection example ([5320b97](https://github.com/snatalenko/node-cqrs/commit/5320b97644637981bacccf3c24c019ddeaabae35))
91
+
92
+
93
+ # [1.0.0-rc.41](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.40...v1.0.0-rc.41) (2026-02-27)
35
94
 
36
95
 
37
96
  ### Fixes
38
97
 
39
- * Vulnerability in minimist dependency ([07b8c68](https://github.com/snatalenko/node-cqrs/commit/07b8c682fae4278965aa13a06caa994c037934e9))
98
+ * Failing synchronous event handler may prevent execution of other handlers ([fb026e5](https://github.com/snatalenko/node-cqrs/commit/fb026e5263f13c05e8e6999ff0162700551f587c))
40
99
 
41
- ### Refactoring
42
100
 
43
- * Migrate to TS and Jest ([6737d55](https://github.com/snatalenko/node-cqrs/commit/6737d5566a9dc6314df0b20a65d32414fc503e54))
101
+ # [1.0.0-rc.40](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.39...v1.0.0-rc.40) (2026-02-26)
44
102
 
45
103
 
46
- ## [0.16.4](https://github.com/snatalenko/node-cqrs/compare/v0.16.3...v0.16.4) (2022-08-28)
47
104
 
105
+ # [1.0.0-rc.39](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.38...v1.0.0-rc.39) (2026-02-26)
48
106
 
49
- ### Refactoring
50
107
 
51
- * Use di package from npm ([0e8db91](https://github.com/snatalenko/node-cqrs/commit/0e8db91636541e95f804e2c266e2d8bbf0f49a8b))
108
+ ### Changes
52
109
 
110
+ * Add an option for ES concurrency errors ignoring ([5189ba0](https://github.com/snatalenko/node-cqrs/commit/5189ba05c6fb0c5f8635251062acf76d032da8b0))
111
+
112
+
113
+ # [1.0.0-rc.38](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.37...v1.0.0-rc.38) (2026-02-24)
114
+
115
+
116
+ ### Tests
117
+
118
+ * Allow running individual integration tests with `npm t` ([cfef9a8](https://github.com/snatalenko/node-cqrs/commit/cfef9a87b6e0fce159205a1d55f38e51c6f9e8de))
119
+
120
+ ### Internal Fixes
121
+
122
+ * Split AbstractWorkerProjection into worker-side and main-thread proxy ([751bfcf](https://github.com/snatalenko/node-cqrs/commit/751bfcf9f63547bafcec51af4e949d77ca1d0077))
123
+ * Rename InMemoryLock event to match IViewLocker interface ([1fe2eb1](https://github.com/snatalenko/node-cqrs/commit/1fe2eb149f8801e1b7e935a90cca05691d5d2017))
124
+ * Separate projection restoring from subscription; start explicitly in DI container ([3ddc649](https://github.com/snatalenko/node-cqrs/commit/3ddc649feaa65e267d7eb5646289e88f8a4a332b))
125
+
126
+
127
+ # [1.0.0-rc.37](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.36...v1.0.0-rc.37) (2026-02-23)
53
128
 
54
- ## [0.16.3](https://github.com/snatalenko/node-cqrs/compare/v0.16.2...v0.16.3) (2022-01-28)
55
129
 
130
+ ### Internal Fixes
131
+
132
+ * Update di0 with fixed resolvers ([c4dcb4f](https://github.com/snatalenko/node-cqrs/commit/c4dcb4f7f9d524d6d506dcc24d8ace3399f609b2))
133
+
134
+
135
+ # [1.0.0-rc.36](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.35...v1.0.0-rc.36) (2026-02-22)
136
+
137
+
138
+ ### Features
139
+
140
+ * Re-process commands on concurrency errors in EventStorage ([8a60560](https://github.com/snatalenko/node-cqrs/commit/8a60560b1e3dc7bff85217851a12c503730a9e19))
56
141
 
57
142
  ### Changes
58
143
 
59
- * Update dev dependencies ([e76db7b](https://github.com/snatalenko/node-cqrs/commit/e76db7be66b53afeb619bda459686e490530556f))
60
- * Remove InMemoryView data size calculation ([fb4260b](https://github.com/snatalenko/node-cqrs/commit/fb4260b94170e371c02be5b6867ba5b1cf7e428f))
144
+ * Use di0 resolvers to avoid explicit type alias declarations ([efcbc77](https://github.com/snatalenko/node-cqrs/commit/efcbc774a45c127821c0c3b94a646402e9526610))
61
145
 
146
+ ### Documentation
62
147
 
63
- ## [0.16.2](https://github.com/snatalenko/node-cqrs/compare/v0.16.1...v0.16.2) (2021-07-06)
148
+ * Rename GH workflow and corresponding badge ([8dd82df](https://github.com/snatalenko/node-cqrs/commit/8dd82df4d8b2ffa561d0a47aba56b5eac638e1fc))
149
+
150
+ ### Tests
151
+
152
+ * Improve test coverage ([b13e51d](https://github.com/snatalenko/node-cqrs/commit/b13e51db11941fd6295e7e2296a50622db9da7ae))
153
+
154
+ ### Internal Fixes
155
+
156
+ * Move workers tests to "integration/", letting unit tests to run without build ([9038356](https://github.com/snatalenko/node-cqrs/commit/9038356202ad51e1df35cc726f55c93eb9885665))
157
+
158
+
159
+ # [1.0.0-rc.35](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.34...v1.0.0-rc.35) (2026-02-18)
160
+
161
+
162
+ ### Build System
163
+
164
+ * Update the CI workflow to request an OIDC ID token ([f4f86c7](https://github.com/snatalenko/node-cqrs/commit/f4f86c7fa30276d1dcf39e1e59b0d9b50678db1f))
165
+
166
+
167
+ # [1.0.0-rc.34](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.33...v1.0.0-rc.34) (2026-02-18)
168
+
169
+
170
+ ### Features
171
+
172
+ * Run projections derived from AbstractWorkerProjection in worker threads with remote view access ([3d4c56a](https://github.com/snatalenko/node-cqrs/commit/3d4c56ac978f0ee11e98c8575befa2796755dc74))
173
+ * Support selective restore event loading ([3a74da6](https://github.com/snatalenko/node-cqrs/commit/3a74da6807a0250bff0e05ae57f922922d8847be))
174
+ * Multi-saga correlation via `message.sagaOrigins` + simplified ISaga (mutate/handle) with AbstractSaga state support ([ae67594](https://github.com/snatalenko/node-cqrs/commit/ae675944faa2b01aefed23d7c0e456e2581f066f))
175
+
176
+ ### Changes
177
+
178
+ * Apache-2.0 License ([576869b](https://github.com/snatalenko/node-cqrs/commit/576869bb6cc567745cc7a61f4c80bbf4428362e3))
179
+ * Publish events asynchronously without awaiting for subscribers to complete ([025edb8](https://github.com/snatalenko/node-cqrs/commit/025edb8833d65ea07760ac7b8a1a416df5972955))
180
+ * Make saga `startsWith` optional to reduce boilerplate ([34cc162](https://github.com/snatalenko/node-cqrs/commit/34cc162e02e2241956abfc18cb3ce5947e25c2e1))
181
+ * Exclude `getHandledMessageTypes` from export ([afa1cf6](https://github.com/snatalenko/node-cqrs/commit/afa1cf6231ce00e1f992758b201cdd2d6928e797))
182
+
183
+ ### Build System
184
+
185
+ * Add ESM, CJS, and Browser builds ([e83018f](https://github.com/snatalenko/node-cqrs/commit/e83018f3a9eb247db31ca447c2157bcf2ff71497))
186
+ * Add pull_request trigger to Coveralls workflow ([8c7b95a](https://github.com/snatalenko/node-cqrs/commit/8c7b95a7fbdf68858841de5d89721d13f0d84c9b))
187
+ * Add eslint to github actions; cleanup eslint rules ([405efb0](https://github.com/snatalenko/node-cqrs/commit/405efb06bdceeed723d8f30f3fd98e398cf7a6ec))
188
+
189
+
190
+ # [0.17.0](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.12...v0.17.0) (2025-08-12)
191
+
192
+
193
+
194
+ # [1.0.0-rc.33](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.32...v1.0.0-rc.33) (2026-01-26)
64
195
 
65
196
 
66
197
  ### Fixes
67
198
 
68
- * Vulnerabilities in dependencies ([1bdd491](https://github.com/snatalenko/node-cqrs/commit/1bdd4916e3080bd96b15d87c947f6b85e44d6d40))
199
+ * Concurrent operations handling in SqliteObjectStorage updateEnforcingNew ([bab7807](https://github.com/snatalenko/node-cqrs/commit/bab78078de52bd88bb86c293adb87eeb974241d5))
69
200
 
70
201
 
71
- ## [0.16.1](https://github.com/snatalenko/node-cqrs/compare/v0.16.0...v0.16.1) (2021-05-28)
202
+ # [1.0.0-rc.32](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.31...v1.0.0-rc.32) (2026-01-09)
203
+
204
+
205
+ ### Internal Fixes
206
+
207
+ * Update Lock interface to support resource management with `using` keyword ([196332e](https://github.com/snatalenko/node-cqrs/commit/196332e1f382880161e0f7192966e2fb4f222be7))
208
+ * Expose connection state events on RabbitMqGateway ([42fe349](https://github.com/snatalenko/node-cqrs/commit/42fe3497ce886bc4e20efa6008b97104380a8ba5))
209
+
210
+
211
+ # [1.0.0-rc.31](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.30...v1.0.0-rc.31) (2025-12-22)
212
+
213
+
214
+ ### Changes
215
+
216
+ * Auto-reconnect to RabbitMQ ([ba80536](https://github.com/snatalenko/node-cqrs/commit/ba8053697fb271a57fde7fc236d0f15c7d497c8e))
217
+
218
+
219
+ # [1.0.0-rc.30](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.29...v1.0.0-rc.30) (2025-12-22)
220
+
221
+
222
+ ### Internal Fixes
223
+
224
+ * MQ consumption starts before handler is properly recorded ([35a974b](https://github.com/snatalenko/node-cqrs/commit/35a974b15ab650728768d1efd655b45a6df052fb))
225
+ * RabbitMQ connection not auto-closing on SIGTERM ([63b4f48](https://github.com/snatalenko/node-cqrs/commit/63b4f48f1abc6936472db66e821de2543dbc874b))
226
+
227
+
228
+ # [1.0.0-rc.29](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.28...v1.0.0-rc.29) (2025-12-21)
229
+
230
+
231
+ ### Internal Fixes
232
+
233
+ * Enhance logging in RabbitMqGateway and AbstractProjection for better traceability ([57d3f30](https://github.com/snatalenko/node-cqrs/commit/57d3f3099cc52c19963279a2b4a66c79e5fbd3ee))
234
+
235
+
236
+ # [1.0.0-rc.28](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.27...v1.0.0-rc.28) (2025-12-17)
237
+
238
+
239
+ ### Internal Fixes
240
+
241
+ * Refactor subscription handling, improve logging on subscription removing ([72c5370](https://github.com/snatalenko/node-cqrs/commit/72c537092c435fe68e343c33ad46d99a1f474b06))
242
+
243
+
244
+ # [1.0.0-rc.27](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.26...v1.0.0-rc.27) (2025-12-17)
245
+
246
+
247
+ ### Internal Fixes
248
+
249
+ * Close rabbitmq connection on SIGINT/SIGTERM ([21686be](https://github.com/snatalenko/node-cqrs/commit/21686bebb6a0ca5901263f3d382ffe369d62ef85))
250
+
251
+
252
+ # [1.0.0-rc.26](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.25...v1.0.0-rc.26) (2025-12-05)
253
+
254
+
255
+ ### Changes
256
+
257
+ * Move reconnect logic to rabbitMqConnectionFactory; re-establish subscriptions on reconnect ([a42d138](https://github.com/snatalenko/node-cqrs/commit/a42d138fc93bc767ae5d7fac75f5582cb3936103))
258
+
259
+ ### Build System
260
+
261
+ * Update changelog titles and commit message prefixes ([8c6ead0](https://github.com/snatalenko/node-cqrs/commit/8c6ead0a9b4f3feba7bbfba539082eeb0b09b9f9))
262
+
263
+ ### Internal Fixes
264
+
265
+ * Use "quorum" type for durable queues ([f617149](https://github.com/snatalenko/node-cqrs/commit/f6171498db544d820e876d550421eef75c66088f))
266
+ * Vulnerability in js-yaml dev dependency ([0e9b25e](https://github.com/snatalenko/node-cqrs/commit/0e9b25edd0a81581fb084256638c9ab56afb4115))
267
+ * Ensure proper subscription management in TerminationHandler ([506acc2](https://github.com/snatalenko/node-cqrs/commit/506acc2dde02dd4d83cb8e8d6079dc63fa992651))
268
+
269
+
270
+ # [1.0.0-rc.25](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.24...v1.0.0-rc.25) (2025-10-31)
271
+
272
+
273
+
274
+ # [1.0.0-rc.24](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.23...v1.0.0-rc.24) (2025-10-30)
275
+
276
+
277
+
278
+ # [1.0.0-rc.23](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.22...v1.0.0-rc.23) (2025-10-26)
279
+
280
+
281
+
282
+ # [1.0.0-rc.22](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.21...v1.0.0-rc.22) (2025-10-23)
283
+
284
+
285
+
286
+ # [1.0.0-rc.21](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.20...v1.0.0-rc.21) (2025-10-14)
72
287
 
73
288
 
74
289
  ### Fixes
75
290
 
76
- * Mark aggregateId optional on command send ([f496ecf](https://github.com/snatalenko/node-cqrs/commit/f496ecfbd5413e8e2a4c69af7848ecc3f1a5365a))
291
+ * Proper milliseconds calculation for Event Locker ([ca4016a](https://github.com/snatalenko/node-cqrs/commit/ca4016a486a7b2a010f86174140bd21e0a1c0d08))
292
+
293
+
294
+ # [1.0.0-rc.20](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.19...v1.0.0-rc.20) (2025-10-13)
295
+
77
296
 
78
297
  ### Changes
79
298
 
80
- * Postpone view.get responses to next loop iteration ([950c2e4](https://github.com/snatalenko/node-cqrs/commit/950c2e42f62d7388b0cc668e81fb4f6718656fca))
299
+ * Enhance type safety in CqrsContainerBuilder with generics ([025765c](https://github.com/snatalenko/node-cqrs/commit/025765cc31eec5a004142dff5cafd8264af10ea9))
300
+
301
+
302
+ # [1.0.0-rc.19](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.18...v1.0.0-rc.19) (2025-09-24)
303
+
304
+
305
+
306
+ # [1.0.0-rc.18](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.17...v1.0.0-rc.18) (2025-09-11)
307
+
308
+
309
+
310
+ # [1.0.0-rc.17](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.16...v1.0.0-rc.17) (2025-08-29)
81
311
 
82
312
 
83
- # [0.16.0](https://github.com/snatalenko/node-cqrs/compare/v0.16.0-5...v0.16.0) (2020-03-18)
313
+
314
+ # [1.0.0-rc.16](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.15...v1.0.0-rc.16) (2025-08-29)
315
+
316
+
317
+
318
+ # [1.0.0-rc.15](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.14...v1.0.0-rc.15) (2025-08-24)
319
+
320
+
321
+
322
+ # [1.0.0-rc.14](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.13...v1.0.0-rc.14) (2025-08-15)
323
+
324
+
325
+
326
+ # [1.0.0-rc.13](https://github.com/snatalenko/node-cqrs/compare/v0.17.0...v1.0.0-rc.13) (2025-08-14)
327
+
328
+
329
+
330
+ # [1.0.0-rc.12](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.11...v1.0.0-rc.12) (2025-08-11)
331
+
332
+
333
+
334
+ # [1.0.0-rc.11](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.10...v1.0.0-rc.11) (2025-05-09)
335
+
336
+
337
+ ### Changes
338
+
339
+ * Cache immediate aggregates to handle concurrent commands ([e193c4c](https://github.com/snatalenko/node-cqrs/commit/e193c4c8dc7b91de6cbc84e2ac668170ddb48bc0))
340
+
341
+ ### Internal Fixes
342
+
343
+ * Use `structuredClone` for snapshot creation ([1d0e827](https://github.com/snatalenko/node-cqrs/commit/1d0e827da71c760739588a37ae6afe63a4fa8d34))
344
+ * Simplify aggregate interface ([3e141fd](https://github.com/snatalenko/node-cqrs/commit/3e141fd217c4a094a57fefe8788816d474020ffe))
345
+
346
+
347
+ # [1.0.0-rc.10](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.9...v1.0.0-rc.10) (2025-04-13)
84
348
 
85
349
 
86
350
  ### Fixes
87
351
 
88
- * Moderate security issue in "minimist" dev dependency ([579d523](https://github.com/snatalenko/node-cqrs/commit/579d523745a6d33902a5245bc7e9f3fe843abc2b))
352
+ * Asserting db connection in prolongLock and unlock methods ([b272473](https://github.com/snatalenko/node-cqrs/commit/b2724739b3ff483b13c0cfeea30c73c7d8ab8b94))
89
353
 
90
354
 
91
- # [0.16.0-5](https://github.com/snatalenko/node-cqrs/compare/v0.16.0-4...v0.16.0-5) (2020-02-19)
355
+ # [1.0.0-rc.9](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.8...v1.0.0-rc.9) (2025-04-13)
92
356
 
93
357
 
94
358
 
95
- # [0.16.0-4](https://github.com/snatalenko/node-cqrs/compare/v0.16.0-3...v0.16.0-4) (2020-02-19)
359
+ # [1.0.0-rc.8](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.7...v1.0.0-rc.8) (2025-04-13)
96
360
 
97
361
 
98
362
 
99
- # [0.16.0-3](https://github.com/snatalenko/node-cqrs/compare/v0.16.0-2...v0.16.0-3) (2020-01-28)
363
+ # [1.0.0-rc.7](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.6...v1.0.0-rc.7) (2025-04-13)
100
364
 
101
365
 
102
366
  ### Features
103
367
 
104
- * Detect circular dependencies in DI container ([1490b51](https://github.com/snatalenko/node-cqrs/commit/1490b519c7581b1de6cd084d91f61875751d773b))
368
+ * RabbitMQ integration classes to support event publishing and subscription ([991c223](https://github.com/snatalenko/node-cqrs/commit/991c2233185d3610a2b8930f6930a03c0cdea01d))
369
+
370
+ ### Changes
371
+
372
+ * Move validation, snapshot and event persistence to EventDispatcher pipeline ([e781f7c](https://github.com/snatalenko/node-cqrs/commit/e781f7c6c2e4f7c9f8c4615b170d0d29d3e8f133))
373
+
374
+
375
+ # [1.0.0-rc.6](https://github.com/snatalenko/node-cqrs/compare/v0.16.4...v1.0.0-rc.6) (2025-03-21)
376
+
377
+
378
+ ### Changes
379
+
380
+ * Remove `publishAsync` setting, simplify publishing sequence ([79257e5](https://github.com/snatalenko/node-cqrs/commit/79257e59d322df5dd8e41bedf5273c97ae77b609))
381
+ * Support persistent views; Add SQLite infrastructure ([c235573](https://github.com/snatalenko/node-cqrs/commit/c235573678be349d031d1a696cab3993224979a2))
382
+
383
+
384
+ # [0.17.0](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.12...v0.17.0) (2025-08-12)
385
+
386
+
387
+
388
+ # [1.0.0-rc.12](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.11...v1.0.0-rc.12) (2025-08-11)
389
+
390
+
391
+
392
+ # [1.0.0-rc.11](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.10...v1.0.0-rc.11) (2025-05-09)
393
+
394
+
395
+ ### Changes
396
+
397
+ * Cache immediate aggregates to handle concurrent commands ([e193c4c](https://github.com/snatalenko/node-cqrs/commit/e193c4c8dc7b91de6cbc84e2ac668170ddb48bc0))
398
+
399
+ ### Internal Fixes
400
+
401
+ * Use `structuredClone` for snapshot creation ([1d0e827](https://github.com/snatalenko/node-cqrs/commit/1d0e827da71c760739588a37ae6afe63a4fa8d34))
402
+ * Simplify aggregate interface ([3e141fd](https://github.com/snatalenko/node-cqrs/commit/3e141fd217c4a094a57fefe8788816d474020ffe))
403
+
404
+
405
+ # [1.0.0-rc.10](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.9...v1.0.0-rc.10) (2025-04-13)
406
+
105
407
 
106
408
  ### Fixes
107
409
 
108
- * Debug output on one time subscriptions ([2fd7601](https://github.com/snatalenko/node-cqrs/commit/2fd7601b6b8e8059f0b777af6c1294cc78cb787b))
109
- * Correctly set type of the extended container builder created from container ([1f2f632](https://github.com/snatalenko/node-cqrs/commit/1f2f6325ceab65c4c81494d145261668125d03b1))
410
+ * Asserting db connection in prolongLock and unlock methods ([b272473](https://github.com/snatalenko/node-cqrs/commit/b2724739b3ff483b13c0cfeea30c73c7d8ab8b94))
411
+
412
+
413
+ # [1.0.0-rc.9](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.8...v1.0.0-rc.9) (2025-04-13)
414
+
415
+
416
+
417
+ # [1.0.0-rc.8](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.7...v1.0.0-rc.8) (2025-04-13)
418
+
419
+
420
+ ### Features
421
+
422
+ * RabbitMQ integration classes to support event publishing and subscription ([991c223](https://github.com/snatalenko/node-cqrs/commit/991c2233185d3610a2b8930f6930a03c0cdea01d))
423
+
424
+ ### Changes
425
+
426
+ * Move validation, snapshot and event persistence to EventDispatcher pipeline ([e781f7c](https://github.com/snatalenko/node-cqrs/commit/e781f7c6c2e4f7c9f8c4615b170d0d29d3e8f133))
427
+
428
+
429
+ # [1.0.0-rc.7](https://github.com/snatalenko/node-cqrs/compare/v1.0.0-rc.6...v1.0.0-rc.7) (2025-04-13)
430
+
431
+
432
+ ### Changes
433
+
434
+ * Remove `publishAsync` setting, simplify publishing sequence ([79257e5](https://github.com/snatalenko/node-cqrs/commit/79257e59d322df5dd8e41bedf5273c97ae77b609))
435
+
436
+
437
+ # [1.0.0-rc.6](https://github.com/snatalenko/node-cqrs/compare/v0.16.4...v1.0.0-rc.6) (2025-03-21)
438
+
439
+
440
+ ### Changes
441
+
442
+ * Add `InMemoryView.prototype.getSync` method ([5d4adb9](https://github.com/snatalenko/node-cqrs/commit/5d4adb9109c4c85edae2b0f3dfd995e8c51aef06))
443
+ * Support persistent views; Add SQLite infrastructure ([c235573](https://github.com/snatalenko/node-cqrs/commit/c235573678be349d031d1a696cab3993224979a2))
444
+
445
+ ### Fixes
446
+
447
+ * Vulnerability in minimist dependency ([07b8c68](https://github.com/snatalenko/node-cqrs/commit/07b8c682fae4278965aa13a06caa994c037934e9))
448
+
449
+ ### Build System
450
+
451
+ * Add NPM publishing script ([3372990](https://github.com/snatalenko/node-cqrs/commit/3372990ba2549695398e0949e35009396e660005))
452
+ * Suppress audit and test for tags ([574a00c](https://github.com/snatalenko/node-cqrs/commit/574a00cc53af009994ca4dd3278cb764743b4ad6))
453
+
454
+ ### Internal Fixes
455
+
456
+ * Migrate to TS and Jest ([6737d55](https://github.com/snatalenko/node-cqrs/commit/6737d5566a9dc6314df0b20a65d32414fc503e54))
457
+ * EventStore not subscribing to events emitted by `storage` ([84eaea1](https://github.com/snatalenko/node-cqrs/commit/84eaea17650589717af1720921716246762fec86))
458
+
459
+
460
+ ## [0.16.4](https://github.com/snatalenko/node-cqrs/compare/v0.16.3...v0.16.4) (2022-08-28)
461
+
462
+
463
+ ### Internal Fixes
464
+
465
+ * Use di package from npm ([0e8db91](https://github.com/snatalenko/node-cqrs/commit/0e8db91636541e95f804e2c266e2d8bbf0f49a8b))
466
+
467
+
468
+ ## [0.16.3](https://github.com/snatalenko/node-cqrs/compare/v0.16.2...v0.16.3) (2022-01-28)
469
+
470
+
471
+ ### Changes
472
+
473
+ * Update dev dependencies ([e76db7b](https://github.com/snatalenko/node-cqrs/commit/e76db7be66b53afeb619bda459686e490530556f))
474
+ * Remove InMemoryView data size calculation ([fb4260b](https://github.com/snatalenko/node-cqrs/commit/fb4260b94170e371c02be5b6867ba5b1cf7e428f))
475
+
476
+
477
+ ## [0.16.2](https://github.com/snatalenko/node-cqrs/compare/v0.16.1...v0.16.2) (2021-07-06)
478
+
479
+
480
+ ### Fixes
481
+
482
+ * Vulnerabilities in dependencies ([1bdd491](https://github.com/snatalenko/node-cqrs/commit/1bdd4916e3080bd96b15d87c947f6b85e44d6d40))
483
+
484
+
485
+ ## [0.16.1](https://github.com/snatalenko/node-cqrs/compare/v0.16.0...v0.16.1) (2021-05-28)
486
+
487
+
488
+ ### Changes
489
+
490
+ * Postpone view.get responses to next loop iteration ([950c2e4](https://github.com/snatalenko/node-cqrs/commit/950c2e42f62d7388b0cc668e81fb4f6718656fca))
491
+
492
+ ### Fixes
493
+
494
+ * Mark aggregateId optional on command send ([f496ecf](https://github.com/snatalenko/node-cqrs/commit/f496ecfbd5413e8e2a4c69af7848ecc3f1a5365a))
495
+
496
+
497
+ # [0.16.0](https://github.com/snatalenko/node-cqrs/compare/v0.15.1...v0.16.0) (2020-03-18)
498
+
499
+
500
+ ### Features
501
+
502
+ * Accept logger as an optional dependency ([65fe5ad](https://github.com/snatalenko/node-cqrs/commit/65fe5ad8a9de48d548715a2bd651f6d9c4cb0af1))
503
+ * Detect circular dependencies in DI container ([1490b51](https://github.com/snatalenko/node-cqrs/commit/1490b519c7581b1de6cd084d91f61875751d773b))
110
504
 
111
505
  ### Changes
112
506
 
@@ -117,128 +511,226 @@
117
511
  * Remove dependency to nodejs EventEmitter ([3fd7cd8](https://github.com/snatalenko/node-cqrs/commit/3fd7cd84bb3c20ec4189bd0083ef83bc07dc62d5))
118
512
  * Wrap types in NodeCqrs namespace ([74e9b67](https://github.com/snatalenko/node-cqrs/commit/74e9b67833592c030d67fe605f160f99664d9b6c))
119
513
 
514
+ ### Fixes
515
+
516
+ * Debug output not using toString in Node 12 ([ca0d32f](https://github.com/snatalenko/node-cqrs/commit/ca0d32f78a676faf45a342f4198ef4a93a3d0702))
517
+ * Debug output on one time subscriptions ([2fd7601](https://github.com/snatalenko/node-cqrs/commit/2fd7601b6b8e8059f0b777af6c1294cc78cb787b))
518
+ * Correctly set type of the extended container builder created from container ([1f2f632](https://github.com/snatalenko/node-cqrs/commit/1f2f6325ceab65c4c81494d145261668125d03b1))
519
+ * Moderate security issue in "minimist" dev dependency ([579d523](https://github.com/snatalenko/node-cqrs/commit/579d523745a6d33902a5245bc7e9f3fe843abc2b))
520
+
120
521
  ### Documentation
121
522
 
122
523
  * Add saga documentation ([e27d1e3](https://github.com/snatalenko/node-cqrs/commit/e27d1e34a0792bec7098535ebec20c97c0f01ed4))
123
524
 
124
525
  ### Tests
125
526
 
527
+ * Fix tests in Node 12 ([beeb471](https://github.com/snatalenko/node-cqrs/commit/beeb471faee9e1259f11b4c1c65877cd27309637))
126
528
  * Run example domain tests with unit tests ([5ffdb43](https://github.com/snatalenko/node-cqrs/commit/5ffdb43c0398fc6650a7a1d62a5f07870ee20bfd))
127
529
  * Run eslint for entire project folder ([d9055a1](https://github.com/snatalenko/node-cqrs/commit/d9055a158faa67dc9ece4f77b01517a5480b0a18))
128
530
 
129
531
  ### Build System
130
532
 
533
+ * Prevent git push on version ([3ea9e38](https://github.com/snatalenko/node-cqrs/commit/3ea9e38babf440ab384235e69d248fd92a2dfdff))
534
+ * Add conventional-changelog script ([da26a1c](https://github.com/snatalenko/node-cqrs/commit/da26a1cf6db0a609fcb3f1ba3a29ce6db6d0ab95))
535
+ * Run tests in NodeJS 12 env ([1d4239c](https://github.com/snatalenko/node-cqrs/commit/1d4239cf0f48e64105bfd6b28ab9a22f3fd23e7e))
536
+ * Replace changelog eslint preset with custom one ([8507262](https://github.com/snatalenko/node-cqrs/commit/8507262eeb7c367bbb8bd52b74e04c678bfcf956))
131
537
  * Exclude unnecessary files from package ([47b6797](https://github.com/snatalenko/node-cqrs/commit/47b679750780c0d7840d4d45a1296dc9bef7d674))
132
538
  * Do not install global dependencies ([158783c](https://github.com/snatalenko/node-cqrs/commit/158783c299720e709b8a34f3ef74fba1390d03ad))
133
539
 
134
540
 
135
- # [0.16.0-2](https://github.com/snatalenko/node-cqrs/compare/v0.16.0-1...v0.16.0-2) (2019-12-18)
541
+ ## [0.15.1](https://github.com/snatalenko/node-cqrs/compare/v0.15.0...v0.15.1) (2019-08-26)
136
542
 
137
543
 
138
- ### Features
544
+ ### Changes
139
545
 
140
- * Accept logger as an optional dependency ([65fe5ad](https://github.com/snatalenko/node-cqrs/commit/65fe5ad8a9de48d548715a2bd651f6d9c4cb0af1))
546
+ * Upgrade dev dependencies to fix audit script ([ef01cc3](https://github.com/snatalenko/node-cqrs/commit/ef01cc33b63a95a8783a83b34c4fcb3f4830fe52))
141
547
 
142
- ### Build System
143
548
 
144
- * Replace changelog eslint preset with custom one ([8507262](https://github.com/snatalenko/node-cqrs/commit/8507262eeb7c367bbb8bd52b74e04c678bfcf956))
549
+ # [0.15.0](https://github.com/snatalenko/node-cqrs/compare/v0.14.2...v0.15.0) (2019-08-25)
145
550
 
146
551
 
147
- ## [0.15.1](https://github.com/snatalenko/node-cqrs/compare/v0.15.0...v0.15.1) (2019-08-26)
148
552
 
553
+ ## [0.14.2](https://github.com/snatalenko/node-cqrs/compare/v0.14.1...v0.14.2) (2018-07-29)
149
554
 
150
- ### Changes
151
555
 
152
- * Upgrade dev dependencies to fix audit script ([ef01cc3](https://github.com/snatalenko/node-cqrs/commit/ef01cc33b63a95a8783a83b34c4fcb3f4830fe52))
153
556
 
557
+ ## [0.14.1](https://github.com/snatalenko/node-cqrs/compare/v0.14.0...v0.14.1) (2018-07-14)
154
558
 
155
- # [0.16.0-1](https://github.com/snatalenko/node-cqrs/compare/v0.16.0-0...v0.16.0-1) (2019-11-28)
156
559
 
157
- ### Changes
158
560
 
159
- * EventStore to return async event generators (requires NodeJS version 10+)
561
+ # [0.14.0](https://github.com/snatalenko/node-cqrs/compare/v0.13.0...v0.14.0) (2018-05-17)
160
562
 
161
- ### Build
162
563
 
163
- * Add conventional-changelog script ([da26a1c](https://github.com/snatalenko/node-cqrs/commit/da26a1cf6db0a609fcb3f1ba3a29ce6db6d0ab95))
164
- * Prevent git push on version ([3ea9e38](https://github.com/snatalenko/node-cqrs/commit/3ea9e38babf440ab384235e69d248fd92a2dfdff))
165
- * Run tests in NodeJS 12 env ([1d4239c](https://github.com/snatalenko/node-cqrs/commit/1d4239cf0f48e64105bfd6b28ab9a22f3fd23e7e))
166
564
 
167
- ### Fix
565
+ # [0.13.0](https://github.com/snatalenko/node-cqrs/compare/v0.12.6...v0.13.0) (2017-10-04)
168
566
 
169
- * Debug output not using toString in Node 12 ([ca0d32f](https://github.com/snatalenko/node-cqrs/commit/ca0d32f78a676faf45a342f4198ef4a93a3d0702))
170
567
 
171
- ### Tests
172
568
 
173
- * Fix tests in Node 12 ([beeb471](https://github.com/snatalenko/node-cqrs/commit/beeb471faee9e1259f11b4c1c65877cd27309637))
569
+ ## [0.12.6](https://github.com/snatalenko/node-cqrs/compare/v0.12.5...v0.12.6) (2017-08-23)
174
570
 
175
- ### Upgrade
176
571
 
177
- * debug, mocha, sinon ([ac80c27](https://github.com/snatalenko/node-cqrs/commit/ac80c27653828904cf7b80d37b0ecade860b7490))
178
572
 
179
- ## 0.15.0 - 2018-08-25
573
+ ## [0.12.5](https://github.com/snatalenko/node-cqrs/compare/v0.12.4...v0.12.5) (2017-06-23)
180
574
 
181
575
 
182
- ### Features
183
576
 
184
- * `InMemoryView.prototype.getAll` as an alternative to the deprecated `state` property
577
+ ## [0.12.4](https://github.com/snatalenko/node-cqrs/compare/v0.12.3...v0.12.4) (2017-04-25)
185
578
 
186
- ### Changes
187
579
 
188
- * `InMemoryView.prototype.create` 2nd parameter must be an instance of an Object, not a factory function
189
- * `InMemoryView.prototype.updateEnforcingNew` does not pass an empty object as a parameter when record does not exist
190
- * Observable `on(,,{queueName})` replaced with `queue(name).on(,)`;
191
- * separated IProjectionView and IConcurrentView interfaces
192
- * `IProjectionView.prototype.shouldRestore` can return Promise
193
- * Projection `restore` process flow to support async concurrent views
194
580
 
195
- ### Fixes
581
+ ## [0.12.3](https://github.com/snatalenko/node-cqrs/compare/v0.12.1...v0.12.3) (2017-04-24)
196
582
 
197
- * Typings
198
- * Call stack overflow in EventStream constructor on large number of events
199
583
 
200
- ## 0.14.2 (2018-07-29)
201
584
 
585
+ ## [0.12.1](https://github.com/snatalenko/node-cqrs/compare/v0.12.0...v0.12.1) (2017-04-24)
202
586
 
203
- ### Fixes
204
587
 
205
- * `Container.prototype.registerInstance` requires an Object as first parameter
206
588
 
207
- ## 0.14.1 (2018-07-14)
589
+ # [0.12.0](https://github.com/snatalenko/node-cqrs/compare/v0.11.1...v0.12.0) (2017-04-22)
208
590
 
209
- ### Features
210
591
 
211
- * `Aggregate.prototype.makeEvent` as a separate method for testing purposes
212
592
 
213
- ### Fixes
593
+ ## [0.11.1](https://github.com/snatalenko/node-cqrs/compare/v0.11.0...v0.11.1) (2017-03-01)
214
594
 
215
- * Aggregate snapshot modification thru Aggregate state
216
- * Tests with NodeJS@^10
217
595
 
218
- ## 0.14.0 (2018-05-17)
219
596
 
597
+ # [0.11.0](https://github.com/snatalenko/node-cqrs/compare/v0.10.0...v0.11.0) (2017-01-18)
220
598
 
221
- ### Features
222
599
 
223
- * examples/user-domain
224
- * typings
225
- * changelog
226
600
 
227
- ### Changes
601
+ # [0.10.0](https://github.com/snatalenko/node-cqrs/compare/v0.9.3...v0.10.0) (2017-01-16)
228
602
 
229
- * snapshotStorage moved to a separate interface/entity
230
- * named queues handling moved out of EventStore to InMemoryMessageBus implementation
231
- * command-to-event context copying moved out of EventStore to AbstractAggregate.prototype.emit, which frees up road for a concurrent operations on same aggregate implementation
232
- * EventStream is immutable
233
- * `AbstractProjection.prototype.shouldRestoreView` can be overriden in projection for own view implementations
234
603
 
235
- ## 0.13.0 (2017-10-04)
236
604
 
237
- ### Documentation
605
+ ## [0.9.3](https://github.com/snatalenko/node-cqrs/compare/v0.9.2...v0.9.3) (2017-01-06)
606
+
607
+
608
+
609
+ ## [0.9.2](https://github.com/snatalenko/node-cqrs/compare/v0.9.1...v0.9.2) (2016-12-19)
610
+
611
+
612
+
613
+ ## [0.9.1](https://github.com/snatalenko/node-cqrs/compare/v0.9.0...v0.9.1) (2016-12-17)
614
+
615
+
616
+
617
+ # [0.9.0](https://github.com/snatalenko/node-cqrs/compare/v0.8.0...v0.9.0) (2016-12-17)
618
+
619
+
620
+
621
+ # [0.8.0](https://github.com/snatalenko/node-cqrs/compare/v0.7.8...v0.8.0) (2016-12-07)
622
+
623
+
624
+
625
+ ## [0.7.8](https://github.com/snatalenko/node-cqrs/compare/v0.7.7...v0.7.8) (2016-12-05)
626
+
627
+
628
+
629
+ ## [0.7.7](https://github.com/snatalenko/node-cqrs/compare/v0.7.6...v0.7.7) (2016-12-04)
630
+
631
+
632
+
633
+ ## [0.7.6](https://github.com/snatalenko/node-cqrs/compare/v0.7.5...v0.7.6) (2016-12-01)
634
+
635
+
636
+
637
+ ## [0.7.5](https://github.com/snatalenko/node-cqrs/compare/v0.7.4...v0.7.5) (2016-12-01)
638
+
639
+
640
+
641
+ ## [0.7.4](https://github.com/snatalenko/node-cqrs/compare/v0.7.3...v0.7.4) (2016-11-30)
642
+
643
+
644
+
645
+ ## [0.7.3](https://github.com/snatalenko/node-cqrs/compare/v0.7.2...v0.7.3) (2016-11-29)
646
+
647
+
648
+
649
+ ## [0.7.2](https://github.com/snatalenko/node-cqrs/compare/v0.7.1...v0.7.2) (2016-11-25)
650
+
651
+
652
+
653
+ ## [0.7.1](https://github.com/snatalenko/node-cqrs/compare/v0.7.0...v0.7.1) (2016-11-20)
654
+
655
+
656
+
657
+ # [0.7.0](https://github.com/snatalenko/node-cqrs/compare/v0.6.10...v0.7.0) (2016-11-18)
658
+
659
+
660
+
661
+ ## [0.6.10](https://github.com/snatalenko/node-cqrs/compare/v0.6.9...v0.6.10) (2016-10-24)
662
+
663
+
664
+
665
+ ## [0.6.9](https://github.com/snatalenko/node-cqrs/compare/v0.6.8...v0.6.9) (2016-10-24)
666
+
667
+
668
+
669
+ ## [0.6.8](https://github.com/snatalenko/node-cqrs/compare/v0.6.7...v0.6.8) (2016-10-23)
670
+
671
+
672
+
673
+ ## [0.6.7](https://github.com/snatalenko/node-cqrs/compare/v0.6.6...v0.6.7) (2016-10-23)
674
+
675
+
676
+
677
+ ## [0.6.6](https://github.com/snatalenko/node-cqrs/compare/v0.6.5...v0.6.6) (2016-08-23)
678
+
679
+
680
+
681
+ ## [0.6.5](https://github.com/snatalenko/node-cqrs/compare/v0.6.4...v0.6.5) (2016-08-23)
682
+
683
+
684
+
685
+ ## [0.6.4](https://github.com/snatalenko/node-cqrs/compare/v0.6.3...v0.6.4) (2016-07-24)
686
+
687
+
688
+
689
+ ## [0.6.3](https://github.com/snatalenko/node-cqrs/compare/v0.6.2...v0.6.3) (2016-07-06)
690
+
691
+
692
+
693
+ ## [0.6.2](https://github.com/snatalenko/node-cqrs/compare/v0.6.1...v0.6.2) (2016-07-02)
694
+
695
+
696
+
697
+ ## [0.6.1](https://github.com/snatalenko/node-cqrs/compare/v0.6.0...v0.6.1) (2016-05-31)
698
+
699
+
700
+
701
+ # [0.6.0](https://github.com/snatalenko/node-cqrs/compare/v0.5.0...v0.6.0) (2016-03-06)
702
+
703
+
704
+
705
+ # [0.5.0](https://github.com/snatalenko/node-cqrs/compare/v0.4.0...v0.5.0) (2016-03-03)
706
+
707
+
708
+
709
+ # [0.4.0](https://github.com/snatalenko/node-cqrs/compare/v0.3.2...v0.4.0) (2016-03-03)
710
+
711
+
712
+
713
+ ## [0.3.2](https://github.com/snatalenko/node-cqrs/compare/v0.3.1...v0.3.2) (2016-02-29)
714
+
715
+
716
+
717
+ ## [0.3.1](https://github.com/snatalenko/node-cqrs/compare/v0.3.0...v0.3.1) (2016-02-29)
718
+
719
+
720
+
721
+ # [0.3.0](https://github.com/snatalenko/node-cqrs/compare/v0.2.2...v0.3.0) (2016-02-29)
722
+
723
+
724
+
725
+ ## [0.2.2](https://github.com/snatalenko/node-cqrs/compare/v0.2.1...v0.2.2) (2015-12-23)
726
+
727
+
728
+
729
+ ## [0.2.1](https://github.com/snatalenko/node-cqrs/compare/v0.2.0...v0.2.1) (2015-12-22)
730
+
731
+
732
+
733
+ # 0.2.0 (2015-12-22)
238
734
 
239
- * docs publishing to [node-cqrs.org](https://www.node-cqrs.org)
240
735
 
241
- ### Changes
242
736
 
243
- * In-Memory views do not respond to get(..) requests until they are restored
244
- * In-Memory views restoring is handled by AbstractProjection