@requence/event-sourcing 1.4.1 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +6 -5
  2. package/dist/{chunk-24xjphpk.js → chunk-06anxtk6.js} +6 -6
  3. package/dist/{chunk-24xjphpk.js.map → chunk-06anxtk6.js.map} +2 -2
  4. package/dist/{chunk-263c07sn.js → chunk-1mr4cwpw.js} +8 -8
  5. package/dist/{chunk-263c07sn.js.map → chunk-1mr4cwpw.js.map} +2 -2
  6. package/dist/{chunk-3ejt4h7x.js → chunk-2wqpktzp.js} +78 -66
  7. package/dist/chunk-2wqpktzp.js.map +10 -0
  8. package/dist/{chunk-dgzw1nj9.js → chunk-467qtkth.js} +8 -3
  9. package/dist/chunk-467qtkth.js.map +10 -0
  10. package/dist/chunk-6dn6wxg7.js +11 -0
  11. package/dist/{chunk-jd4q8fcf.js.map → chunk-6dn6wxg7.js.map} +2 -2
  12. package/dist/{chunk-pc1q4se9.js → chunk-9qtjz725.js} +2 -2
  13. package/dist/{chunk-pc1q4se9.js.map → chunk-9qtjz725.js.map} +2 -2
  14. package/dist/{chunk-tfy01fah.js → chunk-c7sytwpp.js} +4 -4
  15. package/dist/{chunk-tfy01fah.js.map → chunk-c7sytwpp.js.map} +2 -2
  16. package/dist/{chunk-vvv14qxy.js → chunk-d6jqbrq2.js} +33 -31
  17. package/dist/{chunk-vvv14qxy.js.map → chunk-d6jqbrq2.js.map} +3 -3
  18. package/dist/{chunk-vep2byx4.js → chunk-f95c3da4.js} +77 -64
  19. package/dist/chunk-f95c3da4.js.map +10 -0
  20. package/dist/chunk-fpjnk143.js +13 -0
  21. package/dist/{chunk-6q8mr1sg.js.map → chunk-fpjnk143.js.map} +2 -2
  22. package/dist/{chunk-8qn1nqnh.js → chunk-fxb9fbvz.js} +9 -9
  23. package/dist/{chunk-8qn1nqnh.js.map → chunk-fxb9fbvz.js.map} +2 -2
  24. package/dist/chunk-hmvwn02w.js +22 -0
  25. package/dist/{chunk-6yrb30rx.js.map → chunk-hmvwn02w.js.map} +2 -2
  26. package/dist/{chunk-ty9bhdvx.js → chunk-j4mwjx07.js} +5 -3
  27. package/dist/chunk-j4mwjx07.js.map +10 -0
  28. package/dist/{chunk-391m4mfp.js → chunk-jw9e0fr0.js} +13 -13
  29. package/dist/{chunk-391m4mfp.js.map → chunk-jw9e0fr0.js.map} +2 -2
  30. package/dist/chunk-mbxxvskx.js +67 -0
  31. package/dist/chunk-mbxxvskx.js.map +10 -0
  32. package/dist/{chunk-yn2sjcg3.js → chunk-nrhw3kde.js} +57 -8
  33. package/dist/chunk-nrhw3kde.js.map +10 -0
  34. package/dist/{chunk-57b88rt5.js → chunk-pcggjrxr.js} +32 -32
  35. package/dist/{chunk-57b88rt5.js.map → chunk-pcggjrxr.js.map} +2 -2
  36. package/dist/chunk-tkwe4r0y.js +22 -0
  37. package/dist/{chunk-2fe8jjdc.js.map → chunk-tkwe4r0y.js.map} +2 -2
  38. package/dist/{chunk-z388cd25.js → chunk-zkz6ew8c.js} +5 -5
  39. package/dist/{chunk-z388cd25.js.map → chunk-zkz6ew8c.js.map} +2 -2
  40. package/dist/createAggregateRoot.d.ts +1 -1
  41. package/dist/createAggregateRoot.d.ts.map +1 -1
  42. package/dist/createAggregateRoot.js +15 -14
  43. package/dist/createAggregateRoot.js.map +1 -1
  44. package/dist/createCheckpointApi.d.ts +30 -0
  45. package/dist/createCheckpointApi.d.ts.map +1 -1
  46. package/dist/createCheckpointApi.js +5 -5
  47. package/dist/createCheckpointApi.js.map +1 -1
  48. package/dist/createEventListener.js +8 -8
  49. package/dist/createEventListener.js.map +1 -1
  50. package/dist/createEventStore.js +16 -16
  51. package/dist/createEventStore.js.map +1 -1
  52. package/dist/createProcessManager.d.ts.map +1 -1
  53. package/dist/createProcessManager.js +12 -12
  54. package/dist/createProcessManager.js.map +1 -1
  55. package/dist/createProjection.d.ts.map +1 -1
  56. package/dist/createProjection.js +12 -12
  57. package/dist/createProjection.js.map +1 -1
  58. package/dist/drizzle/index.js +132 -132
  59. package/dist/drizzle/index.js.map +2 -2
  60. package/dist/drizzle/postgres.js +14 -14
  61. package/dist/drizzle/postgres.js.map +1 -1
  62. package/dist/errors.js +24 -24
  63. package/dist/errors.js.map +1 -1
  64. package/dist/index.js +63 -63
  65. package/dist/index.js.map +1 -1
  66. package/dist/lock.d.ts +11 -3
  67. package/dist/lock.d.ts.map +1 -1
  68. package/dist/lock.js +4 -2
  69. package/dist/lock.js.map +1 -1
  70. package/dist/memory/index.d.ts +14 -3
  71. package/dist/memory/index.d.ts.map +1 -1
  72. package/dist/memory/index.js +52 -45
  73. package/dist/memory/index.js.map +3 -3
  74. package/dist/memory/index.spec.d.ts +2 -0
  75. package/dist/memory/index.spec.d.ts.map +1 -0
  76. package/dist/redis/index.js +5 -4
  77. package/dist/redis/index.js.map +1 -1
  78. package/dist/redis/redisLock.d.ts +1 -1
  79. package/dist/redis/redisLock.d.ts.map +1 -1
  80. package/dist/redis/redisLock.js +5 -4
  81. package/dist/redis/redisLock.js.map +1 -1
  82. package/dist/refresh.js +9 -9
  83. package/dist/refresh.js.map +1 -1
  84. package/dist/replay.js +9 -9
  85. package/dist/replay.js.map +1 -1
  86. package/dist/snapshotGenerator.js +2 -2
  87. package/dist/superjson.js +8 -8
  88. package/dist/superjson.js.map +1 -1
  89. package/dist/surreal/index.d.ts +35 -0
  90. package/dist/surreal/index.d.ts.map +1 -0
  91. package/dist/surreal/index.js +415 -0
  92. package/dist/surreal/index.js.map +10 -0
  93. package/dist/surreal/index.spec.d.ts +2 -0
  94. package/dist/surreal/index.spec.d.ts.map +1 -0
  95. package/dist/surreal/schema.d.ts +12 -0
  96. package/dist/surreal/schema.d.ts.map +1 -0
  97. package/dist/surreal/schema.js +12 -0
  98. package/dist/surreal/schema.js.map +9 -0
  99. package/dist/tests/projectionMultiInstance.spec.d.ts +2 -0
  100. package/dist/tests/projectionMultiInstance.spec.d.ts.map +1 -0
  101. package/dist/tests/storageDriverContract.d.ts +19 -0
  102. package/dist/tests/storageDriverContract.d.ts.map +1 -0
  103. package/dist/transaction.js +1 -1
  104. package/dist/utils.js +6 -6
  105. package/dist/utils.js.map +1 -1
  106. package/dist/wrappedEventBuilder.js +8 -8
  107. package/dist/wrappedEventBuilder.js.map +1 -1
  108. package/package.json +19 -10
  109. package/src/createAggregateRoot.ts +24 -5
  110. package/src/createCheckpointApi.ts +98 -0
  111. package/src/createProcessManager.ts +7 -6
  112. package/src/createProjection.ts +91 -65
  113. package/src/lock.ts +17 -3
  114. package/src/memory/index.spec.ts +4 -0
  115. package/src/memory/index.ts +55 -29
  116. package/src/redis/redisLock.ts +6 -2
  117. package/src/surreal/index.spec.ts +152 -0
  118. package/src/surreal/index.ts +604 -0
  119. package/src/surreal/schema.ts +68 -0
  120. package/src/tests/aggregateRoot.spec.ts +48 -3
  121. package/src/tests/eventStore.spec.ts +1 -3
  122. package/src/tests/processManagerMultiInstance.spec.ts +18 -7
  123. package/src/tests/projectionMultiInstance.spec.ts +283 -0
  124. package/src/tests/storageDriverContract.ts +612 -0
  125. package/dist/chunk-2fe8jjdc.js +0 -22
  126. package/dist/chunk-3ejt4h7x.js.map +0 -10
  127. package/dist/chunk-6q8mr1sg.js +0 -13
  128. package/dist/chunk-6yrb30rx.js +0 -22
  129. package/dist/chunk-dgzw1nj9.js.map +0 -10
  130. package/dist/chunk-jd4q8fcf.js +0 -11
  131. package/dist/chunk-ty9bhdvx.js.map +0 -10
  132. package/dist/chunk-vep2byx4.js.map +0 -10
  133. package/dist/chunk-yn2sjcg3.js.map +0 -10
