@objectql/driver-mongo 4.0.0 → 4.0.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @objectql/driver-mongo
2
2
 
3
+ ## 4.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - **Patch Release v4.0.2**
8
+
9
+ This patch release includes:
10
+ - Infrastructure improvements and maintenance updates
11
+ - Enhanced stability and reliability
12
+ - Bug fixes and performance optimizations
13
+
14
+ - Updated dependencies
15
+ - @objectql/types@4.0.2
16
+
17
+ ## 4.0.1
18
+
19
+ ### Patch Changes
20
+
21
+ - **Release Version 4.0.1**
22
+
23
+ This patch release includes the latest repository improvements and infrastructure updates:
24
+ - Added comprehensive GitHub workflows for CI/CD, testing, and quality assurance
25
+ - Enhanced documentation and developer experience
26
+ - Improved build and release processes with Changesets
27
+ - Added Excel driver for reading/writing Excel files as data sources
28
+ - Repository structure and tooling improvements
29
+ - Bug fixes and stability enhancements
30
+
31
+ - Updated dependencies
32
+ - @objectql/types@4.0.1
33
+
3
34
  ## 3.0.1
4
35
 
5
36
  ### Patch Changes
@@ -7,7 +38,6 @@
7
38
  - 79d04e1: Patch release for January 2026 updates
8
39
 
9
40
  This patch includes minor improvements and maintenance updates:
10
-
11
41
  - Enhanced type safety across core packages
12
42
  - Improved error handling in drivers
13
43
  - Documentation updates
@@ -30,7 +60,6 @@
30
60
  This is a coordinated major release that unifies all ObjectQL packages to version 2.0.0, establishing a synchronized versioning strategy across the entire ecosystem.
31
61
 
32
62
  ### 🎯 Key Changes
33
-
34
63
  - **Unified Versioning**: All core packages now share the same version number (2.0.0)
35
64
  - **Fixed Group Management**: Updated changeset configuration to include all @objectql packages in the fixed versioning group
36
65
  - **Simplified Maintenance**: Future releases will automatically maintain version consistency across the entire monorepo
@@ -38,7 +67,6 @@
38
67
  ### 📦 Packages Included
39
68
 
40
69
  All ObjectQL packages are now synchronized at version 2.0.0:
41
-
42
70
  - Foundation: `@objectql/types`, `@objectql/core`, `@objectql/platform-node`
43
71
  - Drivers: `@objectql/driver-sql`, `@objectql/driver-mongo`, `@objectql/driver-redis`, `@objectql/driver-fs`, `@objectql/driver-memory`, `@objectql/driver-localstorage`, `@objectql/driver-excel`, `@objectql/sdk`
44
72
  - Runtime: `@objectql/server`
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { Data } from '@objectstack/spec';
2
+ type QueryAST = Data.QueryAST;
1
3
  /**
2
4
  * ObjectQL
3
5
  * Copyright (c) 2026-present ObjectStack Inc.
@@ -6,7 +8,6 @@
6
8
  * LICENSE file in the root directory of this source tree.
7
9
  */
8
10
  import { Driver } from '@objectql/types';
9
- import { DriverInterface, QueryAST } from '@objectstack/spec';
10
11
  /**
11
12
  * Command interface for executeCommand method
12
13
  */
