@cardano-sdk/projection 0.2.0 → 0.3.0-nightly.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 (267) hide show
  1. package/dist/cjs/combineProjections.d.ts +3 -0
  2. package/dist/cjs/combineProjections.d.ts.map +1 -0
  3. package/dist/cjs/combineProjections.js +10 -0
  4. package/dist/cjs/combineProjections.js.map +1 -0
  5. package/dist/cjs/index.d.ts +4 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +17 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/operators/certificates/withCertificates.d.ts +2 -2
  10. package/dist/cjs/operators/certificates/withCertificates.d.ts.map +1 -1
  11. package/dist/cjs/operators/certificates/withCertificates.js +4 -10
  12. package/dist/cjs/operators/certificates/withCertificates.js.map +1 -1
  13. package/dist/cjs/operators/certificates/withStakeKeys.d.ts +1 -1
  14. package/dist/cjs/operators/certificates/withStakeKeys.d.ts.map +1 -1
  15. package/dist/cjs/operators/certificates/withStakeKeys.js +25 -39
  16. package/dist/cjs/operators/certificates/withStakeKeys.js.map +1 -1
  17. package/dist/cjs/operators/certificates/withStakePools.d.ts +1 -1
  18. package/dist/cjs/operators/certificates/withStakePools.d.ts.map +1 -1
  19. package/dist/cjs/operators/certificates/withStakePools.js +22 -25
  20. package/dist/cjs/operators/certificates/withStakePools.js.map +1 -1
  21. package/dist/cjs/operators/index.d.ts +2 -2
  22. package/dist/cjs/operators/index.d.ts.map +1 -1
  23. package/dist/cjs/operators/index.js +2 -2
  24. package/dist/cjs/operators/index.js.map +1 -1
  25. package/dist/cjs/operators/utils/index.d.ts +1 -0
  26. package/dist/cjs/operators/utils/index.d.ts.map +1 -1
  27. package/dist/cjs/operators/utils/index.js +1 -0
  28. package/dist/cjs/operators/utils/index.js.map +1 -1
  29. package/dist/cjs/operators/utils/projectorOperator.d.ts +5 -4
  30. package/dist/cjs/operators/utils/projectorOperator.d.ts.map +1 -1
  31. package/dist/cjs/operators/utils/projectorOperator.js +6 -3
  32. package/dist/cjs/operators/utils/projectorOperator.js.map +1 -1
  33. package/dist/cjs/operators/utils/types.d.ts +3 -0
  34. package/dist/cjs/operators/utils/types.d.ts.map +1 -0
  35. package/dist/cjs/operators/utils/types.js +3 -0
  36. package/dist/cjs/operators/utils/types.js.map +1 -0
  37. package/dist/cjs/operators/utils/unifiedProjectorOperator.d.ts +6 -0
  38. package/dist/cjs/operators/utils/unifiedProjectorOperator.d.ts.map +1 -0
  39. package/dist/cjs/operators/utils/unifiedProjectorOperator.js +14 -0
  40. package/dist/cjs/operators/utils/unifiedProjectorOperator.js.map +1 -0
  41. package/dist/cjs/operators/withEpochNo.d.ts +3 -3
  42. package/dist/cjs/operators/withEpochNo.d.ts.map +1 -1
  43. package/dist/cjs/operators/withEpochNo.js +5 -8
  44. package/dist/cjs/operators/withEpochNo.js.map +1 -1
  45. package/dist/cjs/operators/withEventContext.d.ts +2 -1
  46. package/dist/cjs/operators/withEventContext.d.ts.map +1 -1
  47. package/dist/cjs/operators/withEventContext.js +6 -3
  48. package/dist/cjs/operators/withEventContext.js.map +1 -1
  49. package/dist/cjs/operators/withNetworkInfo.d.ts +7 -0
  50. package/dist/cjs/operators/withNetworkInfo.d.ts.map +1 -0
  51. package/dist/cjs/operators/withNetworkInfo.js +10 -0
  52. package/dist/cjs/operators/withNetworkInfo.js.map +1 -0
  53. package/dist/cjs/operators/withRolledBackBlock.d.ts +4 -0
  54. package/dist/cjs/operators/withRolledBackBlock.d.ts.map +1 -0
  55. package/dist/cjs/operators/withRolledBackBlock.js +20 -0
  56. package/dist/cjs/operators/withRolledBackBlock.js.map +1 -0
  57. package/dist/cjs/operators/withStaticContext.d.ts +2 -1
  58. package/dist/cjs/operators/withStaticContext.d.ts.map +1 -1
  59. package/dist/cjs/operators/withStaticContext.js +7 -7
  60. package/dist/cjs/operators/withStaticContext.js.map +1 -1
  61. package/dist/cjs/projectIntoSink.d.ts +21 -0
  62. package/dist/cjs/projectIntoSink.d.ts.map +1 -0
  63. package/dist/cjs/projectIntoSink.js +80 -0
  64. package/dist/cjs/projectIntoSink.js.map +1 -0
  65. package/dist/cjs/projections/index.d.ts +10 -0
  66. package/dist/cjs/projections/index.d.ts.map +1 -0
  67. package/dist/cjs/projections/index.js +28 -0
  68. package/dist/cjs/projections/index.js.map +1 -0
  69. package/dist/cjs/projections/stakeKeys.d.ts +3 -0
  70. package/dist/cjs/projections/stakeKeys.d.ts.map +1 -0
  71. package/dist/cjs/projections/stakeKeys.js +7 -0
  72. package/dist/cjs/projections/stakeKeys.js.map +1 -0
  73. package/dist/cjs/projections/stakePools.d.ts +3 -0
  74. package/dist/cjs/projections/stakePools.d.ts.map +1 -0
  75. package/dist/cjs/projections/stakePools.js +7 -0
  76. package/dist/cjs/projections/stakePools.js.map +1 -0
  77. package/dist/cjs/projections/types.d.ts +8 -0
  78. package/dist/cjs/projections/types.d.ts.map +1 -0
  79. package/dist/cjs/projections/types.js +3 -0
  80. package/dist/cjs/projections/types.js.map +1 -0
  81. package/dist/cjs/projections/utils.d.ts +6 -0
  82. package/dist/cjs/projections/utils.d.ts.map +1 -0
  83. package/dist/cjs/projections/utils.js +13 -0
  84. package/dist/cjs/projections/utils.js.map +1 -0
  85. package/dist/cjs/sinks/inMemory/InMemoryStabilityWindowBuffer.d.ts +13 -0
  86. package/dist/cjs/sinks/inMemory/InMemoryStabilityWindowBuffer.d.ts.map +1 -0
  87. package/dist/cjs/sinks/inMemory/InMemoryStabilityWindowBuffer.js +56 -0
  88. package/dist/cjs/sinks/inMemory/InMemoryStabilityWindowBuffer.js.map +1 -0
  89. package/dist/cjs/sinks/inMemory/createInMemorySinks.d.ts +7 -0
  90. package/dist/cjs/sinks/inMemory/createInMemorySinks.d.ts.map +1 -0
  91. package/dist/cjs/sinks/inMemory/createInMemorySinks.js +17 -0
  92. package/dist/cjs/sinks/inMemory/createInMemorySinks.js.map +1 -0
  93. package/dist/cjs/sinks/inMemory/index.d.ts +4 -0
  94. package/dist/cjs/sinks/inMemory/index.d.ts.map +1 -0
  95. package/dist/cjs/sinks/inMemory/index.js +20 -0
  96. package/dist/cjs/sinks/inMemory/index.js.map +1 -0
  97. package/dist/cjs/sinks/inMemory/stakeKeys.d.ts +5 -0
  98. package/dist/cjs/sinks/inMemory/stakeKeys.d.ts.map +1 -0
  99. package/dist/cjs/sinks/inMemory/stakeKeys.js +23 -0
  100. package/dist/cjs/sinks/inMemory/stakeKeys.js.map +1 -0
  101. package/dist/cjs/sinks/inMemory/stakePools.d.ts +5 -0
  102. package/dist/cjs/sinks/inMemory/stakePools.d.ts.map +1 -0
  103. package/dist/cjs/sinks/inMemory/stakePools.js +33 -0
  104. package/dist/cjs/sinks/inMemory/stakePools.js.map +1 -0
  105. package/dist/cjs/sinks/inMemory/types.d.ts +13 -0
  106. package/dist/cjs/sinks/inMemory/types.d.ts.map +1 -0
  107. package/dist/cjs/sinks/inMemory/types.js +3 -0
  108. package/dist/cjs/sinks/inMemory/types.js.map +1 -0
  109. package/dist/cjs/sinks/index.d.ts +4 -0
  110. package/dist/cjs/sinks/index.d.ts.map +1 -0
  111. package/dist/cjs/sinks/index.js +20 -0
  112. package/dist/cjs/sinks/index.js.map +1 -0
  113. package/dist/cjs/sinks/types.d.ts +24 -0
  114. package/dist/cjs/sinks/types.d.ts.map +1 -0
  115. package/dist/cjs/sinks/types.js +3 -0
  116. package/dist/cjs/sinks/types.js.map +1 -0
  117. package/dist/cjs/sinks/util.d.ts +4 -0
  118. package/dist/cjs/sinks/util.d.ts.map +1 -0
  119. package/dist/cjs/sinks/util.js +9 -0
  120. package/dist/cjs/sinks/util.js.map +1 -0
  121. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  122. package/dist/cjs/types.d.ts +13 -4
  123. package/dist/cjs/types.d.ts.map +1 -1
  124. package/dist/cjs/types.js +5 -0
  125. package/dist/cjs/types.js.map +1 -1
  126. package/dist/esm/combineProjections.d.ts +3 -0
  127. package/dist/esm/combineProjections.d.ts.map +1 -0
  128. package/dist/esm/combineProjections.js +3 -0
  129. package/dist/esm/combineProjections.js.map +1 -0
  130. package/dist/esm/index.d.ts +4 -1
  131. package/dist/esm/index.d.ts.map +1 -1
  132. package/dist/esm/index.js +4 -1
  133. package/dist/esm/index.js.map +1 -1
  134. package/dist/esm/operators/certificates/withCertificates.d.ts +2 -2
  135. package/dist/esm/operators/certificates/withCertificates.d.ts.map +1 -1
  136. package/dist/esm/operators/certificates/withCertificates.js +5 -11
  137. package/dist/esm/operators/certificates/withCertificates.js.map +1 -1
  138. package/dist/esm/operators/certificates/withStakeKeys.d.ts +1 -1
  139. package/dist/esm/operators/certificates/withStakeKeys.d.ts.map +1 -1
  140. package/dist/esm/operators/certificates/withStakeKeys.js +26 -40
  141. package/dist/esm/operators/certificates/withStakeKeys.js.map +1 -1
  142. package/dist/esm/operators/certificates/withStakePools.d.ts +1 -1
  143. package/dist/esm/operators/certificates/withStakePools.d.ts.map +1 -1
  144. package/dist/esm/operators/certificates/withStakePools.js +23 -26
  145. package/dist/esm/operators/certificates/withStakePools.js.map +1 -1
  146. package/dist/esm/operators/index.d.ts +2 -2
  147. package/dist/esm/operators/index.d.ts.map +1 -1
  148. package/dist/esm/operators/index.js +2 -2
  149. package/dist/esm/operators/index.js.map +1 -1
  150. package/dist/esm/operators/utils/index.d.ts +1 -0
  151. package/dist/esm/operators/utils/index.d.ts.map +1 -1
  152. package/dist/esm/operators/utils/index.js +1 -0
  153. package/dist/esm/operators/utils/index.js.map +1 -1
  154. package/dist/esm/operators/utils/projectorOperator.d.ts +5 -4
  155. package/dist/esm/operators/utils/projectorOperator.d.ts.map +1 -1
  156. package/dist/esm/operators/utils/projectorOperator.js +3 -2
  157. package/dist/esm/operators/utils/projectorOperator.js.map +1 -1
  158. package/dist/esm/operators/utils/types.d.ts +3 -0
  159. package/dist/esm/operators/utils/types.d.ts.map +1 -0
  160. package/dist/esm/operators/utils/types.js +2 -0
  161. package/dist/esm/operators/utils/types.js.map +1 -0
  162. package/dist/esm/operators/utils/unifiedProjectorOperator.d.ts +6 -0
  163. package/dist/esm/operators/utils/unifiedProjectorOperator.d.ts.map +1 -0
  164. package/dist/esm/operators/utils/unifiedProjectorOperator.js +8 -0
  165. package/dist/esm/operators/utils/unifiedProjectorOperator.js.map +1 -0
  166. package/dist/esm/operators/withEpochNo.d.ts +3 -3
  167. package/dist/esm/operators/withEpochNo.d.ts.map +1 -1
  168. package/dist/esm/operators/withEpochNo.js +6 -8
  169. package/dist/esm/operators/withEpochNo.js.map +1 -1
  170. package/dist/esm/operators/withEventContext.d.ts +2 -1
  171. package/dist/esm/operators/withEventContext.d.ts.map +1 -1
  172. package/dist/esm/operators/withEventContext.js +3 -2
  173. package/dist/esm/operators/withEventContext.js.map +1 -1
  174. package/dist/esm/operators/withNetworkInfo.d.ts +7 -0
  175. package/dist/esm/operators/withNetworkInfo.d.ts.map +1 -0
  176. package/dist/esm/operators/withNetworkInfo.js +6 -0
  177. package/dist/esm/operators/withNetworkInfo.js.map +1 -0
  178. package/dist/esm/operators/withRolledBackBlock.d.ts +4 -0
  179. package/dist/esm/operators/withRolledBackBlock.d.ts.map +1 -0
  180. package/dist/esm/operators/withRolledBackBlock.js +16 -0
  181. package/dist/esm/operators/withRolledBackBlock.js.map +1 -0
  182. package/dist/esm/operators/withStaticContext.d.ts +2 -1
  183. package/dist/esm/operators/withStaticContext.d.ts.map +1 -1
  184. package/dist/esm/operators/withStaticContext.js +4 -6
  185. package/dist/esm/operators/withStaticContext.js.map +1 -1
  186. package/dist/esm/projectIntoSink.d.ts +21 -0
  187. package/dist/esm/projectIntoSink.d.ts.map +1 -0
  188. package/dist/esm/projectIntoSink.js +73 -0
  189. package/dist/esm/projectIntoSink.js.map +1 -0
  190. package/dist/esm/projections/index.d.ts +10 -0
  191. package/dist/esm/projections/index.d.ts.map +1 -0
  192. package/dist/esm/projections/index.js +11 -0
  193. package/dist/esm/projections/index.js.map +1 -0
  194. package/dist/esm/projections/stakeKeys.d.ts +3 -0
  195. package/dist/esm/projections/stakeKeys.d.ts.map +1 -0
  196. package/dist/esm/projections/stakeKeys.js +4 -0
  197. package/dist/esm/projections/stakeKeys.js.map +1 -0
  198. package/dist/esm/projections/stakePools.d.ts +3 -0
  199. package/dist/esm/projections/stakePools.d.ts.map +1 -0
  200. package/dist/esm/projections/stakePools.js +4 -0
  201. package/dist/esm/projections/stakePools.js.map +1 -0
  202. package/dist/esm/projections/types.d.ts +8 -0
  203. package/dist/esm/projections/types.d.ts.map +1 -0
  204. package/dist/esm/projections/types.js +2 -0
  205. package/dist/esm/projections/types.js.map +1 -0
  206. package/dist/esm/projections/utils.d.ts +6 -0
  207. package/dist/esm/projections/utils.d.ts.map +1 -0
  208. package/dist/esm/projections/utils.js +9 -0
  209. package/dist/esm/projections/utils.js.map +1 -0
  210. package/dist/esm/sinks/inMemory/InMemoryStabilityWindowBuffer.d.ts +13 -0
  211. package/dist/esm/sinks/inMemory/InMemoryStabilityWindowBuffer.d.ts.map +1 -0
  212. package/dist/esm/sinks/inMemory/InMemoryStabilityWindowBuffer.js +52 -0
  213. package/dist/esm/sinks/inMemory/InMemoryStabilityWindowBuffer.js.map +1 -0
  214. package/dist/esm/sinks/inMemory/createInMemorySinks.d.ts +7 -0
  215. package/dist/esm/sinks/inMemory/createInMemorySinks.d.ts.map +1 -0
  216. package/dist/esm/sinks/inMemory/createInMemorySinks.js +13 -0
  217. package/dist/esm/sinks/inMemory/createInMemorySinks.js.map +1 -0
  218. package/dist/esm/sinks/inMemory/index.d.ts +4 -0
  219. package/dist/esm/sinks/inMemory/index.d.ts.map +1 -0
  220. package/dist/esm/sinks/inMemory/index.js +4 -0
  221. package/dist/esm/sinks/inMemory/index.js.map +1 -0
  222. package/dist/esm/sinks/inMemory/stakeKeys.d.ts +5 -0
  223. package/dist/esm/sinks/inMemory/stakeKeys.d.ts.map +1 -0
  224. package/dist/esm/sinks/inMemory/stakeKeys.js +20 -0
  225. package/dist/esm/sinks/inMemory/stakeKeys.js.map +1 -0
  226. package/dist/esm/sinks/inMemory/stakePools.d.ts +5 -0
  227. package/dist/esm/sinks/inMemory/stakePools.d.ts.map +1 -0
  228. package/dist/esm/sinks/inMemory/stakePools.js +30 -0
  229. package/dist/esm/sinks/inMemory/stakePools.js.map +1 -0
  230. package/dist/esm/sinks/inMemory/types.d.ts +13 -0
  231. package/dist/esm/sinks/inMemory/types.d.ts.map +1 -0
  232. package/dist/esm/sinks/inMemory/types.js +2 -0
  233. package/dist/esm/sinks/inMemory/types.js.map +1 -0
  234. package/dist/esm/sinks/index.d.ts +4 -0
  235. package/dist/esm/sinks/index.d.ts.map +1 -0
  236. package/dist/esm/sinks/index.js +4 -0
  237. package/dist/esm/sinks/index.js.map +1 -0
  238. package/dist/esm/sinks/types.d.ts +24 -0
  239. package/dist/esm/sinks/types.d.ts.map +1 -0
  240. package/dist/esm/sinks/types.js +2 -0
  241. package/dist/esm/sinks/types.js.map +1 -0
  242. package/dist/esm/sinks/util.d.ts +4 -0
  243. package/dist/esm/sinks/util.d.ts.map +1 -0
  244. package/dist/esm/sinks/util.js +5 -0
  245. package/dist/esm/sinks/util.js.map +1 -0
  246. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  247. package/dist/esm/types.d.ts +13 -4
  248. package/dist/esm/types.d.ts.map +1 -1
  249. package/dist/esm/types.js +3 -1
  250. package/dist/esm/types.js.map +1 -1
  251. package/package.json +10 -8
  252. package/dist/cjs/operators/withRolledBackEvents.d.ts +0 -11
  253. package/dist/cjs/operators/withRolledBackEvents.d.ts.map +0 -1
  254. package/dist/cjs/operators/withRolledBackEvents.js +0 -50
  255. package/dist/cjs/operators/withRolledBackEvents.js.map +0 -1
  256. package/dist/cjs/operators/withStabilityWindow.d.ts +0 -6
  257. package/dist/cjs/operators/withStabilityWindow.d.ts.map +0 -1
  258. package/dist/cjs/operators/withStabilityWindow.js +0 -10
  259. package/dist/cjs/operators/withStabilityWindow.js.map +0 -1
  260. package/dist/esm/operators/withRolledBackEvents.d.ts +0 -11
  261. package/dist/esm/operators/withRolledBackEvents.d.ts.map +0 -1
  262. package/dist/esm/operators/withRolledBackEvents.js +0 -45
  263. package/dist/esm/operators/withRolledBackEvents.js.map +0 -1
  264. package/dist/esm/operators/withStabilityWindow.d.ts +0 -6
  265. package/dist/esm/operators/withStabilityWindow.d.ts.map +0 -1
  266. package/dist/esm/operators/withStabilityWindow.js +0 -6
  267. package/dist/esm/operators/withStabilityWindow.js.map +0 -1
