@ddd-ts/event-sourcing-firestore 0.0.0-compute-timeout-on-process.7 → 0.0.0-compute-timeout-on-process.9

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 (94) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +29 -0
  2. package/dist/firestore.event-lake.aggregate-store.d.ts +30 -36
  3. package/dist/firestore.event-lake.aggregate-store.d.ts.map +1 -1
  4. package/dist/firestore.event-lake.aggregate-store.js +11 -11
  5. package/dist/firestore.event-lake.aggregate-store.mjs +36 -0
  6. package/dist/firestore.event-lake.aggregate-store.spec.d.ts +2 -0
  7. package/dist/firestore.event-lake.aggregate-store.spec.d.ts.map +1 -0
  8. package/dist/firestore.event-lake.storage-layer.d.ts +10 -13
  9. package/dist/firestore.event-lake.storage-layer.d.ts.map +1 -1
  10. package/dist/firestore.event-lake.storage-layer.js +8 -7
  11. package/dist/firestore.event-lake.storage-layer.mjs +65 -0
  12. package/dist/firestore.event-lake.store.d.ts +3 -7
  13. package/dist/firestore.event-lake.store.d.ts.map +1 -1
  14. package/dist/firestore.event-lake.store.js +7 -7
  15. package/dist/firestore.event-lake.store.mjs +13 -0
  16. package/dist/firestore.event-lake.store.spec.d.ts +2 -0
  17. package/dist/firestore.event-lake.store.spec.d.ts.map +1 -0
  18. package/dist/firestore.event-stream-store.spec.d.ts +2 -0
  19. package/dist/firestore.event-stream-store.spec.d.ts.map +1 -0
  20. package/dist/firestore.event-stream.aggregate-store.d.ts +25 -30
  21. package/dist/firestore.event-stream.aggregate-store.d.ts.map +1 -1
  22. package/dist/firestore.event-stream.aggregate-store.js +14 -14
  23. package/dist/firestore.event-stream.aggregate-store.mjs +36 -0
  24. package/dist/firestore.event-stream.aggregate-store.spec.d.ts +2 -0
  25. package/dist/firestore.event-stream.aggregate-store.spec.d.ts.map +1 -0
  26. package/dist/firestore.event-stream.storage-layer.d.ts +11 -14
  27. package/dist/firestore.event-stream.storage-layer.d.ts.map +1 -1
  28. package/dist/firestore.event-stream.storage-layer.js +8 -8
  29. package/dist/firestore.event-stream.storage-layer.mjs +65 -0
  30. package/dist/firestore.event-stream.store.d.ts +3 -7
  31. package/dist/firestore.event-stream.store.d.ts.map +1 -1
  32. package/dist/firestore.event-stream.store.js +7 -7
  33. package/dist/firestore.event-stream.store.mjs +13 -0
  34. package/dist/firestore.projected-stream.reader.d.ts +10 -14
  35. package/dist/firestore.projected-stream.reader.d.ts.map +1 -1
  36. package/dist/firestore.projected-stream.reader.js +7 -7
  37. package/dist/firestore.projected-stream.reader.mjs +34 -0
  38. package/dist/firestore.projected-stream.reader.spec.d.ts +2 -0
  39. package/dist/firestore.projected-stream.reader.spec.d.ts.map +1 -0
  40. package/dist/firestore.projected-stream.storage-layer.d.ts +24 -28
  41. package/dist/firestore.projected-stream.storage-layer.d.ts.map +1 -1
  42. package/dist/firestore.projected-stream.storage-layer.js +20 -18
  43. package/dist/firestore.projected-stream.storage-layer.mjs +118 -0
  44. package/dist/firestore.snapshotter.d.ts +3 -7
  45. package/dist/firestore.snapshotter.d.ts.map +1 -1
  46. package/dist/firestore.snapshotter.js +5 -5
  47. package/dist/firestore.snapshotter.mjs +35 -0
  48. package/dist/index.d.ts +11 -11
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +29 -11
  51. package/dist/index.mjs +12 -0
  52. package/dist/projection/cases/attempts.spec.d.ts +2 -0
  53. package/dist/projection/cases/attempts.spec.d.ts.map +1 -0
  54. package/dist/projection/cases/batchlast.spec.d.ts +2 -0
  55. package/dist/projection/cases/batchlast.spec.d.ts.map +1 -0
  56. package/dist/projection/cases/bigshuffle.spec.d.ts +2 -0
  57. package/dist/projection/cases/bigshuffle.spec.d.ts.map +1 -0
  58. package/dist/projection/cases/burst.spec.d.ts +2 -0
  59. package/dist/projection/cases/burst.spec.d.ts.map +1 -0
  60. package/dist/projection/cases/claimtimeout.spec.d.ts +2 -0
  61. package/dist/projection/cases/claimtimeout.spec.d.ts.map +1 -0
  62. package/dist/projection/cases/concurrency.spec.d.ts +2 -0
  63. package/dist/projection/cases/concurrency.spec.d.ts.map +1 -0
  64. package/dist/projection/cases/deduplicate.spec.d.ts +2 -0
  65. package/dist/projection/cases/deduplicate.spec.d.ts.map +1 -0
  66. package/dist/projection/cases/defer.spec.d.ts +2 -0
  67. package/dist/projection/cases/defer.spec.d.ts.map +1 -0
  68. package/dist/projection/cases/lock.spec.d.ts +2 -0
  69. package/dist/projection/cases/lock.spec.d.ts.map +1 -0
  70. package/dist/projection/cases/skip.spec.d.ts +2 -0
  71. package/dist/projection/cases/skip.spec.d.ts.map +1 -0
  72. package/dist/projection/cases/stress.spec.d.ts +2 -0
  73. package/dist/projection/cases/stress.spec.d.ts.map +1 -0
  74. package/dist/projection/firestore.projector.d.ts +122 -125
  75. package/dist/projection/firestore.projector.d.ts.map +1 -1
  76. package/dist/projection/firestore.projector.js +48 -44
  77. package/dist/projection/firestore.projector.mjs +520 -0
  78. package/dist/projection/testkit/case-fixture.d.ts +610 -0
  79. package/dist/projection/testkit/case-fixture.d.ts.map +1 -0
  80. package/dist/projection/testkit.d.ts +44 -0
  81. package/dist/projection/testkit.d.ts.map +1 -0
  82. package/dist/projection/trace.decorator.d.ts +2 -0
  83. package/dist/projection/trace.decorator.d.ts.map +1 -0
  84. package/package.json +16 -11
  85. package/dist/firestore.event-lake.aggregate-store.js.map +0 -1
  86. package/dist/firestore.event-lake.storage-layer.js.map +0 -1
  87. package/dist/firestore.event-lake.store.js.map +0 -1
  88. package/dist/firestore.event-stream.aggregate-store.js.map +0 -1
  89. package/dist/firestore.event-stream.storage-layer.js.map +0 -1
  90. package/dist/firestore.event-stream.store.js.map +0 -1
  91. package/dist/firestore.projected-stream.reader.js.map +0 -1
  92. package/dist/firestore.projected-stream.storage-layer.js.map +0 -1
  93. package/dist/firestore.snapshotter.js.map +0 -1
  94. package/dist/projection/firestore.projector.js.map +0 -1
