@cratis/chronicle 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/EventStore.ts +17 -1
  2. package/IEventStore.ts +16 -0
  3. package/auditing/CausationType.ts +10 -0
  4. package/compliance/ComplianceContracts.ts +84 -0
  5. package/compliance/IPIIManager.ts +17 -0
  6. package/compliance/PIIManager.ts +31 -0
  7. package/compliance/index.ts +2 -0
  8. package/connection/ChronicleConnection.ts +7 -1
  9. package/connection/ChronicleServices.ts +2 -0
  10. package/connection/Guid.ts +18 -0
  11. package/dist/EventStore.d.ts +8 -0
  12. package/dist/EventStore.d.ts.map +1 -1
  13. package/dist/EventStore.js +13 -1
  14. package/dist/EventStore.js.map +1 -1
  15. package/dist/IEventStore.d.ts +12 -0
  16. package/dist/IEventStore.d.ts.map +1 -1
  17. package/dist/auditing/CausationType.d.ts +8 -0
  18. package/dist/auditing/CausationType.d.ts.map +1 -1
  19. package/dist/auditing/CausationType.js +8 -0
  20. package/dist/auditing/CausationType.js.map +1 -1
  21. package/dist/compliance/ComplianceContracts.d.ts +40 -0
  22. package/dist/compliance/ComplianceContracts.d.ts.map +1 -1
  23. package/dist/compliance/ComplianceContracts.js +71 -0
  24. package/dist/compliance/ComplianceContracts.js.map +1 -1
  25. package/dist/compliance/IPIIManager.d.ts +15 -0
  26. package/dist/compliance/IPIIManager.d.ts.map +1 -0
  27. package/dist/compliance/IPIIManager.js +4 -0
  28. package/dist/compliance/IPIIManager.js.map +1 -0
  29. package/dist/compliance/PIIManager.d.ts +20 -0
  30. package/dist/compliance/PIIManager.d.ts.map +1 -0
  31. package/dist/compliance/PIIManager.js +30 -0
  32. package/dist/compliance/PIIManager.js.map +1 -0
  33. package/dist/compliance/index.d.ts +2 -0
  34. package/dist/compliance/index.d.ts.map +1 -1
  35. package/dist/compliance/index.js +1 -0
  36. package/dist/compliance/index.js.map +1 -1
  37. package/dist/connection/ChronicleConnection.d.ts +1 -0
  38. package/dist/connection/ChronicleConnection.d.ts.map +1 -1
  39. package/dist/connection/ChronicleConnection.js +6 -1
  40. package/dist/connection/ChronicleConnection.js.map +1 -1
  41. package/dist/connection/ChronicleServices.d.ts +2 -0
  42. package/dist/connection/ChronicleServices.d.ts.map +1 -1
  43. package/dist/connection/Guid.d.ts +5 -0
  44. package/dist/connection/Guid.d.ts.map +1 -1
  45. package/dist/connection/Guid.js +15 -0
  46. package/dist/connection/Guid.js.map +1 -1
  47. package/dist/eventSequences/AppendOperationsBroadcaster.d.ts +16 -0
  48. package/dist/eventSequences/AppendOperationsBroadcaster.d.ts.map +1 -0
  49. package/dist/eventSequences/AppendOperationsBroadcaster.js +77 -0
  50. package/dist/eventSequences/AppendOperationsBroadcaster.js.map +1 -0
  51. package/dist/eventSequences/AppendOptions.d.ts +7 -0
  52. package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
  53. package/dist/eventSequences/AppendResult.d.ts +14 -0
  54. package/dist/eventSequences/AppendResult.d.ts.map +1 -1
  55. package/dist/eventSequences/AppendedEventWithResult.d.ts +13 -0
  56. package/dist/eventSequences/AppendedEventWithResult.d.ts.map +1 -0
  57. package/dist/eventSequences/AppendedEventWithResult.js +4 -0
  58. package/dist/eventSequences/AppendedEventWithResult.js.map +1 -0
  59. package/dist/eventSequences/CompleteStreamError.d.ts +17 -0
  60. package/dist/eventSequences/CompleteStreamError.d.ts.map +1 -0
  61. package/dist/eventSequences/CompleteStreamError.js +20 -0
  62. package/dist/eventSequences/CompleteStreamError.js.map +1 -0
  63. package/dist/eventSequences/CompleteStreamResult.d.ts +14 -0
  64. package/dist/eventSequences/CompleteStreamResult.d.ts.map +1 -0
  65. package/dist/eventSequences/CompleteStreamResult.js +4 -0
  66. package/dist/eventSequences/CompleteStreamResult.js.map +1 -0
  67. package/dist/eventSequences/ConcurrencyViolation.d.ts +13 -0
  68. package/dist/eventSequences/ConcurrencyViolation.d.ts.map +1 -0
  69. package/dist/eventSequences/ConcurrencyViolation.js +4 -0
  70. package/dist/eventSequences/ConcurrencyViolation.js.map +1 -0
  71. package/dist/eventSequences/EventForEventSourceId.d.ts +8 -0
  72. package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -1
  73. package/dist/eventSequences/EventSequence.d.ts +35 -1
  74. package/dist/eventSequences/EventSequence.d.ts.map +1 -1
  75. package/dist/eventSequences/EventSequence.js +350 -19
  76. package/dist/eventSequences/EventSequence.js.map +1 -1
  77. package/dist/eventSequences/IEventSequence.d.ts +85 -1
  78. package/dist/eventSequences/IEventSequence.d.ts.map +1 -1
  79. package/dist/eventSequences/WaitForCompletionResult.d.ts +11 -0
  80. package/dist/eventSequences/WaitForCompletionResult.d.ts.map +1 -0
  81. package/dist/eventSequences/WaitForCompletionResult.js +4 -0
  82. package/dist/eventSequences/WaitForCompletionResult.js.map +1 -0
  83. package/dist/eventSequences/index.d.ts +5 -0
  84. package/dist/eventSequences/index.d.ts.map +1 -1
  85. package/dist/eventSequences/index.js +1 -0
  86. package/dist/eventSequences/index.js.map +1 -1
  87. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts +3 -0
  88. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts.map +1 -1
  89. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js +9 -0
  90. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js.map +1 -1
  91. package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts +6 -0
  92. package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts.map +1 -1
  93. package/dist/eventStoreSubscriptions/contracts.d.ts +18 -0
  94. package/dist/eventStoreSubscriptions/contracts.d.ts.map +1 -1
  95. package/dist/eventStoreSubscriptions/contracts.js +106 -0
  96. package/dist/eventStoreSubscriptions/contracts.js.map +1 -1
  97. package/dist/events/constraints/Constraints.js +1 -1
  98. package/dist/events/constraints/Constraints.js.map +1 -1
  99. package/dist/externalServices/ExternalServiceBuilder.d.ts +42 -0
  100. package/dist/externalServices/ExternalServiceBuilder.d.ts.map +1 -0
  101. package/dist/externalServices/ExternalServiceBuilder.js +110 -0
  102. package/dist/externalServices/ExternalServiceBuilder.js.map +1 -0
  103. package/dist/externalServices/ExternalServices.d.ts +19 -0
  104. package/dist/externalServices/ExternalServices.d.ts.map +1 -0
  105. package/dist/externalServices/ExternalServices.js +30 -0
  106. package/dist/externalServices/ExternalServices.js.map +1 -0
  107. package/dist/externalServices/ExternalServicesContracts.d.ts +137 -0
  108. package/dist/externalServices/ExternalServicesContracts.d.ts.map +1 -0
  109. package/dist/externalServices/ExternalServicesContracts.js +654 -0
  110. package/dist/externalServices/ExternalServicesContracts.js.map +1 -0
  111. package/dist/externalServices/IExternalServiceBuilder.d.ts +67 -0
  112. package/dist/externalServices/IExternalServiceBuilder.d.ts.map +1 -0
  113. package/dist/externalServices/IExternalServiceBuilder.js +4 -0
  114. package/dist/externalServices/IExternalServiceBuilder.js.map +1 -0
  115. package/dist/externalServices/IExternalServices.d.ts +13 -0
  116. package/dist/externalServices/IExternalServices.d.ts.map +1 -0
  117. package/dist/externalServices/IExternalServices.js +4 -0
  118. package/dist/externalServices/IExternalServices.js.map +1 -0
  119. package/dist/externalServices/index.d.ts +5 -0
  120. package/dist/externalServices/index.d.ts.map +1 -0
  121. package/dist/externalServices/index.js +5 -0
  122. package/dist/externalServices/index.js.map +1 -0
  123. package/dist/identities/IIdentityManager.d.ts +17 -0
  124. package/dist/identities/IIdentityManager.d.ts.map +1 -0
  125. package/dist/identities/IIdentityManager.js +4 -0
  126. package/dist/identities/IIdentityManager.js.map +1 -0
  127. package/dist/identities/IdentityManager.d.ts +20 -0
  128. package/dist/identities/IdentityManager.d.ts.map +1 -0
  129. package/dist/identities/IdentityManager.js +31 -0
  130. package/dist/identities/IdentityManager.js.map +1 -0
  131. package/dist/identities/index.d.ts +3 -0
  132. package/dist/identities/index.d.ts.map +1 -0
  133. package/dist/identities/index.js +4 -0
  134. package/dist/identities/index.js.map +1 -0
  135. package/dist/index.d.ts +5 -1
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +5 -1
  138. package/dist/index.js.map +1 -1
  139. package/dist/observation/FailedPartition.d.ts +15 -0
  140. package/dist/observation/FailedPartition.d.ts.map +1 -0
  141. package/dist/observation/FailedPartition.js +4 -0
  142. package/dist/observation/FailedPartition.js.map +1 -0
  143. package/dist/observation/FailedPartitionAttempt.d.ts +15 -0
  144. package/dist/observation/FailedPartitionAttempt.d.ts.map +1 -0
  145. package/dist/observation/FailedPartitionAttempt.js +4 -0
  146. package/dist/observation/FailedPartitionAttempt.js.map +1 -0
  147. package/dist/observation/FailedPartitions.d.ts +24 -0
  148. package/dist/observation/FailedPartitions.d.ts.map +1 -0
  149. package/dist/observation/FailedPartitions.js +39 -0
  150. package/dist/observation/FailedPartitions.js.map +1 -0
  151. package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.d.ts +19 -0
  152. package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.d.ts.map +1 -0
  153. package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.js +4 -0
  154. package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.js.map +1 -0
  155. package/dist/observation/ICanBeNotifiedWhenReplay.d.ts +17 -0
  156. package/dist/observation/ICanBeNotifiedWhenReplay.d.ts.map +1 -0
  157. package/dist/observation/ICanBeNotifiedWhenReplay.js +4 -0
  158. package/dist/observation/ICanBeNotifiedWhenReplay.js.map +1 -0
  159. package/dist/observation/IFailedPartitions.d.ts +18 -0
  160. package/dist/observation/IFailedPartitions.d.ts.map +1 -0
  161. package/dist/observation/IFailedPartitions.js +4 -0
  162. package/dist/observation/IFailedPartitions.js.map +1 -0
  163. package/dist/observation/index.d.ts +6 -0
  164. package/dist/observation/index.d.ts.map +1 -1
  165. package/dist/observation/index.js +1 -0
  166. package/dist/observation/index.js.map +1 -1
  167. package/dist/observation/notifyReplayLifecycle.d.ts +13 -0
  168. package/dist/observation/notifyReplayLifecycle.d.ts.map +1 -0
  169. package/dist/observation/notifyReplayLifecycle.js +54 -0
  170. package/dist/observation/notifyReplayLifecycle.js.map +1 -0
  171. package/dist/observation/toClientFailedPartition.d.ts +9 -0
  172. package/dist/observation/toClientFailedPartition.d.ts.map +1 -0
  173. package/dist/observation/toClientFailedPartition.js +23 -0
  174. package/dist/observation/toClientFailedPartition.js.map +1 -0
  175. package/dist/projections/Projections.d.ts +0 -4
  176. package/dist/projections/Projections.d.ts.map +1 -1
  177. package/dist/projections/Projections.js +25 -103
  178. package/dist/projections/Projections.js.map +1 -1
  179. package/dist/projections/declarative/AddBuilder.d.ts +17 -0
  180. package/dist/projections/declarative/AddBuilder.d.ts.map +1 -0
  181. package/dist/projections/declarative/AddBuilder.js +28 -0
  182. package/dist/projections/declarative/AddBuilder.js.map +1 -0
  183. package/dist/projections/declarative/AddChildBuilder.d.ts +56 -0
  184. package/dist/projections/declarative/AddChildBuilder.d.ts.map +1 -0
  185. package/dist/projections/declarative/AddChildBuilder.js +72 -0
  186. package/dist/projections/declarative/AddChildBuilder.js.map +1 -0
  187. package/dist/projections/declarative/ChildrenBuilder.d.ts +28 -0
  188. package/dist/projections/declarative/ChildrenBuilder.d.ts.map +1 -0
  189. package/dist/projections/declarative/ChildrenBuilder.js +72 -0
  190. package/dist/projections/declarative/ChildrenBuilder.js.map +1 -0
  191. package/dist/projections/declarative/CompositeKeyBuilder.d.ts +16 -0
  192. package/dist/projections/declarative/CompositeKeyBuilder.d.ts.map +1 -0
  193. package/dist/projections/declarative/CompositeKeyBuilder.js +29 -0
  194. package/dist/projections/declarative/CompositeKeyBuilder.js.map +1 -0
  195. package/dist/projections/declarative/FromBuilder.d.ts +8 -6
  196. package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
  197. package/dist/projections/declarative/FromBuilder.js +44 -14
  198. package/dist/projections/declarative/FromBuilder.js.map +1 -1
  199. package/dist/projections/declarative/ICompositeKeyBuilder.d.ts +5 -0
  200. package/dist/projections/declarative/ICompositeKeyBuilder.d.ts.map +1 -1
  201. package/dist/projections/declarative/JoinBuilder.d.ts +7 -5
  202. package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
  203. package/dist/projections/declarative/JoinBuilder.js +50 -16
  204. package/dist/projections/declarative/JoinBuilder.js.map +1 -1
  205. package/dist/projections/declarative/NestedBuilder.d.ts +24 -0
  206. package/dist/projections/declarative/NestedBuilder.d.ts.map +1 -0
  207. package/dist/projections/declarative/NestedBuilder.js +60 -0
  208. package/dist/projections/declarative/NestedBuilder.js.map +1 -0
  209. package/dist/projections/declarative/ProjectionBuilderCore.d.ts +127 -0
  210. package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -0
  211. package/dist/projections/declarative/ProjectionBuilderCore.js +180 -0
  212. package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -0
  213. package/dist/projections/declarative/ProjectionBuilderFor.d.ts +6 -32
  214. package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
  215. package/dist/projections/declarative/ProjectionBuilderFor.js +24 -118
  216. package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
  217. package/dist/projections/declarative/SubtractBuilder.d.ts +17 -0
  218. package/dist/projections/declarative/SubtractBuilder.d.ts.map +1 -0
  219. package/dist/projections/declarative/SubtractBuilder.js +28 -0
  220. package/dist/projections/declarative/SubtractBuilder.js.map +1 -0
  221. package/dist/projections/declarative/index.d.ts +9 -0
  222. package/dist/projections/declarative/index.d.ts.map +1 -1
  223. package/dist/projections/declarative/index.js +8 -0
  224. package/dist/projections/declarative/index.js.map +1 -1
  225. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +90 -0
  226. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -0
  227. package/dist/projections/modelBound/childrenAndNestedBuilder.js +290 -0
  228. package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -0
  229. package/dist/reactors/ReactorSideEffects.d.ts +29 -0
  230. package/dist/reactors/ReactorSideEffects.d.ts.map +1 -0
  231. package/dist/reactors/ReactorSideEffects.js +70 -0
  232. package/dist/reactors/ReactorSideEffects.js.map +1 -0
  233. package/dist/reactors/Reactors.d.ts +4 -1
  234. package/dist/reactors/Reactors.d.ts.map +1 -1
  235. package/dist/reactors/Reactors.js +23 -4
  236. package/dist/reactors/Reactors.js.map +1 -1
  237. package/dist/reducers/Reducers.d.ts.map +1 -1
  238. package/dist/reducers/Reducers.js +15 -3
  239. package/dist/reducers/Reducers.js.map +1 -1
  240. package/dist/reducers/reducer.d.ts +9 -1
  241. package/dist/reducers/reducer.d.ts.map +1 -1
  242. package/dist/reducers/reducer.js +4 -2
  243. package/dist/reducers/reducer.js.map +1 -1
  244. package/dist/transactions/IUnitOfWork.d.ts +18 -0
  245. package/dist/transactions/IUnitOfWork.d.ts.map +1 -1
  246. package/dist/transactions/UnitOfWork.d.ts +9 -0
  247. package/dist/transactions/UnitOfWork.d.ts.map +1 -1
  248. package/dist/transactions/UnitOfWork.js +14 -0
  249. package/dist/transactions/UnitOfWork.js.map +1 -1
  250. package/dist/tsconfig.tsbuildinfo +1 -1
  251. package/eventSequences/AppendOperationsBroadcaster.ts +83 -0
  252. package/eventSequences/AppendOptions.ts +8 -0
  253. package/eventSequences/AppendResult.ts +16 -0
  254. package/eventSequences/AppendedEventWithResult.ts +17 -0
  255. package/eventSequences/CompleteStreamError.ts +20 -0
  256. package/eventSequences/CompleteStreamResult.ts +13 -0
  257. package/eventSequences/ConcurrencyViolation.ts +18 -0
  258. package/eventSequences/EventForEventSourceId.ts +12 -0
  259. package/eventSequences/EventSequence.spec.ts +588 -0
  260. package/eventSequences/EventSequence.ts +406 -20
  261. package/eventSequences/IEventSequence.ts +109 -1
  262. package/eventSequences/WaitForCompletionResult.ts +15 -0
  263. package/eventSequences/index.ts +5 -0
  264. package/eventStoreSubscriptions/EventStoreSubscriptions.spec.ts +52 -0
  265. package/eventStoreSubscriptions/EventStoreSubscriptions.ts +19 -1
  266. package/eventStoreSubscriptions/IEventStoreSubscriptions.ts +7 -0
  267. package/eventStoreSubscriptions/contracts.ts +126 -0
  268. package/events/constraints/Constraints.ts +1 -1
  269. package/externalServices/ExternalServiceBuilder.ts +128 -0
  270. package/externalServices/ExternalServices.ts +34 -0
  271. package/externalServices/ExternalServicesContracts.ts +709 -0
  272. package/externalServices/IExternalServiceBuilder.ts +76 -0
  273. package/externalServices/IExternalServices.ts +16 -0
  274. package/externalServices/index.ts +7 -0
  275. package/identities/IIdentityManager.ts +19 -0
  276. package/identities/IdentityManager.ts +32 -0
  277. package/identities/index.ts +5 -0
  278. package/index.ts +6 -0
  279. package/observation/FailedPartition.ts +21 -0
  280. package/observation/FailedPartitionAttempt.ts +21 -0
  281. package/observation/FailedPartitions.spec.ts +75 -0
  282. package/observation/FailedPartitions.ts +44 -0
  283. package/observation/ICanBeNotifiedWhenPartitionReplayed.ts +22 -0
  284. package/observation/ICanBeNotifiedWhenReplay.ts +20 -0
  285. package/observation/IFailedPartitions.ts +22 -0
  286. package/observation/index.ts +6 -0
  287. package/observation/notifyReplayLifecycle.spec.ts +98 -0
  288. package/observation/notifyReplayLifecycle.ts +61 -0
  289. package/observation/toClientFailedPartition.ts +26 -0
  290. package/package.json +12 -2
  291. package/projections/Projections.childrenAndNested.spec.ts +188 -0
  292. package/projections/Projections.spec.ts +131 -0
  293. package/projections/Projections.ts +37 -119
  294. package/projections/declarative/AddBuilder.ts +28 -0
  295. package/projections/declarative/AddChildBuilder.ts +97 -0
  296. package/projections/declarative/ChildrenBuilder.spec.ts +157 -0
  297. package/projections/declarative/ChildrenBuilder.ts +90 -0
  298. package/projections/declarative/CompositeKeyBuilder.spec.ts +117 -0
  299. package/projections/declarative/CompositeKeyBuilder.ts +38 -0
  300. package/projections/declarative/FromBuilder.ts +60 -15
  301. package/projections/declarative/ICompositeKeyBuilder.ts +6 -0
  302. package/projections/declarative/JoinBuilder.ts +66 -17
  303. package/projections/declarative/NestedBuilder.ts +76 -0
  304. package/projections/declarative/ProjectionBuilderCore.ts +257 -0
  305. package/projections/declarative/ProjectionBuilderFor.spec.ts +115 -0
  306. package/projections/declarative/ProjectionBuilderFor.ts +29 -168
  307. package/projections/declarative/SubtractBuilder.ts +28 -0
  308. package/projections/declarative/index.ts +9 -0
  309. package/projections/modelBound/childrenAndNestedBuilder.ts +354 -0
  310. package/reactors/ReactorSideEffects.spec.ts +182 -0
  311. package/reactors/ReactorSideEffects.ts +97 -0
  312. package/reactors/Reactors.ts +29 -4
  313. package/reducers/Reducers.spec.ts +87 -0
  314. package/reducers/Reducers.ts +15 -3
  315. package/reducers/reducer.spec.ts +40 -0
  316. package/reducers/reducer.ts +11 -2
  317. package/transactions/IUnitOfWork.ts +21 -0
  318. package/transactions/UnitOfWork.spec.ts +82 -0
  319. package/transactions/UnitOfWork.ts +20 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Reducers.js","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reducers.js","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export interface ReducerMetadata {
11
11
  readonly eventSequenceId: string | undefined;
12
12
  /** The optional read model type produced by the reducer. */
13
13
  readonly readModel: Constructor | undefined;
14
+ /**
15
+ * Whether the reducer is active. An inactive (passive) reducer is registered with the
16
+ * Chronicle Kernel but does not automatically observe events — it can still be invoked
17
+ * on demand. Defaults to true.
18
+ */
19
+ readonly isActive: boolean;
14
20
  }
