@cratis/chronicle 6.9.0 → 6.10.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 (268) hide show
  1. package/ChronicleClient.ts +52 -13
  2. package/ChronicleOptions.spec.ts +54 -0
  3. package/ChronicleOptions.ts +20 -5
  4. package/EventStore.ts +7 -1
  5. package/README.md +2 -3
  6. package/artifacts/DefaultClientArtifactsProvider.ts +4 -1
  7. package/connection/ChronicleConnection.auth.spec.ts +219 -0
  8. package/connection/ChronicleConnection.ts +70 -31
  9. package/connection/ChronicleServices.ts +1 -1
  10. package/connection/CompatibilityPreflight.ts +1 -1
  11. package/connection/RejectedChronicleCredentials.ts +10 -0
  12. package/connection/TokenProvider.spec.ts +5 -6
  13. package/connection/TokenProvider.ts +26 -17
  14. package/connection/clientVersion.spec.ts +27 -0
  15. package/connection/clientVersion.ts +9 -0
  16. package/connection/describeRequestError.spec.ts +22 -0
  17. package/connection/fetchOAuthAccessToken.ts +33 -2
  18. package/dist/ChronicleClient.d.ts +3 -0
  19. package/dist/ChronicleClient.d.ts.map +1 -1
  20. package/dist/ChronicleClient.js +55 -13
  21. package/dist/ChronicleClient.js.map +1 -1
  22. package/dist/ChronicleOptions.d.ts +5 -1
  23. package/dist/ChronicleOptions.d.ts.map +1 -1
  24. package/dist/ChronicleOptions.js +20 -5
  25. package/dist/ChronicleOptions.js.map +1 -1
  26. package/dist/EventStore.d.ts +2 -0
  27. package/dist/EventStore.d.ts.map +1 -1
  28. package/dist/EventStore.js +6 -1
  29. package/dist/EventStore.js.map +1 -1
  30. package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -1
  31. package/dist/artifacts/DefaultClientArtifactsProvider.js +4 -1
  32. package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -1
  33. package/dist/connection/ChronicleConnection.d.ts +3 -3
  34. package/dist/connection/ChronicleConnection.d.ts.map +1 -1
  35. package/dist/connection/ChronicleConnection.js +74 -26
  36. package/dist/connection/ChronicleConnection.js.map +1 -1
  37. package/dist/connection/ChronicleServices.d.ts +1 -2
  38. package/dist/connection/ChronicleServices.d.ts.map +1 -1
  39. package/dist/connection/CompatibilityPreflight.js +1 -1
  40. package/dist/connection/CompatibilityPreflight.js.map +1 -1
  41. package/dist/connection/RejectedChronicleCredentials.d.ts +5 -0
  42. package/dist/connection/RejectedChronicleCredentials.d.ts.map +1 -0
  43. package/dist/connection/RejectedChronicleCredentials.js +10 -0
  44. package/dist/connection/RejectedChronicleCredentials.js.map +1 -0
  45. package/dist/connection/TokenProvider.d.ts +8 -6
  46. package/dist/connection/TokenProvider.d.ts.map +1 -1
  47. package/dist/connection/TokenProvider.js +25 -11
  48. package/dist/connection/TokenProvider.js.map +1 -1
  49. package/dist/connection/clientVersion.d.ts +3 -0
  50. package/dist/connection/clientVersion.d.ts.map +1 -0
  51. package/dist/connection/clientVersion.js +7 -0
  52. package/dist/connection/clientVersion.js.map +1 -0
  53. package/dist/connection/fetchOAuthAccessToken.d.ts +12 -0
  54. package/dist/connection/fetchOAuthAccessToken.d.ts.map +1 -1
  55. package/dist/connection/fetchOAuthAccessToken.js +37 -2
  56. package/dist/connection/fetchOAuthAccessToken.js.map +1 -1
  57. package/dist/externalServices/ExternalServiceBuilder.d.ts +1 -1
  58. package/dist/externalServices/ExternalServiceBuilder.d.ts.map +1 -1
  59. package/dist/externalServices/ExternalServiceBuilder.js +1 -1
  60. package/dist/externalServices/ExternalServiceBuilder.js.map +1 -1
  61. package/dist/externalServices/ExternalServices.d.ts.map +1 -1
  62. package/dist/externalServices/ExternalServices.js +3 -1
  63. package/dist/externalServices/ExternalServices.js.map +1 -1
  64. package/dist/index.d.ts +1 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +1 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/projections/Projections.d.ts.map +1 -1
  69. package/dist/projections/Projections.js +9 -7
  70. package/dist/projections/Projections.js.map +1 -1
  71. package/dist/projections/constantValueExpression.d.ts +3 -0
  72. package/dist/projections/constantValueExpression.d.ts.map +1 -0
  73. package/dist/projections/constantValueExpression.js +26 -0
  74. package/dist/projections/constantValueExpression.js.map +1 -0
  75. package/dist/projections/declarative/ChildrenBuilder.d.ts +2 -0
  76. package/dist/projections/declarative/ChildrenBuilder.d.ts.map +1 -1
  77. package/dist/projections/declarative/ChildrenBuilder.js +5 -0
  78. package/dist/projections/declarative/ChildrenBuilder.js.map +1 -1
  79. package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
  80. package/dist/projections/declarative/FromBuilder.js +3 -2
  81. package/dist/projections/declarative/FromBuilder.js.map +1 -1
  82. package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
  83. package/dist/projections/declarative/JoinBuilder.js +2 -1
  84. package/dist/projections/declarative/JoinBuilder.js.map +1 -1
  85. package/dist/projections/declarative/NestedBuilder.d.ts.map +1 -1
  86. package/dist/projections/declarative/NestedBuilder.js +3 -1
  87. package/dist/projections/declarative/NestedBuilder.js.map +1 -1
  88. package/dist/projections/declarative/ProjectionBuilderCore.d.ts +5 -0
  89. package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -1
  90. package/dist/projections/declarative/ProjectionBuilderCore.js +18 -2
  91. package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -1
  92. package/dist/projections/declarative/ProjectionBuilderFor.d.ts +6 -0
  93. package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
  94. package/dist/projections/declarative/ProjectionBuilderFor.js +5 -0
  95. package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
  96. package/dist/projections/declarative/SetBuilder.d.ts.map +1 -1
  97. package/dist/projections/declarative/SetBuilder.js +2 -1
  98. package/dist/projections/declarative/SetBuilder.js.map +1 -1
  99. package/dist/projections/modelBound/addFrom.d.ts.map +1 -1
  100. package/dist/projections/modelBound/addFrom.js +3 -2
  101. package/dist/projections/modelBound/addFrom.js.map +1 -1
  102. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +20 -0
  103. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -1
  104. package/dist/projections/modelBound/childrenAndNestedBuilder.js +14 -11
  105. package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -1
  106. package/dist/projections/modelBound/childrenFrom.d.ts +4 -2
  107. package/dist/projections/modelBound/childrenFrom.d.ts.map +1 -1
  108. package/dist/projections/modelBound/childrenFrom.js +8 -4
  109. package/dist/projections/modelBound/childrenFrom.js.map +1 -1
  110. package/dist/projections/modelBound/clearWith.d.ts.map +1 -1
  111. package/dist/projections/modelBound/clearWith.js +3 -2
  112. package/dist/projections/modelBound/clearWith.js.map +1 -1
  113. package/dist/projections/modelBound/count.d.ts.map +1 -1
  114. package/dist/projections/modelBound/count.js +3 -2
  115. package/dist/projections/modelBound/count.js.map +1 -1
  116. package/dist/projections/modelBound/decrement.d.ts.map +1 -1
  117. package/dist/projections/modelBound/decrement.js +3 -2
  118. package/dist/projections/modelBound/decrement.js.map +1 -1
  119. package/dist/projections/modelBound/fromAll.d.ts.map +1 -1
  120. package/dist/projections/modelBound/fromAll.js +3 -2
  121. package/dist/projections/modelBound/fromAll.js.map +1 -1
  122. package/dist/projections/modelBound/fromEvery.d.ts.map +1 -1
  123. package/dist/projections/modelBound/fromEvery.js +3 -2
  124. package/dist/projections/modelBound/fromEvery.js.map +1 -1
  125. package/dist/projections/modelBound/increment.d.ts.map +1 -1
  126. package/dist/projections/modelBound/increment.js +3 -2
  127. package/dist/projections/modelBound/increment.js.map +1 -1
  128. package/dist/projections/modelBound/join.d.ts.map +1 -1
  129. package/dist/projections/modelBound/join.js +3 -2
  130. package/dist/projections/modelBound/join.js.map +1 -1
  131. package/dist/projections/modelBound/nested.d.ts.map +1 -1
  132. package/dist/projections/modelBound/nested.js +3 -2
  133. package/dist/projections/modelBound/nested.js.map +1 -1
  134. package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -1
  135. package/dist/projections/modelBound/noAutoMap.js +3 -2
  136. package/dist/projections/modelBound/noAutoMap.js.map +1 -1
  137. package/dist/projections/modelBound/removedWith.d.ts.map +1 -1
  138. package/dist/projections/modelBound/removedWith.js +3 -2
  139. package/dist/projections/modelBound/removedWith.js.map +1 -1
  140. package/dist/projections/modelBound/removedWithJoin.d.ts.map +1 -1
  141. package/dist/projections/modelBound/removedWithJoin.js +3 -2
  142. package/dist/projections/modelBound/removedWithJoin.js.map +1 -1
  143. package/dist/projections/modelBound/setFrom.d.ts.map +1 -1
  144. package/dist/projections/modelBound/setFrom.js +3 -2
  145. package/dist/projections/modelBound/setFrom.js.map +1 -1
  146. package/dist/projections/modelBound/setFromContext.d.ts.map +1 -1
  147. package/dist/projections/modelBound/setFromContext.js +3 -2
  148. package/dist/projections/modelBound/setFromContext.js.map +1 -1
  149. package/dist/projections/modelBound/setValue.d.ts.map +1 -1
  150. package/dist/projections/modelBound/setValue.js +3 -2
  151. package/dist/projections/modelBound/setValue.js.map +1 -1
  152. package/dist/projections/modelBound/subtractFrom.d.ts.map +1 -1
  153. package/dist/projections/modelBound/subtractFrom.js +3 -2
  154. package/dist/projections/modelBound/subtractFrom.js.map +1 -1
  155. package/dist/projections/notSetPropertyPath.d.ts +3 -0
  156. package/dist/projections/notSetPropertyPath.d.ts.map +1 -0
  157. package/dist/projections/notSetPropertyPath.js +5 -0
  158. package/dist/projections/notSetPropertyPath.js.map +1 -0
  159. package/dist/reactors/Reactors.d.ts +4 -0
  160. package/dist/reactors/Reactors.d.ts.map +1 -1
  161. package/dist/reactors/Reactors.js +24 -6
  162. package/dist/reactors/Reactors.js.map +1 -1
  163. package/dist/reactors/reactor.d.ts +2 -2
  164. package/dist/reactors/reactor.js +2 -2
  165. package/dist/readModels/MaterializedReadModels.d.ts.map +1 -1
  166. package/dist/readModels/MaterializedReadModels.js +2 -4
  167. package/dist/readModels/MaterializedReadModels.js.map +1 -1
  168. package/dist/readModels/ReadModels.d.ts +2 -1
  169. package/dist/readModels/ReadModels.d.ts.map +1 -1
  170. package/dist/readModels/ReadModels.js +19 -10
  171. package/dist/readModels/ReadModels.js.map +1 -1
  172. package/dist/readModels/deserializeReadModel.d.ts +5 -0
  173. package/dist/readModels/deserializeReadModel.d.ts.map +1 -0
  174. package/dist/readModels/deserializeReadModel.js +84 -0
  175. package/dist/readModels/deserializeReadModel.js.map +1 -0
  176. package/dist/readModels/rootReadModelTypes.d.ts +5 -0
  177. package/dist/readModels/rootReadModelTypes.d.ts.map +1 -0
  178. package/dist/readModels/rootReadModelTypes.js +69 -0
  179. package/dist/readModels/rootReadModelTypes.js.map +1 -0
  180. package/dist/reducers/Reducers.d.ts +4 -0
  181. package/dist/reducers/Reducers.d.ts.map +1 -1
  182. package/dist/reducers/Reducers.js +24 -6
  183. package/dist/reducers/Reducers.js.map +1 -1
  184. package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
  185. package/dist/schemas/JsonSchemaGenerator.js +4 -4
  186. package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
  187. package/dist/tsconfig.tsbuildinfo +1 -1
  188. package/dist/types/TypeDiscoverer.d.ts +8 -1
  189. package/dist/types/TypeDiscoverer.d.ts.map +1 -1
  190. package/dist/types/TypeDiscoverer.js +25 -5
  191. package/dist/types/TypeDiscoverer.js.map +1 -1
  192. package/dist/types/TypeIntrospector.d.ts.map +1 -1
  193. package/dist/types/TypeIntrospector.js +3 -2
  194. package/dist/types/TypeIntrospector.js.map +1 -1
  195. package/dist/types/conceptValueType.d.ts +4 -0
  196. package/dist/types/conceptValueType.d.ts.map +1 -0
  197. package/dist/types/conceptValueType.js +10 -0
  198. package/dist/types/conceptValueType.js.map +1 -0
  199. package/dist/types/modelBoundProperty.d.ts +6 -0
  200. package/dist/types/modelBoundProperty.d.ts.map +1 -0
  201. package/dist/types/modelBoundProperty.js +53 -0
  202. package/dist/types/modelBoundProperty.js.map +1 -0
  203. package/externalServices/ExternalServiceBuilder.ts +4 -4
  204. package/externalServices/ExternalServices.spec.ts +87 -0
  205. package/externalServices/ExternalServices.ts +3 -1
  206. package/for_ChronicleClient/connectionAuthentication.spec.ts +67 -0
  207. package/index.ts +1 -0
  208. package/observation/observationDisposal.spec.ts +74 -0
  209. package/package.json +2 -1
  210. package/projections/Projections.childrenAndNested.spec.ts +2 -0
  211. package/projections/Projections.modelBoundCompleteness.spec.ts +47 -0
  212. package/projections/Projections.ts +9 -7
  213. package/projections/constantValueExpression.spec.ts +31 -0
  214. package/projections/constantValueExpression.ts +28 -0
  215. package/projections/declarative/ChildrenBuilder.spec.ts +46 -1
  216. package/projections/declarative/ChildrenBuilder.ts +6 -0
  217. package/projections/declarative/FromBuilder.ts +3 -2
  218. package/projections/declarative/JoinBuilder.ts +2 -1
  219. package/projections/declarative/NestedBuilder.ts +3 -1
  220. package/projections/declarative/ProjectionBuilderCore.ts +20 -2
  221. package/projections/declarative/ProjectionBuilderFor.spec.ts +61 -4
  222. package/projections/declarative/ProjectionBuilderFor.ts +7 -0
  223. package/projections/declarative/SetBuilder.ts +2 -1
  224. package/projections/modelBound/addFrom.ts +3 -2
  225. package/projections/modelBound/childrenAndNestedBuilder.ts +14 -11
  226. package/projections/modelBound/childrenFrom.ts +11 -5
  227. package/projections/modelBound/clearWith.ts +3 -2
  228. package/projections/modelBound/count.ts +3 -2
  229. package/projections/modelBound/decorators.standard.spec.ts +45 -0
  230. package/projections/modelBound/decrement.ts +3 -2
  231. package/projections/modelBound/fromAll.ts +3 -2
  232. package/projections/modelBound/fromEvery.ts +3 -2
  233. package/projections/modelBound/increment.ts +3 -2
  234. package/projections/modelBound/join.ts +3 -2
  235. package/projections/modelBound/nested.ts +3 -2
  236. package/projections/modelBound/noAutoMap.ts +3 -2
  237. package/projections/modelBound/removedWith.ts +3 -2
  238. package/projections/modelBound/removedWithJoin.ts +3 -2
  239. package/projections/modelBound/setFrom.ts +3 -2
  240. package/projections/modelBound/setFromContext.ts +3 -2
  241. package/projections/modelBound/setValue.ts +3 -2
  242. package/projections/modelBound/subtractFrom.ts +3 -2
  243. package/projections/notSetPropertyPath.ts +5 -0
  244. package/reactors/Reactors.ts +22 -7
  245. package/reactors/reactor.ts +2 -2
  246. package/readModels/MaterializedReadModels.spec.ts +22 -0
  247. package/readModels/MaterializedReadModels.ts +2 -4
  248. package/readModels/ReadModels.spec.ts +109 -1
  249. package/readModels/ReadModels.ts +21 -11
  250. package/readModels/conceptValueType.spec.ts +20 -0
  251. package/readModels/deserializeReadModel.spec.ts +84 -0
  252. package/readModels/deserializeReadModel.ts +82 -0
  253. package/readModels/discovery.spec.ts +27 -0
  254. package/readModels/rootReadModelTypes.spec.ts +115 -0
  255. package/readModels/rootReadModelTypes.ts +65 -0
  256. package/reducers/Reducers.ts +22 -7
  257. package/schemas/JsonSchemaGenerator.ts +4 -4
  258. package/schemas/legacyDesignMetadata.spec.ts +24 -2
  259. package/types/TypeDiscoverer.spec.ts +57 -0
  260. package/types/TypeDiscoverer.ts +27 -6
  261. package/types/TypeIntrospector.ts +3 -2
  262. package/types/conceptValueType.ts +11 -0
  263. package/types/modelBoundProperty.ts +53 -0
  264. package/dist/externalServices/ExternalServicesContracts.d.ts +0 -137
  265. package/dist/externalServices/ExternalServicesContracts.d.ts.map +0 -1
  266. package/dist/externalServices/ExternalServicesContracts.js +0 -654
  267. package/dist/externalServices/ExternalServicesContracts.js.map +0 -1
  268. package/externalServices/ExternalServicesContracts.ts +0 -709
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const METADATA_KEY = 'chronicle:projection:fromAll';
7
8
  /**
8
9
  * Property decorator that sets the decorated read model property from a property present on every
@@ -14,7 +15,7 @@ const METADATA_KEY = 'chronicle:projection:fromAll';
14
15
  * @returns A property decorator.
15
16
  */
