@objectql/driver-mongo 4.0.2 → 4.0.4
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/.turbo/turbo-build.log +4 -0
- package/CHANGELOG.md +58 -0
- package/dist/index.d.ts +118 -1
- package/dist/index.js +266 -11
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +320 -14
- package/test/index.test.ts +15 -13
- package/test/integration.test.ts +260 -15
- package/test/tck.test.ts +73 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,63 @@
|
|
|
1
1
|
# @objectql/driver-mongo
|
|
2
2
|
|
|
3
|
+
## 4.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- **Patch Release v4.0.4**
|
|
8
|
+
|
|
9
|
+
This patch release includes bug fixes, driver improvements, and enhanced test coverage:
|
|
10
|
+
|
|
11
|
+
### Driver Improvements
|
|
12
|
+
- **MongoDB Driver**: Fixed bulk operations, transaction support, and type safety improvements
|
|
13
|
+
- **FileSystem Driver**: Fixed TCK test compatibility with dataDir parameter
|
|
14
|
+
- **SQL Driver**: Enhanced TCK test compatibility and fixed test failures
|
|
15
|
+
- **Redis Driver**: Improved TCK test configuration and dependencies
|
|
16
|
+
- **Driver Utils**: Added shared utilities package for cross-driver functionality
|
|
17
|
+
|
|
18
|
+
### Testing & Quality
|
|
19
|
+
- Added comprehensive TCK (Technology Compatibility Kit) compliance tests for all drivers
|
|
20
|
+
- Expanded TCK test suite to 30+ comprehensive tests
|
|
21
|
+
- Enhanced test infrastructure with better error handling
|
|
22
|
+
- Added --passWithNoTests flag for packages without tests
|
|
23
|
+
|
|
24
|
+
### Type Safety
|
|
25
|
+
- Improved type safety in MongoDB driver update methods
|
|
26
|
+
- Better handling of atomic operators in MongoDB driver
|
|
27
|
+
- Enhanced type definitions across driver layer
|
|
28
|
+
|
|
29
|
+
### Documentation
|
|
30
|
+
- Added comprehensive driver documentation
|
|
31
|
+
- Enhanced official documentation with Phase 2 implementation summaries
|
|
32
|
+
- Improved protocol layer documentation
|
|
33
|
+
|
|
34
|
+
### Infrastructure
|
|
35
|
+
- Standardized driver layer implementation
|
|
36
|
+
- Enhanced protocol layer with better abstraction
|
|
37
|
+
- Improved GitHub Actions workflow configurations
|
|
38
|
+
- Better CI/CD pipeline stability
|
|
39
|
+
|
|
40
|
+
This release maintains full backward compatibility with v4.0.3.
|
|
41
|
+
|
|
42
|
+
- Updated dependencies
|
|
43
|
+
- @objectql/types@4.0.4
|
|
44
|
+
|
|
45
|
+
## 4.0.3
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- **Patch Release v4.0.3**
|
|
50
|
+
|
|
51
|
+
This patch release includes infrastructure improvements and development experience enhancements:
|
|
52
|
+
- Refactored dev server setup for improved configuration handling
|
|
53
|
+
- Enhanced example scripts and development workflow
|
|
54
|
+
- Updated build and test infrastructure
|
|
55
|
+
- Improved documentation and developer tools
|
|
56
|
+
- Bug fixes and stability improvements
|
|
57
|
+
|
|
58
|
+
- Updated dependencies
|
|
59
|
+
- @objectql/types@4.0.3
|
|
60
|
+
|
|
3
61
|
## 4.0.2
|
|
4
62
|
|
|
5
63
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,22 @@ type QueryAST = Data.QueryAST;
|
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
9
|
*/
|
|
10
10
|
import { Driver } from '@objectql/types';
|
|
11
|
+
import { ChangeStreamDocument } from 'mongodb';
|
|
12
|
+
/**
|
|
13
|
+
* Change stream event handler callback
|
|
14
|
+
*/
|
|
15
|
+
export type ChangeStreamHandler = (change: ChangeStreamDocument) => void | Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Change stream options
|
|
18
|
+
*/
|
|
19
|
+
export interface ChangeStreamOptions {
|
|
20
|
+
/** Filter for specific operation types (insert, update, delete, replace) */
|
|
21
|
+
operationTypes?: ('insert' | 'update' | 'delete' | 'replace')[];
|
|
22
|
+
/** Full document lookup for update operations */
|
|
23
|
+
fullDocument?: 'updateLookup' | 'whenAvailable' | 'required';
|
|
24
|
+
/** Pipeline to filter change events */
|
|
25
|
+
pipeline?: any[];
|
|
26
|
+
}
|
|
11
27
|
/**
|
|
12
28
|
* Command interface for executeCommand method
|
|
13
29
|
*/
|
|
@@ -62,6 +78,7 @@ export declare class MongoDriver implements Driver {
|
|
|
62
78
|
private db?;
|
|
63
79
|
private config;
|
|
64
80
|
private connected;
|
|
81
|
+
private changeStreams;
|
|
65
82
|
constructor(config: {
|
|
66
83
|
url: string;
|
|
67
84
|
dbName?: string;
|
|
@@ -119,14 +136,114 @@ export declare class MongoDriver implements Driver {
|
|
|
119
136
|
find(objectName: string, query: any, options?: any): Promise<any[]>;
|
|
120
137
|
findOne(objectName: string, id: string | number, query?: any, options?: any): Promise<any>;
|
|
121
138
|
create(objectName: string, data: any, options?: any): Promise<any>;
|
|
122
|
-
update(objectName: string, id: string | number, data: any, options?: any): Promise<
|
|
139
|
+
update(objectName: string, id: string | number, data: any, options?: any): Promise<any>;
|
|
123
140
|
delete(objectName: string, id: string | number, options?: any): Promise<number>;
|
|
124
141
|
count(objectName: string, filters: any, options?: any): Promise<number>;
|
|
125
142
|
createMany(objectName: string, data: any[], options?: any): Promise<any>;
|
|
126
143
|
updateMany(objectName: string, filters: any, data: any, options?: any): Promise<any>;
|
|
127
144
|
deleteMany(objectName: string, filters: any, options?: any): Promise<any>;
|
|
128
145
|
aggregate(objectName: string, pipeline: any[], options?: any): Promise<any[]>;
|
|
146
|
+
/**
|
|
147
|
+
* Get distinct values for a field
|
|
148
|
+
* @param objectName - The collection name
|
|
149
|
+
* @param field - The field to get distinct values from
|
|
150
|
+
* @param filters - Optional filters to apply
|
|
151
|
+
* @param options - Optional query options
|
|
152
|
+
* @returns Array of distinct values
|
|
153
|
+
*/
|
|
154
|
+
distinct(objectName: string, field: string, filters?: any, options?: any): Promise<any[]>;
|
|
155
|
+
/**
|
|
156
|
+
* Find one document and update it atomically
|
|
157
|
+
* @param objectName - The collection name
|
|
158
|
+
* @param filters - Query filters to find the document
|
|
159
|
+
* @param update - Update operations to apply
|
|
160
|
+
* @param options - Optional query options (e.g., returnDocument, upsert)
|
|
161
|
+
* @returns The updated document
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* // Find and update with returnDocument: 'after' to get the updated doc
|
|
165
|
+
* const updated = await driver.findOneAndUpdate('users',
|
|
166
|
+
* { email: 'user@example.com' },
|
|
167
|
+
* { $set: { status: 'active' } },
|
|
168
|
+
* { returnDocument: 'after' }
|
|
169
|
+
* );
|
|
170
|
+
*/
|
|
171
|
+
findOneAndUpdate(objectName: string, filters: any, update: any, options?: any): Promise<any>;
|
|
172
|
+
/**
|
|
173
|
+
* Begin a new transaction session
|
|
174
|
+
*
|
|
175
|
+
* @returns MongoDB ClientSession that can be used for transactional operations
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* const session = await driver.beginTransaction();
|
|
179
|
+
* try {
|
|
180
|
+
* await driver.create('users', { name: 'Alice' }, { session });
|
|
181
|
+
* await driver.create('orders', { userId: 'alice' }, { session });
|
|
182
|
+
* await driver.commitTransaction(session);
|
|
183
|
+
* } catch (error) {
|
|
184
|
+
* await driver.rollbackTransaction(session);
|
|
185
|
+
* throw error;
|
|
186
|
+
* }
|
|
187
|
+
*/
|
|
188
|
+
beginTransaction(): Promise<any>;
|
|
189
|
+
/**
|
|
190
|
+
* Commit a transaction
|
|
191
|
+
*
|
|
192
|
+
* @param transaction - MongoDB ClientSession returned by beginTransaction()
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* const session = await driver.beginTransaction();
|
|
196
|
+
* // ... perform operations with { session } in options
|
|
197
|
+
* await driver.commitTransaction(session);
|
|
198
|
+
*/
|
|
199
|
+
commitTransaction(transaction: any): Promise<void>;
|
|
200
|
+
/**
|
|
201
|
+
* Rollback a transaction
|
|
202
|
+
*
|
|
203
|
+
* @param transaction - MongoDB ClientSession returned by beginTransaction()
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* const session = await driver.beginTransaction();
|
|
207
|
+
* try {
|
|
208
|
+
* // ... perform operations
|
|
209
|
+
* await driver.commitTransaction(session);
|
|
210
|
+
* } catch (error) {
|
|
211
|
+
* await driver.rollbackTransaction(session);
|
|
212
|
+
* }
|
|
213
|
+
*/
|
|
214
|
+
rollbackTransaction(transaction: any): Promise<void>;
|
|
129
215
|
disconnect(): Promise<void>;
|
|
216
|
+
/**
|
|
217
|
+
* Watch for changes in a collection using MongoDB Change Streams
|
|
218
|
+
* @param objectName - The collection name to watch
|
|
219
|
+
* @param handler - Callback function to handle change events
|
|
220
|
+
* @param options - Optional change stream configuration
|
|
221
|
+
* @returns Stream ID that can be used to close the stream later
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* const streamId = await driver.watch('users', async (change) => {
|
|
225
|
+
* console.log('Change detected:', change.operationType);
|
|
226
|
+
* if (change.operationType === 'insert') {
|
|
227
|
+
* console.log('New document:', change.fullDocument);
|
|
228
|
+
* }
|
|
229
|
+
* }, {
|
|
230
|
+
* operationTypes: ['insert', 'update'],
|
|
231
|
+
* fullDocument: 'updateLookup'
|
|
232
|
+
* });
|
|
233
|
+
*
|
|
234
|
+
* // Later, to stop watching:
|
|
235
|
+
* await driver.unwatchChangeStream(streamId);
|
|
236
|
+
*/
|
|
237
|
+
watch(objectName: string, handler: ChangeStreamHandler, options?: ChangeStreamOptions): Promise<string>;
|
|
238
|
+
/**
|
|
239
|
+
* Stop watching a change stream
|
|
240
|
+
* @param streamId - The stream ID returned by watch()
|
|
241
|
+
*/
|
|
242
|
+
unwatchChangeStream(streamId: string): Promise<void>;
|
|
243
|
+
/**
|
|
244
|
+
* Get all active change stream IDs
|
|
245
|
+
*/
|
|
246
|
+
getActiveChangeStreams(): string[];
|
|
130
247
|
/**
|
|
131
248
|
* Execute a query using QueryAST (DriverInterface v4.0 method)
|
|
132
249
|
*
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ class MongoDriver {
|
|
|
32
32
|
this.config = config;
|
|
33
33
|
this.client = new mongodb_1.MongoClient(config.url);
|
|
34
34
|
this.connected = this.internalConnect();
|
|
35
|
+
this.changeStreams = new Map();
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
38
|
* Internal connect method used in constructor
|
|
@@ -343,7 +344,20 @@ class MongoDriver {
|
|
|
343
344
|
if (!mongoDoc._id) {
|
|
344
345
|
mongoDoc._id = new mongodb_1.ObjectId().toHexString();
|
|
345
346
|
}
|
|
346
|
-
|
|
347
|
+
// Add timestamps if not already present
|
|
348
|
+
const now = new Date().toISOString();
|
|
349
|
+
if (!mongoDoc.created_at) {
|
|
350
|
+
mongoDoc.created_at = now;
|
|
351
|
+
}
|
|
352
|
+
if (!mongoDoc.updated_at) {
|
|
353
|
+
mongoDoc.updated_at = now;
|
|
354
|
+
}
|
|
355
|
+
// Pass session for transactional operations only if it exists
|
|
356
|
+
// Support both 'transaction' and 'session' option keys for compatibility
|
|
357
|
+
const session = (options === null || options === void 0 ? void 0 : options.transaction) || (options === null || options === void 0 ? void 0 : options.session);
|
|
358
|
+
const result = session
|
|
359
|
+
? await collection.insertOne(mongoDoc, { session })
|
|
360
|
+
: await collection.insertOne(mongoDoc);
|
|
347
361
|
// Return API format document (convert _id to id)
|
|
348
362
|
return this.mapFromMongo({ ...mongoDoc, _id: result.insertedId });
|
|
349
363
|
}
|
|
@@ -351,16 +365,45 @@ class MongoDriver {
|
|
|
351
365
|
const collection = await this.getCollection(objectName);
|
|
352
366
|
// Map API document (id) to MongoDB document (_id) for update data
|
|
353
367
|
// But we should not allow updating the _id field itself
|
|
354
|
-
const { id: _ignoredId, ...updateData } = data; // intentionally ignore id to prevent updating
|
|
368
|
+
const { id: _ignoredId, created_at: _ignoredCreatedAt, ...updateData } = data; // intentionally ignore id and created_at to prevent updating them
|
|
355
369
|
// Handle atomic operators if present
|
|
356
370
|
const isAtomic = Object.keys(updateData).some(k => k.startsWith('$'));
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
371
|
+
// Build the update object with updated_at timestamp
|
|
372
|
+
let update;
|
|
373
|
+
if (isAtomic) {
|
|
374
|
+
// When using atomic operators, add updated_at to $set
|
|
375
|
+
// The spread is safe because id and created_at were already removed via destructuring
|
|
376
|
+
update = { ...updateData };
|
|
377
|
+
if (!update.$set) {
|
|
378
|
+
update.$set = {};
|
|
379
|
+
}
|
|
380
|
+
update.$set.updated_at = new Date().toISOString();
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
// For regular updates, add updated_at to the data
|
|
384
|
+
updateData.updated_at = new Date().toISOString();
|
|
385
|
+
update = { $set: updateData };
|
|
386
|
+
}
|
|
387
|
+
// Use findOneAndUpdate to return the updated document
|
|
388
|
+
const mongoOptions = { returnDocument: 'after' };
|
|
389
|
+
// Support both 'transaction' and 'session' option keys for compatibility
|
|
390
|
+
const session = (options === null || options === void 0 ? void 0 : options.transaction) || (options === null || options === void 0 ? void 0 : options.session);
|
|
391
|
+
if (session) {
|
|
392
|
+
mongoOptions.session = session;
|
|
393
|
+
}
|
|
394
|
+
const result = await collection.findOneAndUpdate({ _id: this.normalizeId(id) }, update, mongoOptions);
|
|
395
|
+
// Return API format document (convert _id to id)
|
|
396
|
+
// findOneAndUpdate returns an object with a 'value' property containing the document
|
|
397
|
+
return this.mapFromMongo(result === null || result === void 0 ? void 0 : result.value);
|
|
360
398
|
}
|
|
361
399
|
async delete(objectName, id, options) {
|
|
362
400
|
const collection = await this.getCollection(objectName);
|
|
363
|
-
|
|
401
|
+
// Pass session for transactional operations only if it exists
|
|
402
|
+
// Support both 'transaction' and 'session' option keys for compatibility
|
|
403
|
+
const session = (options === null || options === void 0 ? void 0 : options.transaction) || (options === null || options === void 0 ? void 0 : options.session);
|
|
404
|
+
const result = session
|
|
405
|
+
? await collection.deleteOne({ _id: this.normalizeId(id) }, { session })
|
|
406
|
+
: await collection.deleteOne({ _id: this.normalizeId(id) });
|
|
364
407
|
return result.deletedCount;
|
|
365
408
|
}
|
|
366
409
|
async count(objectName, filters, options) {
|
|
@@ -387,7 +430,11 @@ class MongoDriver {
|
|
|
387
430
|
}
|
|
388
431
|
return mongoDoc;
|
|
389
432
|
});
|
|
390
|
-
|
|
433
|
+
// Support both 'transaction' and 'session' option keys for compatibility
|
|
434
|
+
const session = (options === null || options === void 0 ? void 0 : options.transaction) || (options === null || options === void 0 ? void 0 : options.session);
|
|
435
|
+
const result = session
|
|
436
|
+
? await collection.insertMany(mongoDocs, { session })
|
|
437
|
+
: await collection.insertMany(mongoDocs);
|
|
391
438
|
// Return API format (convert _id to id)
|
|
392
439
|
return Object.values(result.insertedIds).map(id => ({ id }));
|
|
393
440
|
}
|
|
@@ -398,14 +445,22 @@ class MongoDriver {
|
|
|
398
445
|
const { id: idToIgnore, ...updateData } = data;
|
|
399
446
|
const isAtomic = Object.keys(updateData).some(k => k.startsWith('$'));
|
|
400
447
|
const update = isAtomic ? updateData : { $set: updateData };
|
|
401
|
-
|
|
402
|
-
|
|
448
|
+
// Support both 'transaction' and 'session' option keys for compatibility
|
|
449
|
+
const session = (options === null || options === void 0 ? void 0 : options.transaction) || (options === null || options === void 0 ? void 0 : options.session);
|
|
450
|
+
const result = session
|
|
451
|
+
? await collection.updateMany(filter, update, { session })
|
|
452
|
+
: await collection.updateMany(filter, update);
|
|
453
|
+
return { modifiedCount: result.modifiedCount };
|
|
403
454
|
}
|
|
404
455
|
async deleteMany(objectName, filters, options) {
|
|
405
456
|
const collection = await this.getCollection(objectName);
|
|
406
457
|
const filter = this.mapFilters(filters);
|
|
407
|
-
|
|
408
|
-
|
|
458
|
+
// Support both 'transaction' and 'session' option keys for compatibility
|
|
459
|
+
const session = (options === null || options === void 0 ? void 0 : options.transaction) || (options === null || options === void 0 ? void 0 : options.session);
|
|
460
|
+
const result = session
|
|
461
|
+
? await collection.deleteMany(filter, { session })
|
|
462
|
+
: await collection.deleteMany(filter);
|
|
463
|
+
return { deletedCount: result.deletedCount };
|
|
409
464
|
}
|
|
410
465
|
async aggregate(objectName, pipeline, options) {
|
|
411
466
|
const collection = await this.getCollection(objectName);
|
|
@@ -413,11 +468,211 @@ class MongoDriver {
|
|
|
413
468
|
// Map MongoDB documents to API format (convert _id to id)
|
|
414
469
|
return this.mapFromMongoArray(results);
|
|
415
470
|
}
|
|
471
|
+
/**
|
|
472
|
+
* Get distinct values for a field
|
|
473
|
+
* @param objectName - The collection name
|
|
474
|
+
* @param field - The field to get distinct values from
|
|
475
|
+
* @param filters - Optional filters to apply
|
|
476
|
+
* @param options - Optional query options
|
|
477
|
+
* @returns Array of distinct values
|
|
478
|
+
*/
|
|
479
|
+
async distinct(objectName, field, filters, options) {
|
|
480
|
+
const collection = await this.getCollection(objectName);
|
|
481
|
+
// Convert ObjectQL filters to MongoDB query format
|
|
482
|
+
const filter = filters ? this.mapFilters(filters) : {};
|
|
483
|
+
// Use MongoDB's native distinct method
|
|
484
|
+
const results = await collection.distinct(field, filter);
|
|
485
|
+
return results;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Find one document and update it atomically
|
|
489
|
+
* @param objectName - The collection name
|
|
490
|
+
* @param filters - Query filters to find the document
|
|
491
|
+
* @param update - Update operations to apply
|
|
492
|
+
* @param options - Optional query options (e.g., returnDocument, upsert)
|
|
493
|
+
* @returns The updated document
|
|
494
|
+
*
|
|
495
|
+
* @example
|
|
496
|
+
* // Find and update with returnDocument: 'after' to get the updated doc
|
|
497
|
+
* const updated = await driver.findOneAndUpdate('users',
|
|
498
|
+
* { email: 'user@example.com' },
|
|
499
|
+
* { $set: { status: 'active' } },
|
|
500
|
+
* { returnDocument: 'after' }
|
|
501
|
+
* );
|
|
502
|
+
*/
|
|
503
|
+
async findOneAndUpdate(objectName, filters, update, options) {
|
|
504
|
+
const collection = await this.getCollection(objectName);
|
|
505
|
+
// Convert ObjectQL filters to MongoDB query format
|
|
506
|
+
const filter = this.mapFilters(filters);
|
|
507
|
+
// MongoDB findOneAndUpdate options
|
|
508
|
+
const mongoOptions = {
|
|
509
|
+
returnDocument: (options === null || options === void 0 ? void 0 : options.returnDocument) || 'after', // 'before' or 'after'
|
|
510
|
+
upsert: (options === null || options === void 0 ? void 0 : options.upsert) || false
|
|
511
|
+
};
|
|
512
|
+
// Execute the atomic find and update
|
|
513
|
+
const result = await collection.findOneAndUpdate(filter, update, mongoOptions);
|
|
514
|
+
// Map MongoDB document to API format (convert _id to id)
|
|
515
|
+
// MongoDB driver v5+ returns { value: document, ok: number }
|
|
516
|
+
// Older versions (v4) return the document directly
|
|
517
|
+
// We handle both for backward compatibility
|
|
518
|
+
const doc = (result === null || result === void 0 ? void 0 : result.value) !== undefined ? result.value : result;
|
|
519
|
+
return doc ? this.mapFromMongo(doc) : null;
|
|
520
|
+
}
|
|
521
|
+
// ========== Transaction Support ==========
|
|
522
|
+
/**
|
|
523
|
+
* Begin a new transaction session
|
|
524
|
+
*
|
|
525
|
+
* @returns MongoDB ClientSession that can be used for transactional operations
|
|
526
|
+
*
|
|
527
|
+
* @example
|
|
528
|
+
* const session = await driver.beginTransaction();
|
|
529
|
+
* try {
|
|
530
|
+
* await driver.create('users', { name: 'Alice' }, { session });
|
|
531
|
+
* await driver.create('orders', { userId: 'alice' }, { session });
|
|
532
|
+
* await driver.commitTransaction(session);
|
|
533
|
+
* } catch (error) {
|
|
534
|
+
* await driver.rollbackTransaction(session);
|
|
535
|
+
* throw error;
|
|
536
|
+
* }
|
|
537
|
+
*/
|
|
538
|
+
async beginTransaction() {
|
|
539
|
+
await this.connected;
|
|
540
|
+
const session = this.client.startSession();
|
|
541
|
+
session.startTransaction();
|
|
542
|
+
return session;
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Commit a transaction
|
|
546
|
+
*
|
|
547
|
+
* @param transaction - MongoDB ClientSession returned by beginTransaction()
|
|
548
|
+
*
|
|
549
|
+
* @example
|
|
550
|
+
* const session = await driver.beginTransaction();
|
|
551
|
+
* // ... perform operations with { session } in options
|
|
552
|
+
* await driver.commitTransaction(session);
|
|
553
|
+
*/
|
|
554
|
+
async commitTransaction(transaction) {
|
|
555
|
+
if (!transaction || typeof transaction.commitTransaction !== 'function') {
|
|
556
|
+
throw new Error('Invalid transaction object. Must be a MongoDB ClientSession.');
|
|
557
|
+
}
|
|
558
|
+
try {
|
|
559
|
+
await transaction.commitTransaction();
|
|
560
|
+
}
|
|
561
|
+
finally {
|
|
562
|
+
await transaction.endSession();
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* Rollback a transaction
|
|
567
|
+
*
|
|
568
|
+
* @param transaction - MongoDB ClientSession returned by beginTransaction()
|
|
569
|
+
*
|
|
570
|
+
* @example
|
|
571
|
+
* const session = await driver.beginTransaction();
|
|
572
|
+
* try {
|
|
573
|
+
* // ... perform operations
|
|
574
|
+
* await driver.commitTransaction(session);
|
|
575
|
+
* } catch (error) {
|
|
576
|
+
* await driver.rollbackTransaction(session);
|
|
577
|
+
* }
|
|
578
|
+
*/
|
|
579
|
+
async rollbackTransaction(transaction) {
|
|
580
|
+
if (!transaction || typeof transaction.abortTransaction !== 'function') {
|
|
581
|
+
throw new Error('Invalid transaction object. Must be a MongoDB ClientSession.');
|
|
582
|
+
}
|
|
583
|
+
try {
|
|
584
|
+
await transaction.abortTransaction();
|
|
585
|
+
}
|
|
586
|
+
finally {
|
|
587
|
+
await transaction.endSession();
|
|
588
|
+
}
|
|
589
|
+
}
|
|
416
590
|
async disconnect() {
|
|
591
|
+
// Close all active change streams
|
|
592
|
+
for (const [streamId, stream] of this.changeStreams.entries()) {
|
|
593
|
+
await stream.close();
|
|
594
|
+
}
|
|
595
|
+
this.changeStreams.clear();
|
|
596
|
+
// Close the MongoDB client
|
|
417
597
|
if (this.client) {
|
|
418
598
|
await this.client.close();
|
|
419
599
|
}
|
|
420
600
|
}
|
|
601
|
+
/**
|
|
602
|
+
* Watch for changes in a collection using MongoDB Change Streams
|
|
603
|
+
* @param objectName - The collection name to watch
|
|
604
|
+
* @param handler - Callback function to handle change events
|
|
605
|
+
* @param options - Optional change stream configuration
|
|
606
|
+
* @returns Stream ID that can be used to close the stream later
|
|
607
|
+
*
|
|
608
|
+
* @example
|
|
609
|
+
* const streamId = await driver.watch('users', async (change) => {
|
|
610
|
+
* console.log('Change detected:', change.operationType);
|
|
611
|
+
* if (change.operationType === 'insert') {
|
|
612
|
+
* console.log('New document:', change.fullDocument);
|
|
613
|
+
* }
|
|
614
|
+
* }, {
|
|
615
|
+
* operationTypes: ['insert', 'update'],
|
|
616
|
+
* fullDocument: 'updateLookup'
|
|
617
|
+
* });
|
|
618
|
+
*
|
|
619
|
+
* // Later, to stop watching:
|
|
620
|
+
* await driver.unwatchChangeStream(streamId);
|
|
621
|
+
*/
|
|
622
|
+
async watch(objectName, handler, options) {
|
|
623
|
+
const collection = await this.getCollection(objectName);
|
|
624
|
+
// Build change stream pipeline
|
|
625
|
+
const pipeline = (options === null || options === void 0 ? void 0 : options.pipeline) || [];
|
|
626
|
+
// Add operation type filter if specified
|
|
627
|
+
if ((options === null || options === void 0 ? void 0 : options.operationTypes) && options.operationTypes.length > 0) {
|
|
628
|
+
pipeline.unshift({
|
|
629
|
+
$match: {
|
|
630
|
+
operationType: { $in: options.operationTypes }
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
// Configure change stream options
|
|
635
|
+
const streamOptions = {};
|
|
636
|
+
if (options === null || options === void 0 ? void 0 : options.fullDocument) {
|
|
637
|
+
streamOptions.fullDocument = options.fullDocument;
|
|
638
|
+
}
|
|
639
|
+
// Create the change stream
|
|
640
|
+
const changeStream = collection.watch(pipeline, streamOptions);
|
|
641
|
+
// Generate unique stream ID
|
|
642
|
+
const streamId = `${objectName}_${Date.now()}_${Math.random().toString(36).substring(7)}`;
|
|
643
|
+
// Store the stream
|
|
644
|
+
this.changeStreams.set(streamId, changeStream);
|
|
645
|
+
// Handle change events
|
|
646
|
+
changeStream.on('change', async (change) => {
|
|
647
|
+
try {
|
|
648
|
+
await handler(change);
|
|
649
|
+
}
|
|
650
|
+
catch (error) {
|
|
651
|
+
console.error(`[MongoDriver] Error in change stream handler for ${objectName}:`, error);
|
|
652
|
+
}
|
|
653
|
+
});
|
|
654
|
+
changeStream.on('error', (error) => {
|
|
655
|
+
console.error(`[MongoDriver] Change stream error for ${objectName}:`, error);
|
|
656
|
+
});
|
|
657
|
+
return streamId;
|
|
658
|
+
}
|
|
659
|
+
/**
|
|
660
|
+
* Stop watching a change stream
|
|
661
|
+
* @param streamId - The stream ID returned by watch()
|
|
662
|
+
*/
|
|
663
|
+
async unwatchChangeStream(streamId) {
|
|
664
|
+
const stream = this.changeStreams.get(streamId);
|
|
665
|
+
if (stream) {
|
|
666
|
+
await stream.close();
|
|
667
|
+
this.changeStreams.delete(streamId);
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
/**
|
|
671
|
+
* Get all active change stream IDs
|
|
672
|
+
*/
|
|
673
|
+
getActiveChangeStreams() {
|
|
674
|
+
return Array.from(this.changeStreams.keys());
|
|
675
|
+
}
|
|
421
676
|
/**
|
|
422
677
|
* Execute a query using QueryAST (DriverInterface v4.0 method)
|
|
423
678
|
*
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAaA,qCAAoJ;AA2CpJ;;;;;;;;GAQG;AACH,MAAa,WAAW;IAwBpB,YAAY,MAAwC;QAvBpD,2CAA2C;QAC3B,SAAI,GAAG,aAAa,CAAC;QACrB,YAAO,GAAG,OAAO,CAAC;QAClB,aAAQ,GAAG;YACvB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK;YACZ,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,KAAK;YAC3B,eAAe,EAAE,KAAK;SACzB,CAAC;QASE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACb,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC3B,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,UAAkB;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAM,UAAU,CAAC,CAAC;IAC/C,CAAC;IAEO,WAAW,CAAC,EAA8B;QAC9C,+EAA+E;QAC/E,sCAAsC;QACtC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,GAAQ;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;QAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACnB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAQ;QACzB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;QAC7B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAW;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,UAAU,CAAC,OAAY;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,yEAAyE;QACzE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,qDAAqD;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE9D,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,MAAW,EAAE,kBAA2B,KAAK;QACrE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAQ,EAAE,CAAC;QAEvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,2BAA2B;YAC3B,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,wDAAwD;oBACxD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC;YACD,oBAAoB;iBACf,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACpB,wDAAwD;gBACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACJ,kEAAkE;oBAClE,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7D,CAAC;YACL,CAAC;YACD,uFAAuF;iBAClF,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,8EAA8E;gBAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxB,CAAC;YACL,CAAC;YACD,sEAAsE;iBACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5E,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACnE,CAAC;YACD,yBAAyB;iBACpB,CAAC;gBACF,kDAAkD;gBAClD,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,OAAc;QACxC,MAAM,UAAU,GAAU,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,4CAA4C;QAEnE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,mDAAmD;gBACnD,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;oBAC9B,QAAQ,GAAG,KAAK,CAAC;gBACrB,CAAC;qBAAM,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;oBACtC,QAAQ,GAAG,MAAM,CAAC;gBACtB,CAAC;gBACD,SAAS;YACb,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,gFAAgF;gBAChF,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;gBACnC,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC;gBAE3E,IAAI,SAAc,CAAC;gBAEnB,IAAI,WAAW,EAAE,CAAC;oBACd,gDAAgD;oBAChD,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACJ,kDAAkD;oBAClD,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACjD,CAAC;gBAED,uBAAuB;gBACvB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAC9C,qCAAqC;oBACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnD,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;wBAC3B,4BAA4B;wBAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACJ,qDAAqD;wBACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;wBAClC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;oBACpD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,6CAA6C;oBAC7C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;gBAED,wDAAwD;gBACxD,QAAQ,GAAG,MAAM,CAAC;YACtB,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QAElD,oCAAoC;QACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,QAAgB,EAAE,EAAU,EAAE,KAAU;QACjE,MAAM,cAAc,GAAQ,EAAE,CAAC;QAE/B,6DAA6D;QAC7D,MAAM,OAAO,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE7E,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACpB,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,QAAQ,EAAE,EAAE,CAAC;gBACV,KAAK,GAAG;oBAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAC1D,KAAK,IAAI;oBAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAC3D,KAAK,GAAG;oBAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAC1D,KAAK,IAAI;oBAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAC5D,KAAK,GAAG;oBAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAC1D,KAAK,IAAI;oBAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAC5D,KAAK,IAAI;oBAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAC3D,KAAK,KAAK;oBAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAC7D,KAAK,UAAU;oBACV,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;oBAC3D,MAAM;gBACX,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YACrD,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,KAAU,EAAE,OAAa;;QACpD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAExD,6DAA6D;QAC7D,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAgB,EAAE,CAAC;QAEpC,0FAA0F;QAC1F,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,KAAK,CAAC,IAAI,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,KAAK,CAAC,GAAG,CAAC;QAE5C,IAAI,WAAW,KAAK,SAAS;YAAE,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC;QAC9D,IAAI,UAAU,KAAK,SAAS;YAAE,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC;QAE7D,2EAA2E;QAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC;QAC9C,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC3B,4EAA4E;gBAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;gBAC7C,8DAA8D;gBAC9D,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnE,WAAW,CAAC,IAAY,CAAC,OAAO,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,WAAW,CAAC,UAAU,GAAG,EAAE,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/B,8DAA8D;gBAC9D,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnE,WAAW,CAAC,UAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC;YACD,gEAAgE;YAChE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;YAC/E,IAAI,CAAC,UAAU,EAAE,CAAC;gBACb,WAAW,CAAC,UAAkB,CAAC,GAAG,GAAG,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QACrE,0DAA0D;QAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,EAAmB,EAAE,KAAW,EAAE,OAAa;QAC7E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,EAAE,EAAE,CAAC;YACL,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACvE,yDAAyD;YACzD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,IAAS,EAAE,OAAa;QACrD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAExD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEvC,gGAAgG;QAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,GAAG,IAAI,kBAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,CAAC;QAED,wCAAwC;QACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACvB,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACvB,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;QAC9B,CAAC;QAED,8DAA8D;QAC9D,yEAAyE;QACzE,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO;YAClB,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;YACnD,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE3C,iDAAiD;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,EAAmB,EAAE,IAAS,EAAE,OAAa;QAC1E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAExD,kEAAkE;QAClE,wDAAwD;QACxD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,kEAAkE;QAEjJ,qCAAqC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtE,oDAAoD;QACpD,IAAI,MAAyB,CAAC;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACX,sDAAsD;YACtD,sFAAsF;YACtF,MAAM,GAAG,EAAE,GAAG,UAAU,EAAS,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACrB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,kDAAkD;YAClD,UAAU,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAClC,CAAC;QAED,sDAAsD;QACtD,MAAM,YAAY,GAA4B,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;QAC1E,yEAAyE;QACzE,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACV,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAC5C,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAC7B,MAAM,EACN,YAAY,CACf,CAAC;QAEF,iDAAiD;QACjD,qFAAqF;QACrF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,EAAmB,EAAE,OAAa;QAC/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,8DAA8D;QAC9D,yEAAyE;QACzE,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO;YAClB,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;YACxE,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,OAAY,EAAE,OAAa;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,+CAA+C;QAC/C,IAAI,aAAa,GAAG,OAAO,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,yDAAyD;YACzD,aAAa,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;QACrD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,IAAW,EAAE,OAAa;QAC3D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAChB,QAAQ,CAAC,GAAG,GAAG,IAAI,kBAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YAChD,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,yEAAyE;QACzE,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO;YAClB,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;YACrD,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,wCAAwC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,OAAY,EAAE,IAAS,EAAE,OAAa;QACvE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAExC,gEAAgE;QAChE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAE5D,yEAAyE;QACzE,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO;YAClB,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;YAC1D,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,OAAY,EAAE,OAAa;QAC5D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,yEAAyE;QACzE,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO;YAClB,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;YAClD,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,QAAe,EAAE,OAAa;QAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/D,0DAA0D;QAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,KAAa,EAAE,OAAa,EAAE,OAAa;QAC1E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAExD,mDAAmD;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvD,uCAAuC;QACvC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEzD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,OAAY,EAAE,MAAW,EAAE,OAAa;QAC/E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAExD,mDAAmD;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAExC,mCAAmC;QACnC,MAAM,YAAY,GAAQ;YACtB,cAAc,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,KAAI,OAAO,EAAE,sBAAsB;YAC1E,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,KAAK;SACnC,CAAC;QAEF,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAE/E,yDAAyD;QACzD,6DAA6D;QAC7D,mDAAmD;QACnD,4CAA4C;QAC5C,MAAM,GAAG,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,MAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,4CAA4C;IAE5C;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,gBAAgB;QAClB,MAAM,IAAI,CAAC,SAAS,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,iBAAiB,CAAC,WAAgB;QACpC,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC;YACD,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;gBAAS,CAAC;YACP,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,mBAAmB,CAAC,WAAgB;QACtC,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC;YACD,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACzC,CAAC;gBAAS,CAAC;YACP,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,kCAAkC;QAClC,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,OAA4B,EAAE,OAA6B;QACvF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAExD,+BAA+B;QAC/B,MAAM,QAAQ,GAAU,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,EAAE,CAAC;QAEhD,yCAAyC;QACzC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,KAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,QAAQ,CAAC,OAAO,CAAC;gBACb,MAAM,EAAE;oBACJ,aAAa,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE;iBACjD;aACJ,CAAC,CAAC;QACP,CAAC;QAED,kCAAkC;QAClC,MAAM,aAAa,GAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE,CAAC;YACxB,aAAa,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACtD,CAAC;QAED,2BAA2B;QAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE/D,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1F,mBAAmB;QACnB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE/C,uBAAuB;QACvB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5F,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,yCAAyC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,sBAAsB;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,GAAa,EAAE,OAAa;QAC3C,wDAAwD;QACxD,gCAAgC;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAEhE,OAAO;YACH,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO,CAAC,MAAM;SACxB,CAAC;IACN,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,OAAa;QAChD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAEtD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,QAAQ;oBACT,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBACpD,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAC5E,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;qBACd,CAAC;gBAEN,KAAK,QAAQ;oBACT,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBAC3D,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBACxF,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC5B,CAAC;gBAEN,KAAK,QAAQ;oBACT,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAClD,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;oBAC9E,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,WAAW;qBACxB,CAAC;gBAEN,KAAK,YAAY;oBACb,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACjE,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBACvF,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;qBACnC,CAAC;gBAEN,KAAK,YAAY;oBACb,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACjE,CAAC;oBACD,IAAI,WAAW,GAAG,CAAC,CAAC;oBACpB,MAAM,aAAa,GAAG,EAAE,CAAC;oBACzB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;wBACrF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3B,IAAI,MAAM;4BAAE,WAAW,EAAE,CAAC;oBAC9B,CAAC;oBACD,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,WAAW;qBACxB,CAAC;gBAEN,KAAK,YAAY;oBACb,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;oBAC7D,CAAC;oBACD,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;wBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;wBACjE,OAAO,IAAI,MAAM,CAAC;oBACtB,CAAC;oBACD,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,OAAO;qBACpB,CAAC;gBAEN;oBACI,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;oBAC5F,MAAM,IAAI,KAAK,CAAC,yBAA0B,OAAe,CAAC,IAAI,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrH,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B;gBAClD,QAAQ,EAAE,CAAC;aACd,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CAAC,OAAY,EAAE,UAAkB,EAAE,OAAa;QACzD,oFAAoF;QACpF,oEAAoE;QACpE,yFAAyF;QACzF,MAAM,IAAI,KAAK,CACX,yDAAyD;YACzD,yEAAyE;YACzE,kFAAkF,CACrF,CAAC;IACN,CAAC;CACJ;AAn2BD,kCAm2BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectql/driver-mongo",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4",
|
|
4
4
|
"description": "MongoDB driver for ObjectQL - Native aggregation pipeline translation for high-performance NoSQL operations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"objectql",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"main": "dist/index.js",
|
|
17
17
|
"types": "dist/index.d.ts",
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@objectstack/spec": "^0.
|
|
19
|
+
"@objectstack/spec": "^0.8.2",
|
|
20
20
|
"mongodb": "^5.9.2",
|
|
21
|
-
"@objectql/types": "4.0.
|
|
21
|
+
"@objectql/types": "4.0.4"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"mongodb-memory-server": "^11.0.1"
|