@@ -1,18 +1,18 @@
1
1
  import {
2
- aggregateRootSnapshots,
3
- checkpoints,
4
- eventSourcing,
5
- events,
6
- projectionAppliedEvents,
7
- projectionSnapshots
8
- } from "../chunk-263c07sn.js";
2
+ eventSourcing2,
3
+ events2,
4
+ aggregateRootSnapshots2,
5
+ projectionSnapshots2,
6
+ checkpoints2,
7
+ projectionAppliedEvents2
8
+ } from "../chunk-1mr4cwpw.js";
9
9
  export {
10
- projectionSnapshots,
11
- projectionAppliedEvents,
12
- events,
13
- eventSourcing,
14
- checkpoints,
15
- aggregateRootSnapshots
10
+ aggregateRootSnapshots2 as aggregateRootSnapshots,
11
+ checkpoints2 as checkpoints,
12
+ eventSourcing2 as eventSourcing,
13
+ events2 as events,
14
+ projectionAppliedEvents2 as projectionAppliedEvents,
15
+ projectionSnapshots2 as projectionSnapshots
16
16
  };
17
17
 
18
- //# debugId=C298CB5F8114B57164756E2164756E21
18
+ //# debugId=968717E78D0735FE64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "C298CB5F8114B57164756E2164756E21",
7
+ "debugId": "968717E78D0735FE64756E2164756E21",
8
8
  "names": []
9
9
  }
package/dist/errors.js CHANGED
@@ -1,28 +1,28 @@
1
1
  import {
2
- CheckpointConcurrencyError,
3
- CommandError,
4
- ConcurrencyError,
5
- EventValidationError,
6
- InfiniteLoopError,
7
- ProcessManagerEventHandlerExecutionError,
8
- ProjectionEventHandlerExecutionError,
9
- ProjectionReplayLoopError,
10
- RefreshingSkipError,
11
- ReplaySkipError,
12
- ValidationError
13
- } from "./chunk-391m4mfp.js";
2
+ ConcurrencyError2,
3
+ CheckpointConcurrencyError2,
4
+ ValidationError2,
5
+ EventValidationError2,
6
+ InfiniteLoopError2,
7
+ CommandError2,
8
+ ProjectionReplayLoopError2,
9
+ RefreshingSkipError2,
10
+ ReplaySkipError2,
11
+ ProjectionEventHandlerExecutionError2,
12
+ ProcessManagerEventHandlerExecutionError2
13
+ } from "./chunk-jw9e0fr0.js";
14
14
  export {
15
- ValidationError,
16
- ReplaySkipError,
17
- RefreshingSkipError,
18
- ProjectionReplayLoopError,
19
- ProjectionEventHandlerExecutionError,
20
- ProcessManagerEventHandlerExecutionError,
21
- InfiniteLoopError,
22
- EventValidationError,
23
- ConcurrencyError,
24
- CommandError,
25
- CheckpointConcurrencyError
15
+ CheckpointConcurrencyError2 as CheckpointConcurrencyError,
16
+ CommandError2 as CommandError,
17
+ ConcurrencyError2 as ConcurrencyError,
18
+ EventValidationError2 as EventValidationError,
19
+ InfiniteLoopError2 as InfiniteLoopError,
20
+ ProcessManagerEventHandlerExecutionError2 as ProcessManagerEventHandlerExecutionError,
21
+ ProjectionEventHandlerExecutionError2 as ProjectionEventHandlerExecutionError,
22
+ ProjectionReplayLoopError2 as ProjectionReplayLoopError,
23
+ RefreshingSkipError2 as RefreshingSkipError,
24
+ ReplaySkipError2 as ReplaySkipError,
25
+ ValidationError2 as ValidationError
26
26
  };