@@ -1,4 +1,5 @@
1
- import { ChainSyncRollBackward, ChainSyncRollForward, PointOrOrigin } from '@cardano-sdk/core';
1
+ import { ChainSyncEvent, ChainSyncRollBackward, ChainSyncRollForward, Intersection, PointOrOrigin } from '@cardano-sdk/core';
2
+ import { CustomError } from 'ts-custom-error';
2
3
  import { Observable } from 'rxjs';
3
4
  import { ObservableType } from '@cardano-sdk/util-rxjs';
4
5
  export declare type RollForwardEvent<ExtraProps = {}> = ExtraProps & ChainSyncRollForward;
@@ -6,11 +7,19 @@ export declare type RollBackwardEvent<ExtraProps = {}> = ExtraProps & ChainSyncR
6
7
  export declare type ProjectorEvent<ExtraRollForwardProps = {}, ExtraRollBackwardProps = {}> = RollForwardEvent<ExtraRollForwardProps> | RollBackwardEvent<ExtraRollBackwardProps>;
7
8
  export declare type ProjectorObservable<ExtraRollForwardProps = {}, ExtraRollBackwardProps = {}> = Observable<ProjectorEvent<ExtraRollForwardProps, ExtraRollBackwardProps>>;
8
9
  export declare type ProjectorOperator<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn, ExtraRollForwardPropsOut, ExtraRollBackwardPropsOut> = (evt$: ProjectorObservable<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn>) => Observable<ProjectorEvent<ExtraRollForwardPropsIn & ExtraRollForwardPropsOut, ExtraRollBackwardPropsIn & ExtraRollBackwardPropsOut>>;