16
17
  export function fromAll(property, contextProperty) {
17
- return decorateProperty((target, propertyKey) => {
18
+ return decorateModelBoundProperty((target, propertyKey) => {
18
19
  TypeIntrospector.trackProperty(target.constructor, propertyKey.toString());
19
20
  const metadata = { property, contextProperty };
20
21
  Reflect.defineMetadata(METADATA_KEY, metadata, target, propertyKey.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"fromAll.js","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU7H,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,QAAiB,EAAE,eAAwB;IAC/D,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,mBAAmB,CAAkB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"fromAll.js","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,QAAiB,EAAE,eAAwB;IAC/D,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,mBAAmB,CAAkB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fromEvery.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromEvery.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAyC,MAAM,0CAA0C,CAAC;AAE7H,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAMjG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEvG"}
1
+ {"version":3,"file":"fromEvery.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromEvery.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAMjG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEvG"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const METADATA_KEY = 'chronicle:projection:fromEvery';
7
8
  /**
8
9
  * Property decorator that sets the decorated read model property from a property present on every projected event.
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:fromEvery';
11
12
  * @returns A property decorator.
12
13
  */
13
14
  export function fromEvery(property, contextProperty) {
14
- return decorateProperty((target, propertyKey) => {
15
+ return decorateModelBoundProperty((target, propertyKey) => {
15
16
  TypeIntrospector.trackProperty(target.constructor, propertyKey.toString());
16
17
  const metadata = { property, contextProperty };
17
18
  Reflect.defineMetadata(METADATA_KEY, metadata, target, propertyKey.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"fromEvery.js","sourceRoot":"","sources":["../../../projections/modelBound/fromEvery.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU7H,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAiB,EAAE,eAAwB;IACjE,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAsB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAClE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAmB;IACpE,OAAO,mBAAmB,CAAoB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"fromEvery.js","sourceRoot":"","sources":["../../../projections/modelBound/fromEvery.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAiB,EAAE,eAAwB;IACjE,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAsB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAClE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAmB;IACpE,OAAO,mBAAmB,CAAoB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACrF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"increment.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/increment.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAyC,MAAM,0CAA0C,CAAC;AAE7H,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ/F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAE7F"}
1
+ {"version":3,"file":"increment.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/increment.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ/F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAE7F"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const METADATA_KEY = 'chronicle:projection:increment';
7
8
  /**
8
9
  * Property decorator that increments the decorated read model property each time the specified event occurs.
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:increment';
11
12
  * @returns A property decorator.
12
13
  */
13
14
  export function increment(eventType, constantKey) {
14
- return decorateProperty((target, propertyKey) => {
15
+ return decorateModelBoundProperty((target, propertyKey) => {
15
16
  const key = propertyKey.toString();
16
17
  TypeIntrospector.trackProperty(target.constructor, key);
17
18
  const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"increment.js","sourceRoot":"","sources":["../../../projections/modelBound/increment.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU7H,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,SAAmB,EAAE,WAAoB;IAC/D,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAwB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3F,MAAM,QAAQ,GAAsB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC/D,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAmB;IACpE,OAAO,mBAAmB,CAAsB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"increment.js","sourceRoot":"","sources":["../../../projections/modelBound/increment.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,SAAmB,EAAE,WAAoB;IAC/D,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAwB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3F,MAAM,QAAQ,GAAsB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC/D,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAmB;IACpE,OAAO,mBAAmB,CAAsB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC7F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/join.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAyC,MAAM,0CAA0C,CAAC;AAE7H,sDAAsD;AACtD,MAAM,WAAW,YAAY;IACzB,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,sGAAsG;IACtG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ7G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAEnF"}
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/join.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,sDAAsD;AACtD,MAAM,WAAW,YAAY;IACzB,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,sGAAsG;IACtG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ7G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAEnF"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const METADATA_KEY = 'chronicle:projection:join';
7
8
  /**
8
9
  * Property decorator that configures a join relationship with an event type.
@@ -12,7 +13,7 @@ const METADATA_KEY = 'chronicle:projection:join';
12
13
  * @returns A property decorator.
13
14
  */
14
15
  export function join(eventType, on, eventPropertyName) {
15
- return decorateProperty((target, propertyKey) => {
16
+ return decorateModelBoundProperty((target, propertyKey) => {
16
17
  const key = propertyKey.toString();
17
18
  TypeIntrospector.trackProperty(target.constructor, key);
18
19
  const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"join.js","sourceRoot":"","sources":["../../../projections/modelBound/join.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAY7H,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,SAAmB,EAAE,EAAW,EAAE,iBAA0B;IAC7E,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAmB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC;QACpE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,WAAmB;IAC/D,OAAO,mBAAmB,CAAiB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"join.js","sourceRoot":"","sources":["../../../projections/modelBound/join.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAY3G,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,SAAmB,EAAE,EAAW,EAAE,iBAA0B;IAC7E,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAmB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC;QACpE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,WAAmB;IAC/D,OAAO,mBAAmB,CAAiB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACxF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"nested.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/nested.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAkB1B,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC3E,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC;AAKpF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAErE"}
1
+ {"version":3,"file":"nested.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/nested.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAmB1B,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC3E,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC;AAKpF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAErE"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateProperty, hasPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { hasPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
6
7
  const METADATA_KEY = 'chronicle:projection:nested';
7
8
  /**
8
9
  * Property decorator that marks a single nullable property as a nested sub-projection object.
@@ -10,7 +11,7 @@ const METADATA_KEY = 'chronicle:projection:nested';
10
11
  * @param target - The class prototype.
11
12
  * @param propertyKey - The property name.
12
13
  */
13
- const decorateNested = decorateProperty((target, propertyKey) => {
14
+ const decorateNested = decorateModelBoundProperty((target, propertyKey) => {
14
15
  const key = propertyKey.toString();
15
16
  TypeIntrospector.trackProperty(target.constructor, key);
16
17
  Reflect.defineMetadata(METADATA_KEY, true, target, key);
@@ -1 +1 @@
1
- {"version":3,"file":"nested.js","sourceRoot":"","sources":["../../../projections/modelBound/nested.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAEjG,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAQ,EAAE;IAC3F,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACvF,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAIH,MAAM,UAAU,MAAM,CAAC,MAA0B,EAAE,oBAAkE;IACjH,cAAc,CAAC,MAAmB,EAAE,oBAAkD,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,WAAmB;IACxD,OAAO,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"nested.js","sourceRoot":"","sources":["../../../projections/modelBound/nested.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,cAAc,GAAG,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAQ,EAAE;IACrG,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACvF,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAIH,MAAM,UAAU,MAAM,CAAC,MAA0B,EAAE,oBAAkE;IACjH,cAAc,CAAC,MAAmB,EAAE,oBAAkD,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,WAAmB;IACxD,OAAO,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"noAutoMap.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/noAutoMap.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AA2B1B,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;AAClD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC9E,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;AACjF,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC;AAKvF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAEhF"}
1
+ {"version":3,"file":"noAutoMap.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/noAutoMap.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AA4B1B,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;AAClD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC9E,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;AACjF,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC;AAKvF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAEhF"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateClassOrProperty, hasPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { hasPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
+ import { decorateModelBoundClassOrProperty } from '../../types/modelBoundProperty.js';
6
7
  const CLASS_METADATA_KEY = 'chronicle:projection:noAutoMap:class';
7
8
  const PROPERTY_METADATA_KEY = 'chronicle:projection:noAutoMap:property';
8
9
  /**
@@ -15,7 +16,7 @@ const PROPERTY_METADATA_KEY = 'chronicle:projection:noAutoMap:property';
15
16
  * @param target - The class constructor, or the class prototype when used on a property.
16
17
  * @param propertyKey - The property name, when used as a property decorator.
17
18
  */
18
- const decorateNoAutoMap = decorateClassOrProperty((target, propertyKey) => {
19
+ const decorateNoAutoMap = decorateModelBoundClassOrProperty((target, propertyKey) => {
19
20
  if (propertyKey !== undefined) {
20
21
  const key = propertyKey.toString();
21
22
  TypeIntrospector.trackProperty(target.constructor, key);
@@ -1 +1 @@
1
- {"version":3,"file":"noAutoMap.js","sourceRoot":"","sources":["../../../projections/modelBound/noAutoMap.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAExG,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,qBAAqB,GAAG,yCAAyC,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAQ,EAAE;IACtG,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAkB,CAAC,CAAC;IACzE,CAAC;AACL,CAAC,CAAC,CAAC;AAMH,MAAM,UAAU,SAAS,CAAC,MAA0B,EAAE,oBAA2F;IAC7I,iBAAiB,CAAC,MAAkB,EAAE,oBAA6C,CAAC,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAgB;IACxC,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"noAutoMap.js","sourceRoot":"","sources":["../../../projections/modelBound/noAutoMap.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAEtF,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,qBAAqB,GAAG,yCAAyC,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAQ,EAAE;IAChH,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAkB,CAAC,CAAC;IACzE,CAAC;AACL,CAAC,CAAC,CAAC;AAMH,MAAM,UAAU,SAAS,CAAC,MAA0B,EAAE,oBAA2F;IAC7I,iBAAiB,CAAC,MAAkB,EAAE,oBAA6C,CAAC,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAgB;IACxC,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"removedWith.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/removedWith.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iCAAiC,EAAgD,MAAM,0CAA0C,CAAC;AAE3I,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAChC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+GAA+G;IAC/G,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,2HAA2H;IAC3H,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAKD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAYpH;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,GAAG,mBAAmB,EAAE,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAEzG"}
1
+ {"version":3,"file":"removedWith.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/removedWith.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iCAAiC,EAAuB,MAAM,0CAA0C,CAAC;AAElH,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAChC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+GAA+G;IAC/G,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,2HAA2H;IAC3H,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAKD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAYpH;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,GAAG,mBAAmB,EAAE,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAEzG"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateClassOrProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundClassOrProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const CLASS_METADATA_KEY = 'chronicle:projection:removedWith:class';
7
8
  const PROPERTY_METADATA_KEY = 'chronicle:projection:removedWith:property';
8
9
  /**
@@ -15,7 +16,7 @@ const PROPERTY_METADATA_KEY = 'chronicle:projection:removedWith:property';
15
16
  * @returns A class and property decorator.
16
17
  */
17
18
  export function removedWith(eventType, key, parentKey) {
18
- return decorateClassOrProperty((target, propertyKey) => {
19
+ return decorateModelBoundClassOrProperty((target, propertyKey) => {
19
20
  if (propertyKey !== undefined) {
20
21
  const propKey = propertyKey.toString();
21
22
  TypeIntrospector.trackProperty(target.constructor, propKey);
@@ -1 +1 @@
1
- {"version":3,"file":"removedWith.js","sourceRoot":"","sources":["../../../projections/modelBound/removedWith.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAqC,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAY3I,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AACpE,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,SAAmB,EAAE,GAAY,EAAE,SAAkB;IAC7E,OAAO,uBAAuB,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QAC7E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAA0B,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1G,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAA0B,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9F,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACrG,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAgB;IACxD,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAc,EAAE,WAAmB;IAC9E,OAAO,mBAAmB,CAAwB,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACxG,CAAC"}
1
+ {"version":3,"file":"removedWith.js","sourceRoot":"","sources":["../../../projections/modelBound/removedWith.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAqC,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAYlH,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AACpE,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,SAAmB,EAAE,GAAY,EAAE,SAAkB;IAC7E,OAAO,iCAAiC,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QACvF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAA0B,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1G,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAA0B,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9F,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACrG,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAgB;IACxD,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAc,EAAE,WAAmB;IAC9E,OAAO,mBAAmB,CAAwB,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACxG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"removedWithJoin.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/removedWithJoin.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iCAAiC,EAAgD,MAAM,0CAA0C,CAAC;AAE3I,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+GAA+G;IAC/G,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAYpG;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,QAAQ,GAAG,uBAAuB,EAAE,CAE3F;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAEjH"}
1
+ {"version":3,"file":"removedWithJoin.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/removedWithJoin.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iCAAiC,EAAuB,MAAM,0CAA0C,CAAC;AAElH,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+GAA+G;IAC/G,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAYpG;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,QAAQ,GAAG,uBAAuB,EAAE,CAE3F;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAEjH"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateClassOrProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundClassOrProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const CLASS_METADATA_KEY = 'chronicle:projection:removedWithJoin:class';
7
8
  const PROPERTY_METADATA_KEY = 'chronicle:projection:removedWithJoin:property';
8
9
  /**
@@ -12,7 +13,7 @@ const PROPERTY_METADATA_KEY = 'chronicle:projection:removedWithJoin:property';
12
13
  * @returns A class and property decorator.
13
14
  */
14
15
  export function removedWithJoin(eventType, key) {
15
- return decorateClassOrProperty((target, propertyKey) => {
16
+ return decorateModelBoundClassOrProperty((target, propertyKey) => {
16
17
  if (propertyKey !== undefined) {
17
18
  const propKey = propertyKey.toString();
18
19
  TypeIntrospector.trackProperty(target.constructor, propKey);
@@ -1 +1 @@
1
- {"version":3,"file":"removedWithJoin.js","sourceRoot":"","sources":["../../../projections/modelBound/removedWithJoin.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAqC,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3I,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;AACxE,MAAM,qBAAqB,GAAG,+CAA+C,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAmB,EAAE,GAAY;IAC7D,OAAO,uBAAuB,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QAC7E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAA8B,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC9G,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtG,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAA8B,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClG,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAgB;IAC5D,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC,CAAC,MAAc,EAAE,WAAmB;IAClF,OAAO,mBAAmB,CAA4B,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5G,CAAC"}
1
+ {"version":3,"file":"removedWithJoin.js","sourceRoot":"","sources":["../../../projections/modelBound/removedWithJoin.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAqC,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAUlH,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;AACxE,MAAM,qBAAqB,GAAG,+CAA+C,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAmB,EAAE,GAAY;IAC7D,OAAO,iCAAiC,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QACvF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAA8B,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC9G,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtG,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAA8B,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClG,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAgB;IAC5D,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC,CAAC,MAAc,EAAE,WAAmB;IAClF,OAAO,mBAAmB,CAA4B,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5G,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAyC,MAAM,0CAA0C,CAAC;AAE7H,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQnG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAEzF"}
1
+ {"version":3,"file":"setFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQnG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAEzF"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const METADATA_KEY = 'chronicle:projection:setFrom';
7
8
  /**
8
9
  * Property decorator that maps an event property value onto the decorated read model property.
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:setFrom';
11
12
  * @returns A property decorator.
12
13
  */
13
14
  export function setFrom(eventType, eventPropertyName) {
14
- return decorateProperty((target, propertyKey) => {
15
+ return decorateModelBoundProperty((target, propertyKey) => {
15
16
  const key = propertyKey.toString();
16
17
  TypeIntrospector.trackProperty(target.constructor, key);
17
18
  const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"setFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/setFrom.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU7H,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,SAAmB,EAAE,iBAA0B;IACnE,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAsB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAoB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACnE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,mBAAmB,CAAoB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"setFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/setFrom.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,SAAmB,EAAE,iBAA0B;IACnE,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAsB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAoB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACnE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,mBAAmB,CAAoB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setFromContext.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setFromContext.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAyC,MAAM,0CAA0C,CAAC;AAE7H,gEAAgE;AAChE,MAAM,WAAW,sBAAsB;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACzC;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAAC;AAC9G,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,0BAA0B,CAAC;AAyB1I;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAEvG"}
1
+ {"version":3,"file":"setFromContext.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setFromContext.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,gEAAgE;AAChE,MAAM,WAAW,sBAAsB;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACzC;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAAC;AAC9G,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,0BAA0B,CAAC;AAyB1I;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAEvG"}
@@ -3,10 +3,11 @@
3
3
  import 'reflect-metadata';
4
4
  import { PropertyPathResolverProxyHandler } from '@cratis/fundamentals';
5
5
  import { TypeIntrospector } from '../../types/index.js';
6
- import { decorateProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
7
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
7
8
  const METADATA_KEY = 'chronicle:projection:setFromContext';
8
9
  export function setFromContext(eventType, contextPropertyOrAccessor) {
9
- return decorateProperty((target, propertyKey) => {
10
+ return decorateModelBoundProperty((target, propertyKey) => {
10
11
  const key = propertyKey.toString();
11
12
  TypeIntrospector.trackProperty(target.constructor, key);
12
13
  const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"setFromContext.js","sourceRoot":"","sources":["../../../projections/modelBound/setFromContext.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU7H,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAU3D,MAAM,UAAU,cAAc,CAC1B,SAAmB,EACnB,yBAAmE;IAEnE,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAA6B,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,mBAAuC,CAAC;QAC5C,IAAI,OAAO,yBAAyB,KAAK,QAAQ,EAAE,CAAC;YAChD,mBAAmB,GAAG,yBAAyB,CAAC;QACpD,CAAC;aAAM,IAAI,OAAO,yBAAyB,KAAK,UAAU,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACrC,yBAAyB,CAAC,KAAqB,CAAC,CAAC;YACjD,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAA2B,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;QAC5E,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc,EAAE,WAAmB;IACzE,OAAO,mBAAmB,CAA2B,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAClG,CAAC"}
1
+ {"version":3,"file":"setFromContext.js","sourceRoot":"","sources":["../../../projections/modelBound/setFromContext.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAU3D,MAAM,UAAU,cAAc,CAC1B,SAAmB,EACnB,yBAAmE;IAEnE,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAA6B,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,mBAAuC,CAAC;QAC5C,IAAI,OAAO,yBAAyB,KAAK,QAAQ,EAAE,CAAC;YAChD,mBAAmB,GAAG,yBAAyB,CAAC;QACpD,CAAC;aAAM,IAAI,OAAO,yBAAyB,KAAK,UAAU,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACrC,yBAAyB,CAAC,KAAqB,CAAC,CAAC;YACjD,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAA2B,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;QAC5E,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc,EAAE,WAAmB;IACzE,OAAO,mBAAmB,CAA2B,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAClG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setValue.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setValue.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAyC,MAAM,0CAA0C,CAAC;AAE7H,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B;AAID;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAQxF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAE3F"}
1
+ {"version":3,"file":"setValue.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setValue.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B;AAID;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAQxF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAE3F"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const METADATA_KEY = 'chronicle:projection:setValue';
7
8
  /**
8
9
  * Property decorator that sets the decorated read model property to a constant value when the specified event occurs.
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:setValue';
11
12
  * @returns A property decorator.
12
13
  */
13
14
  export function setValue(eventType, value) {
14
- return decorateProperty((target, propertyKey) => {
15
+ return decorateModelBoundProperty((target, propertyKey) => {
15
16
  const key = propertyKey.toString();
16
17
  TypeIntrospector.trackProperty(target.constructor, key);
17
18
  const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"setValue.js","sourceRoot":"","sources":["../../../projections/modelBound/setValue.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU7H,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAmB,EAAE,KAAc;IACxD,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAuB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1F,MAAM,QAAQ,GAAqB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACxD,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,mBAAmB,CAAqB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"setValue.js","sourceRoot":"","sources":["../../../projections/modelBound/setValue.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAmB,EAAE,KAAc;IACxD,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAuB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1F,MAAM,QAAQ,GAAqB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACxD,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,mBAAmB,CAAqB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"subtractFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/subtractFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAyC,MAAM,0CAA0C,CAAC;AAE7H,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+HAA+H;IAC/H,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQxG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAEnG"}
1
+ {"version":3,"file":"subtractFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/subtractFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+HAA+H;IAC/H,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQxG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAEnG"}
@@ -2,7 +2,8 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { TypeIntrospector } from '../../types/index.js';
5
- import { decorateProperty, getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
5
+ import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
6
+ import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
6
7
  const METADATA_KEY = 'chronicle:projection:subtractFrom';
7
8
  /**
8
9
  * Property decorator that subtracts an event property value from the decorated read model property.
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:subtractFrom';
11
12
  * @returns A property decorator.
12
13
  */
13
14
  export function subtractFrom(eventType, eventPropertyName) {
14
- return decorateProperty((target, propertyKey) => {
15
+ return decorateModelBoundProperty((target, propertyKey) => {
15
16
  const key = propertyKey.toString();
16
17
  TypeIntrospector.trackProperty(target.constructor, key);
17
18
  const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"subtractFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/subtractFrom.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA8B,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU7H,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,SAAmB,EAAE,iBAA0B;IACxE,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAA2B,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9F,MAAM,QAAQ,GAAyB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACxE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,WAAmB;IACvE,OAAO,mBAAmB,CAAyB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"subtractFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/subtractFrom.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,SAAmB,EAAE,iBAA0B;IACxE,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAA2B,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9F,MAAM,QAAQ,GAAyB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACxE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,WAAmB;IACvE,OAAO,mBAAmB,CAAyB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** The wire representation of PropertyPath.NotSet, used for nested projections. */
2
+ export declare const notSetPropertyPath = "*NotSet*";
3
+ //# sourceMappingURL=notSetPropertyPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notSetPropertyPath.d.ts","sourceRoot":"","sources":["../../projections/notSetPropertyPath.ts"],"names":[],"mappings":"AAGA,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,aAAa,CAAC"}
@@ -0,0 +1,5 @@
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
+ /** The wire representation of PropertyPath.NotSet, used for nested projections. */
4
+ export const notSetPropertyPath = '*NotSet*';
5
+ //# sourceMappingURL=notSetPropertyPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notSetPropertyPath.js","sourceRoot":"","sources":["../../projections/notSetPropertyPath.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC"}
@@ -22,7 +22,9 @@ export declare class Reactors implements IReactors {
22
22
  private readonly _lifecycle;
23
23
  private readonly _reactors;
24
24
  private readonly _queues;
25
+ private readonly _observations;
25
26
  private _registered;
27
+ private _disposed;
26
28
  /**
27
29
  * Creates a new {@link Reactors} instance.
28
30
  * @param _clientArtifacts - Provider for discovered client artifact types.
@@ -33,6 +35,8 @@ export declare class Reactors implements IReactors {
33
35
  * @param _eventLog - The event log used to append side-effect events a reactor handler returns.
34
36
  */
35
37
  constructor(_clientArtifacts: IClientArtifactsProvider, _connection: ChronicleConnection, _eventStoreName: string, _namespace: string, lifecycle: ConnectionLifecycle, _eventLog: IEventLog, _resultHandler?: ReactorResultHandler | undefined);
38
+ /** Stops observations permanently when the owning client is disposed. */
39
+ dispose(): void;
36
40
  /** @inheritdoc */
37
41
  discover(): Promise<void>;
38
42
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"Reactors.d.ts","sourceRoot":"","sources":["../../reactors/Reactors.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAM3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAyEtE;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IAoBlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAzBpC,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2E;IACnG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;;;;OAQG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EACnC,SAAS,EAAE,mBAAmB,EACb,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,EAAE,oBAAoB,YAAA,EAQzD;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAS9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAe9B;IAED,OAAO,CAAC,gBAAgB;YAeV,cAAc;IAe5B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;YAmBX,cAAc;IA6I5B,OAAO,CAAC,gBAAgB;IA2DxB,OAAO,CAAC,aAAa;CAMxB"}
1
+ {"version":3,"file":"Reactors.d.ts","sourceRoot":"","sources":["../../reactors/Reactors.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAM3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAyEtE;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IAsBlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IA3BpC,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2E;IACnG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;;;;;OAQG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EACnC,SAAS,EAAE,mBAAmB,EACb,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,EAAE,oBAAoB,YAAA,EAQzD;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAId;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAS9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB9B;IAED,OAAO,CAAC,gBAAgB;YAgBV,cAAc;IAe5B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;YAmBX,cAAc;IAiJ5B,OAAO,CAAC,gBAAgB;IA2DxB,OAAO,CAAC,aAAa;CAMxB"}
@@ -90,7 +90,9 @@ export class Reactors {
90
90
  _lifecycle;
91
91
  _reactors = new Map();
92
92
  _queues = new Map();
93
+ _observations = new Map();
93
94
  _registered = false;
95
+ _disposed = false;
94
96
  /**
95
97
  * Creates a new {@link Reactors} instance.
96
98
  * @param _clientArtifacts - Provider for discovered client artifact types.
@@ -114,6 +116,12 @@ export class Reactors {
114
116
  this.disconnectAll();
115
117
  });
116
118
  }
119
+ /** Stops observations permanently when the owning client is disposed. */
120
+ dispose() {
121
+ this._disposed = true;
122
+ this._registered = false;
123
+ this.disconnectAll();
124
+ }
117
125
  /** @inheritdoc */
118
126
  async discover() {
119
127
  this._reactors.clear();
@@ -127,12 +135,14 @@ export class Reactors {
127
135
  }
128
136
  /** @inheritdoc */
129
137
  async register() {
130
- if (this._registered) {
138
+ if (this._registered || this._disposed) {
131
139
  return;
132
140
  }
133
141
  if (this._reactors.size === 0) {
134
142
  await this.discover();
135
143
  }
144
+ if (this._disposed)
145
+ return;
136
146
  this._logger.info('Registering reactors', { count: this._reactors.size });
137
147
  for (const [id, reactorType] of this._reactors) {
138
148
  this.startObservation(id, reactorType);
@@ -140,6 +150,8 @@ export class Reactors {
140
150
  this._registered = true;
141
151
  }
142
152
  startObservation(id, reactorType) {
153
+ if (this._disposed)
154
+ return;
143
155
  const metadata = getReactorMetadata(reactorType);
144
156
  const eventSequenceId = metadata.eventSequenceId ?? EventSequenceId.eventLog.value;
145
157
  const eventTypes = this.getEventTypesFor(reactorType);
@@ -172,11 +184,11 @@ export class Reactors {
172
184
  scheduleReobserve(id, reactorType) {
173
185
  // A disconnect clears the registration; the reconnect re-registers every
174
186
  // reactor from scratch, so retrying here as well would double up.
175
- if (!this._registered) {
187
+ if (!this._registered || this._disposed) {
176
188
  return;
177
189
  }
178
190
  const handle = setTimeout(() => {
179
- if (!this._registered) {
191
+ if (!this._registered || this._disposed) {
180
192
  return;
181
193
  }
182
194
  this._logger.info('Re-establishing reactor observation', { reactorId: id });
@@ -186,7 +198,9 @@ export class Reactors {
186
198
  }
187
199
  async observeReactor(id, reactorType, eventSequenceId, eventTypes) {
188
200
  const queue = new AsyncQueue();
201
+ const controller = new AbortController();
189
202
  this._queues.set(id, queue);
203
+ this._observations.set(id, controller);
190
204
  queue.send({
191
205
  Content: {
192
206
  Value0: {
@@ -214,7 +228,7 @@ export class Reactors {
214
228
  });
215
229
  try {
216
230
  const reactorInstance = new reactorType();
217
- for await (const eventsToObserve of this._connection.reactors.observe(queue)) {
231
+ for await (const eventsToObserve of this._connection.reactors.observe(queue, { signal: controller.signal })) {
218
232
  let lastSuccessfullyObservedEvent = SEQUENCE_NUMBER_UNAVAILABLE;
219
233
  let state = ObservationState.Success;
220
234
  const exceptionMessages = [];
@@ -308,7 +322,9 @@ export class Reactors {
308
322
  // leak a duplicate stream on every reconnect.
309
323
  if (this._queues.get(id) === queue) {
310
324
  this._queues.delete(id);
325
+ this._observations.delete(id);
311
326
  }
327
+ queue.complete();
312
328
  }
313
329
  }
314
330
  getEventTypesFor(reactorType) {
@@ -368,9 +384,11 @@ export class Reactors {
368
384
  return entries;
369
385
  }
370
386
  disconnectAll() {
371
- for (const queue of this._queues.values()) {
387
+ for (const controller of this._observations.values())
388
+ controller.abort();
389
+ for (const queue of this._queues.values())
372
390
  queue.complete();
373
- }
391
+ this._observations.clear();
374
392
  this._queues.clear();
375
393
  }
376
394
  }