27
27
 
28
- //# debugId=1EBB5F2728E5435464756E2164756E21
28
+ //# debugId=5B9494BCDD14E98564756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "1EBB5F2728E5435464756E2164756E21",
7
+ "debugId": "5B9494BCDD14E98564756E2164756E21",
8
8
  "names": []
9
9
  }
package/dist/index.js CHANGED
@@ -1,75 +1,75 @@
1
1
  import {
2
- isStreamEvents,
3
- isStreamId
4
- } from "./chunk-jd4q8fcf.js";
2
+ isStreamId2,
3
+ isStreamEvents2
4
+ } from "./chunk-6dn6wxg7.js";
5
5
  import {
6
- createEventStore
7
- } from "./chunk-57b88rt5.js";
6
+ createEventStore2
7
+ } from "./chunk-pcggjrxr.js";
8
8
  import {
9
- getEventListenerInfo,
10
- isInsideEventListener
11
- } from "./chunk-24xjphpk.js";
9
+ getEventListenerInfo2,
10
+ isInsideEventListener2
11
+ } from "./chunk-06anxtk6.js";
12
12
  import {
13
- createAggregateRoot
14
- } from "./chunk-vep2byx4.js";
15
- import"./chunk-ty9bhdvx.js";
13
+ createAggregateRoot2
14
+ } from "./chunk-f95c3da4.js";
15
+ import"./chunk-c7sytwpp.js";
16
+ import"./chunk-zkz6ew8c.js";
17
+ import"./chunk-9qtjz725.js";
16
18
  import {
17
- getProcessManagerInfo,
18
- isInsideProcessManager
19
- } from "./chunk-vvv14qxy.js";
20
- import"./chunk-6q8mr1sg.js";
21
- import"./chunk-pc1q4se9.js";
22
- import"./chunk-z388cd25.js";
19
+ getProcessManagerInfo2,
20
+ isInsideProcessManager2
21
+ } from "./chunk-d6jqbrq2.js";
22
+ import"./chunk-fpjnk143.js";
23
23
  import {
24
- getProjectionInfo,
25
- isInsideProjection
26
- } from "./chunk-3ejt4h7x.js";
27
- import"./chunk-8qn1nqnh.js";
28
- import"./chunk-yn2sjcg3.js";
24
+ getProjectionInfo2,
25
+ isInsideProjection2
26
+ } from "./chunk-2wqpktzp.js";
29
27
  import {
30
- skipReplay
31
- } from "./chunk-2fe8jjdc.js";
32
- import"./chunk-tfy01fah.js";
28
+ skipReplay2
29
+ } from "./chunk-tkwe4r0y.js";
30
+ import"./chunk-fxb9fbvz.js";
31
+ import"./chunk-nrhw3kde.js";
32
+ import"./chunk-j4mwjx07.js";
33
33
  import {
34
- skipRefreshing
35
- } from "./chunk-6yrb30rx.js";
34
+ skipRefreshing2
35
+ } from "./chunk-hmvwn02w.js";
36
36
  import {
37
- CheckpointConcurrencyError,
38
- CommandError,
39
- ConcurrencyError,
40
- EventValidationError,
41
- InfiniteLoopError,
42
- ProcessManagerEventHandlerExecutionError,
43
- ProjectionEventHandlerExecutionError,
44
- ProjectionReplayLoopError,
45
- RefreshingSkipError,
46
- ReplaySkipError,
47
- ValidationError
48
- } from "./chunk-391m4mfp.js";
37
+ ConcurrencyError2,
38
+ CheckpointConcurrencyError2,
39
+ ValidationError2,
40
+ EventValidationError2,
41
+ InfiniteLoopError2,
42
+ CommandError2,
43
+ ProjectionReplayLoopError2,
44
+ RefreshingSkipError2,
45
+ ReplaySkipError2,
46
+ ProjectionEventHandlerExecutionError2,
47
+ ProcessManagerEventHandlerExecutionError2
48
+ } from "./chunk-jw9e0fr0.js";
49
49
  export {
50
- skipReplay,
51
- skipRefreshing,
52
- isStreamId,
53
- isStreamEvents,
54
- isInsideProjection,
55
- isInsideProcessManager,
56
- isInsideEventListener,
57
- getProjectionInfo,
58
- getProcessManagerInfo,
59
- getEventListenerInfo,
60
- createEventStore,
61
- createAggregateRoot,
62
- ValidationError,
63
- ReplaySkipError,
64
- RefreshingSkipError,
65
- ProjectionReplayLoopError,
66
- ProjectionEventHandlerExecutionError,
67
- ProcessManagerEventHandlerExecutionError,
68
- InfiniteLoopError,
69
- EventValidationError,
70
- ConcurrencyError,
71
- CommandError,
72
- CheckpointConcurrencyError
50
+ CheckpointConcurrencyError2 as CheckpointConcurrencyError,
51
+ CommandError2 as CommandError,
52
+ ConcurrencyError2 as ConcurrencyError,
53
+ EventValidationError2 as EventValidationError,
54
+ InfiniteLoopError2 as InfiniteLoopError,
55
+ ProcessManagerEventHandlerExecutionError2 as ProcessManagerEventHandlerExecutionError,
56
+ ProjectionEventHandlerExecutionError2 as ProjectionEventHandlerExecutionError,
57
+ ProjectionReplayLoopError2 as ProjectionReplayLoopError,
58
+ RefreshingSkipError2 as RefreshingSkipError,
59
+ ReplaySkipError2 as ReplaySkipError,
60
+ ValidationError2 as ValidationError,
61
+ createAggregateRoot2 as createAggregateRoot,
62
+ createEventStore2 as createEventStore,
63
+ getEventListenerInfo2 as getEventListenerInfo,
64
+ getProcessManagerInfo2 as getProcessManagerInfo,
65
+ getProjectionInfo2 as getProjectionInfo,
66
+ isInsideEventListener2 as isInsideEventListener,
67
+ isInsideProcessManager2 as isInsideProcessManager,
68
+ isInsideProjection2 as isInsideProjection,
69
+ isStreamEvents2 as isStreamEvents,
70
+ isStreamId2 as isStreamId,
71
+ skipRefreshing2 as skipRefreshing,
72
+ skipReplay2 as skipReplay
73
73
  };
