@ddd-ts/event-sourcing-firestore 0.0.36 → 0.0.38

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 (95) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_virtual/_rolldown/runtime.js +29 -0
  3. package/dist/firestore.event-lake.aggregate-store.d.ts +4 -8
  4. package/dist/firestore.event-lake.aggregate-store.d.ts.map +1 -1
  5. package/dist/firestore.event-lake.aggregate-store.js +35 -33
  6. package/dist/firestore.event-lake.aggregate-store.mjs +36 -0
  7. package/dist/firestore.event-lake.storage-layer.d.ts +2 -2
  8. package/dist/firestore.event-lake.storage-layer.d.ts.map +1 -1
  9. package/dist/firestore.event-lake.storage-layer.js +67 -117
  10. package/dist/firestore.event-lake.storage-layer.mjs +65 -0
  11. package/dist/firestore.event-lake.store.d.ts +1 -1
  12. package/dist/firestore.event-lake.store.d.ts.map +1 -1
  13. package/dist/firestore.event-lake.store.js +14 -12
  14. package/dist/firestore.event-lake.store.mjs +13 -0
  15. package/dist/firestore.event-stream.aggregate-store.d.ts +2 -2
  16. package/dist/firestore.event-stream.aggregate-store.d.ts.map +1 -1
  17. package/dist/firestore.event-stream.aggregate-store.js +35 -37
  18. package/dist/firestore.event-stream.aggregate-store.mjs +36 -0
  19. package/dist/firestore.event-stream.storage-layer.d.ts +2 -2
  20. package/dist/firestore.event-stream.storage-layer.d.ts.map +1 -1
  21. package/dist/firestore.event-stream.storage-layer.js +67 -110
  22. package/dist/firestore.event-stream.storage-layer.mjs +65 -0
  23. package/dist/firestore.event-stream.store.d.ts +1 -1
  24. package/dist/firestore.event-stream.store.d.ts.map +1 -1
  25. package/dist/firestore.event-stream.store.js +14 -12
  26. package/dist/firestore.event-stream.store.mjs +13 -0
  27. package/dist/firestore.projected-stream.reader.d.ts +1 -1
  28. package/dist/firestore.projected-stream.reader.d.ts.map +1 -1
  29. package/dist/firestore.projected-stream.reader.js +35 -37
  30. package/dist/firestore.projected-stream.reader.mjs +34 -0
  31. package/dist/firestore.projected-stream.storage-layer.d.ts +1 -1
  32. package/dist/firestore.projected-stream.storage-layer.d.ts.map +1 -1
  33. package/dist/firestore.projected-stream.storage-layer.js +119 -140
  34. package/dist/firestore.projected-stream.storage-layer.mjs +118 -0
  35. package/dist/firestore.snapshotter.js +36 -40
  36. package/dist/firestore.snapshotter.mjs +35 -0
  37. package/dist/index.js +30 -32
  38. package/dist/index.mjs +12 -0
  39. package/dist/projection/firestore.projector.d.ts +1 -1
  40. package/dist/projection/firestore.projector.d.ts.map +1 -1
  41. package/dist/projection/firestore.projector.js +477 -630
  42. package/dist/projection/firestore.projector.mjs +479 -0
  43. package/dist/projection/testkit/case-fixture.d.ts.map +1 -1
  44. package/dist/projection/testkit.d.ts +1 -1
  45. package/dist/projection/testkit.d.ts.map +1 -1
  46. package/package.json +43 -32
  47. package/dist/firestore.event-lake.aggregate-store.js.map +0 -1
  48. package/dist/firestore.event-lake.aggregate-store.spec.js +0 -58
  49. package/dist/firestore.event-lake.aggregate-store.spec.js.map +0 -1
  50. package/dist/firestore.event-lake.storage-layer.js.map +0 -1
  51. package/dist/firestore.event-lake.store.js.map +0 -1
  52. package/dist/firestore.event-lake.store.spec.js +0 -50
  53. package/dist/firestore.event-lake.store.spec.js.map +0 -1
  54. package/dist/firestore.event-stream-store.spec.js +0 -50
  55. package/dist/firestore.event-stream-store.spec.js.map +0 -1
  56. package/dist/firestore.event-stream.aggregate-store.js.map +0 -1
  57. package/dist/firestore.event-stream.aggregate-store.spec.js +0 -54
  58. package/dist/firestore.event-stream.aggregate-store.spec.js.map +0 -1
  59. package/dist/firestore.event-stream.storage-layer.js.map +0 -1
  60. package/dist/firestore.event-stream.store.js.map +0 -1
  61. package/dist/firestore.projected-stream.reader.js.map +0 -1
  62. package/dist/firestore.projected-stream.reader.spec.js +0 -54
  63. package/dist/firestore.projected-stream.reader.spec.js.map +0 -1
  64. package/dist/firestore.projected-stream.storage-layer.js.map +0 -1
  65. package/dist/firestore.snapshotter.js.map +0 -1
  66. package/dist/index.js.map +0 -1
  67. package/dist/projection/cases/attempts.spec.js +0 -42
  68. package/dist/projection/cases/attempts.spec.js.map +0 -1
  69. package/dist/projection/cases/batchlast.spec.js +0 -51
  70. package/dist/projection/cases/batchlast.spec.js.map +0 -1
  71. package/dist/projection/cases/bigshuffle.spec.js +0 -59
  72. package/dist/projection/cases/bigshuffle.spec.js.map +0 -1
  73. package/dist/projection/cases/burst.spec.js +0 -38
  74. package/dist/projection/cases/burst.spec.js.map +0 -1
  75. package/dist/projection/cases/claimtimeout.spec.js +0 -40
  76. package/dist/projection/cases/claimtimeout.spec.js.map +0 -1
  77. package/dist/projection/cases/concurrency.spec.js +0 -49
  78. package/dist/projection/cases/concurrency.spec.js.map +0 -1
  79. package/dist/projection/cases/deduplicate.spec.js +0 -22
  80. package/dist/projection/cases/deduplicate.spec.js.map +0 -1
  81. package/dist/projection/cases/defer.spec.js +0 -44
  82. package/dist/projection/cases/defer.spec.js.map +0 -1
  83. package/dist/projection/cases/lock.spec.js +0 -91
  84. package/dist/projection/cases/lock.spec.js.map +0 -1
  85. package/dist/projection/cases/skip.spec.js +0 -86
  86. package/dist/projection/cases/skip.spec.js.map +0 -1
  87. package/dist/projection/cases/stress.spec.js +0 -73
  88. package/dist/projection/cases/stress.spec.js.map +0 -1
  89. package/dist/projection/firestore.projector.js.map +0 -1
  90. package/dist/projection/testkit/case-fixture.js +0 -341
  91. package/dist/projection/testkit/case-fixture.js.map +0 -1
  92. package/dist/projection/testkit.js +0 -77
  93. package/dist/projection/testkit.js.map +0 -1
  94. package/dist/projection/trace.decorator.js +0 -35
  95. package/dist/projection/trace.decorator.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { FirestoreEventStreamStorageLayer } from "./firestore.event-stream.storage-layer.mjs";