@@ -1,5 +1,6 @@
1
- import "@ddd-ts/core";
2
- import { FirestoreStore } from "@ddd-ts/store-firestore";
1
+ const require_runtime = require('./_virtual/_rolldown/runtime.js');
2
+ let _ddd_ts_core = require("@ddd-ts/core");
3
+ let _ddd_ts_store_firestore = require("@ddd-ts/store-firestore");
3
4
 
4
5
  //#region src/firestore.snapshotter.ts
5
6
  var SnapshotSerializer = class {
@@ -24,7 +25,7 @@ var SnapshotSerializer = class {
24
25
  return instance;
25
26
  }
26
27
  };
27
- var FirestoreSnapshotter = class extends FirestoreStore {
28
+ var FirestoreSnapshotter = class extends _ddd_ts_store_firestore.FirestoreStore {
28
29
  constructor(aggregateType, database, serializer) {
29
30
  const collection = database.collection("event-store").doc(aggregateType).collection("streams");
30
31
  super(collection, new SnapshotSerializer(serializer, aggregateType), aggregateType);
@@ -32,5 +33,4 @@ var FirestoreSnapshotter = class extends FirestoreStore {
32
33
  };
33
34
 
34
35
  //#endregion
35
- export { FirestoreSnapshotter };
36
- //# sourceMappingURL=firestore.snapshotter.js.map
36
+ exports.FirestoreSnapshotter = FirestoreSnapshotter;
@@ -0,0 +1,35 @@
1
+ import "@ddd-ts/core";
2
+ import { FirestoreStore } from "@ddd-ts/store-firestore";
3
+
4
+ //#region src/firestore.snapshotter.ts
5
+ var SnapshotSerializer = class {
6
+ constructor(serializer, aggregateType) {
7
+ this.serializer = serializer;
8
+ this.aggregateType = aggregateType;
9
+ }
10
+ async serialize(instance) {
11
+ return {
12
+ ...await this.serializer.serialize(instance),
13
+ $name: this.aggregateType,
14
+ revision: instance.acknowledgedRevision
15
+ };
16
+ }
17
+ async deserialize(serialized) {
18
+ const { revision, ...content } = serialized;
19
+ const instance = await this.serializer.deserialize({
20
+ $name: this.aggregateType,
21
+ ...content
22
+ });
23
+ instance.acknowledgedRevision = Number(revision);
24
+ return instance;
25
+ }
26
+ };
27
+ var FirestoreSnapshotter = class extends FirestoreStore {
28
+ constructor(aggregateType, database, serializer) {
29
+ const collection = database.collection("event-store").doc(aggregateType).collection("streams");
30
+ super(collection, new SnapshotSerializer(serializer, aggregateType), aggregateType);
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ export { FirestoreSnapshotter };
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { FirestoreEventLakeStorageLayer } from "./firestore.event-lake.storage-layer.js";
2
- import { FirestoreEventLakeStore } from "./firestore.event-lake.store.js";
3
- import { FirestoreEventStreamStorageLayer } from "./firestore.event-stream.storage-layer.js";
4
- import { FirestoreEventStreamStore } from "./firestore.event-stream.store.js";
5
- import { FirestoreSnapshotter } from "./firestore.snapshotter.js";
6
- import { FirestoreEventStreamAggregateStore, MakeFirestoreEventStreamAggregateStore } from "./firestore.event-stream.aggregate-store.js";
7
- import { FirestoreEventLakeAggregateStore, MakeFirestoreEventLakeAggregateStore } from "./firestore.event-lake.aggregate-store.js";
8
- import { FirestoreLakeSourceFilter, FirestoreProjectedStreamStorageLayer, FirestoreStreamSourceFilter } from "./firestore.projected-stream.storage-layer.js";
9
- import { FirestoreProjectedStreamReader } from "./firestore.projected-stream.reader.js";
10
- import { AlreadyEnqueuedError, ClaimerId, FirestoreProjector, FirestoreQueueStore, Task } from "./projection/firestore.projector.js";
11
- export { AlreadyEnqueuedError, ClaimerId, FirestoreEventLakeAggregateStore, FirestoreEventLakeStorageLayer, FirestoreEventLakeStore, FirestoreEventStreamAggregateStore, FirestoreEventStreamStorageLayer, FirestoreEventStreamStore, FirestoreLakeSourceFilter, FirestoreProjectedStreamReader, FirestoreProjectedStreamStorageLayer, FirestoreProjector, FirestoreQueueStore, FirestoreSnapshotter, FirestoreStreamSourceFilter, MakeFirestoreEventLakeAggregateStore, MakeFirestoreEventStreamAggregateStore, Task };
1
+ export { FirestoreEventLakeStorageLayer } from "./firestore.event-lake.storage-layer";
2
+ export { FirestoreEventLakeStore } from "./firestore.event-lake.store";
3
+ export { FirestoreEventStreamStorageLayer } from "./firestore.event-stream.storage-layer";
4
+ export { FirestoreEventStreamStore } from "./firestore.event-stream.store";
5
+ export { FirestoreEventStreamAggregateStore, MakeFirestoreEventStreamAggregateStore, } from "./firestore.event-stream.aggregate-store";
6
+ export { FirestoreEventLakeAggregateStore, MakeFirestoreEventLakeAggregateStore, } from "./firestore.event-lake.aggregate-store";
7
+ export { FirestoreProjectedStreamStorageLayer, FirestoreLakeSourceFilter, FirestoreStreamSourceFilter, } from "./firestore.projected-stream.storage-layer";
8
+ export { FirestoreProjectedStreamReader } from "./firestore.projected-stream.reader";
9
+ export { FirestoreSnapshotter } from "./firestore.snapshotter";
10
+ export { FirestoreProjector, FirestoreQueueStore, Task, AlreadyEnqueuedError, ClaimerId, } from "./projection/firestore.projector";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EACL,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,oCAAoC,EACpC,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,IAAI,EACJ,oBAAoB,EACpB,SAAS,GACV,MAAM,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,30 @@
1
- import { FirestoreEventLakeStorageLayer } from "./firestore.event-lake.storage-layer.js";
2
- import { FirestoreEventLakeStore } from "./firestore.event-lake.store.js";
3
- import { FirestoreEventStreamStorageLayer } from "./firestore.event-stream.storage-layer.js";
4
- import { FirestoreEventStreamStore } from "./firestore.event-stream.store.js";
5
- import { FirestoreSnapshotter } from "./firestore.snapshotter.js";
6
- import { FirestoreEventStreamAggregateStore, MakeFirestoreEventStreamAggregateStore } from "./firestore.event-stream.aggregate-store.js";
7
- import { FirestoreEventLakeAggregateStore, MakeFirestoreEventLakeAggregateStore } from "./firestore.event-lake.aggregate-store.js";
8
- import { FirestoreLakeSourceFilter, FirestoreProjectedStreamStorageLayer, FirestoreStreamSourceFilter } from "./firestore.projected-stream.storage-layer.js";
9
- import { FirestoreProjectedStreamReader } from "./firestore.projected-stream.reader.js";
10
- import { AlreadyEnqueuedError, ClaimerId, FirestoreProjector, FirestoreQueueStore, Task } from "./projection/firestore.projector.js";
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_firestore_event_lake_storage_layer = require('./firestore.event-lake.storage-layer.js');
3
+ const require_firestore_event_lake_store = require('./firestore.event-lake.store.js');
4
+ const require_firestore_event_stream_storage_layer = require('./firestore.event-stream.storage-layer.js');
5
+ const require_firestore_event_stream_store = require('./firestore.event-stream.store.js');
6
+ const require_firestore_snapshotter = require('./firestore.snapshotter.js');
7
+ const require_firestore_event_stream_aggregate_store = require('./firestore.event-stream.aggregate-store.js');
8
+ const require_firestore_event_lake_aggregate_store = require('./firestore.event-lake.aggregate-store.js');
9
+ const require_firestore_projected_stream_storage_layer = require('./firestore.projected-stream.storage-layer.js');
10
+ const require_firestore_projected_stream_reader = require('./firestore.projected-stream.reader.js');
11
+ const require_firestore_projector = require('./projection/firestore.projector.js');
11
12
 
12
- export { AlreadyEnqueuedError, ClaimerId, FirestoreEventLakeAggregateStore, FirestoreEventLakeStorageLayer, FirestoreEventLakeStore, FirestoreEventStreamAggregateStore, FirestoreEventStreamStorageLayer, FirestoreEventStreamStore, FirestoreLakeSourceFilter, FirestoreProjectedStreamReader, FirestoreProjectedStreamStorageLayer, FirestoreProjector, FirestoreQueueStore, FirestoreSnapshotter, FirestoreStreamSourceFilter, MakeFirestoreEventLakeAggregateStore, MakeFirestoreEventStreamAggregateStore, Task };
13
+ exports.AlreadyEnqueuedError = require_firestore_projector.AlreadyEnqueuedError;
14
+ exports.ClaimerId = require_firestore_projector.ClaimerId;
15
+ exports.FirestoreEventLakeAggregateStore = require_firestore_event_lake_aggregate_store.FirestoreEventLakeAggregateStore;
16
+ exports.FirestoreEventLakeStorageLayer = require_firestore_event_lake_storage_layer.FirestoreEventLakeStorageLayer;
17
+ exports.FirestoreEventLakeStore = require_firestore_event_lake_store.FirestoreEventLakeStore;
18
+ exports.FirestoreEventStreamAggregateStore = require_firestore_event_stream_aggregate_store.FirestoreEventStreamAggregateStore;
19
+ exports.FirestoreEventStreamStorageLayer = require_firestore_event_stream_storage_layer.FirestoreEventStreamStorageLayer;
20
+ exports.FirestoreEventStreamStore = require_firestore_event_stream_store.FirestoreEventStreamStore;
21
+ exports.FirestoreLakeSourceFilter = require_firestore_projected_stream_storage_layer.FirestoreLakeSourceFilter;
22
+ exports.FirestoreProjectedStreamReader = require_firestore_projected_stream_reader.FirestoreProjectedStreamReader;
23
+ exports.FirestoreProjectedStreamStorageLayer = require_firestore_projected_stream_storage_layer.FirestoreProjectedStreamStorageLayer;
24
+ exports.FirestoreProjector = require_firestore_projector.FirestoreProjector;
25
+ exports.FirestoreQueueStore = require_firestore_projector.FirestoreQueueStore;
26
+ exports.FirestoreSnapshotter = require_firestore_snapshotter.FirestoreSnapshotter;
27
+ exports.FirestoreStreamSourceFilter = require_firestore_projected_stream_storage_layer.FirestoreStreamSourceFilter;
28
+ exports.MakeFirestoreEventLakeAggregateStore = require_firestore_event_lake_aggregate_store.MakeFirestoreEventLakeAggregateStore;
29
+ exports.MakeFirestoreEventStreamAggregateStore = require_firestore_event_stream_aggregate_store.MakeFirestoreEventStreamAggregateStore;
30
+ exports.Task = require_firestore_projector.Task;
package/dist/index.mjs ADDED
@@ -0,0 +1,12 @@
1
+ import { FirestoreEventLakeStorageLayer } from "./firestore.event-lake.storage-layer.mjs";
2
+ import { FirestoreEventLakeStore } from "./firestore.event-lake.store.mjs";
3
+ import { FirestoreEventStreamStorageLayer } from "./firestore.event-stream.storage-layer.mjs";
4
+ import { FirestoreEventStreamStore } from "./firestore.event-stream.store.mjs";
5
+ import { FirestoreSnapshotter } from "./firestore.snapshotter.mjs";
6
+ import { FirestoreEventStreamAggregateStore, MakeFirestoreEventStreamAggregateStore } from "./firestore.event-stream.aggregate-store.mjs";
7
+ import { FirestoreEventLakeAggregateStore, MakeFirestoreEventLakeAggregateStore } from "./firestore.event-lake.aggregate-store.mjs";
8
+ import { FirestoreLakeSourceFilter, FirestoreProjectedStreamStorageLayer, FirestoreStreamSourceFilter } from "./firestore.projected-stream.storage-layer.mjs";
9
+ import { FirestoreProjectedStreamReader } from "./firestore.projected-stream.reader.mjs";
10
+ import { AlreadyEnqueuedError, ClaimerId, FirestoreProjector, FirestoreQueueStore, Task } from "./projection/firestore.projector.mjs";
11
+
12
+ export { AlreadyEnqueuedError, ClaimerId, FirestoreEventLakeAggregateStore, FirestoreEventLakeStorageLayer, FirestoreEventLakeStore, FirestoreEventStreamAggregateStore, FirestoreEventStreamStorageLayer, FirestoreEventStreamStore, FirestoreLakeSourceFilter, FirestoreProjectedStreamReader, FirestoreProjectedStreamStorageLayer, FirestoreProjector, FirestoreQueueStore, FirestoreSnapshotter, FirestoreStreamSourceFilter, MakeFirestoreEventLakeAggregateStore, MakeFirestoreEventStreamAggregateStore, Task };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=attempts.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempts.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/attempts.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=batchlast.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchlast.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/batchlast.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bigshuffle.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigshuffle.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/bigshuffle.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=burst.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"burst.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/burst.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=claimtimeout.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimtimeout.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/claimtimeout.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=concurrency.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/concurrency.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deduplicate.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplicate.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/deduplicate.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=defer.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defer.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/defer.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lock.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/lock.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skip.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/skip.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stress.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stress.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/stress.spec.ts"],"names":[],"mappings":""}
@@ -1,134 +1,131 @@
1
- import { CheckpointId, Cursor, ESProjection, EventId, IEsEvent, IFact, ISavedChange, Lock, ProjectedStreamReader, Serialized } from "@ddd-ts/core";
2
- import { DefaultConverter, FirestoreTransaction } from "@ddd-ts/store-firestore";
3
1
  import { Firestore, WriteBatch } from "firebase-admin/firestore";
4
- import * as _ddd_ts_shape0 from "@ddd-ts/shape";
2
+ import { type IEsEvent, type ISavedChange, EventId, ProjectedStreamReader, Cursor, CheckpointId, ESProjection, type IFact, type Serialized, Lock } from "@ddd-ts/core";
5
3
  import { Mapping, MicrosecondTimestamp } from "@ddd-ts/shape";
6
-
7
- //#region src/projection/firestore.projector.d.ts
4
+ import { DefaultConverter, FirestoreTransaction } from "@ddd-ts/store-firestore";
8
5
  interface FirestoreProjectorConfig {
9
- retry: {
10
- attempts: number;
11
- minDelay: number;
12
- maxDelay: number;
13
- backoff: number;
14
- };
15
- enqueue: {
16
- batchSize: number;
17
- };
18
- onProcessError: (error: Error) => void;
19
- onEnqueueError: (error: Error) => void;
20
- debounce?: {
21
- delayMs: number;
22
- };
6
+ retry: {
7
+ attempts: number;
8
+ minDelay: number;
9
+ maxDelay: number;
10
+ backoff: number;
11
+ };
12
+ enqueue: {
13
+ batchSize: number;
14
+ };
15
+ onProcessError: (error: Error) => void;
16
+ onEnqueueError: (error: Error) => void;
17
+ debounce?: {
18
+ delayMs: number;
19
+ };
20
+ }
21
+ export declare class FirestoreProjector {
22
+ readonly projection: ESProjection<IEsEvent>;
23
+ readonly reader: ProjectedStreamReader<IEsEvent>;
24
+ readonly queue: FirestoreQueueStore;
25
+ config: FirestoreProjectorConfig;
26
+ _unclaim: boolean;
27
+ constructor(projection: ESProjection<IEsEvent>, reader: ProjectedStreamReader<IEsEvent>, queue: FirestoreQueueStore, config?: FirestoreProjectorConfig);
28
+ breathe(): AsyncGenerator<readonly [number, () => void], void, unknown>;
29
+ private checkpointTsTriggered;
30
+ private shouldProceedAfterDebounce;
31
+ handle(savedChange: ISavedChange<IEsEvent>): Promise<void>;
32
+ private getCursor;
33
+ private attempt;
34
+ private getQueueHead;
35
+ private readSourceStream;
36
+ private enqueue;
37
+ private enqueueOne;
38
+ private checkIsProcessed;
39
+ private getUnprocessed;
40
+ private claimTasks;
41
+ private processEvents;
42
+ private assertBeforeInsert;
23
43
  }
24
- declare class FirestoreProjector {
25
- readonly projection: ESProjection<IEsEvent>;
26
- readonly reader: ProjectedStreamReader<IEsEvent>;
27
- readonly queue: FirestoreQueueStore;
28
- config: FirestoreProjectorConfig;
29
- _unclaim: boolean;
30
- constructor(projection: ESProjection<IEsEvent>, reader: ProjectedStreamReader<IEsEvent>, queue: FirestoreQueueStore, config?: FirestoreProjectorConfig);
31
- breathe(): AsyncGenerator<readonly [number, () => void], void, unknown>;
32
- private checkpointTsTriggered;
33
- private shouldProceedAfterDebounce;
34
- handle(savedChange: ISavedChange<IEsEvent>): Promise<void>;
35
- private getCursor;
36
- private attempt;
37
- private getQueueHead;
38
- private readSourceStream;
39
- private enqueue;
40
- private enqueueOne;
41
- private checkIsProcessed;
42
- private getUnprocessed;
43
- private claimTasks;
44
- private processEvents;
45
- private assertBeforeInsert;
44
+ export declare class AlreadyEnqueuedError extends Error {
45
+ constructor();
46
46
  }
47
- declare class AlreadyEnqueuedError extends Error {
48
- constructor();
47
+ export declare class FirestoreQueueStore {
48
+ db: Firestore;
49
+ converter: DefaultConverter<FirebaseFirestore.DocumentData>;
50
+ collection: FirebaseFirestore.CollectionReference;
51
+ constructor(db: Firestore);
52
+ private timestampToMicroseconds;
53
+ private microsecondsToTimestamp;
54
+ enqueue(checkpointId: CheckpointId, tasks: Task<false>[]): Promise<readonly ["OK", "Tasks enqueued successfully"] | readonly ["DEFERRED", any]>;
55
+ claim(checkpointId: CheckpointId, claimer: ClaimerId, tasks: Task<true>[]): Promise<void>;
56
+ head(checkpointId: CheckpointId): Promise<Cursor | undefined>;
57
+ unprocessed(checkpointId: CheckpointId): Promise<Task<true>[]>;
58
+ claimed(checkpointId: CheckpointId, claimer: ClaimerId): Promise<Task<true>[]>;
59
+ unclaim(checkpointId: CheckpointId, tasks: Task<true>[]): Promise<void>;
60
+ /**
61
+ * If the task exists, then looks for a processed flag.
62
+ * If not found, check if the cursor is older than the retention time for processed event.
63
+ * If so, consider it processed.
64
+ * Otherwise, consider it missing.
65
+ */
66
+ isProcessed(checkpointId: CheckpointId, cursor: Cursor): Promise<"ENQUEUED" | "PROCESSED" | "MISSING">;
67
+ checkpoint(id: CheckpointId): FirebaseFirestore.CollectionReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>;
68
+ queue(id: CheckpointId): FirebaseFirestore.CollectionReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>;
69
+ queued(id: CheckpointId, eventId: EventId): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>;
70
+ processed(claimerId: ClaimerId, id: CheckpointId, eventIds: EventId[], context?: {
71
+ transaction?: FirestoreTransaction;
72
+ batchWriter?: WriteBatch;
73
+ }): Promise<void>;
74
+ getTailCursor(id: CheckpointId): Promise<Cursor | undefined>;
75
+ cleanup(id: CheckpointId): Promise<void>;
76
+ flush(id: CheckpointId): Promise<void>;
77
+ /**
78
+ * This method adds a fake processed event to the queue.
79
+ * It is useful for initializing the tail cursor of a new projection, at the
80
+ * same time as the projection's initial state is created, reset, or updated.
81
+ * By default, it will use the current time as the occurredAt timestamp.
82
+ * You can override this by providing a specific timestamp.
83
+ *
84
+ * This ensures that the projection can start processing new events from the
85
+ * correct point in time, avoiding reprocessing of old events.
86
+ */
87
+ seed(checkpointId: CheckpointId): Promise<void>;
49
88
  }
50
- declare class FirestoreQueueStore {
51
- db: Firestore;
52
- converter: DefaultConverter<FirebaseFirestore.DocumentData>;
53
- collection: FirebaseFirestore.CollectionReference;
54
- constructor(db: Firestore);
55
- private timestampToMicroseconds;
56
- private microsecondsToTimestamp;
57
- enqueue(checkpointId: CheckpointId, tasks: Task<false>[]): Promise<readonly ["OK", "Tasks enqueued successfully"] | readonly ["DEFERRED", any]>;
58
- claim(checkpointId: CheckpointId, claimer: ClaimerId, tasks: Task<true>[]): Promise<void>;
59
- head(checkpointId: CheckpointId): Promise<Cursor | undefined>;
60
- unprocessed(checkpointId: CheckpointId): Promise<Task<true>[]>;
61
- claimed(checkpointId: CheckpointId, claimer: ClaimerId): Promise<Task<true>[]>;
62
- unclaim(checkpointId: CheckpointId, tasks: Task<true>[]): Promise<void>;
63
- /**
64
- * If the task exists, then looks for a processed flag.
65
- * If not found, check if the cursor is older than the retention time for processed event.
66
- * If so, consider it processed.
67
- * Otherwise, consider it missing.
68
- */
69
- isProcessed(checkpointId: CheckpointId, cursor: Cursor): Promise<"ENQUEUED" | "PROCESSED" | "MISSING">;
70
- checkpoint(id: CheckpointId): FirebaseFirestore.CollectionReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>;
71
- queue(id: CheckpointId): FirebaseFirestore.CollectionReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>;
72
- queued(id: CheckpointId, eventId: EventId): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>;
73
- processed(claimerId: ClaimerId, id: CheckpointId, eventIds: EventId[], context?: {
74
- transaction?: FirestoreTransaction;
75
- batchWriter?: WriteBatch;
76
- }): Promise<void>;
77
- getTailCursor(id: CheckpointId): Promise<Cursor | undefined>;
78
- cleanup(id: CheckpointId): Promise<void>;
79
- flush(id: CheckpointId): Promise<void>;
80
- /**
81
- * This method adds a fake processed event to the queue.
82
- * It is useful for initializing the tail cursor of a new projection, at the
83
- * same time as the projection's initial state is created, reset, or updated.
84
- * By default, it will use the current time as the occurredAt timestamp.
85
- * You can override this by providing a specific timestamp.
86
- *
87
- * This ensures that the projection can start processing new events from the
88
- * correct point in time, avoiding reprocessing of old events.
89
- */
90
- seed(checkpointId: CheckpointId): Promise<void>;
89
+ export declare class ClaimerId extends EventId {
91
90
  }
92
- declare class ClaimerId extends EventId {}
93
- declare const Task_base: _ddd_ts_shape0.IDict<{
94
- readonly id: typeof EventId;
95
- readonly ref: StringConstructor;
96
- readonly occurredAt: typeof MicrosecondTimestamp;
97
- readonly revision: NumberConstructor;
98
- readonly attempts: NumberConstructor;
99
- readonly processed: BooleanConstructor; /** @deprecated */
100
- readonly claimer: _ddd_ts_shape0.IOptional<StringConstructor, typeof _ddd_ts_shape0.Empty>; /** @deprecated */
101
- readonly claimedAt: _ddd_ts_shape0.IOptional<typeof MicrosecondTimestamp, typeof _ddd_ts_shape0.Empty>;
102
- readonly claimsMetadata: Mapping<[{
103
- claimedAt: typeof MicrosecondTimestamp;
104
- processedAt: _ddd_ts_shape0.IOptional<typeof MicrosecondTimestamp, typeof _ddd_ts_shape0.Empty>;
105
- }], typeof _ddd_ts_shape0.Empty>;
106
- readonly claimIds: [StringConstructor];
107
- readonly lock: typeof Lock;
108
- readonly skipAfter: NumberConstructor;
109
- readonly remaining: NumberConstructor;
110
- readonly isolateAfter: NumberConstructor;
111
- readonly claimTimeout: NumberConstructor;
112
- readonly lastUpdateTime: _ddd_ts_shape0.IOptional<typeof MicrosecondTimestamp, typeof _ddd_ts_shape0.Empty>;
113
- }, typeof _ddd_ts_shape0.Empty>;
114
- declare class Task<Stored extends boolean> extends Task_base {
115
- lastUpdateTime: Stored extends true ? MicrosecondTimestamp : undefined;
116
- get cursor(): Cursor;
117
- static new(fact: IFact, config: {
118
- lock: Lock;
119
- claimTimeout: number;
120
- skipAfter: number;
121
- isolateAfter: number;
122
- }): Task<false>;
123
- get currentClaimId(): string | undefined;
124
- get isProcessing(): boolean;
125
- get isProcessed(): boolean;
126
- get shouldSkip(): boolean;
127
- get shouldIsolate(): boolean;
128
- checkTimeout(): void;
129
- static deserializeWithLastUpdateTime(data: Omit<Serialized<Task<true>>, "lastUpdateTime">, timestamp?: MicrosecondTimestamp): Task<true>;
130
- static batch(tasks: Task<true>[]): Task<true>[];
91
+ declare const Task_base: import("@ddd-ts/shape").IDict<{
92
+ readonly id: typeof EventId;
93
+ readonly ref: StringConstructor;
94
+ readonly occurredAt: typeof MicrosecondTimestamp;
95
+ readonly revision: NumberConstructor;
96
+ readonly attempts: NumberConstructor;
97
+ readonly processed: BooleanConstructor;
98
+ /** @deprecated */ readonly claimer: import("@ddd-ts/shape").IOptional<StringConstructor, typeof import("@ddd-ts/shape").Empty>;
99
+ /** @deprecated */ readonly claimedAt: import("@ddd-ts/shape").IOptional<typeof MicrosecondTimestamp, typeof import("@ddd-ts/shape").Empty>;
100
+ readonly claimsMetadata: Mapping<[{
101
+ claimedAt: typeof MicrosecondTimestamp;
102
+ processedAt: import("@ddd-ts/shape").IOptional<typeof MicrosecondTimestamp, typeof import("@ddd-ts/shape").Empty>;
103
+ }], typeof import("@ddd-ts/shape").Empty>;
104
+ readonly claimIds: [StringConstructor];
105
+ readonly lock: typeof Lock;
106
+ readonly skipAfter: NumberConstructor;
107
+ readonly remaining: NumberConstructor;
108
+ readonly isolateAfter: NumberConstructor;
109
+ readonly claimTimeout: NumberConstructor;
110
+ readonly lastUpdateTime: import("@ddd-ts/shape").IOptional<typeof MicrosecondTimestamp, typeof import("@ddd-ts/shape").Empty>;
111
+ }, typeof import("@ddd-ts/shape").Empty>;
112
+ export declare class Task<Stored extends boolean> extends Task_base {
113
+ lastUpdateTime: Stored extends true ? MicrosecondTimestamp : undefined;
114
+ get cursor(): Cursor;
115
+ static new(fact: IFact, config: {
116
+ lock: Lock;
117
+ claimTimeout: number;
118
+ skipAfter: number;
119
+ isolateAfter: number;
120
+ }): Task<false>;
121
+ get currentClaimId(): string | undefined;
122
+ get isProcessing(): boolean;
123
+ get isProcessed(): boolean;
124
+ get shouldSkip(): boolean;
125
+ get shouldIsolate(): boolean;
126
+ checkTimeout(): void;
127
+ static deserializeWithLastUpdateTime(data: Omit<Serialized<Task<true>>, "lastUpdateTime">, timestamp?: MicrosecondTimestamp): Task<true>;
128
+ static batch(tasks: Task<true>[]): Task<true>[];
131
129
  }
132
- //#endregion
133
- export { AlreadyEnqueuedError, ClaimerId, FirestoreProjector, FirestoreQueueStore, Task };
130
+ export {};
134
131
  //# sourceMappingURL=firestore.projector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.projector.d.ts","names":[],"sources":["../../src/projection/firestore.projector.ts"],"mappings":"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"}
1
+ {"version":3,"file":"firestore.projector.d.ts","sourceRoot":"","sources":["../../src/projection/firestore.projector.ts"],"names":[],"mappings":"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"}