74
74
 
75
- //# debugId=C43CA0108CEF7D7664756E2164756E21
75
+ //# debugId=EA0AA82B164EF71064756E2164756E21
package/dist/index.js.map CHANGED
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "C43CA0108CEF7D7664756E2164756E21",
7
+ "debugId": "EA0AA82B164EF71064756E2164756E21",
8
8
  "names": []
9
9
  }
package/dist/lock.d.ts CHANGED
@@ -1,6 +1,14 @@
1
- export default function lock(defaultTtl?: number): (key: string | string[]) => Promise<{
1
+ export declare const DEFAULT_LOCK_TTL = 5000;
2
+ export type Lock = {
3
+ /** Moves the expiry to `ttl` from now (default: half the lock's TTL). */
2
4
  extend(ttl?: number): Promise<boolean>;
3
5
  release(): Promise<void>;
4
- }>;
5
- export type LockCreator = ReturnType<typeof lock>;
6
+ /**
7
+ * The TTL the lock was taken with. The aggregate root keeps a replay's lock
8
+ * alive at a quarter of it, and assumes {@link DEFAULT_LOCK_TTL} without it.
9
+ */
10
+ ttl?: number;
11
+ };
12
+ export type LockCreator = (key: string | string[]) => Promise<Lock>;
13
+ export default function lock(defaultTtl?: number): LockCreator;
6
14
  //# sourceMappingURL=lock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,UAAU,SAAO,IAE9B,KAAK,MAAM,GAAG,MAAM,EAAE;iBA4Bb,MAAM;;GAuB9B;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAEpC,MAAM,MAAM,IAAI,GAAG;IACjB,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnE,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,UAAU,SAAmB,GAAG,WAAW,CAsDvE"}
package/dist/lock.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import {
2
+ DEFAULT_LOCK_TTL2,
2
3
  lock
3
- } from "./chunk-ty9bhdvx.js";
4
+ } from "./chunk-j4mwjx07.js";
4
5
  export {
6
+ DEFAULT_LOCK_TTL2 as DEFAULT_LOCK_TTL,
5
7
  lock as default
6
8
  };
7
9
 
8
- //# debugId=36DB8B5837ED61E464756E2164756E21
10
+ //# debugId=FAC60E1734CE87E364756E2164756E21
package/dist/lock.js.map CHANGED
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "36DB8B5837ED61E464756E2164756E21",
7
+ "debugId": "FAC60E1734CE87E364756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,7 +1,9 @@
1
- import type { AnyAggregateRoot } from '../createAggregateRoot.ts';
2
- import type { EventStore, EventStoreParamsWithAggregateRootSnapshots, EventsFromRoot, OnProgress } from '../createEventStore.ts';
1
+ import type { AggregateRootSnapshotMethods, AnyAggregateRoot } from '../createAggregateRoot.ts';
2
+ import type { CheckpointMethods } from '../createCheckpointApi.ts';
3
+ import type { ProjectionSnapshotMethods } from '../createProjection.ts';
4
+ import type { EventStore, EventStoreParamsWithAggregateRootSnapshots, EventsFromRoot, LoadEvents, OnProgress } from '../createEventStore.ts';
3
5
  import type { LockCreator } from '../lock.ts';
4
- import type { BaseOutputEvent, MaybePromise } from '../utilityTypes.js';
6
+ import type { BaseInputEvent, BaseOutputEvent, MaybePromise, StreamId } from '../utilityTypes.js';
5
7
  export { createAggregateRoot } from '../index.ts';
6
8
  export type OnEventsAppended = (events: BaseOutputEvent[]) => MaybePromise<void>;