@@ -41,7 +42,7 @@ export interface CommandResult {
41
42
  *
42
43
  * The driver internally converts QueryAST format to MongoDB query format.
43
44
  */
44
- export declare class MongoDriver implements Driver, DriverInterface {
45
+ export declare class MongoDriver implements Driver {
45
46
  readonly name = "MongoDriver";
46
47
  readonly version = "3.0.1";
47
48
  readonly supports: {
@@ -50,6 +51,12 @@ export declare class MongoDriver implements Driver, DriverInterface {
50
51
  fullTextSearch: boolean;
51
52
  jsonFields: boolean;
52
53
  arrayFields: boolean;
54
+ queryFilters: boolean;
55
+ queryAggregations: boolean;
56
+ querySorting: boolean;
57
+ queryPagination: boolean;
58
+ queryWindowFunctions: boolean;
59
+ querySubqueries: boolean;
53
60
  };
54
61
  private client;
55
62
  private db?;
@@ -87,6 +94,11 @@ export declare class MongoDriver implements Driver, DriverInterface {
87
94
  */
88
95
  private mapFromMongoArray;
89
96
  private mapFilters;
97
+ /**
98
+ * Recursively map 'id' fields to '_id' in FilterCondition objects
99
+ * and normalize primitive values to use $eq operator when inside logical operators
100
+ */
101
+ private mapIdFieldsInFilter;
90
102
  /**
91
103
  * Build MongoDB filter conditions from ObjectQL filter array.
92
104
  * Supports nested filter groups and logical operators (AND/OR).
@@ -104,7 +116,6 @@ export declare class MongoDriver implements Driver, DriverInterface {
104
116
  * QueryAST sort is array of {field, order}, while UnifiedQuery is array of [field, order].
105
117
  * QueryAST uses 'aggregations', while legacy uses 'aggregate'.
106
118
  */
107
- private normalizeQuery;
108
119
  find(objectName: string, query: any, options?: any): Promise<any[]>;
109
120
  findOne(objectName: string, id: string | number, query?: any, options?: any): Promise<any>;
110
121
  create(objectName: string, data: any, options?: any): Promise<any>;
@@ -142,12 +153,9 @@ export declare class MongoDriver implements Driver, DriverInterface {
142
153
  */
143
154
  executeCommand(command: Command, options?: any): Promise<CommandResult>;
144
155
  /**
145
- * Convert FilterNode (QueryAST format) to legacy filter array format
156
+ * Convert FilterCondition (QueryAST format) to legacy filter array format
146
157
  * This allows reuse of existing filter logic while supporting new QueryAST
147
158
  *
148
- * @private
149
- */
150
- private convertFilterNodeToLegacy;
151
159
  /**
152
160
  * Execute command (alternative signature for compatibility)
153
161
  *
@@ -157,3 +165,4 @@ export declare class MongoDriver implements Driver, DriverInterface {
157
165
  */
158
166
  execute(command: any, parameters?: any[], options?: any): Promise<any>;
159
167
  }
168
+ export {};
package/dist/index.js CHANGED
@@ -1,11 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * ObjectQL
4
- * Copyright (c) 2026-present ObjectStack Inc.
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
2
  Object.defineProperty(exports, "__esModule", { value: true });
10
3
  exports.MongoDriver = void 0;
11
4
  const mongodb_1 = require("mongodb");
@@ -28,7 +21,13 @@ class MongoDriver {
28
21
  joins: false,
29
22
  fullTextSearch: true,
30
23
  jsonFields: true,
31
- arrayFields: true
24
+ arrayFields: true,
25
+ queryFilters: true,
26
+ queryAggregations: true,
27
+ querySorting: true,
28
+ queryPagination: true,
29
+ queryWindowFunctions: false,
30
+ querySubqueries: false
32
31
  };
33
32
  this.config = config;
34
33
  this.client = new mongodb_1.MongoClient(config.url);
@@ -105,11 +104,68 @@ class MongoDriver {
105
104
  return docs.map(doc => this.mapFromMongo(doc));
106
105
  }
107
106
  mapFilters(filters) {
108
- if (!filters || filters.length === 0)
107
+ if (!filters)
108
+ return {};
109
+ // If filters is an object (FilterCondition format), map id fields to _id
110
+ if (typeof filters === 'object' && !Array.isArray(filters)) {
111
+ return this.mapIdFieldsInFilter(filters);
112
+ }
113
+ // If filters is an array (legacy format), convert it
114
+ if (Array.isArray(filters) && filters.length === 0)
109
115
  return {};
110
116
  const result = this.buildFilterConditions(filters);
111
117
  return result;
112
118
  }
119
+ /**
120
+ * Recursively map 'id' fields to '_id' in FilterCondition objects
121
+ * and normalize primitive values to use $eq operator when inside logical operators
122
+ */
123
+ mapIdFieldsInFilter(filter, insideLogicalOp = false) {
124
+ if (!filter || typeof filter !== 'object') {
125
+ return filter;
126
+ }
127
+ const result = {};
128
+ for (const [key, value] of Object.entries(filter)) {
129
+ // Handle logical operators
130
+ if (key === '$and' || key === '$or') {
131
+ if (Array.isArray(value)) {
132
+ // Pass true to indicate we're inside a logical operator
133
+ result[key] = value.map(v => this.mapIdFieldsInFilter(v, true));
134
+ }
135
+ }
136
+ // Map 'id' to '_id'
137
+ else if (key === 'id') {
138
+ // If value is already an object with operators, recurse
139
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
140
+ result['_id'] = this.mapIdFieldsInFilter(value, insideLogicalOp);
141
+ }
142
+ else {
143
+ // Primitive value - wrap with $eq only if inside logical operator
144
+ result['_id'] = insideLogicalOp ? { $eq: value } : value;
145
+ }
146
+ }
147
+ // Skip MongoDB operator keys (starting with $) - but still recurse for nested mappings
148
+ else if (key.startsWith('$')) {
149
+ // Recursively process to handle nested objects that might contain 'id' fields
150
+ if (typeof value === 'object' && value !== null) {
151
+ result[key] = this.mapIdFieldsInFilter(value, insideLogicalOp);
152
+ }
153
+ else {
154
+ result[key] = value;
155
+ }
156
+ }
157
+ // Recursively handle nested objects (already operator-wrapped values)
158
+ else if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
159
+ result[key] = this.mapIdFieldsInFilter(value, insideLogicalOp);
160
+ }
161
+ // Primitive field values
162
+ else {
163
+ // Wrap with $eq only if inside a logical operator
164
+ result[key] = insideLogicalOp ? { $eq: value } : value;
165
+ }
166
+ }
167
+ return result;
168
+ }
113
169
  /**
114
170
  * Build MongoDB filter conditions from ObjectQL filter array.
115
171
  * Supports nested filter groups and logical operators (AND/OR).
@@ -222,64 +278,42 @@ class MongoDriver {
222
278
  * QueryAST sort is array of {field, order}, while UnifiedQuery is array of [field, order].
223
279
  * QueryAST uses 'aggregations', while legacy uses 'aggregate'.
224
280
  */
225
- normalizeQuery(query) {
226
- if (!query)
227
- return {};
228
- const normalized = { ...query };
229
- // Normalize limit/top
230
- if (normalized.top !== undefined && normalized.limit === undefined) {
231
- normalized.limit = normalized.top;
232
- }
233
- // Normalize aggregations/aggregate
234
- if (normalized.aggregations !== undefined && normalized.aggregate === undefined) {
235
- // Convert QueryAST aggregations format to legacy aggregate format
236
- normalized.aggregate = normalized.aggregations.map((agg) => ({
237
- func: agg.function || agg.func,
238
- field: agg.field,
239
- alias: agg.alias
240
- }));
241
- }
242
- // Normalize sort format
243
- if (normalized.sort && Array.isArray(normalized.sort)) {
244
- // Check if it's already in the array format [field, order]
245
- const firstSort = normalized.sort[0];
246
- if (firstSort && typeof firstSort === 'object' && !Array.isArray(firstSort)) {
247
- // Convert from QueryAST format {field, order} to internal format [field, order]
248
- normalized.sort = normalized.sort.map((item) => [
249
- item.field,
250
- item.order || item.direction || item.dir || 'asc'
251
- ]);
252
- }
253
- }
254
- return normalized;
255
- }
256
281
  async find(objectName, query, options) {
257
- const normalizedQuery = this.normalizeQuery(query);
282
+ var _a, _b;
258
283
  const collection = await this.getCollection(objectName);
259
- const filter = this.mapFilters(normalizedQuery.filters);
284
+ // Handle both new format (where) and legacy format (filters)
285
+ const filterCondition = query.where || query.filters;
286
+ const filter = this.mapFilters(filterCondition);
260
287
  const findOptions = {};
261
- if (normalizedQuery.skip)
262
- findOptions.skip = normalizedQuery.skip;
263
- if (normalizedQuery.limit)
264
- findOptions.limit = normalizedQuery.limit;
265
- if (normalizedQuery.sort) {
266
- // map [['field', 'desc']] to { field: -1 }
288
+ // Handle pagination - support both new format (offset/limit) and legacy format (skip/top)
289
+ const offsetValue = (_a = query.offset) !== null && _a !== void 0 ? _a : query.skip;
290
+ const limitValue = (_b = query.limit) !== null && _b !== void 0 ? _b : query.top;
291
+ if (offsetValue !== undefined)
292
+ findOptions.skip = offsetValue;
293
+ if (limitValue !== undefined)
294
+ findOptions.limit = limitValue;
295
+ // Handle sort - support both new format (orderBy) and legacy format (sort)
296
+ const sortArray = query.orderBy || query.sort;
297
+ if (sortArray && Array.isArray(sortArray)) {
267
298
  findOptions.sort = {};
268
- for (const [field, order] of normalizedQuery.sort) {
299
+ for (const item of sortArray) {
300
+ // Support both {field, order} object format and [field, order] array format
301
+ const field = item.field || item[0];
302
+ const order = item.order || item[1] || 'asc';
269
303
  // Map both 'id' and '_id' to '_id' for backward compatibility
270
304
  const dbField = (field === 'id' || field === '_id') ? '_id' : field;
271
305
  findOptions.sort[dbField] = order === 'desc' ? -1 : 1;
272
306
  }
273
307
  }
274
- if (normalizedQuery.fields && normalizedQuery.fields.length > 0) {
308
+ if (query.fields && query.fields.length > 0) {
275
309
  findOptions.projection = {};
276
- for (const field of normalizedQuery.fields) {
310
+ for (const field of query.fields) {
277
311
  // Map both 'id' and '_id' to '_id' for backward compatibility
278
312
  const dbField = (field === 'id' || field === '_id') ? '_id' : field;
279
313
  findOptions.projection[dbField] = 1;
280
314
  }
281
315
  // Explicitly exclude _id if 'id' is not in the requested fields
282
- const hasIdField = normalizedQuery.fields.some((f) => f === 'id' || f === '_id');
316
+ const hasIdField = query.fields.some((f) => f === 'id' || f === '_id');
283
317
  if (!hasIdField) {
284
318
  findOptions.projection._id = 0;
285
319
  }
@@ -331,9 +365,12 @@ class MongoDriver {
331
365
  }
332
366
  async count(objectName, filters, options) {
333
367
  const collection = await this.getCollection(objectName);
334
- // Normalize to support both filter arrays and full query objects
335
- const normalizedQuery = this.normalizeQuery(filters);
336
- const actualFilters = normalizedQuery.filters || filters;
368
+ // Handle both filter objects and query objects
369
+ let actualFilters = filters;
370
+ if (filters && (filters.where || filters.filters)) {
371
+ // It's a query object with 'where' or 'filters' property
372
+ actualFilters = filters.where || filters.filters;
373
+ }
337
374
  const filter = this.mapFilters(actualFilters);
338
375
  return await collection.countDocuments(filter);
339
376
  }
@@ -392,18 +429,9 @@ class MongoDriver {
392
429
  * @returns Query results with value and count
393
430
  */
394
431
  async executeQuery(ast, options) {
395
- var _a;
396
- const objectName = ast.object || '';
397
- // Convert QueryAST to legacy query format
398
- const legacyQuery = {
399
- fields: ast.fields,
400
- filters: this.convertFilterNodeToLegacy(ast.filters),
401
- sort: (_a = ast.sort) === null || _a === void 0 ? void 0 : _a.map((s) => [s.field, s.order]),
402
- limit: ast.top,
403
- skip: ast.skip,
404
- };
405
- // Use existing find method
406
- const results = await this.find(objectName, legacyQuery, options);
432
+ // QueryAST is now the same format as our internal query
433
+ // Just pass it directly to find
434
+ const results = await this.find(ast.object || '', ast, options);
407
435
  return {
408
436
  value: results,
409
437
  count: results.length
@@ -506,48 +534,9 @@ class MongoDriver {
506
534
  }
507
535
  }
508
536
  /**
509
- * Convert FilterNode (QueryAST format) to legacy filter array format
537
+ * Convert FilterCondition (QueryAST format) to legacy filter array format
510
538
  * This allows reuse of existing filter logic while supporting new QueryAST
511
539
  *
512
- * @private
513
- */
514
- convertFilterNodeToLegacy(node) {
515
- if (!node)
516
- return undefined;
517
- switch (node.type) {
518
- case 'comparison':
519
- // Convert comparison node to [field, operator, value] format
520
- const operator = node.operator || '=';
521
- return [[node.field, operator, node.value]];
522
- case 'and':
523
- case 'or':
524
- // Convert AND/OR node to array with separator
525
- if (!node.children || node.children.length === 0)
526
- return undefined;
527
- const results = [];
528
- const separator = node.type; // 'and' or 'or'
529
- for (const child of node.children) {
530
- const converted = this.convertFilterNodeToLegacy(child);
531
- if (converted) {
532
- if (results.length > 0) {
533
- results.push(separator);
534
- }
535
- results.push(...(Array.isArray(converted) ? converted : [converted]));
536
- }
537
- }
538
- return results.length > 0 ? results : undefined;
539
- case 'not':
540
- // NOT is not directly supported in the legacy filter format
541
- // MongoDB supports $not, but legacy array format doesn't have a NOT operator
542
- // Use native MongoDB queries with $not instead:
543
- // Example: { field: { $not: { $eq: value } } }
544
- throw new Error('NOT filters are not supported in legacy filter format. ' +
545
- 'Use native MongoDB queries with $not operator instead. ' +
546
- 'Example: { field: { $not: { $eq: value } } }');
547
- default:
548
- return undefined;
549
- }
550
- }
551
540
  /**
552
541
  * Execute command (alternative signature for compatibility)
553
542
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAIH,qCAAyE;AA0BzE;;;;;;;;GAQG;AACH,MAAa,WAAW;IAiBpB,YAAY,MAAwC;QAhBpD,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;SACpB,CAAC;QAQE,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;IAC5C,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,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACnD,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;IACK,cAAc,CAAC,KAAU;QAC7B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,UAAU,GAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;QAErC,sBAAsB;QACtB,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QACtC,CAAC;QAED,mCAAmC;QACnC,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9E,kEAAkE;YAClE,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9D,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;aACnB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,2DAA2D;YAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1E,gFAAgF;gBAChF,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC;oBACjD,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK;iBACpD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,KAAU,EAAE,OAAa;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAExD,MAAM,WAAW,GAAgB,EAAE,CAAC;QACpC,IAAI,eAAe,CAAC,IAAI;YAAE,WAAW,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAClE,IAAI,eAAe,CAAC,KAAK;YAAE,WAAW,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;QACrE,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YACvB,2CAA2C;YAC3C,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;gBAChD,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;QACD,IAAI,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,WAAW,CAAC,UAAU,GAAG,EAAE,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBACzC,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,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;YACzF,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,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpD,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,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,0DAA0D;QAE1G,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;QACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,8BAA8B;IAC/D,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,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,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,iEAAiE;QACjE,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,IAAI,OAAO,CAAC;QACzD,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,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtD,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,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,aAAa,CAAC;IAChC,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,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC,YAAY,CAAC;IAC/B,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,KAAK,CAAC,UAAU;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,GAAa,EAAE,OAAa;;QAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QAEpC,0CAA0C;QAC1C,MAAM,WAAW,GAAQ;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC;YACpD,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACxD,KAAK,EAAE,GAAG,CAAC,GAAG;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;SACjB,CAAC;QAEF,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAElE,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;;;;;OAKG;IACK,yBAAyB,CAAC,IAAiB;QAC/C,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,YAAY;gBACb,6DAA6D;gBAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;gBACtC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAEhD,KAAK,KAAK,CAAC;YACX,KAAK,IAAI;gBACL,8CAA8C;gBAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBACnE,MAAM,OAAO,GAAU,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB;gBAE7C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;oBACxD,IAAI,SAAS,EAAE,CAAC;wBACZ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC5B,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAEpD,KAAK,KAAK;gBACN,4DAA4D;gBAC5D,6EAA6E;gBAC7E,gDAAgD;gBAChD,+CAA+C;gBAC/C,MAAM,IAAI,KAAK,CACX,yDAAyD;oBACzD,yDAAyD;oBACzD,8CAA8C,CACjD,CAAC;YAEN;gBACI,OAAO,SAAS,CAAC;QACzB,CAAC;IACL,CAAC;IAED;;;;;;OAMG;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;AA3kBD,kCA2kBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@objectql/driver-mongo",
3
- "version": "4.0.0",
3
+ "version": "4.0.2",
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.2.0",
19
+ "@objectstack/spec": "^0.3.3",
20
20
  "mongodb": "^5.9.2",
21
- "@objectql/types": "4.0.0"
21
+ "@objectql/types": "4.0.2"
22
22
  },
23
23
  "devDependencies": {
24
24
  "mongodb-memory-server": "^11.0.1"