15
21
  /**
16
22
  * TypeScript decorator that marks a class as a reducer and associates it with a unique
@@ -23,6 +29,8 @@ export interface ReducerMetadata {
23
29
  * @param id - The unique identifier for the reducer. Defaults to the class name if omitted.
24
30
  * @param eventSequenceId - Optional explicit event sequence identifier.
25
31
  * @param readModel - Optional read model type produced by the reducer.
32
+ * @param isActive - Whether the reducer is active (automatically observes events). Defaults to true.
33
+ * A passive reducer is registered but must be invoked on demand rather than observing automatically.
26
34
  * @returns A class decorator.
27
35
  *
28
36
  * @example
@@ -35,7 +43,7 @@ export interface ReducerMetadata {
35
43
  * }
36
44
  * ```
37
45
  */
38
- export declare function reducer(id?: string, eventSequenceId?: string, readModel?: Constructor): ClassDecorator;
46
+ export declare function reducer(id?: string, eventSequenceId?: string, readModel?: Constructor, isActive?: boolean): ClassDecorator;
39
47
  /**
40
48
  * Gets the {@link ReducerMetadata} associated with a class decorated with {@link reducer}.
41
49
  * @param target - The class constructor to retrieve the metadata for.
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../reducers/reducer.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IAEvB,uDAAuD;IACvD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7C,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,EAAE,GAAE,MAAW,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,cAAc,CAoB1G;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,SAAS,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAEnD"}
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../reducers/reducer.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IAEvB,uDAAuD;IACvD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7C,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CAAC,EAAE,GAAE,MAAW,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,QAAQ,GAAE,OAAc,GAAG,cAAc,CAoBpI;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,SAAS,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAEnD"}
@@ -16,6 +16,8 @@ const REDUCER_METADATA_KEY = 'chronicle:reducer';
16
16
  * @param id - The unique identifier for the reducer. Defaults to the class name if omitted.
17
17
  * @param eventSequenceId - Optional explicit event sequence identifier.
18
18
  * @param readModel - Optional read model type produced by the reducer.
19
+ * @param isActive - Whether the reducer is active (automatically observes events). Defaults to true.
20
+ * A passive reducer is registered but must be invoked on demand rather than observing automatically.
19
21
  * @returns A class decorator.
20
22
  *
21
23
  * @example
@@ -28,11 +30,11 @@ const REDUCER_METADATA_KEY = 'chronicle:reducer';
28
30
  * }
29
31
  * ```
30
32
  */