7
9
  interface MemoryEventStoreParams<Root extends AnyAggregateRoot> {
@@ -13,5 +15,14 @@ interface MemoryEventStoreParams<Root extends AnyAggregateRoot> {
13
15
  onProcessManagerRefresh?: OnProgress;
14
16
  onEventsAppended?: OnEventsAppended;
15
17
  }
18
+ export declare function createMemoryStorage(params?: {
19
+ onEventsAppended?: OnEventsAppended;
20
+ }): {
21
+ loadEvents: LoadEvents;
22
+ appendEvents: (streamId: StreamId, events: BaseInputEvent[], expectedVersion: number) => BaseOutputEvent[];
23
+ checkpoint: CheckpointMethods;
24
+ projectionSnapshot: ProjectionSnapshotMethods;
25
+ aggregateRootSnapshot: AggregateRootSnapshotMethods;
26
+ };
16
27
  export declare function createEventStore<const Root extends AnyAggregateRoot>({ aggregateRoots, postProcessEvent, onProjectionReplay, onProcessManagerRefresh, onEventsAppended, autoInit, lock, }: MemoryEventStoreParams<Root>): EventStore<EventsFromRoot<Root>, Root, true>;
17
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAWjE,OAAO,KAAK,EACV,UAAU,EACV,0CAA0C,EAC1C,cAAc,EACd,UAAU,EACX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,eAAe,EAAE,KACtB,YAAY,CAAC,IAAI,CAAC,CAAA;AAEvB,UAAU,sBAAsB,CAAC,IAAI,SAAS,gBAAgB;IAC5D,cAAc,EAAE,IAAI,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,gBAAgB,CAAC,EAAE,0CAA0C,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACvF,kBAAkB,CAAC,EAAE,UAAU,CAAA;IAC/B,uBAAuB,CAAC,EAAE,UAAU,CAAA;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,IAAI,SAAS,gBAAgB,EAAE,EACpE,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,QAAQ,EACR,IAAI,GACL,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,UAAU,CAC1C,cAAc,CAAC,IAAI,CAAC,EACpB,IAAI,EACJ,IAAI,CACL,CA2LA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAUvE,OAAO,KAAK,EACV,UAAU,EACV,0CAA0C,EAC1C,cAAc,EACd,UAAU,EACV,UAAU,EACX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAA;AAEhF,UAAU,sBAAsB,CAAC,IAAI,SAAS,gBAAgB;IAC5D,cAAc,EAAE,IAAI,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,gBAAgB,CAAC,EAAE,0CAA0C,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACvF,kBAAkB,CAAC,EAAE,UAAU,CAAA;IAC/B,uBAAuB,CAAC,EAAE,UAAU,CAAA;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE;IAC3C,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC,GAAG;IACF,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,EAAE,CACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,cAAc,EAAE,EACxB,eAAe,EAAE,MAAM,KACpB,eAAe,EAAE,CAAA;IACtB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,kBAAkB,EAAE,yBAAyB,CAAA;IAC7C,qBAAqB,EAAE,4BAA4B,CAAA;CACpD,CAuLA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,IAAI,SAAS,gBAAgB,EAAE,EACpE,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,QAAQ,EACR,IAAI,GACL,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAY7E"}
@@ -1,60 +1,46 @@
1
+ import"../chunk-06anxtk6.js";
1
2
  import {
2
- isStreamEvents,
3
- isStreamId
4
- } from "../chunk-jd4q8fcf.js";
3
+ ConcurrencyError2
4
+ } from "../chunk-jw9e0fr0.js";
5
+ import"../chunk-nrhw3kde.js";
6
+ import"../chunk-hmvwn02w.js";
7
+ import"../chunk-fpjnk143.js";
8
+ import"../chunk-d6jqbrq2.js";
9
+ import"../chunk-tkwe4r0y.js";
10
+ import"../chunk-fxb9fbvz.js";
11
+ import"../chunk-2wqpktzp.js";
12
+ import"../chunk-j4mwjx07.js";
13
+ import"../chunk-9qtjz725.js";
14
+ import"../chunk-zkz6ew8c.js";
5
15
  import {
6
- createEventStore
7
- } from "../chunk-57b88rt5.js";
8
- import"../chunk-24xjphpk.js";
16
+ createEventStore2
17
+ } from "../chunk-pcggjrxr.js";
18
+ import"../chunk-c7sytwpp.js";
9
19
  import {
10
- createAggregateRoot
11
- } from "../chunk-vep2byx4.js";
12
- import"../chunk-ty9bhdvx.js";
13
- import"../chunk-vvv14qxy.js";
14
- import"../chunk-6q8mr1sg.js";
15
- import"../chunk-pc1q4se9.js";
16
- import"../chunk-z388cd25.js";
17
- import"../chunk-3ejt4h7x.js";
18
- import"../chunk-8qn1nqnh.js";
19
- import"../chunk-yn2sjcg3.js";
20
- import"../chunk-2fe8jjdc.js";
21
- import"../chunk-tfy01fah.js";
22
- import"../chunk-6yrb30rx.js";
20
+ createAggregateRoot2
21
+ } from "../chunk-f95c3da4.js";
23
22
  import {
24
- ConcurrencyError
25
- } from "../chunk-391m4mfp.js";
23
+ isStreamId2,
24
+ isStreamEvents2
25
+ } from "../chunk-6dn6wxg7.js";
26
26
 
27
27
  // src/memory/index.ts