2
+ import { FirestoreSnapshotter } from "./firestore.snapshotter.mjs";
3
+ import { EventStreamAggregateStore, EventStreamStore, StreamId } from "@ddd-ts/core";
4
+ import { FirestoreTransactionPerformer } from "@ddd-ts/store-firestore";
5
+ import "firebase-admin/firestore";
6
+
7
+ //#region src/firestore.event-stream.aggregate-store.ts
8
+ const MakeFirestoreEventStreamAggregateStore = (AGGREGATE) => {
9
+ return class $FirestoreEventStreamAggregateStore extends FirestoreEventStreamAggregateStore {
10
+ constructor(firestore, serializer, eventBus) {
11
+ const snapshotter = new FirestoreSnapshotter(AGGREGATE.name, firestore, serializer);
12
+ super(firestore, serializer, snapshotter, eventBus);
13
+ }
14
+ loadFirst(event) {
15
+ return AGGREGATE.loadFirst(event);
16
+ }
17
+ getStreamId(id) {
18
+ return StreamId.from(AGGREGATE.name, id.serialize());
19
+ }
20
+ };
21
+ };
22
+ var FirestoreEventStreamAggregateStore = class extends EventStreamAggregateStore {
23
+ constructor(firestore, serializer, snapshotter, eventBus) {
24
+ const storageLayer = new FirestoreEventStreamStorageLayer(firestore);
25
+ const transaction = new FirestoreTransactionPerformer(firestore);
26
+ const streamStore = new EventStreamStore(storageLayer, serializer, eventBus);
27
+ super(streamStore, transaction, snapshotter);
28
+ this.firestore = firestore;
29
+ this.serializer = serializer;
30
+ this.snapshotter = snapshotter;
31
+ this.eventBus = eventBus;
32
+ }
33
+ };
34
+
35
+ //#endregion
36
+ export { FirestoreEventStreamAggregateStore, MakeFirestoreEventStreamAggregateStore };
@@ -1,5 +1,5 @@
1
- import { StreamId, type ISerializedChange, type ISerializedFact, EventStreamStorageLayer } from "@ddd-ts/core";
2
- import { ISerializedSavedChange } from "@ddd-ts/core/dist/interfaces/es-event";
1
+ import { StreamId, type ISerializedChange, type ISerializedFact, type EventStreamStorageLayer } from "@ddd-ts/core";
2
+ import type { ISerializedSavedChange } from "@ddd-ts/core/dist/interfaces/es-event";
3
3
  import { DefaultConverter, FirestoreTransaction } from "@ddd-ts/store-firestore";