10
+ export declare type WithBlock = Pick<ChainSyncRollForward, 'block'>;
11
+ export declare type UnifiedProjectorOperator<ExtraPropsIn, ExtraPropsOut> = ProjectorOperator<ExtraPropsIn, ExtraPropsIn & WithBlock, ExtraPropsOut, ExtraPropsOut>;
12
+ export declare type UnifiedProjectorEvent<ExtraProps> = ProjectorEvent<ExtraProps, ExtraProps & WithBlock>;
13
+ export declare type UnifiedProjectorObservable<ExtraProps> = ProjectorObservable<ExtraProps, ExtraProps & WithBlock>;
9
14
  export declare type OperatorEventType<T extends (...args: any[]) => any> = ReturnType<T> extends (...args: any[]) => any ? OperatorEventType<ReturnType<T>> : ObservableType<ReturnType<T>>;
10
15
  export interface ChainSyncProps {
11
- localTip: PointOrOrigin;
16
+ points: PointOrOrigin[];
12
17
  }
13
- export interface ProjectorDependencies {
14
- chainSync$: Observable<ProjectorEvent>;
18
+ export declare class InvalidIntersectionError extends CustomError {
15
19
  }
20
+ export interface ObservableChainSync {
21
+ chainSync$: Observable<ChainSyncEvent>;
22
+ intersection: Intersection;
23
+ }
24
+ export declare type ObservableChainSyncClient = (props: ChainSyncProps) => Observable<ObservableChainSync>;
16
25
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,oBAAY,gBAAgB,CAAC,UAAU,GAAG,EAAE,IAAI,UAAU,GAAG,oBAAoB,CAAC;AAElF,oBAAY,iBAAiB,CAAC,UAAU,GAAG,EAAE,IAAI,UAAU,GAAG,qBAAqB,CAAC;AAEpF,oBAAY,cAAc,CAAC,qBAAqB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,IAC9E,gBAAgB,CAAC,qBAAqB,CAAC,GACvC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AAE9C,oBAAY,mBAAmB,CAAC,qBAAqB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,IAAI,UAAU,CACnG,cAAc,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAC9D,CAAC;AAEF,oBAAY,iBAAiB,CAC3B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,IACvB,CACF,IAAI,EAAE,mBAAmB,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,KACzE,UAAU,CACb,cAAc,CACZ,uBAAuB,GAAG,wBAAwB,EAClD,wBAAwB,GAAG,yBAAyB,CACrD,CACF,CAAC;AAGF,oBAAY,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAC5G,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAChC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAGlC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,CAAC;CACzB;AACD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,oBAAY,gBAAgB,CAAC,UAAU,GAAG,EAAE,IAAI,UAAU,GAAG,oBAAoB,CAAC;AAElF,oBAAY,iBAAiB,CAAC,UAAU,GAAG,EAAE,IAAI,UAAU,GAAG,qBAAqB,CAAC;AAEpF,oBAAY,cAAc,CAAC,qBAAqB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,IAC9E,gBAAgB,CAAC,qBAAqB,CAAC,GACvC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AAE9C,oBAAY,mBAAmB,CAAC,qBAAqB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,IAAI,UAAU,CACnG,cAAc,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAC9D,CAAC;AAEF,oBAAY,iBAAiB,CAC3B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,IACvB,CACF,IAAI,EAAE,mBAAmB,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,KACzE,UAAU,CACb,cAAc,CACZ,uBAAuB,GAAG,wBAAwB,EAClD,wBAAwB,GAAG,yBAAyB,CACrD,CACF,CAAC;AAEF,oBAAY,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;AAC5D,oBAAY,wBAAwB,CAAC,YAAY,EAAE,aAAa,IAAI,iBAAiB,CACnF,YAAY,EACZ,YAAY,GAAG,SAAS,EACxB,aAAa,EACb,aAAa,CACd,CAAC;AACF,oBAAY,qBAAqB,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AACnG,oBAAY,0BAA0B,CAAC,UAAU,IAAI,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AAG7G,oBAAY,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAC5G,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAChC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,MAAM,WAAW,cAAc;IAI7B,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,qBAAa,wBAAyB,SAAQ,WAAW;CAAG;AAE5D,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAMD,oBAAY,yBAAyB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,UAAU,CAAC,mBAAmB,CAAC,CAAC"}
package/dist/cjs/types.js CHANGED
@@ -1,3 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidIntersectionError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class InvalidIntersectionError extends ts_custom_error_1.CustomError {
6
+ }
7
+ exports.InvalidIntersectionError = InvalidIntersectionError;
3
8
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAQA,qDAA8C;AAoD9C,MAAa,wBAAyB,SAAQ,6BAAW;CAAG;AAA5D,4DAA4D"}
@@ -0,0 +1,3 @@
1
+ import { ProjectorOperator } from './types';
2
+ export declare const combineProjections: <P extends object>(projections: P) => ProjectorOperator<any, any, any, any>[];
3
+ //# sourceMappingURL=combineProjections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combineProjections.d.ts","sourceRoot":"","sources":["../../src/combineProjections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI5C,eAAO,MAAM,kBAAkB,wCAAuC,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAClE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import uniq from 'lodash/uniq';
2
+ export const combineProjections = (projections) => uniq(Object.values(projections).flat());
3
+ //# sourceMappingURL=combineProjections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combineProjections.js","sourceRoot":"","sources":["../../src/combineProjections.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,aAAa,CAAC;AAG/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAmB,WAAc,EAA2C,EAAE,CAC9G,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC"}
@@ -1,3 +1,6 @@
1
- export * from './operators';
1
+ export * as operators from './operators';
2
+ export * as projections from './projections';
3
+ export * as sinks from './sinks';
4
+ export * from './projectIntoSink';
2
5
  export * from './types';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,6 @@
1
- export * from './operators';
1
+ export * as operators from './operators';
2
+ export * as projections from './projections';
3
+ export * as sinks from './sinks';
4
+ export * from './projectIntoSink';
2
5
  export * from './types';
3
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
- import { WithRolledBackEvents } from '../withRolledBackEvents';
2
+ import { WithBlock } from '../../types';
3
3
  export interface CertificatePointer {
4
4
  slot: Cardano.Slot;
5
5
  txIndex: number;
@@ -12,5 +12,5 @@ export interface OnChainCertificate {
12
12
  export interface WithCertificates {
13
13
  certificates: OnChainCertificate[];
14
14
  }
15
- export declare const withCertificates: <SourceExtraRollForwardPropsIn extends {}, SourceExtraRollBackwardPropsIn extends WithRolledBackEvents<{}>>() => import("../../types").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithCertificates, WithCertificates>;
15
+ export declare const withCertificates: <SourceExtraRollForwardPropsIn extends {}, SourceExtraRollBackwardPropsIn extends WithBlock>() => import("../../types").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithCertificates, WithCertificates>;
16
16
  //# sourceMappingURL=withCertificates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withCertificates.d.ts","sourceRoot":"","sources":["../../../../src/operators/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAI/B,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAuBD,eAAO,MAAM,gBAAgB,6PAS3B,CAAC"}
1
+ {"version":3,"file":"withCertificates.d.ts","sourceRoot":"","sources":["../../../../src/operators/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAI/B,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAsBD,eAAO,MAAM,gBAAgB,8OAG1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { projectorOperator } from '../utils';
1
+ import { unifiedProjectorOperator } from '../utils';
2
2
  const blockCertificates = ({ block: { header: { slot }, body } }) => body.flatMap(({ body: { certificates = [] } }, txIndex) => certificates.map((certificate, certIndex) => ({
3
3
  certificate,
4
4
  pointer: {
@@ -7,14 +7,8 @@ const blockCertificates = ({ block: { header: { slot }, body } }) => body.flatMa
7
7
  txIndex
8
8
  }
9
9
  })));
10
- export const withCertificates = projectorOperator({
11
- rollBackward: (evt) => ({
12
- ...evt,
13
- certificates: evt.rolledBackEvents.flatMap((rolledBackEvt) => blockCertificates(rolledBackEvt).reverse())
14
- }),
15
- rollForward: (evt) => ({
16
- ...evt,
17
- certificates: blockCertificates(evt)
18
- })
19
- });
10
+ export const withCertificates = unifiedProjectorOperator((evt) => ({
11
+ ...evt,
12
+ certificates: blockCertificates(evt)
13
+ }));
20
14
  //# sourceMappingURL=withCertificates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withCertificates.js","sourceRoot":"","sources":["../../../../src/operators/certificates/withCertificates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAoB7C,MAAM,iBAAiB,GAAG,CAAC,EACzB,KAAK,EAAE,EACL,MAAM,EAAE,EAAE,IAAI,EAAE,EAChB,IAAI,EACL,EACgB,EAAE,EAAE,CACrB,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CACxD,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5C,WAAW;IACX,OAAO,EAAE;QACP,SAAS;QACT,IAAI;QACJ,OAAO;KACR;CACF,CAAC,CAAC,CACJ,CAAC;AAMJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAA+D;IAC9G,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtB,GAAG,GAAG;QACN,YAAY,EAAE,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;KAC1G,CAAC;IACF,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,GAAG;QACN,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC;KACrC,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"withCertificates.js","sourceRoot":"","sources":["../../../../src/operators/certificates/withCertificates.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAoBpD,MAAM,iBAAiB,GAAG,CAAC,EACzB,KAAK,EAAE,EACL,MAAM,EAAE,EAAE,IAAI,EAAE,EAChB,IAAI,EACL,EACS,EAAE,EAAE,CACd,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CACxD,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5C,WAAW;IACX,OAAO,EAAE;QACP,SAAS;QACT,IAAI;QACJ,OAAO;KACR;CACF,CAAC,CAAC,CACJ,CAAC;AAKJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvF,GAAG,GAAG;IACN,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC;CACrC,CAAC,CAAC,CAAC"}
@@ -6,5 +6,5 @@ export interface WithStakeKeys {
6
6
  deregister: Set<Cardano.Ed25519KeyHash>;
7
7
  };
8
8
  }
9
- export declare const withStakeKeys: <SourceExtraRollForwardPropsIn extends WithCertificates, SourceExtraRollBackwardPropsIn extends WithCertificates>() => import("../..").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithStakeKeys, WithStakeKeys>;
9
+ export declare const withStakeKeys: <SourceExtraRollForwardPropsIn extends WithCertificates, SourceExtraRollBackwardPropsIn extends WithCertificates & import("../..").WithBlock>() => import("../..").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithStakeKeys, WithStakeKeys>;
10
10
  //# sourceMappingURL=withStakeKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withStakeKeys.d.ts","sourceRoot":"","sources":["../../../../src/operators/certificates/withStakeKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACzC,CAAC;CACH;AAUD,eAAO,MAAM,aAAa,uPA2CxB,CAAC"}
1
+ {"version":3,"file":"withStakeKeys.d.ts","sourceRoot":"","sources":["../../../../src/operators/certificates/withStakeKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACzC,CAAC;CACH;AAYD,eAAO,MAAM,aAAa,mRA2BxB,CAAC"}
@@ -1,47 +1,33 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
- import { projectorOperator } from '../utils';
3
- export const withStakeKeys = projectorOperator({
4
- rollBackward: (evt) => {
5
- const register = new Set();
6
- const deregister = new Set();
7
- for (const { certificate } of evt.certificates) {
8
- switch (certificate.__typename) {
9
- case Cardano.CertificateType.StakeKeyRegistration:
10
- deregister.add(certificate.stakeKeyHash);
11
- register.delete(certificate.stakeKeyHash);
12
- break;
13
- case Cardano.CertificateType.StakeKeyDeregistration:
14
- register.add(certificate.stakeKeyHash);
15
- deregister.delete(certificate.stakeKeyHash);
16
- break;
17
- }
18
- }
19
- return {
20
- ...evt,
21
- stakeKeys: { deregister, register }
22
- };
23
- },
24
- rollForward: (evt) => {
25
- const register = new Set();
26
- const deregister = new Set();
27
- for (const { certificate } of evt.certificates)
28
- switch (certificate.__typename) {
29
- case Cardano.CertificateType.StakeKeyRegistration:
2
+ import { unifiedProjectorOperator } from '../utils';
3
+ export const withStakeKeys = unifiedProjectorOperator((evt) => {
4
+ const register = new Set();
5
+ const deregister = new Set();
6
+ for (const { certificate } of evt.certificates)
7
+ switch (certificate.__typename) {
8
+ case Cardano.CertificateType.StakeKeyRegistration:
9
+ if (deregister.has(certificate.stakeKeyHash)) {
30
10
  deregister.delete(certificate.stakeKeyHash);
11
+ }
12
+ else {
31
13
  register.add(certificate.stakeKeyHash);
32
- break;
33
- case Cardano.CertificateType.StakeKeyDeregistration:
14
+ }
15
+ break;
16
+ case Cardano.CertificateType.StakeKeyDeregistration:
17
+ if (register.has(certificate.stakeKeyHash)) {
34
18
  register.delete(certificate.stakeKeyHash);
19
+ }
20
+ else {
35
21
  deregister.add(certificate.stakeKeyHash);
36
- break;
37
- }
38
- return {
39
- ...evt,
40
- stakeKeys: {
41
- deregister,
42
- register
43
- }
44
- };
45
- }
22
+ }
23
+ break;
24
+ }
25
+ return {
26
+ ...evt,
27
+ stakeKeys: {
28
+ deregister,
29
+ register
30
+ }
31
+ };
46
32
  });
47
33
  //# sourceMappingURL=withStakeKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withStakeKeys.js","sourceRoot":"","sources":["../../../../src/operators/certificates/withStakeKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAiB7C,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAmE;IAC/G,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrD,KAAK,MAAM,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE;YAC9C,QAAQ,WAAW,CAAC,UAAU,EAAE;gBAC9B,KAAK,OAAO,CAAC,eAAe,CAAC,oBAAoB;oBAC/C,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACzC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,OAAO,CAAC,eAAe,CAAC,sBAAsB;oBACjD,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACvC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC5C,MAAM;aACT;SACF;QACD,OAAO;YACL,GAAG,GAAG;YACN,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;SACpC,CAAC;IACJ,CAAC;IACD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrD,KAAK,MAAM,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,YAAY;YAC5C,QAAQ,WAAW,CAAC,UAAU,EAAE;gBAC9B,KAAK,OAAO,CAAC,eAAe,CAAC,oBAAoB;oBAC/C,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC5C,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,OAAO,CAAC,eAAe,CAAC,sBAAsB;oBACjD,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC1C,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACzC,MAAM;aACT;QACH,OAAO;YACL,GAAG,GAAG;YACN,SAAS,EAAE;gBACT,UAAU;gBACV,QAAQ;aACT;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"withStakeKeys.js","sourceRoot":"","sources":["../../../../src/operators/certificates/withStakeKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAmBpD,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAkC,CAAC,GAAG,EAAE,EAAE;IAC7F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrD,KAAK,MAAM,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,YAAY;QAC5C,QAAQ,WAAW,CAAC,UAAU,EAAE;YAC9B,KAAK,OAAO,CAAC,eAAe,CAAC,oBAAoB;gBAC/C,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;oBAC5C,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBAC7C;qBAAM;oBACL,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBACxC;gBACD,MAAM;YACR,KAAK,OAAO,CAAC,eAAe,CAAC,sBAAsB;gBACjD,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;oBAC1C,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBAC3C;qBAAM;oBACL,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBAC1C;gBACD,MAAM;SACT;IACH,OAAO;QACL,GAAG,GAAG;QACN,SAAS,EAAE;YACT,UAAU;YACV,QAAQ;SACT;KACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -17,5 +17,5 @@ export interface WithStakePools {
17
17
  retirements: Map<Cardano.PoolId, PoolRetirement[]>;
18
18
  };
19
19
  }
20
- export declare const withStakePools: <SourceExtraRollForwardPropsIn extends WithCertificates & WithEpochNo, SourceExtraRollBackwardPropsIn extends {}>() => import("../..").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithStakePools, {}>;
20
+ export declare const withStakePools: <SourceExtraRollForwardPropsIn extends WithCertificates & WithEpochNo, SourceExtraRollBackwardPropsIn extends WithCertificates & WithEpochNo & import("../..").WithBlock>() => import("../..").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithStakePools, WithStakePools>;
21
21
  //# sourceMappingURL=withStakePools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withStakePools.d.ts","sourceRoot":"","sources":["../../../../src/operators/certificates/withStakePools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,WAAW,UAAW,SAAQ,qBAAqB;IACvD,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3C,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;KACpD,CAAC;CACH;AAeD,eAAO,MAAM,cAAc,6OA2BzB,CAAC"}
1
+ {"version":3,"file":"withStakePools.d.ts","sourceRoot":"","sources":["../../../../src/operators/certificates/withStakePools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,WAAW,UAAW,SAAQ,qBAAqB;IACvD,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3C,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;KACpD,CAAC;CACH;AAcD,eAAO,MAAM,cAAc,iTAwBzB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
- import { projectorOperator } from '../utils';
2
+ import { unifiedProjectorOperator } from '../utils';
3
3
  const addPoolItem = (collection, poolId, item) => {
4
4
  let poolItems = collection.get(poolId);
5
5
  if (!poolItems) {
@@ -8,32 +8,29 @@ const addPoolItem = (collection, poolId, item) => {
8
8
  }
9
9
  poolItems.push(item);
10
10
  };
11
- export const withStakePools = projectorOperator({
12
- rollBackward: (evt) => evt,
13
- rollForward: (evt) => {
14
- const updates = new Map();
15
- const retirements = new Map();
16
- for (const { certificate, pointer: source } of evt.certificates) {
17
- switch (certificate.__typename) {
18
- case Cardano.CertificateType.PoolRegistration:
19
- addPoolItem(updates, certificate.poolParameters.id, {
20
- issuedAtEpochNo: evt.epochNo,
21
- poolParameters: certificate.poolParameters,
22
- source
23
- });
24
- break;
25
- case Cardano.CertificateType.PoolRetirement:
26
- addPoolItem(retirements, certificate.poolId, {
27
- retireAtEpoch: certificate.epoch,
28
- source
29
- });
30
- break;
31
- }
11
+ export const withStakePools = unifiedProjectorOperator((evt) => {
12
+ const updates = new Map();
13
+ const retirements = new Map();
14
+ for (const { certificate, pointer: source } of evt.certificates) {
15
+ switch (certificate.__typename) {
16
+ case Cardano.CertificateType.PoolRegistration:
17
+ addPoolItem(updates, certificate.poolParameters.id, {
18
+ issuedAtEpochNo: evt.epochNo,
19
+ poolParameters: certificate.poolParameters,
20
+ source
21
+ });
22
+ break;
23
+ case Cardano.CertificateType.PoolRetirement:
24
+ addPoolItem(retirements, certificate.poolId, {
25
+ retireAtEpoch: certificate.epoch,
26
+ source
27
+ });
28
+ break;
32
29
  }
33
- return {
34
- ...evt,
35
- stakePools: { retirements, updates }
36
- };
37
30
  }
31
+ return {
32
+ ...evt,
33
+ stakePools: { retirements, updates }
34
+ };
38
35
  });
39
36
  //# sourceMappingURL=withStakePools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withStakePools.js","sourceRoot":"","sources":["../../../../src/operators/certificates/withStakePools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAsB7C,MAAM,WAAW,GAAG,CAAI,UAAoC,EAAE,MAAsB,EAAE,IAAO,EAAE,EAAE;IAC/F,IAAI,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,EAAE,CAAC;QACf,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KACnC;IACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAyD;IACtG,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;IAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoC,CAAC;QAChE,KAAK,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE;YAC/D,QAAQ,WAAW,CAAC,UAAU,EAAE;gBAC9B,KAAK,OAAO,CAAC,eAAe,CAAC,gBAAgB;oBAC3C,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,EAAE;wBAClD,eAAe,EAAE,GAAG,CAAC,OAAO;wBAC5B,cAAc,EAAE,WAAW,CAAC,cAAc;wBAC1C,MAAM;qBACP,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,OAAO,CAAC,eAAe,CAAC,cAAc;oBACzC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE;wBAC3C,aAAa,EAAE,WAAW,CAAC,KAAK;wBAChC,MAAM;qBACP,CAAC,CAAC;oBACH,MAAM;aACT;SACF;QACD,OAAO;YACL,GAAG,GAAG;YACN,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;SACrC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"withStakePools.js","sourceRoot":"","sources":["../../../../src/operators/certificates/withStakePools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAsBpD,MAAM,WAAW,GAAG,CAAI,UAAoC,EAAE,MAAsB,EAAE,IAAO,EAAE,EAAE;IAC/F,IAAI,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,EAAE,CAAC;QACf,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KACnC;IACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAiD,CAAC,GAAG,EAAE,EAAE;IAC7G,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoC,CAAC;IAChE,KAAK,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE;QAC/D,QAAQ,WAAW,CAAC,UAAU,EAAE;YAC9B,KAAK,OAAO,CAAC,eAAe,CAAC,gBAAgB;gBAC3C,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,EAAE;oBAClD,eAAe,EAAE,GAAG,CAAC,OAAO;oBAC5B,cAAc,EAAE,WAAW,CAAC,cAAc;oBAC1C,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO,CAAC,eAAe,CAAC,cAAc;gBACzC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE;oBAC3C,aAAa,EAAE,WAAW,CAAC,KAAK;oBAChC,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM;SACT;KACF;IACD,OAAO;QACL,GAAG,GAAG;QACN,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;KACrC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  export * from './withStaticContext';
2
2
  export * from './withEventContext';
3
- export * from './withStabilityWindow';
4
- export * from './withRolledBackEvents';
3
+ export * from './withRolledBackBlock';
5
4
  export * from './withEpochNo';
5
+ export * from './withNetworkInfo';
6
6
  export * from './certificates';
7
7
  export * from './utils';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
@@ -1,8 +1,8 @@
1
1
  export * from './withStaticContext';
2
2
  export * from './withEventContext';
3
- export * from './withStabilityWindow';
4
- export * from './withRolledBackEvents';
3
+ export * from './withRolledBackBlock';
5
4
  export * from './withEpochNo';
5
+ export * from './withNetworkInfo';
6
6
  export * from './certificates';
7
7
  export * from './utils';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './inferProjectorEventType';
2
2
  export * from './projectorOperator';
3
+ export * from './unifiedProjectorOperator';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/operators/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/operators/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './inferProjectorEventType';
2
2
  export * from './projectorOperator';
3
+ export * from './unifiedProjectorOperator';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operators/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operators/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC"}
@@ -1,8 +1,9 @@
1
- import { Observable } from 'rxjs';
1
+ /// <reference types="lodash" />
2
+ import { MaybeObservable } from './types';
2
3
  import { RollBackwardEvent, RollForwardEvent } from '../../types';
3
4
  export interface ProjectorEventHandlers<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn, ExtraRollForwardPropsOut = ExtraRollForwardPropsIn, ExtraRollBackwardPropsOut = ExtraRollBackwardPropsIn> {
4
- rollForward: (evt: RollForwardEvent<ExtraRollForwardPropsIn>) => Observable<RollForwardEvent<ExtraRollForwardPropsOut>> | RollForwardEvent<ExtraRollForwardPropsOut>;
5
- rollBackward: (evt: RollBackwardEvent<ExtraRollBackwardPropsIn>) => Observable<RollBackwardEvent<ExtraRollBackwardPropsOut>> | RollBackwardEvent<ExtraRollBackwardPropsOut>;
5
+ rollForward: (evt: RollForwardEvent<ExtraRollForwardPropsIn>) => MaybeObservable<RollForwardEvent<ExtraRollForwardPropsOut>>;
6
+ rollBackward: (evt: RollBackwardEvent<ExtraRollBackwardPropsIn>) => MaybeObservable<RollBackwardEvent<ExtraRollBackwardPropsOut>>;
6
7
  }
7
- export declare const projectorOperator: <ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn, ExtraRollForwardPropsOut, ExtraRollBackwardPropsOut>({ rollForward, rollBackward }: ProjectorEventHandlers<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn, ExtraRollForwardPropsOut, ExtraRollBackwardPropsOut>) => <SourceExtraRollForwardPropsIn extends ExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn extends ExtraRollBackwardPropsIn>() => import("../../types").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, ExtraRollForwardPropsOut, ExtraRollBackwardPropsOut>;
8
+ export declare const projectorOperator: (<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn, ExtraRollForwardPropsOut, ExtraRollBackwardPropsOut>({ rollForward, rollBackward }: ProjectorEventHandlers<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn, ExtraRollForwardPropsOut, ExtraRollBackwardPropsOut>) => <SourceExtraRollForwardPropsIn extends ExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn extends ExtraRollBackwardPropsIn>() => import("../../types").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, ExtraRollForwardPropsOut, ExtraRollBackwardPropsOut>) & import("lodash").MemoizedFunction;
8
9
  //# sourceMappingURL=projectorOperator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectorOperator.d.ts","sourceRoot":"","sources":["../../../../src/operators/utils/projectorOperator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA+B,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,WAAW,sBAAsB,CACrC,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,GAAG,uBAAuB,EAClD,yBAAyB,GAAG,wBAAwB;IAEpD,WAAW,EAAE,CACX,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,KAC3C,UAAU,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;IACzG,YAAY,EAAE,CACZ,GAAG,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,KAC7C,UAAU,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;CAC9G;AAKD,eAAO,MAAM,iBAAiB,8iBA0B3B,CAAC"}
1
+ {"version":3,"file":"projectorOperator.d.ts","sourceRoot":"","sources":["../../../../src/operators/utils/projectorOperator.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKlE,MAAM,WAAW,sBAAsB,CACrC,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,GAAG,uBAAuB,EAClD,yBAAyB,GAAG,wBAAwB;IAEpD,WAAW,EAAE,CACX,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,KAC3C,eAAe,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACjE,YAAY,EAAE,CACZ,GAAG,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,KAC7C,eAAe,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC,CAAC;CACpE;AAKD,eAAO,MAAM,iBAAiB,olBAuB7B,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { ChainSyncEventType } from '@cardano-sdk/core';
2
2
  import { concatMap, isObservable, of } from 'rxjs';
3
3
  import { inferProjectorEventType } from './inferProjectorEventType';
4
- export const projectorOperator = ({ rollForward, rollBackward }) => inferProjectorEventType((evt$) => evt$.pipe(concatMap((evt) => {
4
+ import memoize from 'lodash/memoize';
5
+ export const projectorOperator = memoize(({ rollForward, rollBackward }) => inferProjectorEventType((evt$) => evt$.pipe(concatMap((evt) => {
5
6
  const result = evt.eventType === ChainSyncEventType.RollForward ? rollForward(evt) : rollBackward(evt);
6
7
  return isObservable(result) ? result : of(result);
7
- })));
8
+ }))));
8
9
  //# sourceMappingURL=projectorOperator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectorOperator.js","sourceRoot":"","sources":["../../../../src/operators/utils/projectorOperator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAc,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAmBpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAK/B,EACA,WAAW,EACX,YAAY,EAMb,EAAE,EAAE,CACH,uBAAuB,CAKrB,CAAC,IAAI,EAAE,EAAE,CACT,IAAI,CAAC,IAAI,CACP,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;IAChB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,KAAK,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACvG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC,CACH,CACF,CAAC"}
1
+ {"version":3,"file":"projectorOperator.js","sourceRoot":"","sources":["../../../../src/operators/utils/projectorOperator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAmBrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CACtC,CAAyG,EACvG,WAAW,EACX,YAAY,EAMb,EAAE,EAAE,CACH,uBAAuB,CAKrB,CAAC,IAAI,EAAE,EAAE,CACT,IAAI,CAAC,IAAI,CACP,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;IAChB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,KAAK,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACvG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC,CACH,CACF,CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare type MaybeObservable<T> = T | Observable<T>;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/operators/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,oBAAY,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/operators/utils/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ /// <reference types="lodash" />
2
+ import { MaybeObservable } from './types';
3
+ import { RollBackwardEvent, RollForwardEvent, WithBlock } from '../../types';
4
+ export declare type UnifiedEventHandler<PropsIn, PropsOut> = (evt: RollForwardEvent<PropsIn> | RollBackwardEvent<PropsIn & WithBlock>) => MaybeObservable<RollForwardEvent<PropsOut> | RollBackwardEvent<PropsOut & WithBlock>>;
5
+ export declare const unifiedProjectorOperator: (<PropsIn, PropsOut>(handler: UnifiedEventHandler<PropsIn, PropsOut>) => <SourceExtraRollForwardPropsIn extends PropsIn, SourceExtraRollBackwardPropsIn extends PropsIn & WithBlock>() => import("../../types").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, PropsOut, PropsOut>) & import("lodash").MemoizedFunction;
6
+ //# sourceMappingURL=unifiedProjectorOperator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unifiedProjectorOperator.d.ts","sourceRoot":"","sources":["../../../../src/operators/utils/unifiedProjectorOperator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7E,oBAAY,mBAAmB,CAAC,OAAO,EAAE,QAAQ,IAAI,CACnD,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,GAAG,SAAS,CAAC,KACpE,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;AAK3F,eAAO,MAAM,wBAAwB,2VASpC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { concatMap, isObservable, of } from 'rxjs';
2
+ import { inferProjectorEventType } from './inferProjectorEventType';
3
+ import memoize from 'lodash/memoize';
4
+ export const unifiedProjectorOperator = memoize((handler) => inferProjectorEventType((evt$) => evt$.pipe(concatMap((evt) => {
5
+ const result = handler(evt);
6
+ return isObservable(result) ? result : of(result);
7
+ }))));
8
+ //# sourceMappingURL=unifiedProjectorOperator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unifiedProjectorOperator.js","sourceRoot":"","sources":["../../../../src/operators/utils/unifiedProjectorOperator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,OAAO,MAAM,gBAAgB,CAAC;AASrC,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC,CAAoB,OAA+C,EAAE,EAAE,CACrH,uBAAuB,CAAmD,CAAC,IAAI,EAAE,EAAE,CACjF,IAAI,CAAC,IAAI,CACP,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC,CACH,CACF,CACF,CAAC"}
@@ -1,7 +1,7 @@
1
- import { Cardano, EraSummary } from '@cardano-sdk/core';
2
- import { ProjectorOperator } from '../types';
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { WithNetworkInfo } from './withNetworkInfo';
3
3
  export declare type WithEpochNo = {
4
4
  epochNo: Cardano.EpochNo;
5
5
  };
6
- export declare const withEpochNo: <ExtraRollForwardProps, ExtraRollBackwardProps>(eraSummaries: EraSummary[]) => ProjectorOperator<ExtraRollForwardProps, ExtraRollBackwardProps, WithEpochNo, {}>;
6
+ export declare const withEpochNo: <SourceExtraRollForwardPropsIn extends Pick<WithNetworkInfo, "eraSummaries">, SourceExtraRollBackwardPropsIn extends Pick<WithNetworkInfo, "eraSummaries"> & import("..").WithBlock>() => import("..").ProjectorOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithEpochNo, WithEpochNo>;
7
7
  //# sourceMappingURL=withEpochNo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withEpochNo.d.ts","sourceRoot":"","sources":["../../../src/operators/withEpochNo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,UAAU,EAAuB,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C,oBAAY,WAAW,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;CAAE,CAAC;AAKvD,eAAO,MAAM,WAAW,gEAAiE,UAAU,EAAE,sFAUpG,CAAC"}
1
+ {"version":3,"file":"withEpochNo.d.ts","sourceRoot":"","sources":["../../../src/operators/withEpochNo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,oBAAY,WAAW,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;CAAE,CAAC;AAKvD,eAAO,MAAM,WAAW,mTAGtB,CAAC"}
@@ -1,9 +1,7 @@
1
- import { ChainSyncEventType, createSlotEpochCalc } from '@cardano-sdk/core';
2
- import { map } from 'rxjs';
3
- export const withEpochNo = (eraSummaries) => {
4
- const slotEpochCalc = createSlotEpochCalc(eraSummaries);
5
- return ((evt$) => evt$.pipe(map((evt) => evt.eventType === ChainSyncEventType.RollForward
6
- ? { ...evt, epochNo: slotEpochCalc(evt.block.header.slot) }
7
- : evt)));
8
- };
1
+ import { createSlotEpochCalc } from '@cardano-sdk/core';
2
+ import { unifiedProjectorOperator } from './utils';
3
+ export const withEpochNo = unifiedProjectorOperator((evt) => {
4
+ const slotEpochCalc = createSlotEpochCalc(evt.eraSummaries);
5
+ return { ...evt, epochNo: slotEpochCalc(evt.block.header.slot) };
6
+ });
9
7
  //# sourceMappingURL=withEpochNo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withEpochNo.js","sourceRoot":"","sources":["../../../src/operators/withEpochNo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,kBAAkB,EAAc,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAO3B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAgD,YAA0B,EAAE,EAAE;IACvG,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACxD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACV,GAAG,CAAC,SAAS,KAAK,kBAAkB,CAAC,WAAW;QAC9C,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3D,CAAC,CAAC,GAAG,CACR,CACF,CAAsF,CAAC;AAC5F,CAAC,CAAC"}
1
+ {"version":3,"file":"withEpochNo.js","sourceRoot":"","sources":["../../../src/operators/withEpochNo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAOnD,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAqD,CAAC,GAAG,EAAE,EAAE;IAC9G,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5D,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACnE,CAAC,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
+ /// <reference types="lodash" />
1
2
  import { Observable } from 'rxjs';
2
3
  import { ProjectorEvent, ProjectorOperator } from '../types';
3
- export declare const withEventContext: <TContext, ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn>(createContext: (evt: ProjectorEvent<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn>) => TContext | Observable<TContext>) => ProjectorOperator<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn, TContext, TContext>;
4
+ export declare const withEventContext: (<TContext, ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn>(createContext: (evt: ProjectorEvent<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn>) => TContext | Observable<TContext>) => ProjectorOperator<ExtraRollForwardPropsIn, ExtraRollBackwardPropsIn, TContext, TContext>) & import("lodash").MemoizedFunction;
4
5
  //# sourceMappingURL=withEventContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withEventContext.d.ts","sourceRoot":"","sources":["../../../src/operators/withEventContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmC,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAK7D,eAAO,MAAM,gBAAgB,uRAexB,CAAC"}
1
+ {"version":3,"file":"withEventContext.d.ts","sourceRoot":"","sources":["../../../src/operators/withEventContext.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAmC,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7D,eAAO,MAAM,gBAAgB,6TAgB5B,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { isObservable, map, mergeMap, of } from 'rxjs';
2
- export const withEventContext = (createContext) => (evt$) => evt$.pipe(mergeMap((evt) => {
2
+ import memoize from 'lodash/memoize';
3
+ export const withEventContext = memoize((createContext) => (evt$) => evt$.pipe(mergeMap((evt) => {
3
4
  let context$ = createContext(evt);
4
5
  if (!isObservable(context$)) {
5
6
  context$ = of(context$);
6
7
  }
7
8
  return context$.pipe(map((ctx) => ({ ...evt, ...ctx })));
8
- }));
9
+ })));
9
10
  //# sourceMappingURL=withEventContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withEventContext.js","sourceRoot":"","sources":["../../../src/operators/withEventContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAMnE,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CACE,aAEoC,EACsD,EAAE,CAC9F,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;IACf,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QAC3B,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;KACzB;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"withEventContext.js","sourceRoot":"","sources":["../../../src/operators/withEventContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAEnE,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAKrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CACrC,CACI,aAEoC,EACsD,EAAE,CAC9F,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;IACf,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;QAC3B,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;KACzB;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CACH,CACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Cardano, EraSummary } from '@cardano-sdk/core';
2
+ export declare type WithNetworkInfo = {
3
+ eraSummaries: EraSummary[];
4
+ genesisParameters: Cardano.CompactGenesis;
5
+ };
6
+ export declare const withNetworkInfo: <RollForwardPropsIn, RollBackwardPropsIn>(networkInfo: WithNetworkInfo) => import("..").ProjectorOperator<RollForwardPropsIn, RollBackwardPropsIn, WithNetworkInfo, WithNetworkInfo>;
7
+ //# sourceMappingURL=withNetworkInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withNetworkInfo.d.ts","sourceRoot":"","sources":["../../../src/operators/withNetworkInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGxD,oBAAY,eAAe,GAAG;IAC5B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,eAAe,yDAA0D,eAAe,8GAIjG,CAAC"}