28
- function createEventStore2({
29
- aggregateRoots,
30
- postProcessEvent,
31
- onProjectionReplay,
32
- onProcessManagerRefresh,
33
- onEventsAppended,
34
- autoInit,
35
- lock
36
- }) {
28
+ function createMemoryStorage(params) {
37
29
  const events = [];
38
30
  const checkpoints = new Set;
39
31
  const aggregateRootSnapshots = new Map;
40
32
  const projectionSnapshots = new Set;
41
33
  const projectionAppliedCount = new Map;
42
- return createEventStore({
43
- aggregateRoots,
44
- postProcessEvent,
45
- onProjectionReplay,
46
- onProcessManagerRefresh,
47
- autoInit,
48
- lock,
34
+ return {
49
35
  async* loadEvents(select, range) {
50
36
  let streamTypes = null;
51
37
  let streamIds = null;
52
38
  let eventTypes = null;
53
39
  if (select) {
54
40
  const selects = Array.isArray(select) ? select : [select];
55
- streamTypes = selects.map((select2) => select2.stream);
56
- streamIds = selects.map((select2) => isStreamId(select2) ? select2.id : null).filter(Boolean);
57
- eventTypes = selects.flatMap((select2) => isStreamEvents(select2) ? select2.events : []);
41
+ streamTypes = selects.map((select) => select.stream);
42
+ streamIds = selects.map((select) => isStreamId2(select) ? select.id : null).filter(Boolean);
43
+ eventTypes = selects.flatMap((select) => isStreamEvents2(select) ? select.events : []);
58
44
  }
59
45
  const filteredEvents = events.filter((event) => {
60
46
  if (streamTypes?.length && !streamTypes.includes(event.streamType)) {
@@ -82,7 +68,7 @@ function createEventStore2({
82
68
  const lastEvent = events.findLast((e) => e.streamId === id && e.streamType === stream);
83
69
  const currentVersion = lastEvent?.streamVersion ?? 0;
84
70
  if (currentVersion !== expectedVersion) {
85
- throw new ConcurrencyError({ id, stream }, expectedVersion, currentVersion);
71
+ throw new ConcurrencyError2({ id, stream }, expectedVersion, currentVersion);
86
72
  }
87
73
  const extendedEvents = newEvents.map((event, index) => ({
88
74
  ...event,
@@ -93,7 +79,7 @@ function createEventStore2({
93
79
  streamVersion: expectedVersion + index + 1
94
80
  }));
95
81
  events.push(...extendedEvents);
96
- onEventsAppended?.(extendedEvents);
82
+ params?.onEventsAppended?.(extendedEvents);
97
83
  return extendedEvents;
98
84
  },
99
85
  checkpoint: {
@@ -175,11 +161,32 @@ function createEventStore2({
175
161
  }
176
162
  }
177
163
  }
164
+ };
165
+ }
166
+ function createEventStore({
167
+ aggregateRoots,
168
+ postProcessEvent,
169
+ onProjectionReplay,
170
+ onProcessManagerRefresh,
171
+ onEventsAppended,
172
+ autoInit,
173
+ lock
174
+ }) {
175
+ const storage = createMemoryStorage({ onEventsAppended });
176
+ return createEventStore2({
177
+ aggregateRoots,
178
+ postProcessEvent,
179
+ onProjectionReplay,
180
+ onProcessManagerRefresh,
181
+ autoInit,
182
+ lock,
183
+ ...storage
178
184
  });
179
185
  }
180
186
  export {
181
- createEventStore2 as createEventStore,
182
- createAggregateRoot
187
+ createAggregateRoot2 as createAggregateRoot,
188
+ createEventStore,
189
+ createMemoryStorage
183
190
  };
184
191
 
185
- //# debugId=44866831ADFEF6FD64756E2164756E21
192
+ //# debugId=75FA3DEA7CD7B46C64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/memory/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { AnyAggregateRoot } from '../createAggregateRoot.ts'\nimport type { Checkpoint } from '../createCheckpointApi.ts'\nimport {\n type AggregateRootSnapshot,\n ConcurrencyError,\n type Event,\n type ProjectionSnapshot,\n createEventStore as createBaseEventStore,\n isStreamEvents,\n isStreamId,\n} from '../index.ts'\nimport type {\n EventStore,\n EventStoreParamsWithAggregateRootSnapshots,\n EventsFromRoot,\n OnProgress,\n} from '../createEventStore.ts'\nimport type { LockCreator } from '../lock.ts'\nimport type { BaseOutputEvent, MaybePromise } from '../utilityTypes.js'\n\nexport { createAggregateRoot } from '../index.ts'\n\nexport type OnEventsAppended = (\n events: BaseOutputEvent[],\n) => MaybePromise<void>\n\ninterface MemoryEventStoreParams<Root extends AnyAggregateRoot> {\n aggregateRoots: Root[]\n autoInit?: boolean\n lock?: LockCreator\n postProcessEvent?: EventStoreParamsWithAggregateRootSnapshots<Root>['postProcessEvent']\n onProjectionReplay?: OnProgress\n onProcessManagerRefresh?: OnProgress\n onEventsAppended?: OnEventsAppended\n}\n\nexport function createEventStore<const Root extends AnyAggregateRoot>({\n aggregateRoots,\n postProcessEvent,\n onProjectionReplay,\n onProcessManagerRefresh,\n onEventsAppended,\n autoInit,\n lock,\n}: MemoryEventStoreParams<Root>): EventStore<\n EventsFromRoot<Root>,\n Root,\n true\n> {\n const events: Event[] = []\n const checkpoints = new Set<Checkpoint>()\n const aggregateRootSnapshots = new Map<string, AggregateRootSnapshot>()\n const projectionSnapshots = new Set<ProjectionSnapshot>()\n const projectionAppliedCount = new Map<string, number>()\n\n return createBaseEventStore({\n aggregateRoots,\n postProcessEvent,\n onProjectionReplay,\n onProcessManagerRefresh,\n autoInit,\n lock,\n\n async *loadEvents(select, range) {\n let streamTypes: string[] | null = null\n let streamIds: string[] | null = null\n let eventTypes: string[] | null = null\n\n if (select) {\n const selects = Array.isArray(select) ? select : [select]\n streamTypes = selects.map((select) => select.stream)\n streamIds = selects\n .map((select) => (isStreamId(select) ? select.id : null))\n .filter(Boolean) as string[]\n eventTypes = selects.flatMap((select) =>\n isStreamEvents(select) ? select.events : [],\n )\n }\n\n const filteredEvents = events.filter((event) => {\n if (streamTypes?.length && !streamTypes.includes(event.streamType)) {\n return false\n }\n\n if (streamIds?.length && !streamIds.includes(event.streamId)) {\n return false\n }\n\n if (eventTypes?.length && !eventTypes.includes(event.type)) {\n return false\n }\n\n if (range?.from && event.position < range.from) {\n return false\n }\n\n if (range?.to && event.position > range.to) {\n return false\n }\n\n return true\n })\n\n for (const event of filteredEvents) {\n yield event\n }\n },\n\n appendEvents({ id, stream }, newEvents, expectedVersion) {\n const lastEvent = events.findLast(\n (e) => e.streamId === id && e.streamType === stream,\n )\n\n const currentVersion = lastEvent?.streamVersion ?? 0\n\n if (currentVersion !== expectedVersion) {\n throw new ConcurrencyError(\n { id, stream },\n expectedVersion,\n currentVersion,\n )\n }\n\n const extendedEvents: Event[] = newEvents.map((event, index) => ({\n ...event,\n createdAt: new Date(),\n position: events.length + index,\n streamId: id,\n streamType: stream,\n streamVersion: expectedVersion + index + 1,\n }))\n\n events.push(...extendedEvents)\n onEventsAppended?.(extendedEvents)\n return extendedEvents\n },\n\n checkpoint: {\n get(type, name) {\n for (const checkpoint of checkpoints) {\n if (checkpoint.type === type && checkpoint.name === name) {\n return checkpoint\n }\n }\n },\n upsert(checkpoint, expectedVersion) {\n let persisted: Checkpoint | undefined\n for (const c of checkpoints) {\n if (c.type === checkpoint.type && c.name === checkpoint.name) {\n persisted = c\n break\n }\n }\n\n if (persisted) {\n // Compare-and-swap: reject the write when another writer advanced the\n // checkpoint, or when the caller expected to create a fresh one.\n if (expectedVersion === null || persisted.version !== expectedVersion) {\n return false\n }\n persisted.lastEventPosition = checkpoint.lastEventPosition\n persisted.metadata = checkpoint.metadata\n persisted.version = checkpoint.version\n } else {\n checkpoints.add({ ...checkpoint })\n }\n\n return true\n },\n delete(type, name) {\n for (const checkpoint of checkpoints) {\n if (checkpoint.type === type && checkpoint.name === name) {\n checkpoints.delete(checkpoint)\n }\n }\n },\n },\n\n projectionSnapshot: {\n put(snapshot) {\n projectionSnapshots.add(snapshot)\n },\n get(select) {\n return Array.from(projectionSnapshots)\n .toReversed()\n .find(\n (snapshot) =>\n snapshot.projectionId === select.id &&\n snapshot.projectionType === select.projection,\n )\n },\n delete(target, fromPosition) {\n for (const snapshot of projectionSnapshots) {\n if (target.id && snapshot.projectionId !== target.id) {\n continue\n }\n\n if (snapshot.projectionType !== target.projection) {\n continue\n }\n\n if (fromPosition && snapshot.lastEventPosition < fromPosition) {\n continue\n }\n\n projectionSnapshots.delete(snapshot)\n }\n },\n incrementAppliedCount(select) {\n const key = `${select.projection}-${select.id}`\n const nextCount = (projectionAppliedCount.get(key) ?? 0) + 1\n projectionAppliedCount.set(key, nextCount)\n return nextCount\n },\n },\n\n aggregateRootSnapshot: {\n put(snapshot) {\n aggregateRootSnapshots.set(\n `${snapshot.streamType}:${snapshot.streamId}`,\n snapshot,\n )\n },\n get(select) {\n return aggregateRootSnapshots.get(`${select.stream}:${select.id}`)\n },\n delete(target, fromStreamVersion) {\n const key = `${target.stream}:${target.id}`\n const snapshot = aggregateRootSnapshots.get(key)\n if (snapshot && snapshot.streamVersion > fromStreamVersion) {\n aggregateRootSnapshots.delete(key)\n }\n },\n },\n }) as any\n}\n"
5
+ "import type {\n AggregateRootSnapshotMethods,\n AnyAggregateRoot,\n} from '../createAggregateRoot.ts'\nimport type { Checkpoint, CheckpointMethods } from '../createCheckpointApi.ts'\nimport type { ProjectionSnapshotMethods } from '../createProjection.ts'\nimport {\n type AggregateRootSnapshot,\n ConcurrencyError,\n type Event,\n type ProjectionSnapshot,\n createEventStore as createBaseEventStore,\n isStreamEvents,\n isStreamId,\n} from '../index.ts'\nimport type {\n EventStore,\n EventStoreParamsWithAggregateRootSnapshots,\n EventsFromRoot,\n LoadEvents,\n OnProgress,\n} from '../createEventStore.ts'\nimport type { LockCreator } from '../lock.ts'\nimport type {\n BaseInputEvent,\n BaseOutputEvent,\n MaybePromise,\n StreamId,\n} from '../utilityTypes.js'\n\nexport { createAggregateRoot } from '../index.ts'\n\nexport type OnEventsAppended = (events: BaseOutputEvent[]) => MaybePromise<void>\n\ninterface MemoryEventStoreParams<Root extends AnyAggregateRoot> {\n aggregateRoots: Root[]\n autoInit?: boolean\n lock?: LockCreator\n postProcessEvent?: EventStoreParamsWithAggregateRootSnapshots<Root>['postProcessEvent']\n onProjectionReplay?: OnProgress\n onProcessManagerRefresh?: OnProgress\n onEventsAppended?: OnEventsAppended\n}\n\nexport function createMemoryStorage(params?: {\n onEventsAppended?: OnEventsAppended\n}): {\n loadEvents: LoadEvents\n appendEvents: (\n streamId: StreamId,\n events: BaseInputEvent[],\n expectedVersion: number,\n ) => BaseOutputEvent[]\n checkpoint: CheckpointMethods\n projectionSnapshot: ProjectionSnapshotMethods\n aggregateRootSnapshot: AggregateRootSnapshotMethods\n} {\n const events: Event[] = []\n const checkpoints = new Set<Checkpoint>()\n const aggregateRootSnapshots = new Map<string, AggregateRootSnapshot>()\n const projectionSnapshots = new Set<ProjectionSnapshot>()\n const projectionAppliedCount = new Map<string, number>()\n\n return {\n async *loadEvents(select, range) {\n let streamTypes: string[] | null = null\n let streamIds: string[] | null = null\n let eventTypes: string[] | null = null\n\n if (select) {\n const selects = Array.isArray(select) ? select : [select]\n streamTypes = selects.map((select) => select.stream)\n streamIds = selects\n .map((select) => (isStreamId(select) ? select.id : null))\n .filter(Boolean) as string[]\n eventTypes = selects.flatMap((select) =>\n isStreamEvents(select) ? select.events : [],\n )\n }\n\n const filteredEvents = events.filter((event) => {\n if (streamTypes?.length && !streamTypes.includes(event.streamType)) {\n return false\n }\n\n if (streamIds?.length && !streamIds.includes(event.streamId)) {\n return false\n }\n\n if (eventTypes?.length && !eventTypes.includes(event.type)) {\n return false\n }\n\n if (range?.from && event.position < range.from) {\n return false\n }\n\n if (range?.to && event.position > range.to) {\n return false\n }\n\n return true\n })\n\n for (const event of filteredEvents) {\n yield event\n }\n },\n\n appendEvents({ id, stream }, newEvents, expectedVersion) {\n const lastEvent = events.findLast(\n (e) => e.streamId === id && e.streamType === stream,\n )\n\n const currentVersion = lastEvent?.streamVersion ?? 0\n\n if (currentVersion !== expectedVersion) {\n throw new ConcurrencyError(\n { id, stream },\n expectedVersion,\n currentVersion,\n )\n }\n\n const extendedEvents: Event[] = newEvents.map((event, index) => ({\n ...event,\n createdAt: new Date(),\n position: events.length + index,\n streamId: id,\n streamType: stream,\n streamVersion: expectedVersion + index + 1,\n }))\n\n events.push(...extendedEvents)\n params?.onEventsAppended?.(extendedEvents)\n return extendedEvents\n },\n\n checkpoint: {\n get(type, name) {\n for (const checkpoint of checkpoints) {\n if (checkpoint.type === type && checkpoint.name === name) {\n return checkpoint\n }\n }\n },\n upsert(checkpoint, expectedVersion) {\n let persisted: Checkpoint | undefined\n for (const c of checkpoints) {\n if (c.type === checkpoint.type && c.name === checkpoint.name) {\n persisted = c\n break\n }\n }\n\n if (persisted) {\n // Compare-and-swap: reject the write when another writer advanced the\n // checkpoint, or when the caller expected to create a fresh one.\n if (\n expectedVersion === null ||\n persisted.version !== expectedVersion\n ) {\n return false\n }\n persisted.lastEventPosition = checkpoint.lastEventPosition\n persisted.metadata = checkpoint.metadata\n persisted.version = checkpoint.version\n } else {\n checkpoints.add({ ...checkpoint })\n }\n\n return true\n },\n delete(type, name) {\n for (const checkpoint of checkpoints) {\n if (checkpoint.type === type && checkpoint.name === name) {\n checkpoints.delete(checkpoint)\n }\n }\n },\n },\n\n projectionSnapshot: {\n put(snapshot) {\n projectionSnapshots.add(snapshot)\n },\n get(select) {\n return Array.from(projectionSnapshots)\n .toReversed()\n .find(\n (snapshot) =>\n snapshot.projectionId === select.id &&\n snapshot.projectionType === select.projection,\n )\n },\n delete(target, fromPosition) {\n for (const snapshot of projectionSnapshots) {\n if (target.id && snapshot.projectionId !== target.id) {\n continue\n }\n\n if (snapshot.projectionType !== target.projection) {\n continue\n }\n\n if (fromPosition && snapshot.lastEventPosition < fromPosition) {\n continue\n }\n\n projectionSnapshots.delete(snapshot)\n }\n },\n incrementAppliedCount(select) {\n const key = `${select.projection}-${select.id}`\n const nextCount = (projectionAppliedCount.get(key) ?? 0) + 1\n projectionAppliedCount.set(key, nextCount)\n return nextCount\n },\n },\n\n aggregateRootSnapshot: {\n put(snapshot) {\n aggregateRootSnapshots.set(\n `${snapshot.streamType}:${snapshot.streamId}`,\n snapshot,\n )\n },\n get(select) {\n return aggregateRootSnapshots.get(`${select.stream}:${select.id}`)\n },\n delete(target, fromStreamVersion) {\n const key = `${target.stream}:${target.id}`\n const snapshot = aggregateRootSnapshots.get(key)\n if (snapshot && snapshot.streamVersion > fromStreamVersion) {\n aggregateRootSnapshots.delete(key)\n }\n },\n },\n }\n}\n\nexport function createEventStore<const Root extends AnyAggregateRoot>({\n aggregateRoots,\n postProcessEvent,\n onProjectionReplay,\n onProcessManagerRefresh,\n onEventsAppended,\n autoInit,\n lock,\n}: MemoryEventStoreParams<Root>): EventStore<EventsFromRoot<Root>, Root, true> {\n const storage = createMemoryStorage({ onEventsAppended })\n\n return createBaseEventStore({\n aggregateRoots,\n postProcessEvent,\n onProjectionReplay,\n onProcessManagerRefresh,\n autoInit,\n lock,\n ...storage,\n }) as any\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "44866831ADFEF6FD64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "75FA3DEA7CD7B46C64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../src/memory/index.spec.ts"],"names":[],"mappings":""}
@@ -1,8 +1,9 @@
1
+ import"../chunk-j4mwjx07.js";
1
2
  import {
2
- redisLock
3
- } from "../chunk-dgzw1nj9.js";
3
+ redisLock2
4
+ } from "../chunk-467qtkth.js";
4
5
  export {
5
- redisLock
6
+ redisLock2 as redisLock
6
7
  };
7
8
 
8
- //# debugId=CA5CF311636766FE64756E2164756E21
9
+ //# debugId=85C4E8BEEDB0EDE964756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "CA5CF311636766FE64756E2164756E21",
7
+ "debugId": "85C4E8BEEDB0EDE964756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,4 +1,4 @@
1
1
  import type { Redis } from 'ioredis';
2
- import type { LockCreator } from '../lock.ts';
2
+ import { type LockCreator } from '../lock.ts';
3
3
  export declare function redisLock(client: Redis, defaultTtl?: number): LockCreator;
4
4
  //# sourceMappingURL=redisLock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redisLock.d.ts","sourceRoot":"","sources":["../../src/redis/redisLock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAkB7C,wBAAgB,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,SAAO,GAAG,WAAW,CAwCvE"}
1
+ {"version":3,"file":"redisLock.d.ts","sourceRoot":"","sources":["../../src/redis/redisLock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAkB/D,wBAAgB,SAAS,CACvB,MAAM,EAAE,KAAK,EACb,UAAU,SAAmB,GAC5B,WAAW,CAyCb"}
@@ -1,8 +1,9 @@
1
1
  import {
2
- redisLock
3
- } from "../chunk-dgzw1nj9.js";
2
+ redisLock2
3
+ } from "../chunk-467qtkth.js";
4
+ import"../chunk-j4mwjx07.js";
4
5
  export {
5
- redisLock
6
+ redisLock2 as redisLock
6
7
  };
7
8
 
8
- //# debugId=DC95B1ADD03DBC5B64756E2164756E21
9
+ //# debugId=38415CDDB88DF46764756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "DC95B1ADD03DBC5B64756E2164756E21",
7
+ "debugId": "38415CDDB88DF46764756E2164756E21",
8
8
  "names": []
9
9
  }
package/dist/refresh.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
- isRefreshing,
3
- skipRefreshing,
4
- withRefreshing
5
- } from "./chunk-6yrb30rx.js";
6
- import"./chunk-391m4mfp.js";
2
+ isRefreshing2,
3
+ withRefreshing2,
4
+ skipRefreshing2
5
+ } from "./chunk-hmvwn02w.js";
6
+ import"./chunk-jw9e0fr0.js";
7
7
  export {
8
- withRefreshing,
9
- skipRefreshing,
10
- isRefreshing
8
+ isRefreshing2 as isRefreshing,
9
+ skipRefreshing2 as skipRefreshing,
10
+ withRefreshing2 as withRefreshing
11
11
  };
12
12
 
13
- //# debugId=48951B7393C2336164756E2164756E21
13
+ //# debugId=DC49AF3D54401EE464756E2164756E21