4
4
  import * as fb from "firebase-admin";
5
5
  export declare const serverTimestamp: typeof fb.firestore.FieldValue.serverTimestamp;
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.event-stream.storage-layer.d.ts","sourceRoot":"","sources":["../src/firestore.event-stream.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErC,eAAO,MAAM,eAAe,gDAA0C,CAAC;AAEvE,qBAAa,gCACX,YAAW,uBAAuB;aAGhB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS;aACjC,SAAS;gBADT,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EACjC,SAAS,8CAAyB;IAGpD,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IASrD,aAAa,CAAC,QAAQ,EAAE,QAAQ;IAS1B,MAAM,CACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,oBAAoB;IAkCpB,IAAI,CACT,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,CAAC,eAAe,CAAC;CAsBlC"}
1
+ {"version":3,"file":"firestore.event-stream.storage-layer.d.ts","sourceRoot":"","sources":["../src/firestore.event-stream.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAEpF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErC,eAAO,MAAM,eAAe,gDAA0C,CAAC;AAEvE,qBAAa,gCACX,YAAW,uBAAuB;aAGhB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS;aACjC,SAAS;gBADT,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EACjC,SAAS,8CAAyB;IAGpD,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IASrD,aAAa,CAAC,QAAQ,EAAE,QAAQ;IAS1B,MAAM,CACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,oBAAoB;IAkCpB,IAAI,CACT,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,CAAC,eAAe,CAAC;CAsBlC"}
@@ -1,110 +1,67 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.FirestoreEventStreamStorageLayer = exports.serverTimestamp = void 0;
37
- const store_firestore_1 = require("@ddd-ts/store-firestore");
38
- const fb = __importStar(require("firebase-admin"));
39
- exports.serverTimestamp = fb.firestore.FieldValue.serverTimestamp;
40
- class FirestoreEventStreamStorageLayer {
41
- firestore;
42
- converter;
43
- constructor(firestore, converter = new store_firestore_1.DefaultConverter()) {
44
- this.firestore = firestore;
45
- this.converter = converter;
46
- }
47
- isLocalRevisionOutdatedError(error) {
48
- return (typeof error === "object" &&
49
- error !== null &&
50
- "code" in error &&
51
- error.code === 6);
52
- }
53
- getCollection(streamId) {
54
- return this.firestore
55
- .collection("event-store")
56
- .doc(streamId.aggregateType)
57
- .collection("streams")
58
- .doc(streamId.aggregateId)
59
- .collection("events");
60
- }
61
- async append(streamId, changes, expectedRevision, trx) {
62
- const collection = this.getCollection(streamId);
63
- const result = [];
64
- let revision = expectedRevision + 1;
65
- for (const change of changes) {
66
- const storageChange = {
67
- aggregateType: streamId.aggregateType,
68
- eventId: change.id,
69
- aggregateId: streamId.aggregateId,
70
- revision: revision,
71
- name: change.name,
72
- payload: change.payload,
73
- occurredAt: (0, exports.serverTimestamp)(),
74
- version: change.version,
75
- };
76
- const ref = collection.doc(`${revision}`);
77
- result.push({
78
- ...change,
79
- ref: ref.path,
80
- revision: revision,
81
- occurredAt: undefined,
82
- });
83
- trx.transaction.create(ref, this.converter.toFirestore(storageChange));
84
- revision++;
85
- }
86
- return result;
87
- }
88
- async *read(streamId, startAt) {
89
- const collection = this.getCollection(streamId);
90
- const query = collection
91
- .where("revision", ">=", startAt || 0)
92
- .orderBy("revision", "asc");
93
- for await (const event of query.stream()) {
94
- const e = event;
95
- const data = this.converter.fromFirestore(e);
96
- yield {
97
- id: data.eventId,
98
- ref: e.ref.path,
99
- revision: data.revision,
100
- name: data.name,
101
- $name: data.name,
102
- payload: data.payload,
103
- occurredAt: data.occurredAt,
104
- version: data.version ?? 1,
105
- };
106
- }
107
- }
108
- }
109
- exports.FirestoreEventStreamStorageLayer = FirestoreEventStreamStorageLayer;
110
- //# sourceMappingURL=firestore.event-stream.storage-layer.js.map
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");
4
+ let firebase_admin = require("firebase-admin");
5
+ firebase_admin = require_runtime.__toESM(firebase_admin);
6
+
7
+ //#region src/firestore.event-stream.storage-layer.ts
8
+ const serverTimestamp = firebase_admin.firestore.FieldValue.serverTimestamp;
9
+ var FirestoreEventStreamStorageLayer = class {
10
+ constructor(firestore, converter = new _ddd_ts_store_firestore.DefaultConverter()) {
11
+ this.firestore = firestore;
12
+ this.converter = converter;
13
+ }
14
+ isLocalRevisionOutdatedError(error) {
15
+ return typeof error === "object" && error !== null && "code" in error && error.code === 6;
16
+ }
17
+ getCollection(streamId) {
18
+ return this.firestore.collection("event-store").doc(streamId.aggregateType).collection("streams").doc(streamId.aggregateId).collection("events");
19
+ }
20
+ async append(streamId, changes, expectedRevision, trx) {
21
+ const collection = this.getCollection(streamId);
22
+ const result = [];
23
+ let revision = expectedRevision + 1;
24
+ for (const change of changes) {
25
+ const storageChange = {
26
+ aggregateType: streamId.aggregateType,
27
+ eventId: change.id,
28
+ aggregateId: streamId.aggregateId,
29
+ revision,
30
+ name: change.name,
31
+ payload: change.payload,
32
+ occurredAt: serverTimestamp(),
33
+ version: change.version
34
+ };
35
+ const ref = collection.doc(`${revision}`);
36
+ result.push({
37
+ ...change,
38
+ ref: ref.path,
39
+ revision,
40
+ occurredAt: void 0
41
+ });
42
+ trx.transaction.create(ref, this.converter.toFirestore(storageChange));
43
+ revision++;
44
+ }
45
+ return result;
46
+ }
47
+ async *read(streamId, startAt) {
48
+ const query = this.getCollection(streamId).where("revision", ">=", startAt || 0).orderBy("revision", "asc");
49
+ for await (const event of query.stream()) {
50
+ const e = event;
51
+ const data = this.converter.fromFirestore(e);
52
+ yield {
53
+ id: data.eventId,
54
+ ref: e.ref.path,
55
+ revision: data.revision,
56
+ name: data.name,
57
+ $name: data.name,
58
+ payload: data.payload,
59
+ occurredAt: data.occurredAt,
60
+ version: data.version ?? 1
61
+ };
62
+ }
63
+ }
64
+ };
65
+
66
+ //#endregion
67
+ exports.FirestoreEventStreamStorageLayer = FirestoreEventStreamStorageLayer;
@@ -0,0 +1,65 @@
1
+ import { StreamId } from "@ddd-ts/core";
2
+ import { DefaultConverter } from "@ddd-ts/store-firestore";
3
+ import * as fb from "firebase-admin";
4
+
5
+ //#region src/firestore.event-stream.storage-layer.ts
6
+ const serverTimestamp = fb.firestore.FieldValue.serverTimestamp;
7
+ var FirestoreEventStreamStorageLayer = class {
8
+ constructor(firestore, converter = new DefaultConverter()) {
9
+ this.firestore = firestore;
10
+ this.converter = converter;
11
+ }
12
+ isLocalRevisionOutdatedError(error) {
13
+ return typeof error === "object" && error !== null && "code" in error && error.code === 6;
14
+ }
15
+ getCollection(streamId) {
16
+ return this.firestore.collection("event-store").doc(streamId.aggregateType).collection("streams").doc(streamId.aggregateId).collection("events");
17
+ }
18
+ async append(streamId, changes, expectedRevision, trx) {
19
+ const collection = this.getCollection(streamId);
20
+ const result = [];
21
+ let revision = expectedRevision + 1;
22
+ for (const change of changes) {
23
+ const storageChange = {
24
+ aggregateType: streamId.aggregateType,
25
+ eventId: change.id,
26
+ aggregateId: streamId.aggregateId,
27
+ revision,
28
+ name: change.name,
29
+ payload: change.payload,
30
+ occurredAt: serverTimestamp(),
31
+ version: change.version
32
+ };
33
+ const ref = collection.doc(`${revision}`);
34
+ result.push({
35
+ ...change,
36
+ ref: ref.path,
37
+ revision,
38
+ occurredAt: void 0
39
+ });
40
+ trx.transaction.create(ref, this.converter.toFirestore(storageChange));
41
+ revision++;
42
+ }
43
+ return result;
44
+ }
45
+ async *read(streamId, startAt) {
46
+ const query = this.getCollection(streamId).where("revision", ">=", startAt || 0).orderBy("revision", "asc");
47
+ for await (const event of query.stream()) {
48
+ const e = event;
49
+ const data = this.converter.fromFirestore(e);
50
+ yield {
51
+ id: data.eventId,
52
+ ref: e.ref.path,
53
+ revision: data.revision,
54
+ name: data.name,
55
+ $name: data.name,
56
+ payload: data.payload,
57
+ occurredAt: data.occurredAt,
58
+ version: data.version ?? 1
59
+ };
60
+ }
61
+ }
62
+ };
63
+
64
+ //#endregion
65
+ export { FirestoreEventStreamStorageLayer };
@@ -1,4 +1,4 @@
1
- import { EventStreamStore, IEsEvent, IEventBus, ISerializer } from "@ddd-ts/core";
1
+ import { EventStreamStore, type IEsEvent, type IEventBus, type ISerializer } from "@ddd-ts/core";
2
2
  import { Firestore } from "firebase-admin/firestore";
3
3
  export declare class FirestoreEventStreamStore<Event extends IEsEvent> extends EventStreamStore<Event> {
4
4
  constructor(firestore: Firestore, serializer: ISerializer<Event>, eventBus?: IEventBus);
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.event-stream.store.d.ts","sourceRoot":"","sources":["../src/firestore.event-stream.store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAa,yBAAyB,CACpC,KAAK,SAAS,QAAQ,CACtB,SAAQ,gBAAgB,CAAC,KAAK,CAAC;gBAE7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,EAC9B,QAAQ,CAAC,EAAE,SAAS;CAQvB"}
1
+ {"version":3,"file":"firestore.event-stream.store.d.ts","sourceRoot":"","sources":["../src/firestore.event-stream.store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAa,yBAAyB,CACpC,KAAK,SAAS,QAAQ,CACtB,SAAQ,gBAAgB,CAAC,KAAK,CAAC;gBAE7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,EAC9B,QAAQ,CAAC,EAAE,SAAS;CAQvB"}
@@ -1,12 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirestoreEventStreamStore = void 0;
4
- const core_1 = require("@ddd-ts/core");
5
- const firestore_event_stream_storage_layer_1 = require("./firestore.event-stream.storage-layer");
6
- class FirestoreEventStreamStore extends core_1.EventStreamStore {
7
- constructor(firestore, serializer, eventBus) {
8
- super(new firestore_event_stream_storage_layer_1.FirestoreEventStreamStorageLayer(firestore), serializer, eventBus);
9
- }
10
- }
11
- exports.FirestoreEventStreamStore = FirestoreEventStreamStore;
12
- //# sourceMappingURL=firestore.event-stream.store.js.map
1
+ const require_runtime = require('./_virtual/_rolldown/runtime.js');
2
+ const require_firestore_event_stream_storage_layer = require('./firestore.event-stream.storage-layer.js');
3
+ let _ddd_ts_core = require("@ddd-ts/core");
4
+ let firebase_admin_firestore = require("firebase-admin/firestore");
5
+
6
+ //#region src/firestore.event-stream.store.ts
7
+ var FirestoreEventStreamStore = class extends _ddd_ts_core.EventStreamStore {
8
+ constructor(firestore, serializer, eventBus) {
9
+ super(new require_firestore_event_stream_storage_layer.FirestoreEventStreamStorageLayer(firestore), serializer, eventBus);
10
+ }
11
+ };
12
+
13
+ //#endregion
14
+ exports.FirestoreEventStreamStore = FirestoreEventStreamStore;
@@ -0,0 +1,13 @@
1
+ import { FirestoreEventStreamStorageLayer } from "./firestore.event-stream.storage-layer.mjs";
2
+ import { EventStreamStore } from "@ddd-ts/core";
3
+ import "firebase-admin/firestore";
4
+
5
+ //#region src/firestore.event-stream.store.ts
6
+ var FirestoreEventStreamStore = class extends EventStreamStore {
7
+ constructor(firestore, serializer, eventBus) {
8
+ super(new FirestoreEventStreamStorageLayer(firestore), serializer, eventBus);
9
+ }
10
+ };
11
+
12
+ //#endregion
13
+ export { FirestoreEventStreamStore };
@@ -1,4 +1,4 @@
1
- import { Cursor, IEsEvent, IFact, ISavedChange, ISerializer, ProjectedStream, ProjectedStreamReader } from "@ddd-ts/core";
1
+ import { Cursor, type IEsEvent, type IFact, type ISavedChange, type ISerializer, ProjectedStream, ProjectedStreamReader } from "@ddd-ts/core";
2
2
  import { Firestore } from "firebase-admin/firestore";
3
3
  import { FirestoreProjectedStreamStorageLayer } from "./firestore.projected-stream.storage-layer";
4
4
  export declare class FirestoreProjectedStreamReader<Event extends IEsEvent> extends ProjectedStreamReader<Event> {
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.projected-stream.reader.d.ts","sourceRoot":"","sources":["../src/firestore.projected-stream.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,YAAY,EAEZ,WAAW,EACX,eAAe,EACf,qBAAqB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAElG,qBAAa,8BAA8B,CACzC,KAAK,SAAS,QAAQ,CACtB,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACpC,OAAO,EAAE,oCAAoC,CAAC;IAC9C,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC;IAO1D,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC;IAK1C,GAAG,CAAC,MAAM,EAAE,MAAM;IAUlB,KAAK,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM;IAcT,IAAI,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM;CAWjB"}
1
+ {"version":3,"file":"firestore.projected-stream.reader.d.ts","sourceRoot":"","sources":["../src/firestore.projected-stream.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,YAAY,EAEjB,KAAK,WAAW,EAChB,eAAe,EACf,qBAAqB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAElG,qBAAa,8BAA8B,CACzC,KAAK,SAAS,QAAQ,CACtB,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACpC,OAAO,EAAE,oCAAoC,CAAC;IAC9C,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC;IAO1D,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC;IAK1C,GAAG,CAAC,MAAM,EAAE,MAAM;IAUlB,KAAK,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM;IAcT,IAAI,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM;CAWjB"}
@@ -1,37 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirestoreProjectedStreamReader = void 0;
4
- const core_1 = require("@ddd-ts/core");
5
- const firestore_projected_stream_storage_layer_1 = require("./firestore.projected-stream.storage-layer");
6
- class FirestoreProjectedStreamReader extends core_1.ProjectedStreamReader {
7
- storage;
8
- serializer;
9
- constructor(firestore, serializer) {
10
- const storage = new firestore_projected_stream_storage_layer_1.FirestoreProjectedStreamStorageLayer(firestore);
11
- super(storage, serializer);
12
- this.storage = storage;
13
- this.serializer = serializer;
14
- }
15
- async getCursor(savedChange) {
16
- const serialized = await this.serializer.serialize(savedChange);
17
- return this.storage.getCursor(serialized);
18
- }
19
- async get(cursor) {
20
- const serialized = await this.storage.get(cursor);
21
- if (!serialized) {
22
- return undefined;
23
- }
24
- return this.serializer.deserialize(serialized);
25
- }
26
- async slice(projectedStream, shard, startAfter, endAt, limit) {
27
- const serialized = await this.storage.slice(projectedStream, shard, startAfter, endAt, limit);
28
- return Promise.all(serialized.map((s) => this.serializer.deserialize(s)));
29
- }
30
- async *read(projectedStream, shard, startAfter, endAt) {
31
- for await (const serialized of this.storage.read(projectedStream, shard, startAfter, endAt)) {
32
- yield this.serializer.deserialize(serialized);
33
- }
34
- }
35
- }
36
- exports.FirestoreProjectedStreamReader = FirestoreProjectedStreamReader;
37
- //# sourceMappingURL=firestore.projected-stream.reader.js.map
1
+ const require_runtime = require('./_virtual/_rolldown/runtime.js');
2
+ const require_firestore_projected_stream_storage_layer = require('./firestore.projected-stream.storage-layer.js');
3
+ let _ddd_ts_core = require("@ddd-ts/core");
4
+ let firebase_admin_firestore = require("firebase-admin/firestore");
5
+
6
+ //#region src/firestore.projected-stream.reader.ts
7
+ var FirestoreProjectedStreamReader = class extends _ddd_ts_core.ProjectedStreamReader {
8
+ storage;
9
+ serializer;
10
+ constructor(firestore, serializer) {
11
+ const storage = new require_firestore_projected_stream_storage_layer.FirestoreProjectedStreamStorageLayer(firestore);
12
+ super(storage, serializer);
13
+ this.storage = storage;
14
+ this.serializer = serializer;
15
+ }
16
+ async getCursor(savedChange) {
17
+ const serialized = await this.serializer.serialize(savedChange);
18
+ return this.storage.getCursor(serialized);
19
+ }
20
+ async get(cursor) {
21
+ const serialized = await this.storage.get(cursor);
22
+ if (!serialized) return;
23
+ return this.serializer.deserialize(serialized);
24
+ }
25
+ async slice(projectedStream, shard, startAfter, endAt, limit) {
26
+ const serialized = await this.storage.slice(projectedStream, shard, startAfter, endAt, limit);
27
+ return Promise.all(serialized.map((s) => this.serializer.deserialize(s)));
28
+ }
29
+ async *read(projectedStream, shard, startAfter, endAt) {
30
+ for await (const serialized of this.storage.read(projectedStream, shard, startAfter, endAt)) yield this.serializer.deserialize(serialized);
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ exports.FirestoreProjectedStreamReader = FirestoreProjectedStreamReader;
@@ -0,0 +1,34 @@
1
+ import { FirestoreProjectedStreamStorageLayer } from "./firestore.projected-stream.storage-layer.mjs";
2
+ import { Cursor, ProjectedStreamReader } from "@ddd-ts/core";
3
+ import "firebase-admin/firestore";
4
+
5
+ //#region src/firestore.projected-stream.reader.ts
6
+ var FirestoreProjectedStreamReader = class extends ProjectedStreamReader {
7
+ storage;
8
+ serializer;
9
+ constructor(firestore, serializer) {
10
+ const storage = new FirestoreProjectedStreamStorageLayer(firestore);
11
+ super(storage, serializer);
12
+ this.storage = storage;
13
+ this.serializer = serializer;
14
+ }
15
+ async getCursor(savedChange) {
16
+ const serialized = await this.serializer.serialize(savedChange);
17
+ return this.storage.getCursor(serialized);
18
+ }
19
+ async get(cursor) {
20
+ const serialized = await this.storage.get(cursor);
21
+ if (!serialized) return;
22
+ return this.serializer.deserialize(serialized);
23
+ }
24
+ async slice(projectedStream, shard, startAfter, endAt, limit) {
25
+ const serialized = await this.storage.slice(projectedStream, shard, startAfter, endAt, limit);
26
+ return Promise.all(serialized.map((s) => this.serializer.deserialize(s)));
27
+ }
28
+ async *read(projectedStream, shard, startAfter, endAt) {
29
+ for await (const serialized of this.storage.read(projectedStream, shard, startAfter, endAt)) yield this.serializer.deserialize(serialized);
30
+ }
31
+ };
32
+
33
+ //#endregion
34
+ export { FirestoreProjectedStreamReader };
@@ -1,4 +1,4 @@
1
- import { ISerializedFact, ISerializedSavedChange, LakeSource, ProjectedStream, ProjectedStreamStorageLayer, StreamSource } from "@ddd-ts/core";
1
+ import { type ISerializedFact, type ISerializedSavedChange, LakeSource, ProjectedStream, type ProjectedStreamStorageLayer, StreamSource } from "@ddd-ts/core";
2
2
  import { DefaultConverter } from "@ddd-ts/store-firestore";
3
3
  import { Filter, Firestore, Timestamp } from "firebase-admin/firestore";
4
4
  import { MicrosecondTimestamp } from "@ddd-ts/shape";
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.projected-stream.storage-layer.d.ts","sourceRoot":"","sources":["../src/firestore.projected-stream.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,eAAe,EACf,2BAA2B,EAC3B,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,SAAS,EAET,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAE7D,qBAAa,yBAAyB;IACpC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;CAM7C;AAED,qBAAa,2BAA2B;IACtC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;CAOjD;AAED,qBAAa,oCACX,YAAW,2BAA2B;IAGpC,OAAO,CAAC,QAAQ,CAAC,SAAS;aACV,SAAS;gBADR,SAAS,EAAE,SAAS,EACrB,SAAS,mDAAyB;IAG7C,IAAI,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM;;;;;;;;;;IA2CT,sBAAsB,CAAC,YAAY,EAAE,oBAAoB;IAM1D,GAAG,CAAC,MAAM,EAAE,MAAM;IAkBlB,SAAS,CACb,WAAW,EAAE,sBAAsB,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAcxB,KAAK,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM;CAiDjB"}
1
+ {"version":3,"file":"firestore.projected-stream.storage-layer.d.ts","sourceRoot":"","sources":["../src/firestore.projected-stream.storage-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,UAAU,EACV,eAAe,EACf,KAAK,2BAA2B,EAChC,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,SAAS,EAET,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAE7D,qBAAa,yBAAyB;IACpC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;CAM7C;AAED,qBAAa,2BAA2B;IACtC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;CAOjD;AAED,qBAAa,oCACX,YAAW,2BAA2B;IAGpC,OAAO,CAAC,QAAQ,CAAC,SAAS;aACV,SAAS;gBADR,SAAS,EAAE,SAAS,EACrB,SAAS,mDAAyB;IAG7C,IAAI,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM;;;;;;;;;;IA2CT,sBAAsB,CAAC,YAAY,EAAE,oBAAoB;IAM1D,GAAG,CAAC,MAAM,EAAE,MAAM;IAkBlB,SAAS,CACb,WAAW,EAAE,sBAAsB,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAcxB,KAAK,CACT,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM;CAiDjB"}