31
- export function reducer(id = '', eventSequenceId, readModel) {
33
+ export function reducer(id = '', eventSequenceId, readModel, isActive = true) {
32
34
  return (target) => {
33
35
  const constructor = target;
34
36
  const reducerId = new ReducerId(id || constructor.name);
35
- const metadata = { id: reducerId, eventSequenceId, readModel };
37
+ const metadata = { id: reducerId, eventSequenceId, readModel, isActive };
36
38
  Reflect.defineMetadata(REDUCER_METADATA_KEY, metadata, target);
37
39
  TypeDiscoverer.default.register(DecoratorType.Reducer, constructor, reducerId.value);
38
40
  if (readModel) {
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../reducers/reducer.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzD,iEAAiE;AACjE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAgBjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,EAAE,eAAwB,EAAE,SAAuB;IACtF,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,MAAM,WAAW,GAAG,MAAkB,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAoB,EAAE,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;QAChF,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/D,cAAc,CAAC,OAAO,CAAC,QAAQ,CAC3B,aAAa,CAAC,OAAO,EACrB,WAA0B,EAC1B,SAAS,CAAC,KAAK,CAClB,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACZ,cAAc,CAAC,OAAO,CAAC,QAAQ,CAC3B,aAAa,CAAC,SAAS,EACvB,SAAS,EACT,SAAS,CAAC,IAAI,CACjB,CAAC;QACN,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAgB;IAC/C,OAAO,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAgB;IACtC,OAAO,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../reducers/reducer.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzD,iEAAiE;AACjE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAuBjD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,EAAE,eAAwB,EAAE,SAAuB,EAAE,WAAoB,IAAI;IAChH,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,MAAM,WAAW,GAAG,MAAkB,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAoB,EAAE,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC1F,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/D,cAAc,CAAC,OAAO,CAAC,QAAQ,CAC3B,aAAa,CAAC,OAAO,EACrB,WAA0B,EAC1B,SAAS,CAAC,KAAK,CAClB,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACZ,cAAc,CAAC,OAAO,CAAC,QAAQ,CAC3B,aAAa,CAAC,SAAS,EACvB,SAAS,EACT,SAAS,CAAC,IAAI,CACjB,CAAC;QACN,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAgB;IAC/C,OAAO,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAgB;IACtC,OAAO,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import { Guid } from '@cratis/fundamentals';
2
+ import { AppendError } from '../eventSequences/AppendError';
3
+ import { ConcurrencyViolation } from '../eventSequences/ConcurrencyViolation';
4
+ import { ConstraintViolation } from '../eventSequences/ConstraintViolation';
2
5
  import { EventSequenceId } from '../eventSequences/EventSequenceId';
3
6
  import { AppendResult } from '../eventSequences/AppendResult';
4
7
  /**
@@ -28,6 +31,21 @@ export interface IUnitOfWork {
28
31
  * @returns The append results in append order.
29
32
  */
30
33
  getAppendResults(): ReadonlyArray<AppendResult>;
34
+ /**
35
+ * Gets any constraint violations that occurred across the append results from the latest commit.
36
+ * @returns A thin filter over {@link getAppendResults}.
37
+ */
38
+ getConstraintViolations(): ReadonlyArray<ConstraintViolation>;
39
+ /**
40
+ * Gets any concurrency violations that occurred across the append results from the latest commit.
41
+ * @returns A thin filter over {@link getAppendResults}.
42
+ */
43
+ getConcurrencyViolations(): ReadonlyArray<ConcurrencyViolation>;
44
+ /**
45
+ * Gets any errors that occurred while attempting to commit.
46
+ * @returns A thin filter over {@link getAppendResults}.
47
+ */
48
+ getAppendErrors(): ReadonlyArray<AppendError>;
31
49
  /**
32
50
  * Commits all buffered events.
33
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IUnitOfWork.d.ts","sourceRoot":"","sources":["../../transactions/IUnitOfWork.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,gFAAgF;IAChF,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAE7B,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvF;;;OAGG;IACH,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAEnC;;;OAGG;IACH,gBAAgB,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IAEhD;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;CAClE"}
1
+ {"version":3,"file":"IUnitOfWork.d.ts","sourceRoot":"","sources":["../../transactions/IUnitOfWork.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,gFAAgF;IAChF,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAE7B,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvF;;;OAGG;IACH,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAEnC;;;OAGG;IACH,gBAAgB,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IAEhD;;;OAGG;IACH,uBAAuB,IAAI,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAE9D;;;OAGG;IACH,wBAAwB,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAEhE;;;OAGG;IACH,eAAe,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;IAE9C;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;CAClE"}
@@ -1,5 +1,8 @@
1
1
  import { Guid } from '@cratis/fundamentals';
2
+ import { AppendError } from '../eventSequences/AppendError';
2
3
  import { AppendResult } from '../eventSequences/AppendResult';
4
+ import { ConcurrencyViolation } from '../eventSequences/ConcurrencyViolation';
5
+ import { ConstraintViolation } from '../eventSequences/ConstraintViolation';
3
6
  import { EventSequenceId } from '../eventSequences/EventSequenceId';
4
7
  import { IEventStore } from '../IEventStore';
5
8
  import { IUnitOfWork } from './IUnitOfWork';
@@ -26,6 +29,12 @@ export declare class UnitOfWork implements IUnitOfWork {
26
29
  /** @inheritdoc */
27
30
  getAppendResults(): ReadonlyArray<AppendResult>;
28
31
  /** @inheritdoc */
32
+ getConstraintViolations(): ReadonlyArray<ConstraintViolation>;
33
+ /** @inheritdoc */
34
+ getConcurrencyViolations(): ReadonlyArray<ConcurrencyViolation>;
35
+ /** @inheritdoc */
36
+ getAppendErrors(): ReadonlyArray<AppendError>;
37
+ /** @inheritdoc */
29
38
  commit(): Promise<void>;
30
39
  /** @inheritdoc */
31
40
  rollback(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"UnitOfWork.d.ts","sourceRoot":"","sources":["../../transactions/UnitOfWork.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW;IAQtC,QAAQ,CAAC,aAAa,EAAE,IAAI;IAE5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAThC,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAoC;gBAG3C,aAAa,EAAE,IAAI,EAC5B,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,EAC7B,WAAW,EAAE,WAAW;IAK7C,kBAAkB;IAClB,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,kBAAkB;IAClB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,kBAAkB;IAClB,QAAQ,CAAC,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAYtF,kBAAkB;IAClB,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC;IAIlC,kBAAkB;IAClB,gBAAgB,IAAI,aAAa,CAAC,YAAY,CAAC;IAI/C,kBAAkB;IACZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC7B,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,kBAAkB;IAClB,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAQ9D,OAAO,CAAC,gBAAgB;CAQ3B"}
1
+ {"version":3,"file":"UnitOfWork.d.ts","sourceRoot":"","sources":["../../transactions/UnitOfWork.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW;IAQtC,QAAQ,CAAC,aAAa,EAAE,IAAI;IAE5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAThC,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAoC;gBAG3C,aAAa,EAAE,IAAI,EAC5B,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,EAC7B,WAAW,EAAE,WAAW;IAK7C,kBAAkB;IAClB,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,kBAAkB;IAClB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,kBAAkB;IAClB,QAAQ,CAAC,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAYtF,kBAAkB;IAClB,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC;IAIlC,kBAAkB;IAClB,gBAAgB,IAAI,aAAa,CAAC,YAAY,CAAC;IAI/C,kBAAkB;IAClB,uBAAuB,IAAI,aAAa,CAAC,mBAAmB,CAAC;IAI7D,kBAAkB;IAClB,wBAAwB,IAAI,aAAa,CAAC,oBAAoB,CAAC;IAM/D,kBAAkB;IAClB,eAAe,IAAI,aAAa,CAAC,WAAW,CAAC;IAI7C,kBAAkB;IACZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC7B,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,kBAAkB;IAClB,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAQ9D,OAAO,CAAC,gBAAgB;CAQ3B"}
@@ -46,6 +46,20 @@ export class UnitOfWork {
46
46
  return this._appendResults;
47
47
  }
48
48
  /** @inheritdoc */
49
+ getConstraintViolations() {
50
+ return this._appendResults.flatMap(appendResult => appendResult.constraintViolations);
51
+ }
52
+ /** @inheritdoc */
53
+ getConcurrencyViolations() {
54
+ return this._appendResults
55
+ .map(appendResult => appendResult.concurrencyViolation)
56
+ .filter((violation) => violation !== undefined);
57
+ }
58
+ /** @inheritdoc */
59
+ getAppendErrors() {
60
+ return this._appendResults.flatMap(appendResult => appendResult.errors);
61
+ }
62
+ /** @inheritdoc */
49
63
  async commit() {
50
64
  this.throwIfCompleted();
51
65
  if (this._events.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"UnitOfWork.js","sourceRoot":"","sources":["../../transactions/UnitOfWork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UnitOfWork.js","sourceRoot":"","sources":["../../transactions/UnitOfWork.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../ChronicleClient.ts","../ChronicleOptions.ts","../EventStore.ts","../EventStoreName.ts","../EventStoreNamespaceName.ts","../IChronicleClient.ts","../IEventStore.ts","../Metrics.ts","../Tracing.ts","../index.ts","../artifacts/DefaultClientArtifactsProvider.ts","../artifacts/IClientArtifactsProvider.ts","../artifacts/index.ts","../auditing/Causation.ts","../auditing/CausationManager.ts","../auditing/CausationType.ts","../auditing/ICausationManager.ts","../auditing/index.ts","../compliance/ComplianceContracts.ts","../compliance/ComplianceMetadata.ts","../compliance/ComplianceMetadataResolver.ts","../compliance/ComplianceMetadataType.ts","../compliance/index.ts","../compliance/pii.ts","../connection/ChronicleConnection.ts","../connection/ChronicleConnectionString.ts","../connection/ChronicleServerAddressResolver.ts","../connection/ChronicleServices.ts","../connection/ChronicleSrvResolutionError.ts","../connection/ChronicleSrvResolver.ts","../connection/ConnectionLifecycle.ts","../connection/DateTimeOffset.ts","../connection/Guid.ts","../connection/ILoadBalancerStrategy.ts","../connection/KernelKeepAlive.ts","../connection/LeastConnectionsLoadBalancerStrategy.ts","../connection/LoadBalancerMode.ts","../connection/LoadBalancerStrategyFactory.ts","../connection/RandomLoadBalancerStrategy.ts","../connection/RoundRobinLoadBalancerStrategy.ts","../connection/TokenProvider.ts","../connection/fetchOAuthAccessToken.ts","../connection/formatServerAddress.ts","../connection/index.ts","../correlation/CorrelationId.ts","../correlation/CorrelationIdManager.ts","../correlation/ICorrelationIdAccessor.ts","../correlation/ICorrelationIdSetter.ts","../correlation/index.ts","../eventSequences/AppendError.ts","../eventSequences/AppendOptions.ts","../eventSequences/AppendResult.ts","../eventSequences/ConcurrencyScope.ts","../eventSequences/ConstraintViolation.ts","../eventSequences/EventForEventSourceId.ts","../eventSequences/EventLog.ts","../eventSequences/EventSequence.ts","../eventSequences/EventSequenceId.ts","../eventSequences/EventSequenceNumber.ts","../eventSequences/IEventLog.ts","../eventSequences/IEventSequence.ts","../eventSequences/ITransactionalEventSequence.ts","../eventSequences/TransactionalEventSequence.ts","../eventSequences/index.ts","../eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts","../eventStoreSubscriptions/EventStoreSubscriptionId.ts","../eventStoreSubscriptions/EventStoreSubscriptions.ts","../eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/IEventStoreSubscriptions.ts","../eventStoreSubscriptions/contracts.ts","../eventStoreSubscriptions/index.ts","../events/AppendedEvent.ts","../events/CausationEntry.ts","../events/EventContext.ts","../events/EventType.ts","../events/EventTypeGeneration.ts","../events/EventTypeId.ts","../events/EventTypes.ts","../events/IEventTypes.ts","../events/eventTypeDecorator.ts","../events/index.ts","../events/constraints/ConstraintBuilder.ts","../events/constraints/ConstraintId.ts","../events/constraints/Constraints.ts","../events/constraints/IConstraint.ts","../events/constraints/IConstraintBuilder.ts","../events/constraints/IConstraints.ts","../events/constraints/IUniqueConstraintBuilder.ts","../events/constraints/UniqueConstraintBuilder.ts","../events/constraints/constraint.ts","../events/constraints/index.ts","../events/migrations/EventMigrationBuilder.ts","../events/migrations/EventMigrationPropertyBuilder.ts","../events/migrations/EventTypeMigrators.ts","../events/migrations/IEventMigrationBuilder.ts","../events/migrations/IEventMigrationPropertyBuilder.ts","../events/migrations/IEventTypeMigration.ts","../events/migrations/IEventTypeMigrators.ts","../events/migrations/InvalidMigrationGenerationGap.ts","../events/migrations/eventTypeMigration.ts","../events/migrations/index.ts","../identity/IIdentityProvider.ts","../identity/Identity.ts","../identity/IdentityProvider.ts","../identity/index.ts","../jobs/IJobs.ts","../jobs/JobId.ts","../jobs/Jobs.ts","../jobs/index.ts","../observation/ObserverId.ts","../observation/ObserverRunningState.ts","../observation/index.ts","../projections/IProjections.ts","../projections/ProjectionId.ts","../projections/Projections.ts","../projections/index.ts","../projections/declarative/AllSetBuilder.ts","../projections/declarative/FromBuilder.ts","../projections/declarative/FromEveryBuilder.ts","../projections/declarative/IAddBuilder.ts","../projections/declarative/IAddChildBuilder.ts","../projections/declarative/IAllSetBuilder.ts","../projections/declarative/IChildrenBuilder.ts","../projections/declarative/ICompositeKeyBuilder.ts","../projections/declarative/IFromBuilder.ts","../projections/declarative/IFromEveryBuilder.ts","../projections/declarative/IJoinBuilder.ts","../projections/declarative/INestedBuilder.ts","../projections/declarative/IProjectionBuilder.ts","../projections/declarative/IProjectionBuilderFor.ts","../projections/declarative/IProjectionFor.ts","../projections/declarative/IReadModelPropertiesBuilder.ts","../projections/declarative/IRemovedWithBuilder.ts","../projections/declarative/IRemovedWithJoinBuilder.ts","../projections/declarative/ISetBuilder.ts","../projections/declarative/ISubtractBuilder.ts","../projections/declarative/JoinBuilder.ts","../projections/declarative/ProjectionBuilderFor.ts","../projections/declarative/RemovedWithBuilder.ts","../projections/declarative/RemovedWithJoinBuilder.ts","../projections/declarative/SetBuilder.ts","../projections/declarative/index.ts","../projections/declarative/projection.ts","../projections/modelBound/FromEventMetadata.ts","../projections/modelBound/FromEventOptions.ts","../projections/modelBound/addFrom.ts","../projections/modelBound/childrenFrom.ts","../projections/modelBound/clearWith.ts","../projections/modelBound/count.ts","../projections/modelBound/decrement.ts","../projections/modelBound/fromEvent.ts","../projections/modelBound/fromEvery.ts","../projections/modelBound/increment.ts","../projections/modelBound/index.ts","../projections/modelBound/join.ts","../projections/modelBound/nested.ts","../projections/modelBound/notRewindable.ts","../projections/modelBound/passive.ts","../projections/modelBound/removedWith.ts","../projections/modelBound/removedWithJoin.ts","../projections/modelBound/setFrom.ts","../projections/modelBound/setFromContext.ts","../projections/modelBound/setValue.ts","../projections/modelBound/subtractFrom.ts","../reactors/IReactors.ts","../reactors/ReactorId.ts","../reactors/Reactors.ts","../reactors/index.ts","../reactors/reactor.ts","../readModels/IMaterializedReadModels.ts","../readModels/IReadModels.ts","../readModels/MaterializedReadModels.ts","../readModels/ReadModelChangeset.ts","../readModels/ReadModelId.ts","../readModels/ReadModelSnapshot.ts","../readModels/ReadModels.ts","../readModels/index.ts","../readModels/readModel.ts","../reducers/IReducers.ts","../reducers/ReducerId.ts","../reducers/Reducers.ts","../reducers/index.ts","../reducers/reducer.ts","../schemas/JsonSchema.ts","../schemas/JsonSchemaGenerator.ts","../schemas/index.ts","../schemas/jsonSchemaProperty.ts","../seeding/EventSeeding.ts","../seeding/ICanSeedEvents.ts","../seeding/IEventSeeding.ts","../seeding/IEventSeedingBuilder.ts","../seeding/IEventSeedingScopeBuilder.ts","../seeding/index.ts","../seeding/seeder.ts","../sinks/WellKnownSinks.ts","../sinks/index.ts","../transactions/IUnitOfWork.ts","../transactions/IUnitOfWorkManager.ts","../transactions/NoUnitOfWorkHasBeenStarted.ts","../transactions/UnitOfWork.ts","../transactions/UnitOfWorkManager.ts","../transactions/index.ts","../types/DecoratorType.ts","../types/TypeDiscoverer.ts","../types/TypeIntrospector.ts","../types/index.ts","../webhooks/IWebhook.ts","../webhooks/IWebhookDefinitionBuilder.ts","../webhooks/IWebhooks.ts","../webhooks/WebhookDefinitionBuilder.ts","../webhooks/WebhookId.ts","../webhooks/WebhookTargetUrl.ts","../webhooks/Webhooks.ts","../webhooks/index.ts","../webhooks/webhook.ts"],"version":"6.0.3"}
1
+ {"root":["../ChronicleClient.ts","../ChronicleOptions.ts","../EventStore.ts","../EventStoreName.ts","../EventStoreNamespaceName.ts","../IChronicleClient.ts","../IEventStore.ts","../Metrics.ts","../Tracing.ts","../index.ts","../artifacts/DefaultClientArtifactsProvider.ts","../artifacts/IClientArtifactsProvider.ts","../artifacts/index.ts","../auditing/Causation.ts","../auditing/CausationManager.ts","../auditing/CausationType.ts","../auditing/ICausationManager.ts","../auditing/index.ts","../compliance/ComplianceContracts.ts","../compliance/ComplianceMetadata.ts","../compliance/ComplianceMetadataResolver.ts","../compliance/ComplianceMetadataType.ts","../compliance/IPIIManager.ts","../compliance/PIIManager.ts","../compliance/index.ts","../compliance/pii.ts","../connection/ChronicleConnection.ts","../connection/ChronicleConnectionString.ts","../connection/ChronicleServerAddressResolver.ts","../connection/ChronicleServices.ts","../connection/ChronicleSrvResolutionError.ts","../connection/ChronicleSrvResolver.ts","../connection/ConnectionLifecycle.ts","../connection/DateTimeOffset.ts","../connection/Guid.ts","../connection/ILoadBalancerStrategy.ts","../connection/KernelKeepAlive.ts","../connection/LeastConnectionsLoadBalancerStrategy.ts","../connection/LoadBalancerMode.ts","../connection/LoadBalancerStrategyFactory.ts","../connection/RandomLoadBalancerStrategy.ts","../connection/RoundRobinLoadBalancerStrategy.ts","../connection/TokenProvider.ts","../connection/fetchOAuthAccessToken.ts","../connection/formatServerAddress.ts","../connection/index.ts","../correlation/CorrelationId.ts","../correlation/CorrelationIdManager.ts","../correlation/ICorrelationIdAccessor.ts","../correlation/ICorrelationIdSetter.ts","../correlation/index.ts","../eventSequences/AppendError.ts","../eventSequences/AppendOperationsBroadcaster.ts","../eventSequences/AppendOptions.ts","../eventSequences/AppendResult.ts","../eventSequences/AppendedEventWithResult.ts","../eventSequences/CompleteStreamError.ts","../eventSequences/CompleteStreamResult.ts","../eventSequences/ConcurrencyScope.ts","../eventSequences/ConcurrencyViolation.ts","../eventSequences/ConstraintViolation.ts","../eventSequences/EventForEventSourceId.ts","../eventSequences/EventLog.ts","../eventSequences/EventSequence.ts","../eventSequences/EventSequenceId.ts","../eventSequences/EventSequenceNumber.ts","../eventSequences/IEventLog.ts","../eventSequences/IEventSequence.ts","../eventSequences/ITransactionalEventSequence.ts","../eventSequences/TransactionalEventSequence.ts","../eventSequences/WaitForCompletionResult.ts","../eventSequences/index.ts","../eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts","../eventStoreSubscriptions/EventStoreSubscriptionId.ts","../eventStoreSubscriptions/EventStoreSubscriptions.ts","../eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/IEventStoreSubscriptions.ts","../eventStoreSubscriptions/contracts.ts","../eventStoreSubscriptions/index.ts","../events/AppendedEvent.ts","../events/CausationEntry.ts","../events/EventContext.ts","../events/EventType.ts","../events/EventTypeGeneration.ts","../events/EventTypeId.ts","../events/EventTypes.ts","../events/IEventTypes.ts","../events/eventTypeDecorator.ts","../events/index.ts","../events/constraints/ConstraintBuilder.ts","../events/constraints/ConstraintId.ts","../events/constraints/Constraints.ts","../events/constraints/IConstraint.ts","../events/constraints/IConstraintBuilder.ts","../events/constraints/IConstraints.ts","../events/constraints/IUniqueConstraintBuilder.ts","../events/constraints/UniqueConstraintBuilder.ts","../events/constraints/constraint.ts","../events/constraints/index.ts","../events/migrations/EventMigrationBuilder.ts","../events/migrations/EventMigrationPropertyBuilder.ts","../events/migrations/EventTypeMigrators.ts","../events/migrations/IEventMigrationBuilder.ts","../events/migrations/IEventMigrationPropertyBuilder.ts","../events/migrations/IEventTypeMigration.ts","../events/migrations/IEventTypeMigrators.ts","../events/migrations/InvalidMigrationGenerationGap.ts","../events/migrations/eventTypeMigration.ts","../events/migrations/index.ts","../externalServices/ExternalServiceBuilder.ts","../externalServices/ExternalServices.ts","../externalServices/ExternalServicesContracts.ts","../externalServices/IExternalServiceBuilder.ts","../externalServices/IExternalServices.ts","../externalServices/index.ts","../identities/IIdentityManager.ts","../identities/IdentityManager.ts","../identities/index.ts","../identity/IIdentityProvider.ts","../identity/Identity.ts","../identity/IdentityProvider.ts","../identity/index.ts","../jobs/IJobs.ts","../jobs/JobId.ts","../jobs/Jobs.ts","../jobs/index.ts","../observation/FailedPartition.ts","../observation/FailedPartitionAttempt.ts","../observation/FailedPartitions.ts","../observation/ICanBeNotifiedWhenPartitionReplayed.ts","../observation/ICanBeNotifiedWhenReplay.ts","../observation/IFailedPartitions.ts","../observation/ObserverId.ts","../observation/ObserverRunningState.ts","../observation/index.ts","../observation/notifyReplayLifecycle.ts","../observation/toClientFailedPartition.ts","../projections/IProjections.ts","../projections/ProjectionId.ts","../projections/Projections.ts","../projections/index.ts","../projections/declarative/AddBuilder.ts","../projections/declarative/AddChildBuilder.ts","../projections/declarative/AllSetBuilder.ts","../projections/declarative/ChildrenBuilder.ts","../projections/declarative/CompositeKeyBuilder.ts","../projections/declarative/FromBuilder.ts","../projections/declarative/FromEveryBuilder.ts","../projections/declarative/IAddBuilder.ts","../projections/declarative/IAddChildBuilder.ts","../projections/declarative/IAllSetBuilder.ts","../projections/declarative/IChildrenBuilder.ts","../projections/declarative/ICompositeKeyBuilder.ts","../projections/declarative/IFromBuilder.ts","../projections/declarative/IFromEveryBuilder.ts","../projections/declarative/IJoinBuilder.ts","../projections/declarative/INestedBuilder.ts","../projections/declarative/IProjectionBuilder.ts","../projections/declarative/IProjectionBuilderFor.ts","../projections/declarative/IProjectionFor.ts","../projections/declarative/IReadModelPropertiesBuilder.ts","../projections/declarative/IRemovedWithBuilder.ts","../projections/declarative/IRemovedWithJoinBuilder.ts","../projections/declarative/ISetBuilder.ts","../projections/declarative/ISubtractBuilder.ts","../projections/declarative/JoinBuilder.ts","../projections/declarative/NestedBuilder.ts","../projections/declarative/ProjectionBuilderCore.ts","../projections/declarative/ProjectionBuilderFor.ts","../projections/declarative/RemovedWithBuilder.ts","../projections/declarative/RemovedWithJoinBuilder.ts","../projections/declarative/SetBuilder.ts","../projections/declarative/SubtractBuilder.ts","../projections/declarative/index.ts","../projections/declarative/projection.ts","../projections/modelBound/FromEventMetadata.ts","../projections/modelBound/FromEventOptions.ts","../projections/modelBound/addFrom.ts","../projections/modelBound/childrenAndNestedBuilder.ts","../projections/modelBound/childrenFrom.ts","../projections/modelBound/clearWith.ts","../projections/modelBound/count.ts","../projections/modelBound/decrement.ts","../projections/modelBound/fromEvent.ts","../projections/modelBound/fromEvery.ts","../projections/modelBound/increment.ts","../projections/modelBound/index.ts","../projections/modelBound/join.ts","../projections/modelBound/nested.ts","../projections/modelBound/notRewindable.ts","../projections/modelBound/passive.ts","../projections/modelBound/removedWith.ts","../projections/modelBound/removedWithJoin.ts","../projections/modelBound/setFrom.ts","../projections/modelBound/setFromContext.ts","../projections/modelBound/setValue.ts","../projections/modelBound/subtractFrom.ts","../reactors/IReactors.ts","../reactors/ReactorId.ts","../reactors/ReactorSideEffects.ts","../reactors/Reactors.ts","../reactors/index.ts","../reactors/reactor.ts","../readModels/IMaterializedReadModels.ts","../readModels/IReadModels.ts","../readModels/MaterializedReadModels.ts","../readModels/ReadModelChangeset.ts","../readModels/ReadModelId.ts","../readModels/ReadModelSnapshot.ts","../readModels/ReadModels.ts","../readModels/index.ts","../readModels/readModel.ts","../reducers/IReducers.ts","../reducers/ReducerId.ts","../reducers/Reducers.ts","../reducers/index.ts","../reducers/reducer.ts","../schemas/JsonSchema.ts","../schemas/JsonSchemaGenerator.ts","../schemas/index.ts","../schemas/jsonSchemaProperty.ts","../seeding/EventSeeding.ts","../seeding/ICanSeedEvents.ts","../seeding/IEventSeeding.ts","../seeding/IEventSeedingBuilder.ts","../seeding/IEventSeedingScopeBuilder.ts","../seeding/index.ts","../seeding/seeder.ts","../sinks/WellKnownSinks.ts","../sinks/index.ts","../transactions/IUnitOfWork.ts","../transactions/IUnitOfWorkManager.ts","../transactions/NoUnitOfWorkHasBeenStarted.ts","../transactions/UnitOfWork.ts","../transactions/UnitOfWorkManager.ts","../transactions/index.ts","../types/DecoratorType.ts","../types/TypeDiscoverer.ts","../types/TypeIntrospector.ts","../types/index.ts","../webhooks/IWebhook.ts","../webhooks/IWebhookDefinitionBuilder.ts","../webhooks/IWebhooks.ts","../webhooks/WebhookDefinitionBuilder.ts","../webhooks/WebhookId.ts","../webhooks/WebhookTargetUrl.ts","../webhooks/Webhooks.ts","../webhooks/index.ts","../webhooks/webhook.ts"],"version":"6.0.3"}
@@ -0,0 +1,83 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ /**
5
+ * A single subscriber's push queue, implementing {@link AsyncIterator} so values sent via
6
+ * {@link AppendOperationsQueue.send} are yielded in order to whoever is iterating it.
7
+ */
8
+ class AppendOperationsQueue<T> {
9
+ private readonly _queue: T[] = [];
10
+ private _resolve: ((result: IteratorResult<T, undefined>) => void) | undefined;
11
+ private _done = false;
12
+
13
+ /** Pushes a value to this subscriber. No-op once the queue has been completed. */
14
+ send(value: T): void {
15
+ if (this._done) return;
16
+ if (this._resolve) {
17
+ const resolve = this._resolve;
18
+ this._resolve = undefined;
19
+ resolve({ value, done: false });
20
+ } else {
21
+ this._queue.push(value);
22
+ }
23
+ }
24
+
25
+ /** Signals that no more values will be pushed, ending the subscriber's iteration. */
26
+ complete(): void {
27
+ this._done = true;
28
+ if (this._resolve) {
29
+ this._resolve({ value: undefined, done: true });
30
+ this._resolve = undefined;
31
+ }
32
+ }
33
+
34
+ next(): Promise<IteratorResult<T, undefined>> {
35
+ if (this._queue.length > 0) {
36
+ return Promise.resolve({ value: this._queue.shift()!, done: false });
37
+ }
38
+ if (this._done) {
39
+ return Promise.resolve({ value: undefined, done: true });
40
+ }
41
+ return new Promise(resolve => {
42
+ this._resolve = resolve;
43
+ });
44
+ }
45
+ }
46
+
47
+ /**
48
+ * A hot, multicast {@link AsyncIterable}: every concurrent iterator receives every value
49
+ * {@link publish}ed from the moment it starts iterating, mirroring the semantics of C#'s
50
+ * `IObservable<T>` (via `Observable.FromEvent`) that {@link IEventSequence.appendOperations} is
51
+ * based on. Values published while nobody is iterating are simply dropped — there is no replay
52
+ * buffer, matching a hot observable with no subscribers.
53
+ */
54
+ export class AppendOperationsBroadcaster<T> implements AsyncIterable<T> {
55
+ private readonly _subscribers = new Set<AppendOperationsQueue<T>>();
56
+
57
+ /** Whether at least one consumer is currently iterating this broadcaster. */
58
+ get hasSubscribers(): boolean {
59
+ return this._subscribers.size > 0;
60
+ }
61
+
62
+ /** Publishes a value to every current subscriber. */
63
+ publish(value: T): void {
64
+ for (const subscriber of this._subscribers) {
65
+ subscriber.send(value);
66
+ }
67
+ }
68
+
69
+ [Symbol.asyncIterator](): AsyncIterator<T, undefined> {
70
+ const queue = new AppendOperationsQueue<T>();
71
+ this._subscribers.add(queue);
72
+ const subscribers = this._subscribers;
73
+
74
+ return {
75
+ next: () => queue.next(),
76
+ return(value?: undefined): Promise<IteratorResult<T, undefined>> {
77
+ subscribers.delete(queue);
78
+ queue.complete();
79
+ return Promise.resolve({ value, done: true });
80
+ }
81
+ };
82
+ }
83
+ }
@@ -16,4 +16,12 @@ export interface AppendOptions {
16
16
 
17
17
  /** Optional concurrency scope to use for append operations. */
18
18
  concurrencyScope?: ConcurrencyScope;
19
+
20
+ /**
21
+ * Optional per-event-source-id concurrency scopes, keyed by event source id.
22
+ * Only meaningful for the `appendMany(events: EventForEventSourceId[], options?)` overload, which
23
+ * can target multiple distinct event sources in a single batch. When an event source id has no
24
+ * entry here, it falls back to {@link concurrencyScope}.
25
+ */
26
+ concurrencyScopes?: Record<string, ConcurrencyScope>;
19
27
  }
@@ -2,8 +2,10 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
 
4
4
  import { AppendError } from './AppendError';
5
+ import { ConcurrencyViolation } from './ConcurrencyViolation';
5
6
  import { ConstraintViolation } from './ConstraintViolation';
6
7
  import { EventSequenceNumber } from './EventSequenceNumber';
8
+ import { WaitForCompletionResult } from './WaitForCompletionResult';
7
9
 
8
10
  /**
9
11
  * Represents the result of appending a single event to an event sequence.
@@ -15,9 +17,23 @@ export interface AppendResult {
15
17
  /** Constraint violations that occurred, if any. */
16
18
  readonly constraintViolations: ReadonlyArray<ConstraintViolation>;
17
19
 
20
+ /** The concurrency violation that occurred, if any. */
21
+ readonly concurrencyViolation?: ConcurrencyViolation;
22
+
18
23
  /** Errors that occurred during appending, if any. */
19
24
  readonly errors: ReadonlyArray<AppendError>;
20
25
 
21
26
  /** Whether the append was successful (no violations or errors). */
22
27
  readonly isSuccess: boolean;
28
+
29
+ /**
30
+ * Waits for all observers affected by this append to either process up to the appended tail
31
+ * sequence number or fail.
32
+ * @param timeoutMs - Optional timeout in milliseconds. Defaults to 5000 (5 seconds).
33
+ * @returns A {@link WaitForCompletionResult} describing completion and any failures.
34
+ * @remarks
35
+ * When the append itself did not succeed (constraint violations or errors), there is nothing to
36
+ * wait for and this resolves immediately with `{ isSuccess: true, failedPartitions: [] }`.
37
+ */
38
+ waitForCompletion(timeoutMs?: number): Promise<WaitForCompletionResult>;
23
39
  }
@@ -0,0 +1,17 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ import type { AppendedEvent } from '../events/AppendedEvent';
5
+ import type { AppendResult } from './AppendResult';
6
+
7
+ /**
8
+ * Represents an event that was appended to an event sequence together with the result of the
9
+ * operation that appended it.
10
+ */
11
+ export interface AppendedEventWithResult {
12
+ /** The event that was appended. */
13
+ readonly event: AppendedEvent;
14
+
15
+ /** The result describing success, violations, or errors for the append operation. */
16
+ readonly result: AppendResult;
17
+ }
@@ -0,0 +1,20 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ /**
5
+ * Represents the errors that can occur when completing a stream on an {@link IEventSequence}.
6
+ */
7
+ export enum CompleteStreamError {
8
+ /**
9
+ * The stream was already completed previously. Completing a stream is idempotent at the storage
10
+ * level, but the caller is informed via this error so it can distinguish a freshly completed
11
+ * stream from one that was already in the completed state.
12
+ */
13
+ AlreadyCompleted = 'AlreadyCompleted',
14
+
15
+ /**
16
+ * The default stream (the default event stream type paired with the default event stream identifier)
17
+ * cannot be completed, since doing so would block all future appends to the event sequence.
18
+ */
19
+ DefaultStreamCannotBeCompleted = 'DefaultStreamCannotBeCompleted'
20
+ }
@@ -0,0 +1,13 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ import { CompleteStreamError } from './CompleteStreamError';
5
+ import { EventSequenceNumber } from './EventSequenceNumber';
6
+
7
+ /**
8
+ * Represents the outcome of completing a stream on an {@link IEventSequence}: either the tail
9
+ * sequence number at the moment of completion, or a typed error describing why it was rejected.
10
+ */
11
+ export type CompleteStreamResult =
12
+ | { readonly isSuccess: true; readonly sequenceNumber: EventSequenceNumber }
13
+ | { readonly isSuccess: false; readonly error: CompleteStreamError };
@@ -0,0 +1,18 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ import { EventSequenceNumber } from './EventSequenceNumber';
5
+
6
+ /**
7
+ * Represents a concurrency violation that occurred during an append operation.
8
+ */
9
+ export interface ConcurrencyViolation {
10
+ /** The event source identifier where the violation occurred. */
11
+ readonly eventSourceId: string;
12
+
13
+ /** The expected sequence number. */
14
+ readonly expectedSequenceNumber: EventSequenceNumber;
15
+
16
+ /** The actual sequence number. */
17
+ readonly actualSequenceNumber: EventSequenceNumber;
18
+ }
@@ -10,4 +10,16 @@ export interface EventForEventSourceId {
10
10
 
11
11
  /** The event payload to append. */
12
12
  readonly event: object;
13
+
14
+ /** Optional event stream type to append to. Defaults to the default stream type. */
15
+ readonly eventStreamType?: string;
16
+
17
+ /** Optional event stream identifier to append to. Defaults to the event source id. */
18
+ readonly eventStreamId?: string;
19
+
20
+ /** Optional event source type to append to. Defaults to the default source type. */
21
+ readonly eventSourceType?: string;
22
+
23
+ /** Optional subject identifying the target the event is about. Defaults to the event source id. */
24
+ readonly subject?: string;
13
25
  }