@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.
- package/dist/_virtual/_rolldown/runtime.js +29 -0
- package/dist/firestore.event-lake.aggregate-store.d.ts +30 -36
- package/dist/firestore.event-lake.aggregate-store.d.ts.map +1 -1
- package/dist/firestore.event-lake.aggregate-store.js +11 -11
- package/dist/firestore.event-lake.aggregate-store.mjs +36 -0
- package/dist/firestore.event-lake.aggregate-store.spec.d.ts +2 -0
- package/dist/firestore.event-lake.aggregate-store.spec.d.ts.map +1 -0
- package/dist/firestore.event-lake.storage-layer.d.ts +10 -13
- package/dist/firestore.event-lake.storage-layer.d.ts.map +1 -1
- package/dist/firestore.event-lake.storage-layer.js +8 -7
- package/dist/firestore.event-lake.storage-layer.mjs +65 -0
- package/dist/firestore.event-lake.store.d.ts +3 -7
- package/dist/firestore.event-lake.store.d.ts.map +1 -1
- package/dist/firestore.event-lake.store.js +7 -7
- package/dist/firestore.event-lake.store.mjs +13 -0
- package/dist/firestore.event-lake.store.spec.d.ts +2 -0
- package/dist/firestore.event-lake.store.spec.d.ts.map +1 -0
- package/dist/firestore.event-stream-store.spec.d.ts +2 -0
- package/dist/firestore.event-stream-store.spec.d.ts.map +1 -0
- package/dist/firestore.event-stream.aggregate-store.d.ts +25 -30
- package/dist/firestore.event-stream.aggregate-store.d.ts.map +1 -1
- package/dist/firestore.event-stream.aggregate-store.js +14 -14
- package/dist/firestore.event-stream.aggregate-store.mjs +36 -0
- package/dist/firestore.event-stream.aggregate-store.spec.d.ts +2 -0
- package/dist/firestore.event-stream.aggregate-store.spec.d.ts.map +1 -0
- package/dist/firestore.event-stream.storage-layer.d.ts +11 -14
- package/dist/firestore.event-stream.storage-layer.d.ts.map +1 -1
- package/dist/firestore.event-stream.storage-layer.js +8 -8
- package/dist/firestore.event-stream.storage-layer.mjs +65 -0
- package/dist/firestore.event-stream.store.d.ts +3 -7
- package/dist/firestore.event-stream.store.d.ts.map +1 -1
- package/dist/firestore.event-stream.store.js +7 -7
- package/dist/firestore.event-stream.store.mjs +13 -0
- package/dist/firestore.projected-stream.reader.d.ts +10 -14
- package/dist/firestore.projected-stream.reader.d.ts.map +1 -1
- package/dist/firestore.projected-stream.reader.js +7 -7
- package/dist/firestore.projected-stream.reader.mjs +34 -0
- package/dist/firestore.projected-stream.reader.spec.d.ts +2 -0
- package/dist/firestore.projected-stream.reader.spec.d.ts.map +1 -0
- package/dist/firestore.projected-stream.storage-layer.d.ts +24 -28
- package/dist/firestore.projected-stream.storage-layer.d.ts.map +1 -1
- package/dist/firestore.projected-stream.storage-layer.js +20 -18
- package/dist/firestore.projected-stream.storage-layer.mjs +118 -0
- package/dist/firestore.snapshotter.d.ts +3 -7
- package/dist/firestore.snapshotter.d.ts.map +1 -1
- package/dist/firestore.snapshotter.js +5 -5
- package/dist/firestore.snapshotter.mjs +35 -0
- package/dist/index.d.ts +11 -11
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -11
- package/dist/index.mjs +12 -0
- package/dist/projection/cases/attempts.spec.d.ts +2 -0
- package/dist/projection/cases/attempts.spec.d.ts.map +1 -0
- package/dist/projection/cases/batchlast.spec.d.ts +2 -0
- package/dist/projection/cases/batchlast.spec.d.ts.map +1 -0
- package/dist/projection/cases/bigshuffle.spec.d.ts +2 -0
- package/dist/projection/cases/bigshuffle.spec.d.ts.map +1 -0
- package/dist/projection/cases/burst.spec.d.ts +2 -0
- package/dist/projection/cases/burst.spec.d.ts.map +1 -0
- package/dist/projection/cases/claimtimeout.spec.d.ts +2 -0
- package/dist/projection/cases/claimtimeout.spec.d.ts.map +1 -0
- package/dist/projection/cases/concurrency.spec.d.ts +2 -0
- package/dist/projection/cases/concurrency.spec.d.ts.map +1 -0
- package/dist/projection/cases/deduplicate.spec.d.ts +2 -0
- package/dist/projection/cases/deduplicate.spec.d.ts.map +1 -0
- package/dist/projection/cases/defer.spec.d.ts +2 -0
- package/dist/projection/cases/defer.spec.d.ts.map +1 -0
- package/dist/projection/cases/lock.spec.d.ts +2 -0
- package/dist/projection/cases/lock.spec.d.ts.map +1 -0
- package/dist/projection/cases/skip.spec.d.ts +2 -0
- package/dist/projection/cases/skip.spec.d.ts.map +1 -0
- package/dist/projection/cases/stress.spec.d.ts +2 -0
- package/dist/projection/cases/stress.spec.d.ts.map +1 -0
- package/dist/projection/firestore.projector.d.ts +122 -125
- package/dist/projection/firestore.projector.d.ts.map +1 -1
- package/dist/projection/firestore.projector.js +48 -44
- package/dist/projection/firestore.projector.mjs +520 -0
- package/dist/projection/testkit/case-fixture.d.ts +610 -0
- package/dist/projection/testkit/case-fixture.d.ts.map +1 -0
- package/dist/projection/testkit.d.ts +44 -0
- package/dist/projection/testkit.d.ts.map +1 -0
- package/dist/projection/trace.decorator.d.ts +2 -0
- package/dist/projection/trace.decorator.d.ts.map +1 -0
- package/package.json +16 -11
- package/dist/firestore.event-lake.aggregate-store.js.map +0 -1
- package/dist/firestore.event-lake.storage-layer.js.map +0 -1
- package/dist/firestore.event-lake.store.js.map +0 -1
- package/dist/firestore.event-stream.aggregate-store.js.map +0 -1
- package/dist/firestore.event-stream.storage-layer.js.map +0 -1
- package/dist/firestore.event-stream.store.js.map +0 -1
- package/dist/firestore.projected-stream.reader.js.map +0 -1
- package/dist/firestore.projected-stream.storage-layer.js.map +0 -1
- package/dist/firestore.snapshotter.js.map +0 -1
- package/dist/projection/firestore.projector.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"attempts.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/attempts.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchlast.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/batchlast.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bigshuffle.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/bigshuffle.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"burst.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/burst.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimtimeout.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/claimtimeout.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concurrency.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/concurrency.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduplicate.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/deduplicate.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defer.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/defer.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/lock.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skip.spec.d.ts","sourceRoot":"","sources":["../../../src/projection/cases/skip.spec.ts"],"names":[],"mappings":""}
|
|
@@ -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
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
|
25
|
-
|
|
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
|
|
48
|
-
|
|
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
|
|
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
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
-
|
|
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","
|
|
1
|
+
{"version":3,"file":"firestore.projector.d.ts","sourceRoot":"","sources":["../../src/projection/firestore.projector.ts"],"names":[],"mappings":"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"}
|