@event-nest/mongodb 5.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event-nest/mongodb",
3
- "version": "5.0.0",
3
+ "version": "6.0.0",
4
4
  "license": "MIT",
5
5
  "description": "Event sourcing module for NestJS using MongoDB. It uses MongoDB collections and transactions to store events and object information",
6
6
  "author": "Nick Tsitlakidis",
@@ -9,7 +9,7 @@
9
9
  "url": "https://github.com/NickTsitlakidis/event-nest.git"
10
10
  },
11
11
  "engines": {
12
- "node": ">= 20"
12
+ "node": ">= 22"
13
13
  },
14
14
  "type": "commonjs",
15
15
  "keywords": [
@@ -24,17 +24,29 @@
24
24
  "peerDependencies": {
25
25
  "@nestjs/common": "^10.0.0 || ^11.0.0",
26
26
  "@nestjs/core": "^10.0.0 || ^11.0.0",
27
- "mongodb": "^6.15.0",
27
+ "mongodb": "^7.0.0",
28
28
  "reflect-metadata": "^0.1.12 || ^0.2.0",
29
29
  "rxjs": "^7.2.0"
30
30
  },
31
31
  "dependencies": {
32
32
  "class-transformer": "^0.5.1",
33
- "es-toolkit": "^1.32.0",
33
+ "es-toolkit": "^1.45.1",
34
34
  "tslib": "^2.3.0",
35
- "@event-nest/core": "5.0.0"
35
+ "@event-nest/core": "6.0.0"
36
+ },
37
+ "packageManager": "pnpm@10.33.4",
38
+ "pnpm": {
39
+ "onlyBuiltDependencies": [
40
+ "@nestjs/core",
41
+ "cpu-features",
42
+ "less",
43
+ "mongodb-memory-server",
44
+ "nx",
45
+ "protobufjs",
46
+ "ssh2",
47
+ "unrs-resolver"
48
+ ]
36
49
  },
37
- "packageManager": "pnpm@10.29.2",
38
50
  "types": "./src/index.d.ts",
39
51
  "main": "./src/index.js"
40
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module-providers.js","sourceRoot":"","sources":["../../../../../libs/mongodb/src/lib/module-providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-providers.js","sourceRoot":"","sources":["../../../../../libs/mongodb/src/lib/module-providers.ts"],"names":[],"mappings":";;;AAAA,2CAM0B;AAE1B,qCAAsC;AAItC,mEAA8D;AAC9D,yEAAoE;AAEpE,MAAa,eAAe;IACxB,MAAM,CAAC,MAAM,CAAC,OAA6B;QACvC,OAAO;YACH;gBACI,OAAO,EAAE,yBAAkB;gBAC3B,UAAU,EAAE,GAAG,EAAE;oBACb,OAAO,IAAI,yBAAkB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;gBACnE,CAAC;aACJ;YACD;gBACI,OAAO,EAAE,yBAAyB;gBAClC,UAAU,EAAE,GAAG,EAAE;oBACb,OAAO,IAAI,qBAAW,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBACpF,CAAC;aACJ;YACD;gBACI,MAAM,EAAE,CAAC,yBAAyB,CAAC;gBACnC,OAAO,EAAE,qBAAc;gBACvB,UAAU,EAAE,CAAC,WAAwB,EAAE,EAAE;oBACrC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;oBACzD,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBAC5D,MAAM,IAAI,KAAK,CACX,sFAAsF,CACzF,CAAC;oBACN,CAAC;oBAED,IAAI,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC3C,OAAO,IAAI,wBAAiB,EAAE,CAAC;oBACnC,CAAC;oBAED,OAAO,IAAI,yCAAkB,CAAC,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;gBACrF,CAAC;aACJ;YACD;gBACI,MAAM,EAAE,CAAC,yBAAkB,EAAE,yBAAyB,EAAE,qBAAc,CAAC;gBACvE,OAAO,EAAE,kBAAW;gBACpB,UAAU,EAAE,CACR,YAAgC,EAChC,WAAwB,EACxB,aAAoC,EACtC,EAAE;oBACA,OAAO,IAAI,mCAAe,CACtB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,CAAC,oBAAoB,EAC5B,OAAO,CAAC,gBAAgB,CAC3B,CAAC;gBACN,CAAC;aACJ;SACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAkC;QACjD,MAAM,mBAAmB,GAAG;YACxB,MAAM,EAAE,CAAC,oBAAoB,CAAC;YAC9B,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE,CAAC,OAA6B,EAAE,EAAE;gBAC1C,OAAO,IAAI,qBAAW,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACpF,CAAC;SACJ,CAAC;QAEF,MAAM,qBAAqB,GAAG;YAC1B,MAAM,EAAE,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;YACzD,OAAO,EAAE,qBAAc;YACvB,UAAU,EAAE,CAAC,WAAwB,EAAE,OAA6B,EAAyB,EAAE;gBAC3F,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;gBACzD,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC5D,MAAM,IAAI,KAAK,CACX,sFAAsF,CACzF,CAAC;gBACN,CAAC;gBAED,IAAI,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC3C,OAAO,IAAI,wBAAiB,EAAE,CAAC;gBACnC,CAAC;gBAED,OAAO,IAAI,yCAAkB,CAAC,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;YACrF,CAAC;SACJ,CAAC;QAEF,MAAM,eAAe,GAAG;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,oBAAoB;YAC7B,UAAU,EAAE,KAAK,EAAE,GAAG,UAAqB,EAAE,EAAE;gBAC3C,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;YACnD,CAAC;SACJ,CAAC;QAEF,MAAM,gBAAgB,GAAG;YACrB,MAAM,EAAE,CAAC,oBAAoB,CAAC;YAC9B,OAAO,EAAE,yBAAkB;YAC3B,UAAU,EAAE,CAAC,OAA6B,EAAE,EAAE;gBAC1C,OAAO,IAAI,yBAAkB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACnE,CAAC;SACJ,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACvB,MAAM,EAAE,CAAC,oBAAoB,EAAE,yBAAkB,EAAE,yBAAyB,EAAE,qBAAc,CAAC;YAC7F,OAAO,EAAE,kBAAW;YACpB,UAAU,EAAE,CACR,OAA6B,EAC7B,QAA4B,EAC5B,WAAwB,EACxB,aAAoC,EACtC,EAAE;gBACA,OAAO,IAAI,mCAAe,CACtB,QAAQ,EACR,aAAa,EACb,WAAW,EACX,OAAO,CAAC,oBAAoB,EAC5B,OAAO,CAAC,gBAAgB,CAC3B,CAAC;YACN,CAAC;SACJ,CAAC;QAEF,OAAO,CAAC,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IAC/G,CAAC;CACJ;AAtHD,0CAsHC"}
@@ -1,12 +1,11 @@
1
- import { AbstractEventStore, AggregateRoot, AggregateRootClass, AggregateRootSnapshot, DomainEventEmitter, StoredAggregateRoot, StoredEvent } from "@event-nest/core";
1
+ import { AbstractEventStore, AbstractSnapshotStore, AggregateRoot, AggregateRootClass, AggregateRootSnapshot, DomainEventEmitter, StoredAggregateRoot, StoredEvent } from "@event-nest/core";
2
2
  import { MongoClient } from "mongodb";
3
- import { MongoSnapshotStore } from "./mongo-snapshot-store";
4
3
  export declare class MongoEventStore extends AbstractEventStore {
5
4
  private readonly _mongoClient;
6
5
  private readonly _aggregatesCollectionName;
7
6
  private readonly _eventsCollectionName;
8
7
  private readonly _logger;
9
- constructor(eventEmitter: DomainEventEmitter, mongoSnapshotStore: MongoSnapshotStore, _mongoClient: MongoClient, _aggregatesCollectionName: string, _eventsCollectionName: string);
8
+ constructor(eventEmitter: DomainEventEmitter, snapshotStore: AbstractSnapshotStore, _mongoClient: MongoClient, _aggregatesCollectionName: string, _eventsCollectionName: string);
10
9
  get aggregatesCollectionName(): string;
11
10
  get eventsCollectionName(): string;
12
11
  findAggregateRootVersion(id: string): Promise<number>;
@@ -17,5 +16,6 @@ export declare class MongoEventStore extends AbstractEventStore {
17
16
  snapshot?: AggregateRootSnapshot<T>;
18
17
  }>;
19
18
  generateEntityId(): Promise<string>;
19
+ purgeAggregate(id: string): Promise<void>;
20
20
  save(events: Array<StoredEvent>, aggregate: StoredAggregateRoot): Promise<Array<StoredEvent>>;
21
21
  }
@@ -6,8 +6,8 @@ const common_1 = require("@nestjs/common");
6
6
  const es_toolkit_1 = require("es-toolkit");
7
7
  const mongodb_1 = require("mongodb");
8
8
  class MongoEventStore extends core_1.AbstractEventStore {
9
- constructor(eventEmitter, mongoSnapshotStore, _mongoClient, _aggregatesCollectionName, _eventsCollectionName) {
10
- super(eventEmitter, mongoSnapshotStore);
9
+ constructor(eventEmitter, snapshotStore, _mongoClient, _aggregatesCollectionName, _eventsCollectionName) {
10
+ super(eventEmitter, snapshotStore);
11
11
  this._mongoClient = _mongoClient;
12
12
  this._aggregatesCollectionName = _aggregatesCollectionName;
13
13
  this._eventsCollectionName = _eventsCollectionName;
@@ -108,63 +108,86 @@ class MongoEventStore extends core_1.AbstractEventStore {
108
108
  generateEntityId() {
109
109
  return Promise.resolve(new mongodb_1.ObjectId().toHexString());
110
110
  }
111
+ async purgeAggregate(id) {
112
+ const startedAt = Date.now();
113
+ const session = this._mongoClient.startSession();
114
+ try {
115
+ await session.withTransaction(async () => {
116
+ await this._snapshotStore.deleteByAggregateId(id, session);
117
+ await this._mongoClient
118
+ .db()
119
+ .collection(this._eventsCollectionName)
120
+ .deleteMany({ aggregateRootId: id }, { session });
121
+ await this._mongoClient
122
+ .db()
123
+ .collection(this._aggregatesCollectionName)
124
+ .deleteOne({ _id: new mongodb_1.ObjectId(id) }, { session });
125
+ });
126
+ }
127
+ finally {
128
+ await session.endSession();
129
+ }
130
+ const duration = Date.now() - startedAt;
131
+ this._logger.debug(`Purging aggregate ${id} took ${duration}ms`);
132
+ }
111
133
  async save(events, aggregate) {
112
134
  const startedAt = Date.now();
113
135
  if (events.length === 0) {
114
136
  return events;
115
137
  }
116
- let incrementedVersion = 0;
117
- let finalAggregate;
118
- const foundAggregateDocument = await this._mongoClient
119
- .db()
120
- .collection(this._aggregatesCollectionName)
121
- .findOne({
122
- _id: new mongodb_1.ObjectId(aggregate.id)
123
- });
124
- let foundAggregate = (0, es_toolkit_1.isNil)(foundAggregateDocument)
125
- ? undefined
126
- : new core_1.StoredAggregateRoot(foundAggregateDocument._id.toHexString(), foundAggregateDocument["version"]);
138
+ const expectedVersion = aggregate.version;
139
+ let committedVersion = expectedVersion;
127
140
  const session = this._mongoClient.startSession();
128
- await session.withTransaction(async () => {
129
- if ((0, es_toolkit_1.isNil)(foundAggregate)) {
130
- aggregate.version = 0;
131
- this._logger.debug(`Aggregate ${aggregate.id} does not exist. Will save it`);
132
- const mapped = { _id: new mongodb_1.ObjectId(aggregate.id), version: aggregate.version };
133
- await this._mongoClient.db().collection(this._aggregatesCollectionName).insertOne(mapped);
134
- foundAggregate = aggregate;
135
- }
136
- if (aggregate.isOutdated(foundAggregate)) {
137
- this._logger.error(`Version conflict detected for aggregate ${aggregate.id}. Expected ${aggregate.version}. Stored ${foundAggregate.version}`);
138
- throw new core_1.EventConcurrencyException(aggregate.id, foundAggregate.version, aggregate.version);
139
- }
140
- for (const [index, storedEvent] of events.entries()) {
141
- incrementedVersion = aggregate.version + index + 1;
142
- storedEvent.aggregateRootVersion = incrementedVersion;
143
- }
144
- aggregate.version = incrementedVersion;
145
- finalAggregate = aggregate;
146
- this._logger.debug(`Saving ${events.length} events for aggregate ${aggregate.id}`);
147
- const mapped = events.map((event) => {
148
- return {
149
- _id: new mongodb_1.ObjectId(event.id),
150
- aggregateRootId: event.aggregateRootId,
151
- aggregateRootName: event.aggregateRootName,
152
- aggregateRootVersion: event.aggregateRootVersion,
153
- createdAt: event.createdAt,
154
- eventName: event.eventName,
155
- payload: event.payload
156
- };
141
+ try {
142
+ await session.withTransaction(async () => {
143
+ const foundAggregateDocument = await this._mongoClient
144
+ .db()
145
+ .collection(this._aggregatesCollectionName)
146
+ .findOne({ _id: new mongodb_1.ObjectId(aggregate.id) }, { session });
147
+ let currentVersion;
148
+ if ((0, es_toolkit_1.isNil)(foundAggregateDocument)) {
149
+ this._logger.debug(`Aggregate ${aggregate.id} does not exist. Will save it`);
150
+ await this._mongoClient
151
+ .db()
152
+ .collection(this._aggregatesCollectionName)
153
+ .insertOne({ _id: new mongodb_1.ObjectId(aggregate.id), version: 0 }, { session });
154
+ currentVersion = 0;
155
+ }
156
+ else {
157
+ currentVersion = foundAggregateDocument["version"];
158
+ if (expectedVersion !== currentVersion) {
159
+ this._logger.error(`Version conflict detected for aggregate ${aggregate.id}. Expected ${expectedVersion}. Stored ${currentVersion}`);
160
+ throw new core_1.EventConcurrencyException(aggregate.id, currentVersion, expectedVersion);
161
+ }
162
+ }
163
+ for (const [index, storedEvent] of events.entries()) {
164
+ storedEvent.aggregateRootVersion = currentVersion + index + 1;
165
+ }
166
+ const newVersion = currentVersion + events.length;
167
+ this._logger.debug(`Saving ${events.length} events for aggregate ${aggregate.id}`);
168
+ const mapped = events.map((event) => {
169
+ return {
170
+ _id: new mongodb_1.ObjectId(event.id),
171
+ aggregateRootId: event.aggregateRootId,
172
+ aggregateRootName: event.aggregateRootName,
173
+ aggregateRootVersion: event.aggregateRootVersion,
174
+ createdAt: event.createdAt,
175
+ eventName: event.eventName,
176
+ payload: event.payload
177
+ };
178
+ });
179
+ await this._mongoClient.db().collection(this._eventsCollectionName).insertMany(mapped, { session });
180
+ await this._mongoClient
181
+ .db()
182
+ .collection(this._aggregatesCollectionName)
183
+ .findOneAndUpdate({ _id: new mongodb_1.ObjectId(aggregate.id) }, { $set: { version: newVersion } }, { session });
184
+ committedVersion = newVersion;
157
185
  });
158
- await this._mongoClient.db().collection(this._eventsCollectionName).insertMany(mapped);
159
- await this._mongoClient
160
- .db()
161
- .collection(this._aggregatesCollectionName)
162
- .findOneAndUpdate({
163
- _id: new mongodb_1.ObjectId(finalAggregate.id)
164
- }, {
165
- $set: { version: finalAggregate.version }
166
- });
167
- });
186
+ }
187
+ finally {
188
+ await session.endSession();
189
+ }
190
+ aggregate.version = committedVersion;
168
191
  const duration = Date.now() - startedAt;
169
192
  this._logger.debug(`Saving events for aggregate ${aggregate.id} took ${duration}ms`);
170
193
  return events;
@@ -1 +1 @@
1
- {"version":3,"file":"mongo-event-store.js","sourceRoot":"","sources":["../../../../../../libs/mongodb/src/lib/storage/mongo-event-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo-event-store.js","sourceRoot":"","sources":["../../../../../../libs/mongodb/src/lib/storage/mongo-event-store.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { AbstractSnapshotStore, SnapshotStrategy, StoredSnapshot } from "@event-nest/core";
2
- import { MongoClient } from "mongodb";
2
+ import { ClientSession, MongoClient } from "mongodb";
3
3
  export declare class MongoSnapshotStore extends AbstractSnapshotStore {
4
4
  private readonly _mongoClient;
5
5
  private readonly _snapshotsCollectionName;
6
6
  private readonly _logger;
7
7
  constructor(snapshotStrategy: SnapshotStrategy, _mongoClient: MongoClient, _snapshotsCollectionName: string);
8
+ deleteByAggregateId(id: string, session?: ClientSession): Promise<void>;
8
9
  findLatestSnapshotByAggregateId(id: string): Promise<StoredSnapshot | undefined>;
9
10
  generateEntityId(): Promise<string>;
10
11
  save(snapshot: StoredSnapshot): Promise<StoredSnapshot | undefined>;
@@ -14,6 +14,15 @@ let MongoSnapshotStore = MongoSnapshotStore_1 = class MongoSnapshotStore extends
14
14
  this._snapshotsCollectionName = _snapshotsCollectionName;
15
15
  this._logger = new common_1.Logger(MongoSnapshotStore_1.name);
16
16
  }
17
+ async deleteByAggregateId(id, session) {
18
+ const startedAt = Date.now();
19
+ await this._mongoClient
20
+ .db()
21
+ .collection(this._snapshotsCollectionName)
22
+ .deleteMany({ aggregateRootId: id }, { session });
23
+ const duration = Date.now() - startedAt;
24
+ this._logger.debug(`Deleting snapshots for aggregate ${id} took ${duration}ms`);
25
+ }
17
26
  async findLatestSnapshotByAggregateId(id) {
18
27
  const startedAt = Date.now();
19
28
  const document = await this._mongoClient
@@ -1 +1 @@
1
- {"version":3,"file":"mongo-snapshot-store.js","sourceRoot":"","sources":["../../../../../../libs/mongodb/src/lib/storage/mongo-snapshot-store.ts"],"names":[],"mappings":";;;;;AAAA,2CAA2F;AAC3F,2CAAoD;AACpD,2CAAmC;AACnC,qCAAgD;AAKzC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,4BAAqB;IAGzD,YACI,gBAAkC,EACjB,YAAyB,EACzB,wBAAgC;QAEjD,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAHP,iBAAY,GAAZ,YAAY,CAAa;QACzB,6BAAwB,GAAxB,wBAAwB,CAAQ;QAGjD,IAAI,CAAC,OAAO,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,EAAU;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY;aACnC,EAAE,EAAE;aACJ,UAAU,CAAmB,IAAI,CAAC,wBAAwB,CAAC;aAC3D,OAAO,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9E,IAAI,IAAA,kBAAK,EAAC,QAAQ,CAAC,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,SAAS,QAAQ,IAAI,CAAC,CAAC;QAErF,OAAO,qBAAc,CAAC,MAAM,CACxB,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAChC,QAAQ,CAAC,UAAU,CAAC,EACpB,QAAQ,CAAC,SAAS,CAAC,EACnB,QAAQ,CAAC,iBAAiB,CAAC,CAC9B,CAAC;IACN,CAAC;IAED,gBAAgB;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,kBAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAwB;QAC/B,MAAM,gBAAgB,GAAqB;YACvC,GAAG,EAAE,IAAI,kBAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;YACnD,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC9B,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,YAAY;aAClB,EAAE,EAAE;aACJ,UAAU,CAAmB,IAAI,CAAC,wBAAwB,CAAC;aAC3D,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,QAAQ,CAAC,EAAE,SAAS,QAAQ,IAAI,CAAC,CAAC;QAEtF,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ,CAAA;AA3DY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;6CAKa,uBAAgB;QACH,qBAAW;GALrC,kBAAkB,CA2D9B"}
1
+ {"version":3,"file":"mongo-snapshot-store.js","sourceRoot":"","sources":["../../../../../../libs/mongodb/src/lib/storage/mongo-snapshot-store.ts"],"names":[],"mappings":"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"}