@cratis/chronicle 0.0.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 (647) hide show
  1. package/ChronicleClient.ts +453 -0
  2. package/ChronicleOptions.ts +104 -0
  3. package/EventSequences/AppendError.ts +10 -0
  4. package/EventSequences/AppendOptions.ts +15 -0
  5. package/EventSequences/AppendResult.ts +23 -0
  6. package/EventSequences/ConstraintViolation.ts +16 -0
  7. package/EventSequences/EventLog.ts +21 -0
  8. package/EventSequences/EventSequence.ts +372 -0
  9. package/EventSequences/EventSequenceId.ts +17 -0
  10. package/EventSequences/EventSequenceNumber.ts +38 -0
  11. package/EventSequences/IEventLog.ts +10 -0
  12. package/EventSequences/IEventSequence.ts +47 -0
  13. package/EventSequences/index.ts +13 -0
  14. package/EventStore.ts +132 -0
  15. package/EventStoreName.ts +14 -0
  16. package/EventStoreNamespaceName.ts +17 -0
  17. package/Events/AppendedEvent.ts +19 -0
  18. package/Events/CausationEntry.ts +13 -0
  19. package/Events/Constraints/ConstraintBuilder.ts +86 -0
  20. package/Events/Constraints/ConstraintId.ts +14 -0
  21. package/Events/Constraints/Constraints.ts +117 -0
  22. package/Events/Constraints/IConstraint.ts +18 -0
  23. package/Events/Constraints/IConstraintBuilder.ts +44 -0
  24. package/Events/Constraints/IConstraints.ts +28 -0
  25. package/Events/Constraints/IUniqueConstraintBuilder.ts +52 -0
  26. package/Events/Constraints/UniqueConstraintBuilder.ts +97 -0
  27. package/Events/Constraints/constraint.ts +56 -0
  28. package/Events/Constraints/index.ts +15 -0
  29. package/Events/EventContext.ts +28 -0
  30. package/Events/EventType.ts +41 -0
  31. package/Events/EventTypeGeneration.ts +20 -0
  32. package/Events/EventTypeId.ts +19 -0
  33. package/Events/EventTypes.ts +95 -0
  34. package/Events/IEventTypes.ts +39 -0
  35. package/Events/eventTypeDecorator.ts +147 -0
  36. package/Events/index.ts +14 -0
  37. package/IChronicleClient.ts +39 -0
  38. package/IEventStore.ts +56 -0
  39. package/Metrics.ts +109 -0
  40. package/Observation/ObserverId.ts +14 -0
  41. package/Observation/ObserverRunningState.ts +34 -0
  42. package/Observation/index.ts +5 -0
  43. package/Projections/IProjections.ts +19 -0
  44. package/Projections/ProjectionId.ts +14 -0
  45. package/Projections/Projections.ts +463 -0
  46. package/Projections/declarative/AllSetBuilder.ts +39 -0
  47. package/Projections/declarative/FromBuilder.ts +144 -0
  48. package/Projections/declarative/FromEveryBuilder.ts +46 -0
  49. package/Projections/declarative/IAddBuilder.ts +18 -0
  50. package/Projections/declarative/IAddChildBuilder.ts +25 -0
  51. package/Projections/declarative/IAllSetBuilder.ts +31 -0
  52. package/Projections/declarative/IChildrenBuilder.ts +31 -0
  53. package/Projections/declarative/ICompositeKeyBuilder.ts +22 -0
  54. package/Projections/declarative/IFromBuilder.ts +12 -0
  55. package/Projections/declarative/IFromEveryBuilder.ts +24 -0
  56. package/Projections/declarative/IJoinBuilder.ts +20 -0
  57. package/Projections/declarative/INestedBuilder.ts +19 -0
  58. package/Projections/declarative/IProjectionBuilder.ts +98 -0
  59. package/Projections/declarative/IProjectionBuilderFor.ts +38 -0
  60. package/Projections/declarative/IProjectionFor.ts +18 -0
  61. package/Projections/declarative/IReadModelPropertiesBuilder.ts +132 -0
  62. package/Projections/declarative/IRemovedWithBuilder.ts +25 -0
  63. package/Projections/declarative/IRemovedWithJoinBuilder.ts +25 -0
  64. package/Projections/declarative/ISetBuilder.ts +38 -0
  65. package/Projections/declarative/ISubtractBuilder.ts +18 -0
  66. package/Projections/declarative/JoinBuilder.ts +148 -0
  67. package/Projections/declarative/ProjectionBuilderFor.ts +277 -0
  68. package/Projections/declarative/RemovedWithBuilder.ts +40 -0
  69. package/Projections/declarative/RemovedWithJoinBuilder.ts +43 -0
  70. package/Projections/declarative/SetBuilder.ts +46 -0
  71. package/Projections/declarative/index.ts +26 -0
  72. package/Projections/declarative/projection.ts +59 -0
  73. package/Projections/index.ts +8 -0
  74. package/Projections/modelBound/FromEventMetadata.ts +10 -0
  75. package/Projections/modelBound/FromEventOptions.ts +12 -0
  76. package/Projections/modelBound/addFrom.ts +41 -0
  77. package/Projections/modelBound/childrenFrom.ts +52 -0
  78. package/Projections/modelBound/clearWith.ts +54 -0
  79. package/Projections/modelBound/count.ts +41 -0
  80. package/Projections/modelBound/decrement.ts +41 -0
  81. package/Projections/modelBound/fromEvent.ts +40 -0
  82. package/Projections/modelBound/fromEvery.ts +39 -0
  83. package/Projections/modelBound/increment.ts +41 -0
  84. package/Projections/modelBound/index.ts +38 -0
  85. package/Projections/modelBound/join.ts +44 -0
  86. package/Projections/modelBound/modelBound.ts +59 -0
  87. package/Projections/modelBound/nested.ts +29 -0
  88. package/Projections/modelBound/notRewindable.ts +24 -0
  89. package/Projections/modelBound/removedWith.ts +60 -0
  90. package/Projections/modelBound/removedWithJoin.ts +55 -0
  91. package/Projections/modelBound/setFrom.ts +41 -0
  92. package/Projections/modelBound/setFromContext.ts +41 -0
  93. package/Projections/modelBound/setValue.ts +41 -0
  94. package/Projections/modelBound/subtractFrom.ts +41 -0
  95. package/README.md +69 -0
  96. package/Reactors/IReactors.ts +19 -0
  97. package/Reactors/ReactorId.ts +14 -0
  98. package/Reactors/Reactors.ts +320 -0
  99. package/Reactors/index.ts +8 -0
  100. package/Reactors/reactor.ts +75 -0
  101. package/ReadModels/ReadModelId.ts +14 -0
  102. package/ReadModels/index.ts +6 -0
  103. package/ReadModels/readModel.ts +89 -0
  104. package/Reducers/IReducers.ts +19 -0
  105. package/Reducers/ReducerId.ts +14 -0
  106. package/Reducers/Reducers.ts +322 -0
  107. package/Reducers/index.ts +8 -0
  108. package/Reducers/reducer.ts +87 -0
  109. package/Schemas/JsonSchema.ts +18 -0
  110. package/Schemas/JsonSchemaGenerator.ts +107 -0
  111. package/Schemas/index.ts +6 -0
  112. package/Schemas/jsonSchemaProperty.ts +24 -0
  113. package/Tracing.ts +21 -0
  114. package/artifacts/DefaultClientArtifactsProvider.ts +56 -0
  115. package/artifacts/IClientArtifactsProvider.ts +30 -0
  116. package/artifacts/index.ts +5 -0
  117. package/connection/ChronicleConnection.ts +226 -0
  118. package/connection/ChronicleConnectionString.ts +4 -0
  119. package/connection/ChronicleServices.ts +4 -0
  120. package/connection/ConnectionLifecycle.ts +77 -0
  121. package/connection/DateTimeOffset.ts +4 -0
  122. package/connection/Guid.ts +4 -0
  123. package/connection/TokenProvider.ts +13 -0
  124. package/connection/index.ts +9 -0
  125. package/dist/ChronicleClient.d.ts +55 -0
  126. package/dist/ChronicleClient.d.ts.map +1 -0
  127. package/dist/ChronicleClient.js +396 -0
  128. package/dist/ChronicleClient.js.map +1 -0
  129. package/dist/ChronicleOptions.d.ts +54 -0
  130. package/dist/ChronicleOptions.d.ts.map +1 -0
  131. package/dist/ChronicleOptions.js +75 -0
  132. package/dist/ChronicleOptions.js.map +1 -0
  133. package/dist/EventSequences/AppendError.d.ts +8 -0
  134. package/dist/EventSequences/AppendError.d.ts.map +1 -0
  135. package/dist/EventSequences/AppendError.js +4 -0
  136. package/dist/EventSequences/AppendError.js.map +1 -0
  137. package/dist/EventSequences/AppendOptions.d.ts +11 -0
  138. package/dist/EventSequences/AppendOptions.d.ts.map +1 -0
  139. package/dist/EventSequences/AppendOptions.js +4 -0
  140. package/dist/EventSequences/AppendOptions.js.map +1 -0
  141. package/dist/EventSequences/AppendResult.d.ts +17 -0
  142. package/dist/EventSequences/AppendResult.d.ts.map +1 -0
  143. package/dist/EventSequences/AppendResult.js +4 -0
  144. package/dist/EventSequences/AppendResult.js.map +1 -0
  145. package/dist/EventSequences/ConstraintViolation.d.ts +12 -0
  146. package/dist/EventSequences/ConstraintViolation.d.ts.map +1 -0
  147. package/dist/EventSequences/ConstraintViolation.js +4 -0
  148. package/dist/EventSequences/ConstraintViolation.js.map +1 -0
  149. package/dist/EventSequences/EventLog.d.ts +11 -0
  150. package/dist/EventSequences/EventLog.d.ts.map +1 -0
  151. package/dist/EventSequences/EventLog.js +14 -0
  152. package/dist/EventSequences/EventLog.js.map +1 -0
  153. package/dist/EventSequences/EventSequence.d.ts +27 -0
  154. package/dist/EventSequences/EventSequence.d.ts.map +1 -0
  155. package/dist/EventSequences/EventSequence.js +337 -0
  156. package/dist/EventSequences/EventSequence.js.map +1 -0
  157. package/dist/EventSequences/EventSequenceId.d.ts +12 -0
  158. package/dist/EventSequences/EventSequenceId.d.ts.map +1 -0
  159. package/dist/EventSequences/EventSequenceId.js +18 -0
  160. package/dist/EventSequences/EventSequenceId.js.map +1 -0
  161. package/dist/EventSequences/EventSequenceNumber.d.ts +26 -0
  162. package/dist/EventSequences/EventSequenceNumber.d.ts.map +1 -0
  163. package/dist/EventSequences/EventSequenceNumber.js +36 -0
  164. package/dist/EventSequences/EventSequenceNumber.js.map +1 -0
  165. package/dist/EventSequences/IEventLog.d.ts +8 -0
  166. package/dist/EventSequences/IEventLog.d.ts.map +1 -0
  167. package/dist/EventSequences/IEventLog.js +4 -0
  168. package/dist/EventSequences/IEventLog.js.map +1 -0
  169. package/dist/EventSequences/IEventSequence.d.ts +40 -0
  170. package/dist/EventSequences/IEventSequence.d.ts.map +1 -0
  171. package/dist/EventSequences/IEventSequence.js +4 -0
  172. package/dist/EventSequences/IEventSequence.js.map +1 -0
  173. package/dist/EventSequences/index.d.ts +11 -0
  174. package/dist/EventSequences/index.d.ts.map +1 -0
  175. package/dist/EventSequences/index.js +7 -0
  176. package/dist/EventSequences/index.js.map +1 -0
  177. package/dist/EventStore.d.ts +42 -0
  178. package/dist/EventStore.d.ts.map +1 -0
  179. package/dist/EventStore.js +111 -0
  180. package/dist/EventStore.js.map +1 -0
  181. package/dist/EventStoreName.d.ts +10 -0
  182. package/dist/EventStoreName.d.ts.map +1 -0
  183. package/dist/EventStoreName.js +16 -0
  184. package/dist/EventStoreName.js.map +1 -0
  185. package/dist/EventStoreNamespaceName.d.ts +12 -0
  186. package/dist/EventStoreNamespaceName.d.ts.map +1 -0
  187. package/dist/EventStoreNamespaceName.js +18 -0
  188. package/dist/EventStoreNamespaceName.js.map +1 -0
  189. package/dist/Events/AppendedEvent.d.ts +14 -0
  190. package/dist/Events/AppendedEvent.d.ts.map +1 -0
  191. package/dist/Events/AppendedEvent.js +4 -0
  192. package/dist/Events/AppendedEvent.js.map +1 -0
  193. package/dist/Events/CausationEntry.d.ts +10 -0
  194. package/dist/Events/CausationEntry.d.ts.map +1 -0
  195. package/dist/Events/CausationEntry.js +4 -0
  196. package/dist/Events/CausationEntry.js.map +1 -0
  197. package/dist/Events/Constraints/ConstraintBuilder.d.ts +42 -0
  198. package/dist/Events/Constraints/ConstraintBuilder.d.ts.map +1 -0
  199. package/dist/Events/Constraints/ConstraintBuilder.js +55 -0
  200. package/dist/Events/Constraints/ConstraintBuilder.js.map +1 -0
  201. package/dist/Events/Constraints/ConstraintId.d.ts +10 -0
  202. package/dist/Events/Constraints/ConstraintId.d.ts.map +1 -0
  203. package/dist/Events/Constraints/ConstraintId.js +16 -0
  204. package/dist/Events/Constraints/ConstraintId.js.map +1 -0
  205. package/dist/Events/Constraints/Constraints.d.ts +27 -0
  206. package/dist/Events/Constraints/Constraints.d.ts.map +1 -0
  207. package/dist/Events/Constraints/Constraints.js +104 -0
  208. package/dist/Events/Constraints/Constraints.js.map +1 -0
  209. package/dist/Events/Constraints/IConstraint.d.ts +15 -0
  210. package/dist/Events/Constraints/IConstraint.d.ts.map +1 -0
  211. package/dist/Events/Constraints/IConstraint.js +4 -0
  212. package/dist/Events/Constraints/IConstraint.js.map +1 -0
  213. package/dist/Events/Constraints/IConstraintBuilder.d.ts +37 -0
  214. package/dist/Events/Constraints/IConstraintBuilder.d.ts.map +1 -0
  215. package/dist/Events/Constraints/IConstraintBuilder.js +4 -0
  216. package/dist/Events/Constraints/IConstraintBuilder.js.map +1 -0
  217. package/dist/Events/Constraints/IConstraints.d.ts +23 -0
  218. package/dist/Events/Constraints/IConstraints.d.ts.map +1 -0
  219. package/dist/Events/Constraints/IConstraints.js +4 -0
  220. package/dist/Events/Constraints/IConstraints.js.map +1 -0
  221. package/dist/Events/Constraints/IUniqueConstraintBuilder.d.ts +44 -0
  222. package/dist/Events/Constraints/IUniqueConstraintBuilder.d.ts.map +1 -0
  223. package/dist/Events/Constraints/IUniqueConstraintBuilder.js +4 -0
  224. package/dist/Events/Constraints/IUniqueConstraintBuilder.js.map +1 -0
  225. package/dist/Events/Constraints/UniqueConstraintBuilder.d.ts +42 -0
  226. package/dist/Events/Constraints/UniqueConstraintBuilder.d.ts.map +1 -0
  227. package/dist/Events/Constraints/UniqueConstraintBuilder.js +72 -0
  228. package/dist/Events/Constraints/UniqueConstraintBuilder.js.map +1 -0
  229. package/dist/Events/Constraints/constraint.d.ts +29 -0
  230. package/dist/Events/Constraints/constraint.d.ts.map +1 -0
  231. package/dist/Events/Constraints/constraint.js +39 -0
  232. package/dist/Events/Constraints/constraint.js.map +1 -0
  233. package/dist/Events/Constraints/index.d.ts +13 -0
  234. package/dist/Events/Constraints/index.d.ts.map +1 -0
  235. package/dist/Events/Constraints/index.js +8 -0
  236. package/dist/Events/Constraints/index.js.map +1 -0
  237. package/dist/Events/EventContext.d.ts +20 -0
  238. package/dist/Events/EventContext.d.ts.map +1 -0
  239. package/dist/Events/EventContext.js +4 -0
  240. package/dist/Events/EventContext.js.map +1 -0
  241. package/dist/Events/EventType.d.ts +23 -0
  242. package/dist/Events/EventType.d.ts.map +1 -0
  243. package/dist/Events/EventType.js +40 -0
  244. package/dist/Events/EventType.js.map +1 -0
  245. package/dist/Events/EventTypeGeneration.d.ts +14 -0
  246. package/dist/Events/EventTypeGeneration.d.ts.map +1 -0
  247. package/dist/Events/EventTypeGeneration.js +20 -0
  248. package/dist/Events/EventTypeGeneration.js.map +1 -0
  249. package/dist/Events/EventTypeId.d.ts +14 -0
  250. package/dist/Events/EventTypeId.d.ts.map +1 -0
  251. package/dist/Events/EventTypeId.js +20 -0
  252. package/dist/Events/EventTypeId.js.map +1 -0
  253. package/dist/Events/EventTypes.d.ts +33 -0
  254. package/dist/Events/EventTypes.d.ts.map +1 -0
  255. package/dist/Events/EventTypes.js +83 -0
  256. package/dist/Events/EventTypes.js.map +1 -0
  257. package/dist/Events/IEventTypes.d.ts +32 -0
  258. package/dist/Events/IEventTypes.d.ts.map +1 -0
  259. package/dist/Events/IEventTypes.js +4 -0
  260. package/dist/Events/IEventTypes.js.map +1 -0
  261. package/dist/Events/eventTypeDecorator.d.ts +71 -0
  262. package/dist/Events/eventTypeDecorator.d.ts.map +1 -0
  263. package/dist/Events/eventTypeDecorator.js +86 -0
  264. package/dist/Events/eventTypeDecorator.js.map +1 -0
  265. package/dist/Events/index.d.ts +12 -0
  266. package/dist/Events/index.d.ts.map +1 -0
  267. package/dist/Events/index.js +9 -0
  268. package/dist/Events/index.js.map +1 -0
  269. package/dist/Grpc.d.ts +19 -0
  270. package/dist/Grpc.d.ts.map +1 -0
  271. package/dist/Grpc.js +33 -0
  272. package/dist/Grpc.js.map +1 -0
  273. package/dist/IChronicleClient.d.ts +33 -0
  274. package/dist/IChronicleClient.d.ts.map +1 -0
  275. package/dist/IChronicleClient.js +4 -0
  276. package/dist/IChronicleClient.js.map +1 -0
  277. package/dist/IEventStore.d.ts +44 -0
  278. package/dist/IEventStore.d.ts.map +1 -0
  279. package/dist/IEventStore.js +4 -0
  280. package/dist/IEventStore.js.map +1 -0
  281. package/dist/Metrics.d.ts +70 -0
  282. package/dist/Metrics.d.ts.map +1 -0
  283. package/dist/Metrics.js +100 -0
  284. package/dist/Metrics.js.map +1 -0
  285. package/dist/Observation/ObserverId.d.ts +10 -0
  286. package/dist/Observation/ObserverId.d.ts.map +1 -0
  287. package/dist/Observation/ObserverId.js +16 -0
  288. package/dist/Observation/ObserverId.js.map +1 -0
  289. package/dist/Observation/ObserverRunningState.d.ts +24 -0
  290. package/dist/Observation/ObserverRunningState.d.ts.map +1 -0
  291. package/dist/Observation/ObserverRunningState.js +27 -0
  292. package/dist/Observation/ObserverRunningState.js.map +1 -0
  293. package/dist/Observation/index.d.ts +3 -0
  294. package/dist/Observation/index.d.ts.map +1 -0
  295. package/dist/Observation/index.js +5 -0
  296. package/dist/Observation/index.js.map +1 -0
  297. package/dist/Projections/IProjections.d.ts +16 -0
  298. package/dist/Projections/IProjections.d.ts.map +1 -0
  299. package/dist/Projections/IProjections.js +4 -0
  300. package/dist/Projections/IProjections.js.map +1 -0
  301. package/dist/Projections/ProjectionId.d.ts +10 -0
  302. package/dist/Projections/ProjectionId.d.ts.map +1 -0
  303. package/dist/Projections/ProjectionId.js +16 -0
  304. package/dist/Projections/ProjectionId.js.map +1 -0
  305. package/dist/Projections/Projections.d.ts +36 -0
  306. package/dist/Projections/Projections.d.ts.map +1 -0
  307. package/dist/Projections/Projections.js +390 -0
  308. package/dist/Projections/Projections.js.map +1 -0
  309. package/dist/Projections/declarative/AllSetBuilder.d.ts +20 -0
  310. package/dist/Projections/declarative/AllSetBuilder.d.ts.map +1 -0
  311. package/dist/Projections/declarative/AllSetBuilder.js +37 -0
  312. package/dist/Projections/declarative/AllSetBuilder.js.map +1 -0
  313. package/dist/Projections/declarative/FromBuilder.d.ts +56 -0
  314. package/dist/Projections/declarative/FromBuilder.d.ts.map +1 -0
  315. package/dist/Projections/declarative/FromBuilder.js +105 -0
  316. package/dist/Projections/declarative/FromBuilder.js.map +1 -0
  317. package/dist/Projections/declarative/FromEveryBuilder.d.ts +22 -0
  318. package/dist/Projections/declarative/FromEveryBuilder.d.ts.map +1 -0
  319. package/dist/Projections/declarative/FromEveryBuilder.js +28 -0
  320. package/dist/Projections/declarative/FromEveryBuilder.js.map +1 -0
  321. package/dist/Projections/declarative/IAddBuilder.d.ts +15 -0
  322. package/dist/Projections/declarative/IAddBuilder.d.ts.map +1 -0
  323. package/dist/Projections/declarative/IAddBuilder.js +4 -0
  324. package/dist/Projections/declarative/IAddBuilder.js.map +1 -0
  325. package/dist/Projections/declarative/IAddChildBuilder.d.ts +21 -0
  326. package/dist/Projections/declarative/IAddChildBuilder.d.ts.map +1 -0
  327. package/dist/Projections/declarative/IAddChildBuilder.js +4 -0
  328. package/dist/Projections/declarative/IAddChildBuilder.js.map +1 -0
  329. package/dist/Projections/declarative/IAllSetBuilder.d.ts +26 -0
  330. package/dist/Projections/declarative/IAllSetBuilder.d.ts.map +1 -0
  331. package/dist/Projections/declarative/IAllSetBuilder.js +4 -0
  332. package/dist/Projections/declarative/IAllSetBuilder.js.map +1 -0
  333. package/dist/Projections/declarative/IChildrenBuilder.d.ts +22 -0
  334. package/dist/Projections/declarative/IChildrenBuilder.d.ts.map +1 -0
  335. package/dist/Projections/declarative/IChildrenBuilder.js +4 -0
  336. package/dist/Projections/declarative/IChildrenBuilder.js.map +1 -0
  337. package/dist/Projections/declarative/ICompositeKeyBuilder.d.ts +16 -0
  338. package/dist/Projections/declarative/ICompositeKeyBuilder.d.ts.map +1 -0
  339. package/dist/Projections/declarative/ICompositeKeyBuilder.js +4 -0
  340. package/dist/Projections/declarative/ICompositeKeyBuilder.js.map +1 -0
  341. package/dist/Projections/declarative/IFromBuilder.d.ts +9 -0
  342. package/dist/Projections/declarative/IFromBuilder.d.ts.map +1 -0
  343. package/dist/Projections/declarative/IFromBuilder.js +4 -0
  344. package/dist/Projections/declarative/IFromBuilder.js.map +1 -0
  345. package/dist/Projections/declarative/IFromEveryBuilder.d.ts +20 -0
  346. package/dist/Projections/declarative/IFromEveryBuilder.d.ts.map +1 -0
  347. package/dist/Projections/declarative/IFromEveryBuilder.js +4 -0
  348. package/dist/Projections/declarative/IFromEveryBuilder.js.map +1 -0
  349. package/dist/Projections/declarative/IJoinBuilder.d.ts +16 -0
  350. package/dist/Projections/declarative/IJoinBuilder.d.ts.map +1 -0
  351. package/dist/Projections/declarative/IJoinBuilder.js +4 -0
  352. package/dist/Projections/declarative/IJoinBuilder.js.map +1 -0
  353. package/dist/Projections/declarative/INestedBuilder.d.ts +15 -0
  354. package/dist/Projections/declarative/INestedBuilder.d.ts.map +1 -0
  355. package/dist/Projections/declarative/INestedBuilder.js +4 -0
  356. package/dist/Projections/declarative/INestedBuilder.js.map +1 -0
  357. package/dist/Projections/declarative/IProjectionBuilder.d.ts +80 -0
  358. package/dist/Projections/declarative/IProjectionBuilder.d.ts.map +1 -0
  359. package/dist/Projections/declarative/IProjectionBuilder.js +4 -0
  360. package/dist/Projections/declarative/IProjectionBuilder.js.map +1 -0
  361. package/dist/Projections/declarative/IProjectionBuilderFor.d.ts +31 -0
  362. package/dist/Projections/declarative/IProjectionBuilderFor.d.ts.map +1 -0
  363. package/dist/Projections/declarative/IProjectionBuilderFor.js +4 -0
  364. package/dist/Projections/declarative/IProjectionBuilderFor.js.map +1 -0
  365. package/dist/Projections/declarative/IProjectionFor.d.ts +15 -0
  366. package/dist/Projections/declarative/IProjectionFor.d.ts.map +1 -0
  367. package/dist/Projections/declarative/IProjectionFor.js +4 -0
  368. package/dist/Projections/declarative/IProjectionFor.js.map +1 -0
  369. package/dist/Projections/declarative/IReadModelPropertiesBuilder.d.ts +111 -0
  370. package/dist/Projections/declarative/IReadModelPropertiesBuilder.d.ts.map +1 -0
  371. package/dist/Projections/declarative/IReadModelPropertiesBuilder.js +4 -0
  372. package/dist/Projections/declarative/IReadModelPropertiesBuilder.js.map +1 -0
  373. package/dist/Projections/declarative/IRemovedWithBuilder.d.ts +21 -0
  374. package/dist/Projections/declarative/IRemovedWithBuilder.d.ts.map +1 -0
  375. package/dist/Projections/declarative/IRemovedWithBuilder.js +4 -0
  376. package/dist/Projections/declarative/IRemovedWithBuilder.js.map +1 -0
  377. package/dist/Projections/declarative/IRemovedWithJoinBuilder.d.ts +21 -0
  378. package/dist/Projections/declarative/IRemovedWithJoinBuilder.d.ts.map +1 -0
  379. package/dist/Projections/declarative/IRemovedWithJoinBuilder.js +4 -0
  380. package/dist/Projections/declarative/IRemovedWithJoinBuilder.js.map +1 -0
  381. package/dist/Projections/declarative/ISetBuilder.d.ts +32 -0
  382. package/dist/Projections/declarative/ISetBuilder.d.ts.map +1 -0
  383. package/dist/Projections/declarative/ISetBuilder.js +4 -0
  384. package/dist/Projections/declarative/ISetBuilder.js.map +1 -0
  385. package/dist/Projections/declarative/ISubtractBuilder.d.ts +15 -0
  386. package/dist/Projections/declarative/ISubtractBuilder.d.ts.map +1 -0
  387. package/dist/Projections/declarative/ISubtractBuilder.js +4 -0
  388. package/dist/Projections/declarative/ISubtractBuilder.js.map +1 -0
  389. package/dist/Projections/declarative/JoinBuilder.d.ts +58 -0
  390. package/dist/Projections/declarative/JoinBuilder.d.ts.map +1 -0
  391. package/dist/Projections/declarative/JoinBuilder.js +107 -0
  392. package/dist/Projections/declarative/JoinBuilder.js.map +1 -0
  393. package/dist/Projections/declarative/ProjectionBuilderFor.d.ts +68 -0
  394. package/dist/Projections/declarative/ProjectionBuilderFor.d.ts.map +1 -0
  395. package/dist/Projections/declarative/ProjectionBuilderFor.js +207 -0
  396. package/dist/Projections/declarative/ProjectionBuilderFor.js.map +1 -0
  397. package/dist/Projections/declarative/RemovedWithBuilder.d.ts +22 -0
  398. package/dist/Projections/declarative/RemovedWithBuilder.d.ts.map +1 -0
  399. package/dist/Projections/declarative/RemovedWithBuilder.js +28 -0
  400. package/dist/Projections/declarative/RemovedWithBuilder.js.map +1 -0
  401. package/dist/Projections/declarative/RemovedWithJoinBuilder.d.ts +22 -0
  402. package/dist/Projections/declarative/RemovedWithJoinBuilder.d.ts.map +1 -0
  403. package/dist/Projections/declarative/RemovedWithJoinBuilder.js +31 -0
  404. package/dist/Projections/declarative/RemovedWithJoinBuilder.js.map +1 -0
  405. package/dist/Projections/declarative/SetBuilder.d.ts +23 -0
  406. package/dist/Projections/declarative/SetBuilder.d.ts.map +1 -0
  407. package/dist/Projections/declarative/SetBuilder.js +43 -0
  408. package/dist/Projections/declarative/SetBuilder.js.map +1 -0
  409. package/dist/Projections/declarative/index.d.ts +24 -0
  410. package/dist/Projections/declarative/index.d.ts.map +1 -0
  411. package/dist/Projections/declarative/index.js +8 -0
  412. package/dist/Projections/declarative/index.js.map +1 -0
  413. package/dist/Projections/declarative/projection.d.ts +31 -0
  414. package/dist/Projections/declarative/projection.d.ts.map +1 -0
  415. package/dist/Projections/declarative/projection.js +39 -0
  416. package/dist/Projections/declarative/projection.js.map +1 -0
  417. package/dist/Projections/index.d.ts +6 -0
  418. package/dist/Projections/index.d.ts.map +1 -0
  419. package/dist/Projections/index.js +7 -0
  420. package/dist/Projections/index.js.map +1 -0
  421. package/dist/Projections/modelBound/FromEventMetadata.d.ts +7 -0
  422. package/dist/Projections/modelBound/FromEventMetadata.d.ts.map +1 -0
  423. package/dist/Projections/modelBound/FromEventMetadata.js +4 -0
  424. package/dist/Projections/modelBound/FromEventMetadata.js.map +1 -0
  425. package/dist/Projections/modelBound/FromEventOptions.d.ts +10 -0
  426. package/dist/Projections/modelBound/FromEventOptions.d.ts.map +1 -0
  427. package/dist/Projections/modelBound/FromEventOptions.js +4 -0
  428. package/dist/Projections/modelBound/FromEventOptions.js.map +1 -0
  429. package/dist/Projections/modelBound/addFrom.d.ts +23 -0
  430. package/dist/Projections/modelBound/addFrom.d.ts.map +1 -0
  431. package/dist/Projections/modelBound/addFrom.js +30 -0
  432. package/dist/Projections/modelBound/addFrom.js.map +1 -0
  433. package/dist/Projections/modelBound/childrenFrom.d.ts +29 -0
  434. package/dist/Projections/modelBound/childrenFrom.d.ts.map +1 -0
  435. package/dist/Projections/modelBound/childrenFrom.js +32 -0
  436. package/dist/Projections/modelBound/childrenFrom.js.map +1 -0
  437. package/dist/Projections/modelBound/clearWith.d.ts +28 -0
  438. package/dist/Projections/modelBound/clearWith.d.ts.map +1 -0
  439. package/dist/Projections/modelBound/clearWith.js +45 -0
  440. package/dist/Projections/modelBound/clearWith.js.map +1 -0
  441. package/dist/Projections/modelBound/count.d.ts +23 -0
  442. package/dist/Projections/modelBound/count.d.ts.map +1 -0
  443. package/dist/Projections/modelBound/count.js +30 -0
  444. package/dist/Projections/modelBound/count.js.map +1 -0
  445. package/dist/Projections/modelBound/decrement.d.ts +23 -0
  446. package/dist/Projections/modelBound/decrement.d.ts.map +1 -0
  447. package/dist/Projections/modelBound/decrement.js +30 -0
  448. package/dist/Projections/modelBound/decrement.js.map +1 -0
  449. package/dist/Projections/modelBound/fromEvent.d.ts +23 -0
  450. package/dist/Projections/modelBound/fromEvent.d.ts.map +1 -0
  451. package/dist/Projections/modelBound/fromEvent.js +34 -0
  452. package/dist/Projections/modelBound/fromEvent.js.map +1 -0
  453. package/dist/Projections/modelBound/fromEvery.d.ts +23 -0
  454. package/dist/Projections/modelBound/fromEvery.d.ts.map +1 -0
  455. package/dist/Projections/modelBound/fromEvery.js +28 -0
  456. package/dist/Projections/modelBound/fromEvery.js.map +1 -0
  457. package/dist/Projections/modelBound/increment.d.ts +23 -0
  458. package/dist/Projections/modelBound/increment.d.ts.map +1 -0
  459. package/dist/Projections/modelBound/increment.js +30 -0
  460. package/dist/Projections/modelBound/increment.js.map +1 -0
  461. package/dist/Projections/modelBound/index.d.ts +36 -0
  462. package/dist/Projections/modelBound/index.d.ts.map +1 -0
  463. package/dist/Projections/modelBound/index.js +21 -0
  464. package/dist/Projections/modelBound/index.js.map +1 -0
  465. package/dist/Projections/modelBound/join.d.ts +26 -0
  466. package/dist/Projections/modelBound/join.d.ts.map +1 -0
  467. package/dist/Projections/modelBound/join.js +31 -0
  468. package/dist/Projections/modelBound/join.js.map +1 -0
  469. package/dist/Projections/modelBound/modelBound.d.ts +31 -0
  470. package/dist/Projections/modelBound/modelBound.d.ts.map +1 -0
  471. package/dist/Projections/modelBound/modelBound.js +39 -0
  472. package/dist/Projections/modelBound/modelBound.js.map +1 -0
  473. package/dist/Projections/modelBound/nested.d.ts +16 -0
  474. package/dist/Projections/modelBound/nested.d.ts.map +1 -0
  475. package/dist/Projections/modelBound/nested.js +26 -0
  476. package/dist/Projections/modelBound/nested.js.map +1 -0
  477. package/dist/Projections/modelBound/notRewindable.d.ts +14 -0
  478. package/dist/Projections/modelBound/notRewindable.d.ts.map +1 -0
  479. package/dist/Projections/modelBound/notRewindable.js +21 -0
  480. package/dist/Projections/modelBound/notRewindable.js.map +1 -0
  481. package/dist/Projections/modelBound/removedWith.d.ts +34 -0
  482. package/dist/Projections/modelBound/removedWith.d.ts.map +1 -0
  483. package/dist/Projections/modelBound/removedWith.js +47 -0
  484. package/dist/Projections/modelBound/removedWith.js.map +1 -0
  485. package/dist/Projections/modelBound/removedWithJoin.d.ts +29 -0
  486. package/dist/Projections/modelBound/removedWithJoin.d.ts.map +1 -0
  487. package/dist/Projections/modelBound/removedWithJoin.js +44 -0
  488. package/dist/Projections/modelBound/removedWithJoin.js.map +1 -0
  489. package/dist/Projections/modelBound/setFrom.d.ts +23 -0
  490. package/dist/Projections/modelBound/setFrom.d.ts.map +1 -0
  491. package/dist/Projections/modelBound/setFrom.js +30 -0
  492. package/dist/Projections/modelBound/setFrom.js.map +1 -0
  493. package/dist/Projections/modelBound/setFromContext.d.ts +23 -0
  494. package/dist/Projections/modelBound/setFromContext.d.ts.map +1 -0
  495. package/dist/Projections/modelBound/setFromContext.js +30 -0
  496. package/dist/Projections/modelBound/setFromContext.js.map +1 -0
  497. package/dist/Projections/modelBound/setValue.d.ts +23 -0
  498. package/dist/Projections/modelBound/setValue.d.ts.map +1 -0
  499. package/dist/Projections/modelBound/setValue.js +30 -0
  500. package/dist/Projections/modelBound/setValue.js.map +1 -0
  501. package/dist/Projections/modelBound/subtractFrom.d.ts +23 -0
  502. package/dist/Projections/modelBound/subtractFrom.d.ts.map +1 -0
  503. package/dist/Projections/modelBound/subtractFrom.js +30 -0
  504. package/dist/Projections/modelBound/subtractFrom.js.map +1 -0
  505. package/dist/Reactors/IReactors.d.ts +16 -0
  506. package/dist/Reactors/IReactors.d.ts.map +1 -0
  507. package/dist/Reactors/IReactors.js +4 -0
  508. package/dist/Reactors/IReactors.js.map +1 -0
  509. package/dist/Reactors/ReactorId.d.ts +10 -0
  510. package/dist/Reactors/ReactorId.d.ts.map +1 -0
  511. package/dist/Reactors/ReactorId.js +16 -0
  512. package/dist/Reactors/ReactorId.js.map +1 -0
  513. package/dist/Reactors/Reactors.d.ts +38 -0
  514. package/dist/Reactors/Reactors.d.ts.map +1 -0
  515. package/dist/Reactors/Reactors.js +279 -0
  516. package/dist/Reactors/Reactors.js.map +1 -0
  517. package/dist/Reactors/index.d.ts +6 -0
  518. package/dist/Reactors/index.d.ts.map +1 -0
  519. package/dist/Reactors/index.js +6 -0
  520. package/dist/Reactors/index.js.map +1 -0
  521. package/dist/Reactors/reactor.d.ts +47 -0
  522. package/dist/Reactors/reactor.d.ts.map +1 -0
  523. package/dist/Reactors/reactor.js +55 -0
  524. package/dist/Reactors/reactor.js.map +1 -0
  525. package/dist/ReadModels/ReadModelId.d.ts +10 -0
  526. package/dist/ReadModels/ReadModelId.d.ts.map +1 -0
  527. package/dist/ReadModels/ReadModelId.js +16 -0
  528. package/dist/ReadModels/ReadModelId.js.map +1 -0
  529. package/dist/ReadModels/index.d.ts +4 -0
  530. package/dist/ReadModels/index.d.ts.map +1 -0
  531. package/dist/ReadModels/index.js +5 -0
  532. package/dist/ReadModels/index.js.map +1 -0
  533. package/dist/ReadModels/readModel.d.ts +33 -0
  534. package/dist/ReadModels/readModel.d.ts.map +1 -0
  535. package/dist/ReadModels/readModel.js +64 -0
  536. package/dist/ReadModels/readModel.js.map +1 -0
  537. package/dist/Reducers/IReducers.d.ts +16 -0
  538. package/dist/Reducers/IReducers.d.ts.map +1 -0
  539. package/dist/Reducers/IReducers.js +4 -0
  540. package/dist/Reducers/IReducers.js.map +1 -0
  541. package/dist/Reducers/ReducerId.d.ts +10 -0
  542. package/dist/Reducers/ReducerId.d.ts.map +1 -0
  543. package/dist/Reducers/ReducerId.js +16 -0
  544. package/dist/Reducers/ReducerId.js.map +1 -0
  545. package/dist/Reducers/Reducers.d.ts +38 -0
  546. package/dist/Reducers/Reducers.d.ts.map +1 -0
  547. package/dist/Reducers/Reducers.js +279 -0
  548. package/dist/Reducers/Reducers.js.map +1 -0
  549. package/dist/Reducers/index.d.ts +6 -0
  550. package/dist/Reducers/index.d.ts.map +1 -0
  551. package/dist/Reducers/index.js +6 -0
  552. package/dist/Reducers/index.js.map +1 -0
  553. package/dist/Reducers/reducer.d.ts +51 -0
  554. package/dist/Reducers/reducer.d.ts.map +1 -0
  555. package/dist/Reducers/reducer.js +59 -0
  556. package/dist/Reducers/reducer.js.map +1 -0
  557. package/dist/Schemas/JsonSchema.d.ts +16 -0
  558. package/dist/Schemas/JsonSchema.d.ts.map +1 -0
  559. package/dist/Schemas/JsonSchema.js +4 -0
  560. package/dist/Schemas/JsonSchema.js.map +1 -0
  561. package/dist/Schemas/JsonSchemaGenerator.d.ts +26 -0
  562. package/dist/Schemas/JsonSchemaGenerator.d.ts.map +1 -0
  563. package/dist/Schemas/JsonSchemaGenerator.js +90 -0
  564. package/dist/Schemas/JsonSchemaGenerator.js.map +1 -0
  565. package/dist/Schemas/index.d.ts +4 -0
  566. package/dist/Schemas/index.d.ts.map +1 -0
  567. package/dist/Schemas/index.js +5 -0
  568. package/dist/Schemas/index.js.map +1 -0
  569. package/dist/Schemas/jsonSchemaProperty.d.ts +13 -0
  570. package/dist/Schemas/jsonSchemaProperty.d.ts.map +1 -0
  571. package/dist/Schemas/jsonSchemaProperty.js +22 -0
  572. package/dist/Schemas/jsonSchemaProperty.js.map +1 -0
  573. package/dist/Tracing.d.ts +16 -0
  574. package/dist/Tracing.d.ts.map +1 -0
  575. package/dist/Tracing.js +19 -0
  576. package/dist/Tracing.js.map +1 -0
  577. package/dist/artifacts/DefaultClientArtifactsProvider.d.ts +31 -0
  578. package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -0
  579. package/dist/artifacts/DefaultClientArtifactsProvider.js +48 -0
  580. package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -0
  581. package/dist/artifacts/IClientArtifactsProvider.d.ts +21 -0
  582. package/dist/artifacts/IClientArtifactsProvider.d.ts.map +1 -0
  583. package/dist/artifacts/IClientArtifactsProvider.js +4 -0
  584. package/dist/artifacts/IClientArtifactsProvider.js.map +1 -0
  585. package/dist/artifacts/index.d.ts +3 -0
  586. package/dist/artifacts/index.d.ts.map +1 -0
  587. package/dist/artifacts/index.js +4 -0
  588. package/dist/artifacts/index.js.map +1 -0
  589. package/dist/connection/ChronicleConnection.d.ts +117 -0
  590. package/dist/connection/ChronicleConnection.d.ts.map +1 -0
  591. package/dist/connection/ChronicleConnection.js +194 -0
  592. package/dist/connection/ChronicleConnection.js.map +1 -0
  593. package/dist/connection/ChronicleConnectionString.d.ts +2 -0
  594. package/dist/connection/ChronicleConnectionString.d.ts.map +1 -0
  595. package/dist/connection/ChronicleConnectionString.js +4 -0
  596. package/dist/connection/ChronicleConnectionString.js.map +1 -0
  597. package/dist/connection/ChronicleServices.d.ts +2 -0
  598. package/dist/connection/ChronicleServices.d.ts.map +1 -0
  599. package/dist/connection/ChronicleServices.js +4 -0
  600. package/dist/connection/ChronicleServices.js.map +1 -0
  601. package/dist/connection/ConnectionLifecycle.d.ts +41 -0
  602. package/dist/connection/ConnectionLifecycle.d.ts.map +1 -0
  603. package/dist/connection/ConnectionLifecycle.js +66 -0
  604. package/dist/connection/ConnectionLifecycle.js.map +1 -0
  605. package/dist/connection/DateTimeOffset.d.ts +2 -0
  606. package/dist/connection/DateTimeOffset.d.ts.map +1 -0
  607. package/dist/connection/DateTimeOffset.js +4 -0
  608. package/dist/connection/DateTimeOffset.js.map +1 -0
  609. package/dist/connection/Guid.d.ts +2 -0
  610. package/dist/connection/Guid.d.ts.map +1 -0
  611. package/dist/connection/Guid.js +4 -0
  612. package/dist/connection/Guid.js.map +1 -0
  613. package/dist/connection/TokenProvider.d.ts +5 -0
  614. package/dist/connection/TokenProvider.d.ts.map +1 -0
  615. package/dist/connection/TokenProvider.js +4 -0
  616. package/dist/connection/TokenProvider.js.map +1 -0
  617. package/dist/connection/index.d.ts +7 -0
  618. package/dist/connection/index.d.ts.map +1 -0
  619. package/dist/connection/index.js +7 -0
  620. package/dist/connection/index.js.map +1 -0
  621. package/dist/index.d.ts +21 -0
  622. package/dist/index.d.ts.map +1 -0
  623. package/dist/index.js +21 -0
  624. package/dist/index.js.map +1 -0
  625. package/dist/tsconfig.tsbuildinfo +1 -0
  626. package/dist/types/DecoratorType.d.ts +20 -0
  627. package/dist/types/DecoratorType.d.ts.map +1 -0
  628. package/dist/types/DecoratorType.js +23 -0
  629. package/dist/types/DecoratorType.js.map +1 -0
  630. package/dist/types/TypeDiscoverer.d.ts +54 -0
  631. package/dist/types/TypeDiscoverer.d.ts.map +1 -0
  632. package/dist/types/TypeDiscoverer.js +91 -0
  633. package/dist/types/TypeDiscoverer.js.map +1 -0
  634. package/dist/types/TypeIntrospector.d.ts +30 -0
  635. package/dist/types/TypeIntrospector.d.ts.map +1 -0
  636. package/dist/types/TypeIntrospector.js +154 -0
  637. package/dist/types/TypeIntrospector.js.map +1 -0
  638. package/dist/types/index.d.ts +4 -0
  639. package/dist/types/index.d.ts.map +1 -0
  640. package/dist/types/index.js +6 -0
  641. package/dist/types/index.js.map +1 -0
  642. package/index.ts +24 -0
  643. package/package.json +38 -0
  644. package/types/DecoratorType.ts +28 -0
  645. package/types/TypeDiscoverer.ts +109 -0
  646. package/types/TypeIntrospector.ts +176 -0
  647. package/types/index.ts +6 -0
@@ -0,0 +1,111 @@
1
+ import { PropertyAccessor } from '@cratis/fundamentals';
2
+ import { ICompositeKeyBuilder } from './ICompositeKeyBuilder';
3
+ import { IAddBuilder } from './IAddBuilder';
4
+ import { IAddChildBuilder } from './IAddChildBuilder';
5
+ import { ISetBuilder } from './ISetBuilder';
6
+ import { ISubtractBuilder } from './ISubtractBuilder';
7
+ /**
8
+ * Defines the common read model property mapping operations shared by from and join builders.
9
+ * @template TReadModel - The read model type.
10
+ * @template TEvent - The event type.
11
+ * @template TBuilder - The concrete builder type for fluent return.
12
+ */
13
+ export interface IReadModelPropertiesBuilder<TReadModel, TEvent, TBuilder> {
14
+ /**
15
+ * Uses an event property as the key for this projection.
16
+ * @param keyAccessor - Accessor for the event property used as key.
17
+ * @returns This builder for fluent chaining.
18
+ */
19
+ usingKey(keyAccessor: PropertyAccessor<TEvent>): TBuilder;
20
+ /**
21
+ * Uses a named event context property as the key for this projection.
22
+ * @param contextPropertyName - The name of the context property.
23
+ * @returns This builder for fluent chaining.
24
+ */
25
+ usingKeyFromContext(contextPropertyName: string): TBuilder;
26
+ /**
27
+ * Uses an event property as the parent key for child projections.
28
+ * @param keyAccessor - Accessor for the event property used as parent key.
29
+ * @returns This builder for fluent chaining.
30
+ */
31
+ usingParentKey(keyAccessor: PropertyAccessor<TEvent>): TBuilder;
32
+ /**
33
+ * Uses a named event context property as the parent key for child projections.
34
+ * @param contextPropertyName - The name of the context property.
35
+ * @returns This builder for fluent chaining.
36
+ */
37
+ usingParentKeyFromContext(contextPropertyName: string): TBuilder;
38
+ /**
39
+ * Uses a composite key built from multiple event properties.
40
+ * @param builderCallback - Callback for configuring the composite key builder.
41
+ * @returns This builder for fluent chaining.
42
+ */
43
+ usingCompositeKey<TKeyType>(builderCallback: (builder: ICompositeKeyBuilder<TKeyType, TEvent>) => void): TBuilder;
44
+ /**
45
+ * Uses a composite parent key built from multiple event properties.
46
+ * @param builderCallback - Callback for configuring the composite key builder.
47
+ * @returns This builder for fluent chaining.
48
+ */
49
+ usingParentCompositeKey<TKeyType>(builderCallback: (builder: ICompositeKeyBuilder<TKeyType, TEvent>) => void): TBuilder;
50
+ /**
51
+ * Uses a constant string value as the key for this projection.
52
+ * @param value - The constant key value.
53
+ * @returns This builder for fluent chaining.
54
+ */
55
+ usingConstantKey(value: string): TBuilder;
56
+ /**
57
+ * Uses a constant string value as the parent key for this projection.
58
+ * @param value - The constant parent key value.
59
+ * @returns This builder for fluent chaining.
60
+ */
61
+ usingConstantParentKey(value: string): TBuilder;
62
+ /**
63
+ * Increments the specified read model property by one when this event occurs.
64
+ * @param readModelPropertyAccessor - Accessor for the read model property to increment.
65
+ * @returns This builder for fluent chaining.
66
+ */
67
+ increment(readModelPropertyAccessor: PropertyAccessor<TReadModel>): TBuilder;
68
+ /**
69
+ * Decrements the specified read model property by one when this event occurs.
70
+ * @param readModelPropertyAccessor - Accessor for the read model property to decrement.
71
+ * @returns This builder for fluent chaining.
72
+ */
73
+ decrement(readModelPropertyAccessor: PropertyAccessor<TReadModel>): TBuilder;
74
+ /**
75
+ * Begins an add operation on the specified read model property.
76
+ * @param readModelPropertyAccessor - Accessor for the read model property to add to.
77
+ * @returns An add builder for specifying the event property value.
78
+ */
79
+ add(readModelPropertyAccessor: PropertyAccessor<TReadModel>): IAddBuilder<TEvent, TBuilder>;
80
+ /**
81
+ * Begins a subtract operation on the specified read model property.
82
+ * @param readModelPropertyAccessor - Accessor for the read model property to subtract from.
83
+ * @returns A subtract builder for specifying the event property value.
84
+ */
85
+ subtract(readModelPropertyAccessor: PropertyAccessor<TReadModel>): ISubtractBuilder<TEvent, TBuilder>;
86
+ /**
87
+ * Counts the number of matching events into the specified read model property.
88
+ * @param readModelPropertyAccessor - Accessor for the read model property to store the count in.
89
+ * @returns This builder for fluent chaining.
90
+ */
91
+ count(readModelPropertyAccessor: PropertyAccessor<TReadModel>): TBuilder;
92
+ /**
93
+ * Adds a child model from the event to a collection property on the read model.
94
+ * @param targetPropertyAccessor - Accessor for the collection property on the read model.
95
+ * @param eventPropertyAccessorOrBuilderCallback - Either a direct event property accessor or a builder callback.
96
+ * @returns This builder for fluent chaining.
97
+ */
98
+ addChild<TChildModel>(targetPropertyAccessor: PropertyAccessor<TReadModel>, eventPropertyAccessorOrBuilderCallback: PropertyAccessor<TEvent> | ((builder: IAddChildBuilder<TChildModel, TEvent>) => void)): TBuilder;
99
+ /**
100
+ * Begins a set operation to map an event property to the specified read model property.
101
+ * @param readModelPropertyAccessor - Accessor for the read model property to set.
102
+ * @returns A set builder for specifying the event property value.
103
+ */
104
+ set(readModelPropertyAccessor: PropertyAccessor<TReadModel>): ISetBuilder<TEvent, TBuilder>;
105
+ /**
106
+ * Begins a set operation that maps the entire event value to a read model property.
107
+ * @returns A set builder for specifying the target read model property.
108
+ */
109
+ setThisValue(): ISetBuilder<TEvent, TBuilder>;
110
+ }
111
+ //# sourceMappingURL=IReadModelPropertiesBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IReadModelPropertiesBuilder.d.ts","sourceRoot":"","sources":["../../../Projections/declarative/IReadModelPropertiesBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ;IACrE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IAE1D;;;;OAIG;IACH,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE3D;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IAEhE;;;;OAIG;IACH,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEjE;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,QAAQ,CAAC;IAElH;;;;OAIG;IACH,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,QAAQ,CAAC;IAExH;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE1C;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEhD;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAE7E;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAE7E;;;;OAIG;IACH,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE5F;;;;OAIG;IACH,QAAQ,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtG;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAEzE;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAChB,sBAAsB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACpD,sCAAsC,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAC9H,QAAQ,CAAC;IAEZ;;;;OAIG;IACH,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE5F;;;OAGG;IACH,YAAY,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACjD"}
@@ -0,0 +1,4 @@
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
+ export {};
4
+ //# sourceMappingURL=IReadModelPropertiesBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IReadModelPropertiesBuilder.js","sourceRoot":"","sources":["../../../Projections/declarative/IReadModelPropertiesBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,21 @@
1
+ import { PropertyAccessor } from '@cratis/fundamentals';
2
+ /**
3
+ * Defines the builder for configuring the removal of a read model instance via an event.
4
+ * @template TReadModel - The read model type.
5
+ * @template TEvent - The event type that triggers removal.
6
+ */
7
+ export interface IRemovedWithBuilder<TReadModel, TEvent> {
8
+ /**
9
+ * Uses an event property as the key to identify the instance to remove.
10
+ * @param keyAccessor - Accessor for the event property used as key.
11
+ * @returns This builder for fluent chaining.
12
+ */
13
+ usingKey(keyAccessor: PropertyAccessor<TEvent>): IRemovedWithBuilder<TReadModel, TEvent>;
14
+ /**
15
+ * Uses a named event context property as the key to identify the instance to remove.
16
+ * @param contextPropertyName - The name of the event context property.
17
+ * @returns This builder for fluent chaining.
18
+ */
19
+ usingKeyFromContext(contextPropertyName: string): IRemovedWithBuilder<TReadModel, TEvent>;
20
+ }
21
+ //# sourceMappingURL=IRemovedWithBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRemovedWithBuilder.d.ts","sourceRoot":"","sources":["../../../Projections/declarative/IRemovedWithBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,UAAU,EAAE,MAAM;IACnD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEzF;;;;OAIG;IACH,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;CAC7F"}
@@ -0,0 +1,4 @@
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
+ export {};
4
+ //# sourceMappingURL=IRemovedWithBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRemovedWithBuilder.js","sourceRoot":"","sources":["../../../Projections/declarative/IRemovedWithBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,21 @@
1
+ import { PropertyAccessor } from '@cratis/fundamentals';
2
+ /**
3
+ * Defines the builder for configuring the removal of a read model instance via a join event.
4
+ * @template TReadModel - The read model type.
5
+ * @template TEvent - The event type that triggers removal.
6
+ */
7
+ export interface IRemovedWithJoinBuilder<TReadModel, TEvent> {
8
+ /**
9
+ * Sets the read model property that forms the relationship for the join removal.
10
+ * @param readModelPropertyAccessor - Accessor for the read model property to join on.
11
+ * @returns This builder for fluent chaining.
12
+ */
13
+ on(readModelPropertyAccessor: PropertyAccessor<TReadModel>): IRemovedWithJoinBuilder<TReadModel, TEvent>;
14
+ /**
15
+ * Uses an event property as the key to identify the instance to remove.
16
+ * @param keyAccessor - Accessor for the event property used as key.
17
+ * @returns This builder for fluent chaining.
18
+ */
19
+ usingKey(keyAccessor: PropertyAccessor<TEvent>): IRemovedWithJoinBuilder<TReadModel, TEvent>;
20
+ }
21
+ //# sourceMappingURL=IRemovedWithJoinBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRemovedWithJoinBuilder.d.ts","sourceRoot":"","sources":["../../../Projections/declarative/IRemovedWithJoinBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB,CAAC,UAAU,EAAE,MAAM;IACvD;;;;OAIG;IACH,EAAE,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEzG;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;CAChG"}
@@ -0,0 +1,4 @@
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
+ export {};
4
+ //# sourceMappingURL=IRemovedWithJoinBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRemovedWithJoinBuilder.js","sourceRoot":"","sources":["../../../Projections/declarative/IRemovedWithJoinBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,32 @@
1
+ import { PropertyAccessor } from '@cratis/fundamentals';
2
+ /**
3
+ * Defines a builder for configuring a set operation on a read model property.
4
+ * @template TEvent - The event type.
5
+ * @template TParentBuilder - The parent builder type for fluent return.
6
+ */
7
+ export interface ISetBuilder<TEvent, TParentBuilder> {
8
+ /**
9
+ * Maps the read model property from the specified event property.
10
+ * @param eventPropertyAccessor - Accessor for the source property on the event.
11
+ * @returns The parent builder for fluent chaining.
12
+ */
13
+ to(eventPropertyAccessor: PropertyAccessor<TEvent>): TParentBuilder;
14
+ /**
15
+ * Sets the read model property to a constant value.
16
+ * @param value - The constant value to assign.
17
+ * @returns The parent builder for fluent chaining.
18
+ */
19
+ toValue<TProperty>(value: TProperty): TParentBuilder;
20
+ /**
21
+ * Maps the read model property from a named event context property.
22
+ * @param contextPropertyName - The name of the event context property to read from.
23
+ * @returns The parent builder for fluent chaining.
24
+ */
25
+ toEventContextProperty(contextPropertyName: string): TParentBuilder;
26
+ /**
27
+ * Maps the read model property from the event source identifier.
28
+ * @returns The parent builder for fluent chaining.
29
+ */
30
+ toEventSourceId(): TParentBuilder;
31
+ }
32
+ //# sourceMappingURL=ISetBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISetBuilder.d.ts","sourceRoot":"","sources":["../../../Projections/declarative/ISetBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,MAAM,EAAE,cAAc;IAC/C;;;;OAIG;IACH,EAAE,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,cAAc,CAAC;IAErD;;;;OAIG;IACH,sBAAsB,CAAC,mBAAmB,EAAE,MAAM,GAAG,cAAc,CAAC;IAEpE;;;OAGG;IACH,eAAe,IAAI,cAAc,CAAC;CACrC"}
@@ -0,0 +1,4 @@
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
+ export {};
4
+ //# sourceMappingURL=ISetBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISetBuilder.js","sourceRoot":"","sources":["../../../Projections/declarative/ISetBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,15 @@
1
+ import { PropertyAccessor } from '@cratis/fundamentals';
2
+ /**
3
+ * Defines a builder for configuring a subtract operation on a read model property.
4
+ * @template TEvent - The event type.
5
+ * @template TParentBuilder - The parent builder type for fluent return.
6
+ */
7
+ export interface ISubtractBuilder<TEvent, TParentBuilder> {
8
+ /**
9
+ * Subtracts the value of the specified event property from the read model property.
10
+ * @param eventPropertyAccessor - Accessor for the source property on the event.
11
+ * @returns The parent builder for fluent chaining.
12
+ */
13
+ with(eventPropertyAccessor: PropertyAccessor<TEvent>): TParentBuilder;
14
+ }
15
+ //# sourceMappingURL=ISubtractBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISubtractBuilder.d.ts","sourceRoot":"","sources":["../../../Projections/declarative/ISubtractBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM,EAAE,cAAc;IACpD;;;;OAIG;IACH,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;CACzE"}
@@ -0,0 +1,4 @@
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
+ export {};
4
+ //# sourceMappingURL=ISubtractBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISubtractBuilder.js","sourceRoot":"","sources":["../../../Projections/declarative/ISubtractBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,58 @@
1
+ import { PropertyAccessor } from '@cratis/fundamentals';
2
+ import { IAddBuilder } from './IAddBuilder';
3
+ import { IAddChildBuilder } from './IAddChildBuilder';
4
+ import { ICompositeKeyBuilder } from './ICompositeKeyBuilder';
5
+ import { IJoinBuilder } from './IJoinBuilder';
6
+ import { ISetBuilder } from './ISetBuilder';
7
+ import { ISubtractBuilder } from './ISubtractBuilder';
8
+ /**
9
+ * Accumulated property mapping for a join clause.
10
+ */
11
+ export interface JoinEntry {
12
+ on: string;
13
+ properties: Record<string, string>;
14
+ key: string;
15
+ }
16
+ /**
17
+ * Concrete implementation of {@link IJoinBuilder}.
18
+ * @template TReadModel - The read model type.
19
+ * @template TEvent - The event type.
20
+ */
21
+ export declare class JoinBuilder<TReadModel, TEvent> implements IJoinBuilder<TReadModel, TEvent> {
22
+ readonly entry: JoinEntry;
23
+ /** @inheritdoc */
24
+ on(readModelPropertyAccessor: PropertyAccessor<TReadModel>): this;
25
+ /** @inheritdoc */
26
+ set(readModelPropertyAccessor: PropertyAccessor<TReadModel>): ISetBuilder<TEvent, IJoinBuilder<TReadModel, TEvent>>;
27
+ /** @inheritdoc */
28
+ usingKey(keyAccessor: PropertyAccessor<TEvent>): this;
29
+ /** @inheritdoc */
30
+ usingKeyFromContext(contextPropertyName: string): this;
31
+ /** @inheritdoc */
32
+ usingParentKey(_keyAccessor: PropertyAccessor<TEvent>): this;
33
+ /** @inheritdoc */
34
+ usingParentKeyFromContext(_contextPropertyName: string): this;
35
+ /** @inheritdoc */
36
+ usingCompositeKey<TKeyType>(_builderCallback: (builder: ICompositeKeyBuilder<TKeyType, TEvent>) => void): this;
37
+ /** @inheritdoc */
38
+ usingParentCompositeKey<TKeyType>(_builderCallback: (builder: ICompositeKeyBuilder<TKeyType, TEvent>) => void): this;
39
+ /** @inheritdoc */
40
+ usingConstantKey(value: string): this;
41
+ /** @inheritdoc */
42
+ usingConstantParentKey(_value: string): this;
43
+ /** @inheritdoc */
44
+ increment(readModelPropertyAccessor: PropertyAccessor<TReadModel>): this;
45
+ /** @inheritdoc */
46
+ decrement(readModelPropertyAccessor: PropertyAccessor<TReadModel>): this;
47
+ /** @inheritdoc */
48
+ add(_readModelPropertyAccessor: PropertyAccessor<TReadModel>): IAddBuilder<TEvent, this>;
49
+ /** @inheritdoc */
50
+ subtract(_readModelPropertyAccessor: PropertyAccessor<TReadModel>): ISubtractBuilder<TEvent, this>;
51
+ /** @inheritdoc */
52
+ count(_readModelPropertyAccessor: PropertyAccessor<TReadModel>): this;
53
+ /** @inheritdoc */
54
+ addChild<TChildModel>(_targetPropertyAccessor: PropertyAccessor<TReadModel>, _eventPropertyAccessorOrBuilderCallback: PropertyAccessor<TEvent> | ((builder: IAddChildBuilder<TChildModel, TEvent>) => void)): this;
55
+ /** @inheritdoc */
56
+ setThisValue(): ISetBuilder<TEvent, this>;
57
+ }
58
+ //# sourceMappingURL=JoinBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JoinBuilder.d.ts","sourceRoot":"","sources":["../../../Projections/declarative/JoinBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
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
+ import { PropertyPathResolverProxyHandler } from '@cratis/fundamentals';
4
+ import { SetBuilder } from './SetBuilder';
5
+ /**
6
+ * Concrete implementation of {@link IJoinBuilder}.
7
+ * @template TReadModel - The read model type.
8
+ * @template TEvent - The event type.
9
+ */
10
+ export class JoinBuilder {
11
+ entry = {
12
+ on: '',
13
+ properties: {},
14
+ key: '$eventSourceId'
15
+ };
16
+ /** @inheritdoc */
17
+ on(readModelPropertyAccessor) {
18
+ const handler = new PropertyPathResolverProxyHandler();
19
+ const proxy = new Proxy({}, handler);
20
+ readModelPropertyAccessor(proxy);
21
+ this.entry.on = handler.property;
22
+ return this;
23
+ }
24
+ /** @inheritdoc */
25
+ set(readModelPropertyAccessor) {
26
+ const handler = new PropertyPathResolverProxyHandler();
27
+ const proxy = new Proxy({}, handler);
28
+ readModelPropertyAccessor(proxy);
29
+ const readModelProperty = handler.property;
30
+ return new SetBuilder(readModelProperty, (property, expression) => { this.entry.properties[property] = expression; }, this);
31
+ }
32
+ /** @inheritdoc */
33
+ usingKey(keyAccessor) {
34
+ const handler = new PropertyPathResolverProxyHandler();
35
+ const proxy = new Proxy({}, handler);
36
+ keyAccessor(proxy);
37
+ this.entry.key = handler.property;
38
+ return this;
39
+ }
40
+ /** @inheritdoc */
41
+ usingKeyFromContext(contextPropertyName) {
42
+ this.entry.key = `$context.${contextPropertyName}`;
43
+ return this;
44
+ }
45
+ /** @inheritdoc */
46
+ usingParentKey(_keyAccessor) {
47
+ throw new Error('usingParentKey is not supported for join mappings.');
48
+ }
49
+ /** @inheritdoc */
50
+ usingParentKeyFromContext(_contextPropertyName) {
51
+ throw new Error('usingParentKeyFromContext is not supported for join mappings.');
52
+ }
53
+ /** @inheritdoc */
54
+ usingCompositeKey(_builderCallback) {
55
+ throw new Error('usingCompositeKey is not implemented yet.');
56
+ }
57
+ /** @inheritdoc */
58
+ usingParentCompositeKey(_builderCallback) {
59
+ throw new Error('usingParentCompositeKey is not supported for join mappings.');
60
+ }
61
+ /** @inheritdoc */
62
+ usingConstantKey(value) {
63
+ this.entry.key = value;
64
+ return this;
65
+ }
66
+ /** @inheritdoc */
67
+ usingConstantParentKey(_value) {
68
+ throw new Error('usingConstantParentKey is not supported for join mappings.');
69
+ }
70
+ /** @inheritdoc */
71
+ increment(readModelPropertyAccessor) {
72
+ const handler = new PropertyPathResolverProxyHandler();
73
+ const proxy = new Proxy({}, handler);
74
+ readModelPropertyAccessor(proxy);
75
+ this.entry.properties[handler.property] = '$increment';
76
+ return this;
77
+ }
78
+ /** @inheritdoc */
79
+ decrement(readModelPropertyAccessor) {
80
+ const handler = new PropertyPathResolverProxyHandler();
81
+ const proxy = new Proxy({}, handler);
82
+ readModelPropertyAccessor(proxy);
83
+ this.entry.properties[handler.property] = '$decrement';
84
+ return this;
85
+ }
86
+ /** @inheritdoc */
87
+ add(_readModelPropertyAccessor) {
88
+ throw new Error('add is not implemented yet.');
89
+ }
90
+ /** @inheritdoc */
91
+ subtract(_readModelPropertyAccessor) {
92
+ throw new Error('subtract is not implemented yet.');
93
+ }
94
+ /** @inheritdoc */
95
+ count(_readModelPropertyAccessor) {
96
+ throw new Error('count is not implemented yet.');
97
+ }
98
+ /** @inheritdoc */
99
+ addChild(_targetPropertyAccessor, _eventPropertyAccessorOrBuilderCallback) {
100
+ throw new Error('addChild is not implemented yet.');
101
+ }
102
+ /** @inheritdoc */
103
+ setThisValue() {
104
+ throw new Error('setThisValue is not implemented yet.');
105
+ }
106
+ }
107
+ //# sourceMappingURL=JoinBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JoinBuilder.js","sourceRoot":"","sources":["../../../Projections/declarative/JoinBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAO1F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACX,KAAK,GAAc;QACxB,EAAE,EAAE,EAAE;QACN,UAAU,EAAE,EAAE;QACd,GAAG,EAAE,gBAAgB;KACxB,CAAC;IAEF,kBAAkB;IAClB,EAAE,CAAC,yBAAuD;QACtD,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,yBAAyB,CAAC,KAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,yBAAuD;QACvD,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,yBAAyB,CAAC,KAAmB,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAE3C,OAAO,IAAI,UAAU,CACjB,iBAAiB,EACjB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAC3E,IAAI,CACP,CAAC;IACN,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,WAAqC;QAC1C,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,WAAW,CAAC,KAAe,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,mBAAmB,CAAC,mBAA2B;QAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,YAAY,mBAAmB,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,cAAc,CAAC,YAAsC;QACjD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB;IAClB,yBAAyB,CAAC,oBAA4B;QAClD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACrF,CAAC;IAED,kBAAkB;IAClB,iBAAiB,CAAW,gBAA2E;QACnG,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACjE,CAAC;IAED,kBAAkB;IAClB,uBAAuB,CAAW,gBAA2E;QACzG,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;IAED,kBAAkB;IAClB,gBAAgB,CAAC,KAAa;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,sBAAsB,CAAC,MAAc;QACjC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAClF,CAAC;IAED,kBAAkB;IAClB,SAAS,CAAC,yBAAuD;QAC7D,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,yBAAyB,CAAC,KAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,SAAS,CAAC,yBAAuD;QAC7D,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,yBAAyB,CAAC,KAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,0BAAwD;QACxD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,0BAAwD;QAC7D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,0BAAwD;QAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,CAAC;IAED,kBAAkB;IAClB,QAAQ,CACJ,uBAAqD,EACrD,uCAA8H;QAE9H,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB;IAClB,YAAY;QACR,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5D,CAAC;CACJ"}
@@ -0,0 +1,68 @@
1
+ import { IChildrenBuilder } from './IChildrenBuilder';
2
+ import { IFromBuilder } from './IFromBuilder';
3
+ import { IFromEveryBuilder } from './IFromEveryBuilder';
4
+ import { IJoinBuilder } from './IJoinBuilder';
5
+ import { INestedBuilder } from './INestedBuilder';
6
+ import { IProjectionBuilderFor } from './IProjectionBuilderFor';
7
+ import { IRemovedWithBuilder } from './IRemovedWithBuilder';
8
+ import { IRemovedWithJoinBuilder } from './IRemovedWithJoinBuilder';
9
+ /**
10
+ * Concrete implementation of {@link IProjectionBuilderFor} that accumulates projection
11
+ * configuration and produces a Chronicle-compatible projection definition payload.
12
+ * @template TReadModel - The read model type this projection produces.
13
+ */
14
+ export declare class ProjectionBuilderFor<TReadModel> implements IProjectionBuilderFor<TReadModel> {
15
+ private _eventSequenceId;
16
+ private _containerName;
17
+ private _rewindable;
18
+ private _active;
19
+ private _autoMap;
20
+ private _initialState;
21
+ private readonly _from;
22
+ private readonly _join;
23
+ private readonly _removedWith;
24
+ private readonly _removedWithJoin;
25
+ private _all;
26
+ /** @inheritdoc */
27
+ fromEventSequence(eventSequenceId: string): this;
28
+ /** @inheritdoc */
29
+ containerName(name: string): this;
30
+ /** @inheritdoc */
31
+ notRewindable(): this;
32
+ /** @inheritdoc */
33
+ passive(): this;
34
+ /** @inheritdoc */
35
+ autoMap(): this;
36
+ /** @inheritdoc */
37
+ noAutoMap(): this;
38
+ /** @inheritdoc */
39
+ withInitialValues(initialValueProvider: () => TReadModel): this;
40
+ /** @inheritdoc */
41
+ from<TEvent>(eventType: new (...args: any[]) => TEvent, builderCallback?: (builder: IFromBuilder<TReadModel, TEvent>) => void): this;
42
+ /** @inheritdoc */
43
+ join<TEvent>(eventType: new (...args: any[]) => TEvent, builderCallback?: (builder: IJoinBuilder<TReadModel, TEvent>) => void): this;
44
+ /** @inheritdoc */
45
+ fromEvery(builderCallback: (builder: IFromEveryBuilder<TReadModel>) => void): this;
46
+ /** @inheritdoc */
47
+ removedWith<TEvent>(eventType: new (...args: any[]) => TEvent, builderCallback?: (builder: IRemovedWithBuilder<TReadModel, TEvent>) => void): this;
48
+ /** @inheritdoc */
49
+ removedWithJoin<TEvent>(eventType: new (...args: any[]) => TEvent, builderCallback?: (builder: IRemovedWithJoinBuilder<TReadModel, TEvent>) => void): this;
50
+ /** @inheritdoc */
51
+ children<TChildModel>(_targetPropertyAccessor: any, _builderCallback: (builder: IChildrenBuilder<TReadModel, TChildModel>) => void): this;
52
+ /** @inheritdoc */
53
+ nested<TNestedModel>(_targetPropertyAccessor: any, _builderCallback: (builder: INestedBuilder<TReadModel, TNestedModel>) => void): this;
54
+ /**
55
+ * Builds the contract-compatible projection definition payload.
56
+ * @param identifier - The projection identifier.
57
+ * @param readModelName - The read model container name.
58
+ * @returns The projection definition object ready to send to the kernel.
59
+ */
60
+ build(identifier: string, readModelName: string): Record<string, unknown>;
61
+ /**
62
+ * Gets the set of read model properties referenced by configured mappings.
63
+ * @returns Unique read model property names used by from/join/fromEvery mappings.
64
+ */
65
+ getMappedReadModelProperties(): string[];
66
+ private toContractEventType;
67
+ }
68
+ //# sourceMappingURL=ProjectionBuilderFor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectionBuilderFor.d.ts","sourceRoot":"","sources":["../../../Projections/declarative/ProjectionBuilderFor.ts"],"names":[],"mappings":"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"}