@proteinjs/db 1.0.28 → 1.0.29

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
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.0.29](https://github.com/proteinjs/db/compare/@proteinjs/db@1.0.28...@proteinjs/db@1.0.29) (2024-06-24)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * `QueryBuilder` and `StatementFactory` should escape values with backticks where appropriate. This allows you to define column or table names that would otherwise conflict with reserved words in the db engine (ie. having a colmn named `order`). ([3745d64](https://github.com/proteinjs/db/commit/3745d644fb0997df6f27f049948f5d9073a1f343))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.0.28](https://github.com/proteinjs/db/compare/@proteinjs/db@1.0.27...@proteinjs/db@1.0.28) (2024-06-19)
7
18
 
8
19
 
@@ -9,7 +9,7 @@ export interface Employee extends Record {
9
9
  startDate?: Date;
10
10
  object?: string;
11
11
  }
12
- export declare class EmployeeTable extends Table<Employee> {
12
+ export declare class EmployeeTestTable extends Table<Employee> {
13
13
  name: string;
14
14
  columns: {
15
15
  id: import("../src/Table").Column<string, any>;
@@ -24,9 +24,28 @@ export declare class EmployeeTable extends Table<Employee> {
24
24
  startDate: import("../src/Table").Column<Date | undefined, any>;
25
25
  } & {};
26
26
  }
27
+ export interface ReservedWordTest extends Record {
28
+ name: string;
29
+ order?: string;
30
+ select?: string;
31
+ join?: string;
32
+ }
33
+ export declare class ReservedWordTestTable extends Table<ReservedWordTest> {
34
+ name: string;
35
+ columns: {
36
+ id: import("../src/Table").Column<string, any>;
37
+ created: import("../src/Table").Column<import("moment").Moment, any>;
38
+ updated: import("../src/Table").Column<import("moment").Moment, any>;
39
+ } & {} & {
40
+ select: import("../src/Table").Column<string | undefined, any>;
41
+ name: import("../src/Table").Column<string, any>;
42
+ order: import("../src/Table").Column<string | undefined, any>;
43
+ join: import("../src/Table").Column<string | undefined, any>;
44
+ } & {};
45
+ }
27
46
  /**
28
47
  * Used for testing purposes only.
29
48
  * */
30
- export declare const getTestTable: (tableName: string) => EmployeeTable;
49
+ export declare const getTestTable: (tableName: string) => EmployeeTestTable | ReservedWordTestTable;
31
50
  export declare const crudTests: (driver: DbDriver, dropTable: (table: Table<any>) => Promise<void>) => () => void;
32
51
  //# sourceMappingURL=CrudTests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CrudTests.d.ts","sourceRoot":"","sources":["../../test/CrudTests.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAM,MAAM,WAAW,CAAC;AACzC,OAAO,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,WAAW,QAAS,SAAQ,MAAM;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,SAAQ,KAAK,CAAC,QAAQ,CAAC;IAChD,IAAI,SAAsB;IAC1B,OAAO;;;;;;;;;;;WAOJ;CACJ;AAED;;MAEM;AACN,eAAO,MAAM,YAAY,cAAe,MAAM,kBAO7C,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,QAAQ,qBAAqB,MAAM,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,eA8S1F,CAAC"}
1
+ {"version":3,"file":"CrudTests.d.ts","sourceRoot":"","sources":["../../test/CrudTests.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAM,MAAM,WAAW,CAAC;AACzC,OAAO,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,WAAW,QAAS,SAAQ,MAAM;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,QAAQ,CAAC;IACpD,IAAI,SAAsB;IAC1B,OAAO;;;;;;;;;;;WAOJ;CACJ;AAED,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,qBAAsB,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IAChE,IAAI,SAA2B;IAC/B,OAAO;;;;;;;;;WAKJ;CACJ;AAED;;MAEM;AACN,eAAO,MAAM,YAAY,cAAe,MAAM,8CAY7C,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,QAAQ,qBAAqB,MAAM,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,eA0a1F,CAAC"}
@@ -51,15 +51,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
51
  }
52
52
  };
53
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.crudTests = exports.getTestTable = exports.EmployeeTable = void 0;
54
+ exports.crudTests = exports.getTestTable = exports.ReservedWordTestTable = exports.EmployeeTestTable = void 0;
55
55
  var db_query_1 = require("@proteinjs/db-query");
56
56
  var Db_1 = require("../src/Db");
57
57
  var Record_1 = require("../src/Record");
58
58
  var Columns_1 = require("../src/Columns");
59
59
  var Table_1 = require("../src/Table");
60
- var EmployeeTable = /** @class */ (function (_super) {
61
- __extends(EmployeeTable, _super);
62
- function EmployeeTable() {
60
+ var EmployeeTestTable = /** @class */ (function (_super) {
61
+ __extends(EmployeeTestTable, _super);
62
+ function EmployeeTestTable() {
63
63
  var _this = _super !== null && _super.apply(this, arguments) || this;
64
64
  _this.name = 'db_test_employee';
65
65
  _this.columns = (0, Record_1.withRecordColumns)({
@@ -72,16 +72,36 @@ var EmployeeTable = /** @class */ (function (_super) {
72
72
  });
73
73
  return _this;
74
74
  }
75
- return EmployeeTable;
75
+ return EmployeeTestTable;
76
76
  }(Table_1.Table));
77
- exports.EmployeeTable = EmployeeTable;
77
+ exports.EmployeeTestTable = EmployeeTestTable;
78
+ var ReservedWordTestTable = /** @class */ (function (_super) {
79
+ __extends(ReservedWordTestTable, _super);
80
+ function ReservedWordTestTable() {
81
+ var _this = _super !== null && _super.apply(this, arguments) || this;
82
+ _this.name = 'db_test_reserved_word';
83
+ _this.columns = (0, Record_1.withRecordColumns)({
84
+ name: new Columns_1.StringColumn('name'),
85
+ order: new Columns_1.StringColumn('order'),
86
+ select: new Columns_1.StringColumn('select'),
87
+ join: new Columns_1.StringColumn('join'),
88
+ });
89
+ return _this;
90
+ }
91
+ return ReservedWordTestTable;
92
+ }(Table_1.Table));
93
+ exports.ReservedWordTestTable = ReservedWordTestTable;
78
94
  /**
79
95
  * Used for testing purposes only.
80
96
  * */
81
97
  var getTestTable = function (tableName) {
82
- var employeeTable = new EmployeeTable();
98
+ var employeeTable = new EmployeeTestTable();
83
99
  if (employeeTable.name == tableName) {
84
- return new EmployeeTable();
100
+ return new EmployeeTestTable();
101
+ }
102
+ var reservedWordTestTable = new ReservedWordTestTable();
103
+ if (reservedWordTestTable.name == tableName) {
104
+ return new ReservedWordTestTable();
85
105
  }
86
106
  throw new Error("Cannot find test table: ".concat(tableName));
87
107
  };
@@ -98,8 +118,11 @@ var crudTests = function (driver, dropTable) {
98
118
  case 1:
99
119
  _a.sent();
100
120
  _a.label = 2;
101
- case 2: return [4 /*yield*/, driver.getTableManager().loadTable(new EmployeeTable())];
121
+ case 2: return [4 /*yield*/, driver.getTableManager().loadTable(new EmployeeTestTable())];
102
122
  case 3:
123
+ _a.sent();
124
+ return [4 /*yield*/, driver.getTableManager().loadTable(new ReservedWordTestTable())];
125
+ case 4:
103
126
  _a.sent();
104
127
  return [2 /*return*/];
105
128
  }
@@ -108,15 +131,18 @@ var crudTests = function (driver, dropTable) {
108
131
  afterAll(function () { return __awaiter(void 0, void 0, void 0, function () {
109
132
  return __generator(this, function (_a) {
110
133
  switch (_a.label) {
111
- case 0: return [4 /*yield*/, dropTable(new EmployeeTable())];
134
+ case 0: return [4 /*yield*/, dropTable(new EmployeeTestTable())];
112
135
  case 1:
113
136
  _a.sent();
114
- if (!driver.stop) return [3 /*break*/, 3];
115
- return [4 /*yield*/, driver.stop()];
137
+ return [4 /*yield*/, dropTable(new ReservedWordTestTable())];
116
138
  case 2:
117
139
  _a.sent();
118
- _a.label = 3;
119
- case 3: return [2 /*return*/];
140
+ if (!driver.stop) return [3 /*break*/, 4];
141
+ return [4 /*yield*/, driver.stop()];
142
+ case 3:
143
+ _a.sent();
144
+ _a.label = 4;
145
+ case 4: return [2 /*return*/];
120
146
  }
121
147
  });
122
148
  }); });
@@ -126,7 +152,7 @@ var crudTests = function (driver, dropTable) {
126
152
  switch (_a.label) {
127
153
  case 0:
128
154
  testEmployee = { name: 'Veronica' };
129
- emplyeeTable = new EmployeeTable();
155
+ emplyeeTable = new EmployeeTestTable();
130
156
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee)];
131
157
  case 1:
132
158
  insertedEmployee = _a.sent();
@@ -147,7 +173,7 @@ var crudTests = function (driver, dropTable) {
147
173
  switch (_a.label) {
148
174
  case 0:
149
175
  testEmployee = { name: 'Veronica' };
150
- emplyeeTable = new EmployeeTable();
176
+ emplyeeTable = new EmployeeTestTable();
151
177
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee)];
152
178
  case 1:
153
179
  insertedEmployee = _a.sent();
@@ -177,7 +203,7 @@ var crudTests = function (driver, dropTable) {
177
203
  switch (_a.label) {
178
204
  case 0:
179
205
  testEmployee = { name: 'Veronica' };
180
- emplyeeTable = new EmployeeTable();
206
+ emplyeeTable = new EmployeeTestTable();
181
207
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee)];
182
208
  case 1:
183
209
  insertedEmployee = _a.sent();
@@ -205,7 +231,7 @@ var crudTests = function (driver, dropTable) {
205
231
  testEmployee1 = { name: 'Veronica', department: 'Cake Factory' };
206
232
  testEmployee2 = { name: 'Brent', department: 'Cake Factory' };
207
233
  testEmployee3 = { name: 'Sean', department: 'Pug Playhouse' };
208
- emplyeeTable = new EmployeeTable();
234
+ emplyeeTable = new EmployeeTestTable();
209
235
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee1)];
210
236
  case 1:
211
237
  fetchedEmployee1 = _a.sent();
@@ -241,7 +267,7 @@ var crudTests = function (driver, dropTable) {
241
267
  testEmployee1 = { name: 'Veronica', department: 'Cake Factory' };
242
268
  testEmployee2 = { name: 'Brent', department: 'Cake Factory' };
243
269
  testEmployee3 = { name: 'Sean', department: 'Pug Playhouse' };
244
- emplyeeTable = new EmployeeTable();
270
+ emplyeeTable = new EmployeeTestTable();
245
271
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee1)];
246
272
  case 1:
247
273
  fetchedEmployee1 = _a.sent();
@@ -278,7 +304,7 @@ var crudTests = function (driver, dropTable) {
278
304
  jobTitle: null,
279
305
  isRemote: false,
280
306
  };
281
- emplyeeTable = new EmployeeTable();
307
+ emplyeeTable = new EmployeeTestTable();
282
308
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee)];
283
309
  case 1:
284
310
  insertedEmployee = _a.sent();
@@ -304,7 +330,7 @@ var crudTests = function (driver, dropTable) {
304
330
  jobTitle: 'Cowboy',
305
331
  isRemote: false,
306
332
  };
307
- emplyeeTable = new EmployeeTable();
333
+ emplyeeTable = new EmployeeTestTable();
308
334
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee)];
309
335
  case 1:
310
336
  insertedEmployee = _a.sent();
@@ -333,7 +359,7 @@ var crudTests = function (driver, dropTable) {
333
359
  jobTitle: null,
334
360
  isRemote: false,
335
361
  };
336
- emplyeeTable = new EmployeeTable();
362
+ emplyeeTable = new EmployeeTestTable();
337
363
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee)];
338
364
  case 1:
339
365
  insertedEmployee = _a.sent();
@@ -362,7 +388,7 @@ var crudTests = function (driver, dropTable) {
362
388
  testEmployee1 = { name: 'Veronica', jobTitle: 'Engineer' };
363
389
  testEmployee2 = { name: 'Zenyatta', jobTitle: null };
364
390
  testEmployee3 = { name: 'Cassidy', jobTitle: 'Cowboy' };
365
- emplyeeTable = new EmployeeTable();
391
+ emplyeeTable = new EmployeeTestTable();
366
392
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee1)];
367
393
  case 1:
368
394
  insertedEmployee1 = _a.sent();
@@ -423,7 +449,7 @@ var crudTests = function (driver, dropTable) {
423
449
  jobTitle: 'Cowboy',
424
450
  startDate: new Date('2016-05-24T00:00:00Z'),
425
451
  };
426
- employeeTable = new EmployeeTable();
452
+ employeeTable = new EmployeeTestTable();
427
453
  return [4 /*yield*/, db.insert(employeeTable, testEmployee1)];
428
454
  case 1:
429
455
  insertedEmployee1 = _a.sent();
@@ -473,7 +499,7 @@ var crudTests = function (driver, dropTable) {
473
499
  name: 'Cassidy',
474
500
  jobTitle: 'Cowboy',
475
501
  };
476
- emplyeeTable = new EmployeeTable();
502
+ emplyeeTable = new EmployeeTestTable();
477
503
  return [4 /*yield*/, db.insert(emplyeeTable, testEmployee1)];
478
504
  case 1:
479
505
  insertedEmployee1 = _a.sent();
@@ -513,7 +539,7 @@ var crudTests = function (driver, dropTable) {
513
539
  case 0:
514
540
  testEmployee1 = { name: 'Veronica', jobTitle: 'Software Engineer' };
515
541
  testEmployee2 = { name: 'Brent', jobTitle: undefined };
516
- emplyeeTable = new EmployeeTable();
542
+ emplyeeTable = new EmployeeTestTable();
517
543
  // Insert operation with undefined values
518
544
  return [4 /*yield*/, expect(db.insert(emplyeeTable, testEmployee2)).rejects.toThrow()];
519
545
  case 1:
@@ -553,6 +579,202 @@ var crudTests = function (driver, dropTable) {
553
579
  }
554
580
  });
555
581
  }); });
582
+ test('Insert with reserved words', function () { return __awaiter(void 0, void 0, void 0, function () {
583
+ var testRecord, table, insertedRecord, fetchedRecord;
584
+ return __generator(this, function (_a) {
585
+ switch (_a.label) {
586
+ case 0:
587
+ testRecord = { name: 'Test Name', order: '1', select: 'Option 1' };
588
+ table = new ReservedWordTestTable();
589
+ return [4 /*yield*/, db.insert(table, testRecord)];
590
+ case 1:
591
+ insertedRecord = _a.sent();
592
+ return [4 /*yield*/, db.get(table, { id: insertedRecord.id })];
593
+ case 2:
594
+ fetchedRecord = _a.sent();
595
+ expect(fetchedRecord).toBeTruthy();
596
+ return [4 /*yield*/, db.delete(table, { id: fetchedRecord.id })];
597
+ case 3:
598
+ _a.sent();
599
+ return [2 /*return*/];
600
+ }
601
+ });
602
+ }); });
603
+ test('Update with reserved words', function () { return __awaiter(void 0, void 0, void 0, function () {
604
+ var testRecord, table, insertedRecord, updateCount, fetchedRecord;
605
+ return __generator(this, function (_a) {
606
+ switch (_a.label) {
607
+ case 0:
608
+ testRecord = { name: 'Test Name', order: '1', select: 'Option 1' };
609
+ table = new ReservedWordTestTable();
610
+ return [4 /*yield*/, db.insert(table, testRecord)];
611
+ case 1:
612
+ insertedRecord = _a.sent();
613
+ return [4 /*yield*/, db.update(table, {
614
+ name: 'Updated Name',
615
+ order: '2',
616
+ join: 'Join Option',
617
+ }, { id: insertedRecord.id })];
618
+ case 2:
619
+ updateCount = _a.sent();
620
+ expect(updateCount).toBe(1);
621
+ return [4 /*yield*/, db.get(table, { id: insertedRecord.id })];
622
+ case 3:
623
+ fetchedRecord = _a.sent();
624
+ expect(fetchedRecord.name).toBe('Updated Name');
625
+ expect(fetchedRecord.order).toBe('2');
626
+ expect(fetchedRecord.join).toBe('Join Option');
627
+ return [4 /*yield*/, db.delete(table, { id: fetchedRecord.id })];
628
+ case 4:
629
+ _a.sent();
630
+ return [2 /*return*/];
631
+ }
632
+ });
633
+ }); });
634
+ test('Delete with reserved words', function () { return __awaiter(void 0, void 0, void 0, function () {
635
+ var testRecord, table, insertedRecord, fetchedRecord, deleteCount;
636
+ return __generator(this, function (_a) {
637
+ switch (_a.label) {
638
+ case 0:
639
+ testRecord = { name: 'Test Name', order: '1', select: 'Option 1' };
640
+ table = new ReservedWordTestTable();
641
+ return [4 /*yield*/, db.insert(table, testRecord)];
642
+ case 1:
643
+ insertedRecord = _a.sent();
644
+ return [4 /*yield*/, db.get(table, { id: insertedRecord.id })];
645
+ case 2:
646
+ fetchedRecord = _a.sent();
647
+ expect(fetchedRecord).toBeTruthy();
648
+ return [4 /*yield*/, db.delete(table, { id: fetchedRecord.id })];
649
+ case 3:
650
+ deleteCount = _a.sent();
651
+ expect(deleteCount).toBe(1);
652
+ return [4 /*yield*/, db.get(table, { id: insertedRecord.id })];
653
+ case 4:
654
+ fetchedRecord = _a.sent();
655
+ expect(fetchedRecord).toBeFalsy();
656
+ return [2 /*return*/];
657
+ }
658
+ });
659
+ }); });
660
+ test('Query with reserved words', function () { return __awaiter(void 0, void 0, void 0, function () {
661
+ var testRecord1, testRecord2, testRecord3, table, insertedRecord1, insertedRecord2, insertedRecord3, fetchedRecords, qb;
662
+ return __generator(this, function (_a) {
663
+ switch (_a.label) {
664
+ case 0:
665
+ testRecord1 = { name: 'Test Name 1', order: '1', select: 'Option 1' };
666
+ testRecord2 = { name: 'Test Name 2', order: '1', select: 'Option 1' };
667
+ testRecord3 = { name: 'Test Name 3', order: '2', select: 'Option 2' };
668
+ table = new ReservedWordTestTable();
669
+ return [4 /*yield*/, db.insert(table, testRecord1)];
670
+ case 1:
671
+ insertedRecord1 = _a.sent();
672
+ return [4 /*yield*/, db.insert(table, testRecord2)];
673
+ case 2:
674
+ insertedRecord2 = _a.sent();
675
+ return [4 /*yield*/, db.insert(table, testRecord3)];
676
+ case 3:
677
+ insertedRecord3 = _a.sent();
678
+ return [4 /*yield*/, db.query(table, { order: '1', select: 'Option 1' })];
679
+ case 4:
680
+ fetchedRecords = _a.sent();
681
+ expect(fetchedRecords.length).toBe(2);
682
+ expect(fetchedRecords[0].name).toBe('Test Name 1');
683
+ expect(fetchedRecords[1].name).toBe('Test Name 2');
684
+ qb = new db_query_1.QueryBuilder(table.name).condition({
685
+ field: 'id',
686
+ operator: 'IN',
687
+ value: [insertedRecord1.id, insertedRecord2.id, insertedRecord3.id],
688
+ });
689
+ return [4 /*yield*/, db.delete(table, qb)];
690
+ case 5:
691
+ _a.sent();
692
+ return [2 /*return*/];
693
+ }
694
+ });
695
+ }); });
696
+ test('Query with sort and reserved words', function () { return __awaiter(void 0, void 0, void 0, function () {
697
+ var testRecord1, testRecord2, testRecord3, table, insertedRecord1, insertedRecord2, insertedRecord3, sortQuery, sortResults, qb;
698
+ return __generator(this, function (_a) {
699
+ switch (_a.label) {
700
+ case 0:
701
+ testRecord1 = { name: 'Test Name 1', order: '1', select: 'Option 1' };
702
+ testRecord2 = { name: 'Test Name 2', order: '2', select: 'Option 2' };
703
+ testRecord3 = { name: 'Test Name 3', order: '3', select: 'Option 3' };
704
+ table = new ReservedWordTestTable();
705
+ return [4 /*yield*/, db.insert(table, testRecord1)];
706
+ case 1:
707
+ insertedRecord1 = _a.sent();
708
+ return [4 /*yield*/, db.insert(table, testRecord2)];
709
+ case 2:
710
+ insertedRecord2 = _a.sent();
711
+ return [4 /*yield*/, db.insert(table, testRecord3)];
712
+ case 3:
713
+ insertedRecord3 = _a.sent();
714
+ sortQuery = new db_query_1.QueryBuilder(table.name).sort([
715
+ { field: 'order', byValues: ['1', '2', '3'] },
716
+ ]);
717
+ return [4 /*yield*/, db.query(table, sortQuery)];
718
+ case 4:
719
+ sortResults = _a.sent();
720
+ // Assertions
721
+ expect(sortResults.length).toBe(3);
722
+ expect(sortResults[0].order).toBe('1');
723
+ expect(sortResults[1].order).toBe('2');
724
+ expect(sortResults[2].order).toBe('3');
725
+ qb = new db_query_1.QueryBuilder(table.name).condition({
726
+ field: 'id',
727
+ operator: 'IN',
728
+ value: [insertedRecord1.id, insertedRecord2.id, insertedRecord3.id],
729
+ });
730
+ return [4 /*yield*/, db.delete(table, qb)];
731
+ case 5:
732
+ _a.sent();
733
+ return [2 /*return*/];
734
+ }
735
+ });
736
+ }); });
737
+ test('Query with reserved words and subquery', function () { return __awaiter(void 0, void 0, void 0, function () {
738
+ var testRecord1, testRecord2, table, insertedRecord1, insertedRecord2, subQb, qb, results;
739
+ return __generator(this, function (_a) {
740
+ switch (_a.label) {
741
+ case 0:
742
+ testRecord1 = { name: 'Test Name 1', order: '1', select: 'Option 1' };
743
+ testRecord2 = { name: 'Test Name 2', order: '2', select: 'Option 2' };
744
+ table = new ReservedWordTestTable();
745
+ return [4 /*yield*/, db.insert(table, testRecord1)];
746
+ case 1:
747
+ insertedRecord1 = _a.sent();
748
+ return [4 /*yield*/, db.insert(table, testRecord2)];
749
+ case 2:
750
+ insertedRecord2 = _a.sent();
751
+ subQb = new db_query_1.QueryBuilder(table.name).select({ fields: ['id'] }).condition({
752
+ field: 'select',
753
+ operator: '=',
754
+ value: 'Option 1',
755
+ });
756
+ qb = new db_query_1.QueryBuilder(table.name).condition({
757
+ field: 'id',
758
+ operator: 'IN',
759
+ value: subQb,
760
+ });
761
+ return [4 /*yield*/, db.query(table, qb)];
762
+ case 3:
763
+ results = _a.sent();
764
+ expect(results.length).toBe(1);
765
+ expect(results[0].name).toBe('Test Name 1');
766
+ // Clean up
767
+ return [4 /*yield*/, db.delete(table, { id: insertedRecord1.id })];
768
+ case 4:
769
+ // Clean up
770
+ _a.sent();
771
+ return [4 /*yield*/, db.delete(table, { id: insertedRecord2.id })];
772
+ case 5:
773
+ _a.sent();
774
+ return [2 /*return*/];
775
+ }
776
+ });
777
+ }); }, 10000);
556
778
  };
557
779
  };
558
780
  exports.crudTests = crudTests;
@@ -1 +1 @@
1
- {"version":3,"file":"CrudTests.js","sourceRoot":"","sources":["../../test/CrudTests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CrudTests.js","sourceRoot":"","sources":["../../test/CrudTests.ts"],"names":[],"mappings":"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"}
@@ -55,9 +55,9 @@ exports.tableManagerTests = void 0;
55
55
  var Columns_1 = require("../src/Columns");
56
56
  var Record_1 = require("../src/Record");
57
57
  var Table_1 = require("../src/Table");
58
- var UserTable = /** @class */ (function (_super) {
59
- __extends(UserTable, _super);
60
- function UserTable() {
58
+ var UserTestTable = /** @class */ (function (_super) {
59
+ __extends(UserTestTable, _super);
60
+ function UserTestTable() {
61
61
  var _this = _super !== null && _super.apply(this, arguments) || this;
62
62
  _this.name = 'db_test_user';
63
63
  _this.columns = (0, Record_1.withRecordColumns)({
@@ -71,7 +71,7 @@ var UserTable = /** @class */ (function (_super) {
71
71
  ];
72
72
  return _this;
73
73
  }
74
- return UserTable;
74
+ return UserTestTable;
75
75
  }(Table_1.Table));
76
76
  var ColumnTypesTable = /** @class */ (function (_super) {
77
77
  __extends(ColumnTypesTable, _super);
@@ -120,7 +120,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
120
120
  case 0: return [4 /*yield*/, dropTable(new ColumnTypesTable())];
121
121
  case 1:
122
122
  _a.sent();
123
- return [4 /*yield*/, dropTable(new UserTable())];
123
+ return [4 /*yield*/, dropTable(new UserTestTable())];
124
124
  case 2:
125
125
  _a.sent();
126
126
  return [2 /*return*/];
@@ -145,7 +145,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
145
145
  return __generator(this, function (_b) {
146
146
  switch (_b.label) {
147
147
  case 0:
148
- userTable = new UserTable();
148
+ userTable = new UserTestTable();
149
149
  return [4 /*yield*/, tableManager.loadTable(userTable)];
150
150
  case 1:
151
151
  _b.sent();
@@ -167,7 +167,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
167
167
  return __generator(this, function (_e) {
168
168
  switch (_e.label) {
169
169
  case 0:
170
- userTable = new UserTable();
170
+ userTable = new UserTestTable();
171
171
  return [4 /*yield*/, tableManager.loadTable(userTable)];
172
172
  case 1:
173
173
  _e.sent();
@@ -196,7 +196,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
196
196
  return __generator(this, function (_l) {
197
197
  switch (_l.label) {
198
198
  case 0:
199
- userTable = new UserTable();
199
+ userTable = new UserTestTable();
200
200
  dataColumn = new Columns_1.ObjectColumn('data');
201
201
  return [4 /*yield*/, tableManager.loadTable(userTable)];
202
202
  case 1:
@@ -254,7 +254,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
254
254
  return __generator(this, function (_b) {
255
255
  switch (_b.label) {
256
256
  case 0:
257
- userTable = new UserTable();
257
+ userTable = new UserTestTable();
258
258
  columnTypesTable = new ColumnTypesTable();
259
259
  return [4 /*yield*/, tableManager.loadTable(userTable)];
260
260
  case 1:
@@ -290,7 +290,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
290
290
  return __generator(this, function (_c) {
291
291
  switch (_c.label) {
292
292
  case 0:
293
- userTable = new UserTable();
293
+ userTable = new UserTestTable();
294
294
  columnTypesTable = new ColumnTypesTable();
295
295
  return [4 /*yield*/, tableManager.loadTable(userTable)];
296
296
  case 1:
@@ -332,7 +332,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
332
332
  if (excludedTests === null || excludedTests === void 0 ? void 0 : excludedTests.alterColumnName) {
333
333
  return [2 /*return*/];
334
334
  }
335
- userTable = new UserTable();
335
+ userTable = new UserTestTable();
336
336
  return [4 /*yield*/, tableManager.loadTable(userTable)];
337
337
  case 1:
338
338
  _e.sent();
@@ -369,7 +369,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
369
369
  if (excludedTests === null || excludedTests === void 0 ? void 0 : excludedTests.alterColumnTypes) {
370
370
  return [2 /*return*/];
371
371
  }
372
- userTable = new UserTable();
372
+ userTable = new UserTestTable();
373
373
  columnTypesTable = new ColumnTypesTable();
374
374
  return [4 /*yield*/, tableManager.loadTable(userTable)];
375
375
  case 1:
@@ -442,7 +442,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
442
442
  return __generator(this, function (_d) {
443
443
  switch (_d.label) {
444
444
  case 0:
445
- userTable = new UserTable();
445
+ userTable = new UserTestTable();
446
446
  columnTypesTable = new ColumnTypesTable();
447
447
  return [4 /*yield*/, tableManager.loadTable(userTable)];
448
448
  case 1:
@@ -546,7 +546,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
546
546
  if (excludedTests === null || excludedTests === void 0 ? void 0 : excludedTests.alterNullableConstraint) {
547
547
  return [2 /*return*/];
548
548
  }
549
- userTable = new UserTable();
549
+ userTable = new UserTestTable();
550
550
  columnTypesTable = new ColumnTypesTable();
551
551
  return [4 /*yield*/, tableManager.loadTable(userTable)];
552
552
  case 1:
@@ -637,7 +637,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
637
637
  return __generator(this, function (_b) {
638
638
  switch (_b.label) {
639
639
  case 0:
640
- userTable = new UserTable();
640
+ userTable = new UserTestTable();
641
641
  return [4 /*yield*/, tableManager.loadTable(userTable)];
642
642
  case 1:
643
643
  _b.sent();
@@ -659,7 +659,7 @@ var tableManagerTests = function (driver, dropTable, getColumnType, excludedTest
659
659
  return __generator(this, function (_b) {
660
660
  switch (_b.label) {
661
661
  case 0:
662
- userTable = new UserTable();
662
+ userTable = new UserTestTable();
663
663
  return [4 /*yield*/, tableManager.loadTable(userTable)];
664
664
  case 1:
665
665
  _b.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"TableManagerTests.js","sourceRoot":"","sources":["../../test/TableManagerTests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableManagerTests.js","sourceRoot":"","sources":["../../test/TableManagerTests.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAWwB;AAExB,wCAA0D;AAC1D,sCAA6C;AAQ7C;IAA4B,iCAAW;IAAvC;QAAA,qEAWC;QAVC,UAAI,GAAG,cAAc,CAAC;QACtB,aAAO,GAAG,IAAA,0BAAiB,EAAO;YAChC,IAAI,EAAE,IAAI,sBAAY,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAE,IAAI,sBAAY,CAAC,OAAO,CAAC;YAChC,MAAM,EAAE,IAAI,uBAAa,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,aAAO,GAAG;YACR,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,OAAO,CAAmB,EAAE;YAC1E,EAAE,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAmB,EAAE;SAC5F,CAAC;;IACJ,CAAC;IAAD,oBAAC;AAAD,CAAC,AAXD,CAA4B,aAAK,GAWhC;AAiBD;IAA+B,oCAAkB;IAAjD;QAAA,qEAgBC;QAfC,UAAI,GAAG,sBAAsB,CAAC;QAC9B,aAAO,GAAG,IAAA,0BAAiB,EAAc;YACvC,OAAO,EAAE,IAAI,uBAAa,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACzD,UAAU,EAAE,IAAI,uBAAa,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC;YACvE,MAAM,EAAE,IAAI,sBAAY,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;YAC7E,IAAI,EAAE,IAAI,sBAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;YAChD,KAAK,EAAE,IAAI,qBAAW,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE;oBAAY,sBAAA,GAAG,EAAA;yBAAA,EAAE,CAAC;YAClE,OAAO,EAAE,IAAI,uBAAa,CAAC,SAAS,CAAC;YACrC,OAAO,EAAE,IAAI,uBAAa,CAAC,SAAS,CAAC;YACrC,IAAI,EAAE,IAAI,oBAAU,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,IAAI,wBAAc,CAAC,WAAW,CAAC;YACzC,MAAM,EAAE,IAAI,sBAAY,CAAC,QAAQ,CAAC;YAClC,MAAM,EAAE,IAAI,sBAAY,CAAC,QAAQ,CAAC;YAClC,IAAI,EAAE,IAAI,oBAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;SAC3D,CAAC,CAAC;;IACL,CAAC;IAAD,uBAAC;AAAD,CAAC,AAhBD,CAA+B,aAAK,GAgBnC;AAEM,IAAM,iBAAiB,GAAG,UAC/B,MAAgB,EAChB,SAA+C,EAC/C,aAAmD,EACnD,aAIC;IAED,OAAO;QACL,IAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAE9C,SAAS,CAAC;;;;6BACJ,MAAM,CAAC,KAAK,EAAZ,wBAAY;wBACd,qBAAM,MAAM,CAAC,KAAK,EAAE,EAAA;;wBAApB,SAAoB,CAAC;;;;;aAExB,CAAC,CAAC;QAEH,SAAS,CAAC;;;4BACR,qBAAM,SAAS,CAAC,IAAI,gBAAgB,EAAE,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,qBAAM,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC,EAAA;;wBAApC,SAAoC,CAAC;;;;aACtC,CAAC,CAAC;QAEH,QAAQ,CAAC;;;;6BACH,MAAM,CAAC,IAAI,EAAX,wBAAW;wBACb,qBAAM,MAAM,CAAC,IAAI,EAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;aAEvB,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,EAAE;;;;;wBACnB,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBACtC,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC5C,qBAAM,YAAY,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,EAAA;;wBAAvE,UAAU,GAAG,SAA0D;wBAC7E,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;aACnC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE;;;;;wBACf,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBACtC,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/D,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA7F,kBAAO,SAAsF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC5G,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA9F,kBAAO,SAAuF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC7G,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA/F,kBAAO,SAAwF,EAAC,CAAC,UAAU,EAAE,CAAC;;;;aAC/G,CAAC,CAAC;QAEH,IAAI,CAAC,sBAAsB,EAAE;;;;;wBACrB,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBAChC,UAAU,GAAG,IAAI,sBAAY,CAAC,MAAM,CAAC,CAAC;wBAC5C,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/D,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA7F,kBAAO,SAAsF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC5G,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA9F,kBAAO,SAAuF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC7G,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA/F,kBAAO,SAAwF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC9G,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAAjF,kBAAO,SAA0E,EAAC,CAAC,SAAS,EAAE,CAAC;wBAC9F,SAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;wBACvD,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/D,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA7F,kBAAO,SAAsF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC5G,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA9F,kBAAO,SAAuF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC7G,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA/F,kBAAO,SAAwF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC9G,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAAjF,kBAAO,SAA0E,EAAC,CAAC,UAAU,EAAE,CAAC;;;;aACjG,CAAC,CAAC;QAEH,IAAI,CAAC,oCAAoC,EAAE;;;;;wBACnC,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBAChC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;wBAChD,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,qBAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC/C,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAA;;wBAAvD,kBAAO,SAAgD,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/C,qBAAM,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAA;;wBAAtF,cAAc,GAAG,SAAqE;wBAC5F,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACxE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CACnD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACnE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAC9C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACtE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CACjD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;;;;aACH,CAAC,CAAC;QAEH,IAAI,CAAC,sCAAsC,EAAE;;;;;wBACrC,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBAChC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;wBAChD,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,qBAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC/C,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/D,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAA;;wBAAvD,kBAAO,SAAgD,EAAC,CAAC,UAAU,EAAE,CAAC;wBAE/C,qBAAM,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAA;;wBAAtF,cAAc,GAAG,SAAqE;wBAC5F,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;wBACtF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;wBAGpE,qBAAM,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAA;;wBAAhF,WAAW,GAAG,SAAkE;wBACtF,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACnG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEpE,qBAAM,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAA;;wBAApF,aAAa,GAAG,SAAoE;wBAC1F,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;;;;aACjF,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE;;;;;wBACxB,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,EAAE;4BAClC,sBAAO;yBACR;wBAEK,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBACtC,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/D,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;wBAA7F,kBAAO,SAAsF,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC5G,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;wBACxC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;wBACrC,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA;;wBAAxE,kBAAO,SAAiE,EAAC,CAAC,UAAU,EAAE,CAAC;wBACvF,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA;;wBAAxE,kBAAO,SAAiE,EAAC,CAAC,SAAS,EAAE,CAAC;;;;aACvF,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,EAAE;;;;;wBACzB,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,gBAAgB,EAAE;4BACnC,sBAAO;yBACR;wBAEK,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBAChC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;wBAChD,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,qBAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC/C,kGAAkG;wBAClG,+FAA+F;wBAC/F,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAFhD,kGAAkG;wBAClG,+FAA+F;wBAC/F,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/D,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAA;;wBAAvD,kBAAO,SAAgD,EAAC,CAAC,UAAU,EAAE,CAAC;wBACtE,gBAAgB,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;wBAC1F,gBAAgB,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,uBAAa,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC5F,gBAAgB,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,sBAAY,CAAC,MAAM,CAAC,CAAC;wBACzD,mHAAmH;wBACnH,gBAAgB,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,uBAAa,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE;gCAAY,sBAAA,GAAG,EAAA;qCAAA,EAAE,CAAC,CAAC;wBAC/F,gBAAgB,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,qBAAW,CAAC,SAAS,CAAC,CAAC;wBAC9D,gBAAgB,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,SAAS,CAAC,CAAC;wBAC/D,gBAA+B,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,wBAAc,CAAC,MAAM,CAAC,CAAC;wBAC3E,gBAAgB,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,oBAAU,CAAC,WAAW,CAAC,CAAC;wBAChE,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,sBAAY,CAAC,QAAQ,CAAC,CAAC;wBAC7D,gBAAgB,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,sBAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;wBACvF,qBAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBACxB,qBAAM,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAA;;wBAAtF,cAAc,GAAG,SAAqE;wBAC5F,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACxE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CACnD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACnE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAC9C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACtE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CACjD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACkB,qBAAM,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAA;;wBAAhF,WAAW,GAAG,SAAkE;wBAChE,qBAAM,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAA;;wBAApF,aAAa,GAAG,SAAoE;wBAC1F,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;wBACtF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;wBACxF,2GAA2G;wBAC3G,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACnG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1F,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;;;;aACjF,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,EAAE;;;;;;wBACxB,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBAChC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;wBAChD,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,YAAY,EAAE;gCAAY,sBAAA,MAAM,EAAA;qCAAA,EAAE,CAAC;wBAC5E,gBAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,sBAAY,CAAC,SAAS,EAAE;4BAChF,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE;yBACtC,CAAC,CAAC;wBACH,qBAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC/C,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/D,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAA;;wBAAvD,kBAAO,SAAgD,EAAC,CAAC,UAAU,EAAE,CAAC;wBACjD,qBAAM,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAA;;wBAAtF,cAAc,GAAG,SAAqE;wBAC1F,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACxE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CACnD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACnE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAC9C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACtE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CACjD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAE,gBAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrF,aAAa,CAAE,gBAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,CAChE,CAAC;wBACkB,qBAAM,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAA;;wBAAhF,WAAW,GAAG,SAAkE;wBAClE,qBAAM,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAA;;wBAApF,aAAa,GAAG,SAAoE;wBACxF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;wBACtF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;wBACxF,2GAA2G;wBAC3G,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACnG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1F,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;wBAChF,mHAAmH;wBAC5G,MAAA,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,+CAAE,UAAU,CAAC;wBAC3D,4HAA4H;wBAC5H,gBAAgB,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,qBAAW,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE;gCAAY,sBAAA,GAAG,EAAA;qCAAA,EAAE,CAAC,CAAC;wBAC7F,gBAAgB,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE;gCAAY,sBAAA,CAAC,EAAA;qCAAA,EAAE,CAAC,CAAC;wBACjG,gBAAgB,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,oBAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;wBACtF,qBAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC9B,qBAAM,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAA;;wBAAtF,cAAc,GAAG,SAAqE,CAAC;wBACvF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACxE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CACnD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACnE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAC9C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACtE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CACjD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAE,gBAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrF,aAAa,CAAE,gBAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,CAChE,CAAC;wBASc,qBAAM,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAA;;wBARpF,2GAA2G;wBAC3G,2GAA2G;wBAC3G,oFAAoF;wBACpF,6EAA6E;wBAC7E,wGAAwG;wBACxG,yGAAyG;wBACzG,qGAAqG;wBACrG,oGAAoG;wBACpG,aAAa,GAAG,SAAoE,CAAC;wBACrF,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;;;;aAChF,CAAC,CAAC;QAEH,IAAI,CAAC,kCAAkC,EAAE;;;;;;wBACvC,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,uBAAuB,EAAE;4BAC1C,sBAAO;yBACR;wBAEK,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBAChC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;wBAChD,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,YAAY,EAAE;gCAAY,sBAAA,MAAM,EAAA;qCAAA,EAAE,CAAC;wBAC5E,gBAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,sBAAY,CAAC,SAAS,EAAE;4BAChF,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE;yBACtC,CAAC,CAAC;wBACH,qBAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC/C,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/D,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAA;;wBAAvD,kBAAO,SAAgD,EAAC,CAAC,UAAU,EAAE,CAAC;wBACjD,qBAAM,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAA;;wBAAtF,cAAc,GAAG,SAAqE;wBAC1F,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACxE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CACnD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACnE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAC9C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACtE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CACjD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAE,gBAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrF,aAAa,CAAE,gBAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,CAChE,CAAC;wBACkB,qBAAM,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAA;;wBAAhF,WAAW,GAAG,SAAkE;wBAChE,qBAAM,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAA;;wBAApF,aAAa,GAAG,SAAoE;wBAC1F,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;wBACtF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;wBACxF,2GAA2G;wBAC3G,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACnG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1F,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;wBAChF,gBAAgB,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;wBACrF,gBAAgB,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,uBAAa,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;wBACjG,mHAAmH;wBAC5G,MAAA,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,+CAAE,UAAU,CAAC;wBAC3D,4HAA4H;wBAC5H,gBAAgB,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,qBAAW,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE;gCAAY,sBAAA,GAAG,EAAA;qCAAA,EAAE,CAAC,CAAC;wBAC7F,gBAAgB,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE;gCAAY,sBAAA,CAAC,EAAA;qCAAA,EAAE,CAAC,CAAC;wBACjG,qBAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC9B,qBAAM,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAA;;wBAAtF,cAAc,GAAG,SAAqE,CAAC;wBACvF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACxE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CACnD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACnE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAC9C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAChD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACtE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CACjD,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAClE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7C,CAAC;wBACF,MAAM,CAAC,cAAc,CAAE,gBAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrF,aAAa,CAAE,gBAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,CAChE,CAAC;wBACF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;wBACrF,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;;;;aAS1F,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE;;;;;wBACb,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBACtC,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBAC/C,qBAAM,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,EAAA;;wBAAjE,OAAO,GAAG,SAAuD;wBACvE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC5F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;;;;aAC9G,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE;;;;;wBACZ,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;wBACtC,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,KAAA,MAAM,CAAA;wBAAC,qBAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAhD,kBAAO,SAAyC,EAAC,CAAC,UAAU,EAAE,CAAC;wBACjD,qBAAM,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,EAAA;;wBAAjE,OAAO,GAAG,SAAuD;wBACrE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC5F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC7G,SAAS,CAAC,OAAO,GAAG;4BAClB,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;4BACxD,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;yBACxE,CAAC;wBACF,qBAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBAC9B,qBAAM,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,EAAA;;wBAAjE,OAAO,GAAG,SAAuD,CAAC;wBAClE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC5F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3G,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;;;;aAChF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAxeW,QAAA,iBAAiB,qBAwe5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/db",
3
- "version": "1.0.28",
3
+ "version": "1.0.29",
4
4
  "description": "Db",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -21,7 +21,7 @@
21
21
  "watch": "reflection-watch"
22
22
  },
23
23
  "dependencies": {
24
- "@proteinjs/db-query": "^1.0.14",
24
+ "@proteinjs/db-query": "^1.0.15",
25
25
  "@proteinjs/reflection": "1.1.5",
26
26
  "@proteinjs/serializer": "1.0.10",
27
27
  "@proteinjs/service": "1.0.18",
@@ -46,5 +46,5 @@
46
46
  },
47
47
  "main": "./dist/generated/index.js",
48
48
  "types": "./dist/generated/index.d.ts",
49
- "gitHead": "f3d183e484a680baf2eda0f444edd4c447d2b3ae"
49
+ "gitHead": "0e50559db01b7b9de2454c13199dafdadbc2f986"
50
50
  }
package/test/CrudTests.ts CHANGED
@@ -13,7 +13,7 @@ export interface Employee extends Record {
13
13
  object?: string;
14
14
  }
15
15
 
16
- export class EmployeeTable extends Table<Employee> {
16
+ export class EmployeeTestTable extends Table<Employee> {
17
17
  name = 'db_test_employee';
18
18
  columns = withRecordColumns<Employee>({
19
19
  name: new StringColumn('name'),
@@ -25,13 +25,35 @@ export class EmployeeTable extends Table<Employee> {
25
25
  });
26
26
  }
27
27
 
28
+ export interface ReservedWordTest extends Record {
29
+ name: string;
30
+ order?: string;
31
+ select?: string;
32
+ join?: string;
33
+ }
34
+
35
+ export class ReservedWordTestTable extends Table<ReservedWordTest> {
36
+ name = 'db_test_reserved_word';
37
+ columns = withRecordColumns<ReservedWordTest>({
38
+ name: new StringColumn('name'),
39
+ order: new StringColumn('order'),
40
+ select: new StringColumn('select'),
41
+ join: new StringColumn('join'),
42
+ });
43
+ }
44
+
28
45
  /**
29
46
  * Used for testing purposes only.
30
47
  * */
31
48
  export const getTestTable = (tableName: string) => {
32
- const employeeTable = new EmployeeTable();
49
+ const employeeTable = new EmployeeTestTable();
33
50
  if (employeeTable.name == tableName) {
34
- return new EmployeeTable();
51
+ return new EmployeeTestTable();
52
+ }
53
+
54
+ const reservedWordTestTable = new ReservedWordTestTable();
55
+ if (reservedWordTestTable.name == tableName) {
56
+ return new ReservedWordTestTable();
35
57
  }
36
58
 
37
59
  throw new Error(`Cannot find test table: ${tableName}`);
@@ -46,11 +68,13 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
46
68
  await driver.start();
47
69
  }
48
70
 
49
- await driver.getTableManager().loadTable(new EmployeeTable());
71
+ await driver.getTableManager().loadTable(new EmployeeTestTable());
72
+ await driver.getTableManager().loadTable(new ReservedWordTestTable());
50
73
  });
51
74
 
52
75
  afterAll(async () => {
53
- await dropTable(new EmployeeTable());
76
+ await dropTable(new EmployeeTestTable());
77
+ await dropTable(new ReservedWordTestTable());
54
78
 
55
79
  if (driver.stop) {
56
80
  await driver.stop();
@@ -59,7 +83,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
59
83
 
60
84
  test('Insert', async () => {
61
85
  const testEmployee: Omit<Employee, keyof Record> = { name: 'Veronica' };
62
- const emplyeeTable: Table<Employee> = new EmployeeTable();
86
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
63
87
  const insertedEmployee = await db.insert(emplyeeTable, testEmployee);
64
88
  const fetchedEmployee = await db.get(emplyeeTable, { id: insertedEmployee.id });
65
89
  expect(fetchedEmployee).toBeTruthy();
@@ -68,7 +92,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
68
92
 
69
93
  test('Update', async () => {
70
94
  const testEmployee: Omit<Employee, keyof Record> = { name: 'Veronica' };
71
- const emplyeeTable: Table<Employee> = new EmployeeTable();
95
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
72
96
  const insertedEmployee = await db.insert(emplyeeTable, testEmployee);
73
97
  const updateCount = await db.update(
74
98
  emplyeeTable,
@@ -89,7 +113,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
89
113
 
90
114
  test('Delete', async () => {
91
115
  const testEmployee: Omit<Employee, keyof Record> = { name: 'Veronica' };
92
- const emplyeeTable: Table<Employee> = new EmployeeTable();
116
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
93
117
  const insertedEmployee = await db.insert(emplyeeTable, testEmployee);
94
118
  let fetchedEmployee = await db.get(emplyeeTable, { id: insertedEmployee.id });
95
119
  expect(fetchedEmployee).toBeTruthy();
@@ -103,7 +127,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
103
127
  const testEmployee1: Omit<Employee, keyof Record> = { name: 'Veronica', department: 'Cake Factory' };
104
128
  const testEmployee2: Omit<Employee, keyof Record> = { name: 'Brent', department: 'Cake Factory' };
105
129
  const testEmployee3: Omit<Employee, keyof Record> = { name: 'Sean', department: 'Pug Playhouse' };
106
- const emplyeeTable: Table<Employee> = new EmployeeTable();
130
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
107
131
  const fetchedEmployee1 = await db.insert(emplyeeTable, testEmployee1);
108
132
  const fetchedEmployee2 = await db.insert(emplyeeTable, testEmployee2);
109
133
  const fetchedEmployee3 = await db.insert(emplyeeTable, testEmployee3);
@@ -123,7 +147,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
123
147
  const testEmployee1: Omit<Employee, keyof Record> = { name: 'Veronica', department: 'Cake Factory' };
124
148
  const testEmployee2: Omit<Employee, keyof Record> = { name: 'Brent', department: 'Cake Factory' };
125
149
  const testEmployee3: Omit<Employee, keyof Record> = { name: 'Sean', department: 'Pug Playhouse' };
126
- const emplyeeTable: Table<Employee> = new EmployeeTable();
150
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
127
151
  const fetchedEmployee1 = await db.insert(emplyeeTable, testEmployee1);
128
152
  const fetchedEmployee2 = await db.insert(emplyeeTable, testEmployee2);
129
153
  const fetchedEmployee3 = await db.insert(emplyeeTable, testEmployee3);
@@ -144,7 +168,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
144
168
  jobTitle: null,
145
169
  isRemote: false,
146
170
  };
147
- const emplyeeTable: Table<Employee> = new EmployeeTable();
171
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
148
172
  const insertedEmployee = await db.insert(emplyeeTable, testEmployee);
149
173
  const fetchedEmployee = await db.get(emplyeeTable, { id: insertedEmployee.id });
150
174
 
@@ -160,7 +184,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
160
184
  jobTitle: 'Cowboy',
161
185
  isRemote: false,
162
186
  };
163
- const emplyeeTable: Table<Employee> = new EmployeeTable();
187
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
164
188
  const insertedEmployee = await db.insert(emplyeeTable, testEmployee);
165
189
  const fetchedEmployee = await db.get(emplyeeTable, { id: insertedEmployee.id });
166
190
  expect(fetchedEmployee).toBeTruthy();
@@ -176,7 +200,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
176
200
  jobTitle: null,
177
201
  isRemote: false,
178
202
  };
179
- const emplyeeTable: Table<Employee> = new EmployeeTable();
203
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
180
204
  const insertedEmployee = await db.insert(emplyeeTable, testEmployee);
181
205
 
182
206
  const qb = new QueryBuilder<Employee>(emplyeeTable.name)
@@ -194,7 +218,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
194
218
  const testEmployee1: Omit<Employee, keyof Record> = { name: 'Veronica', jobTitle: 'Engineer' };
195
219
  const testEmployee2: Omit<Employee, keyof Record> = { name: 'Zenyatta', jobTitle: null };
196
220
  const testEmployee3: Omit<Employee, keyof Record> = { name: 'Cassidy', jobTitle: 'Cowboy' };
197
- const emplyeeTable: Table<Employee> = new EmployeeTable();
221
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
198
222
  const insertedEmployee1 = await db.insert(emplyeeTable, testEmployee1);
199
223
  const insertedEmployee2 = await db.insert(emplyeeTable, testEmployee2);
200
224
  const insertedEmployee3 = await db.insert(emplyeeTable, testEmployee3);
@@ -241,7 +265,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
241
265
  jobTitle: 'Cowboy',
242
266
  startDate: new Date('2016-05-24T00:00:00Z'),
243
267
  };
244
- const employeeTable: Table<Employee> = new EmployeeTable();
268
+ const employeeTable: Table<Employee> = new EmployeeTestTable();
245
269
 
246
270
  const insertedEmployee1 = await db.insert(employeeTable, testEmployee1);
247
271
  const insertedEmployee2 = await db.insert(employeeTable, testEmployee2);
@@ -279,7 +303,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
279
303
  name: 'Cassidy',
280
304
  jobTitle: 'Cowboy',
281
305
  };
282
- const emplyeeTable: Table<Employee> = new EmployeeTable();
306
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
283
307
 
284
308
  const insertedEmployee1 = await db.insert(emplyeeTable, testEmployee1);
285
309
  const insertedEmployee2 = await db.insert(emplyeeTable, testEmployee2);
@@ -308,7 +332,7 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
308
332
  test('CRUD operations with undefined values', async () => {
309
333
  const testEmployee1: Omit<Employee, keyof Record> = { name: 'Veronica', jobTitle: 'Software Engineer' };
310
334
  const testEmployee2: Omit<Employee, keyof Record> = { name: 'Brent', jobTitle: undefined };
311
- const emplyeeTable: Table<Employee> = new EmployeeTable();
335
+ const emplyeeTable: Table<Employee> = new EmployeeTestTable();
312
336
 
313
337
  // Insert operation with undefined values
314
338
  await expect(db.insert(emplyeeTable, testEmployee2)).rejects.toThrow();
@@ -338,5 +362,127 @@ export const crudTests = (driver: DbDriver, dropTable: (table: Table<any>) => Pr
338
362
  });
339
363
  await db.delete(emplyeeTable, deleteValidQuery);
340
364
  });
365
+
366
+ test('Insert with reserved words', async () => {
367
+ const testRecord: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name', order: '1', select: 'Option 1' };
368
+ const table: Table<ReservedWordTest> = new ReservedWordTestTable();
369
+ const insertedRecord = await db.insert(table, testRecord);
370
+ const fetchedRecord = await db.get(table, { id: insertedRecord.id });
371
+ expect(fetchedRecord).toBeTruthy();
372
+ await db.delete(table, { id: fetchedRecord.id });
373
+ });
374
+
375
+ test('Update with reserved words', async () => {
376
+ const testRecord: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name', order: '1', select: 'Option 1' };
377
+ const table: Table<ReservedWordTest> = new ReservedWordTestTable();
378
+ const insertedRecord = await db.insert(table, testRecord);
379
+ const updateCount = await db.update(
380
+ table,
381
+ {
382
+ name: 'Updated Name',
383
+ order: '2',
384
+ join: 'Join Option',
385
+ },
386
+ { id: insertedRecord.id }
387
+ );
388
+ expect(updateCount).toBe(1);
389
+ const fetchedRecord = await db.get(table, { id: insertedRecord.id });
390
+ expect(fetchedRecord.name).toBe('Updated Name');
391
+ expect(fetchedRecord.order).toBe('2');
392
+ expect(fetchedRecord.join).toBe('Join Option');
393
+ await db.delete(table, { id: fetchedRecord.id });
394
+ });
395
+
396
+ test('Delete with reserved words', async () => {
397
+ const testRecord: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name', order: '1', select: 'Option 1' };
398
+ const table: Table<ReservedWordTest> = new ReservedWordTestTable();
399
+ const insertedRecord = await db.insert(table, testRecord);
400
+ let fetchedRecord = await db.get(table, { id: insertedRecord.id });
401
+ expect(fetchedRecord).toBeTruthy();
402
+ const deleteCount = await db.delete(table, { id: fetchedRecord.id });
403
+ expect(deleteCount).toBe(1);
404
+ fetchedRecord = await db.get(table, { id: insertedRecord.id });
405
+ expect(fetchedRecord).toBeFalsy();
406
+ });
407
+
408
+ test('Query with reserved words', async () => {
409
+ const testRecord1: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name 1', order: '1', select: 'Option 1' };
410
+ const testRecord2: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name 2', order: '1', select: 'Option 1' };
411
+ const testRecord3: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name 3', order: '2', select: 'Option 2' };
412
+ const table: Table<ReservedWordTest> = new ReservedWordTestTable();
413
+ const insertedRecord1 = await db.insert(table, testRecord1);
414
+ const insertedRecord2 = await db.insert(table, testRecord2);
415
+ const insertedRecord3 = await db.insert(table, testRecord3);
416
+ const fetchedRecords = await db.query(table, { order: '1', select: 'Option 1' });
417
+ expect(fetchedRecords.length).toBe(2);
418
+ expect(fetchedRecords[0].name).toBe('Test Name 1');
419
+ expect(fetchedRecords[1].name).toBe('Test Name 2');
420
+ const qb = new QueryBuilder<ReservedWordTest>(table.name).condition({
421
+ field: 'id',
422
+ operator: 'IN',
423
+ value: [insertedRecord1.id, insertedRecord2.id, insertedRecord3.id],
424
+ });
425
+ await db.delete(table, qb);
426
+ });
427
+
428
+ test('Query with sort and reserved words', async () => {
429
+ const testRecord1: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name 1', order: '1', select: 'Option 1' };
430
+ const testRecord2: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name 2', order: '2', select: 'Option 2' };
431
+ const testRecord3: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name 3', order: '3', select: 'Option 3' };
432
+ const table: Table<ReservedWordTest> = new ReservedWordTestTable();
433
+
434
+ const insertedRecord1 = await db.insert(table, testRecord1);
435
+ const insertedRecord2 = await db.insert(table, testRecord2);
436
+ const insertedRecord3 = await db.insert(table, testRecord3);
437
+
438
+ const sortQuery = new QueryBuilder<ReservedWordTest>(table.name).sort([
439
+ { field: 'order', byValues: ['1', '2', '3'] },
440
+ ]);
441
+ const sortResults = await db.query(table, sortQuery);
442
+
443
+ // Assertions
444
+ expect(sortResults.length).toBe(3);
445
+ expect(sortResults[0].order).toBe('1');
446
+ expect(sortResults[1].order).toBe('2');
447
+ expect(sortResults[2].order).toBe('3');
448
+
449
+ // Clean up
450
+ const qb = new QueryBuilder<ReservedWordTest>(table.name).condition({
451
+ field: 'id',
452
+ operator: 'IN',
453
+ value: [insertedRecord1.id, insertedRecord2.id, insertedRecord3.id],
454
+ });
455
+ await db.delete(table, qb);
456
+ });
457
+
458
+ test('Query with reserved words and subquery', async () => {
459
+ const testRecord1: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name 1', order: '1', select: 'Option 1' };
460
+ const testRecord2: Omit<ReservedWordTest, keyof Record> = { name: 'Test Name 2', order: '2', select: 'Option 2' };
461
+ const table: Table<ReservedWordTest> = new ReservedWordTestTable();
462
+
463
+ const insertedRecord1 = await db.insert(table, testRecord1);
464
+ const insertedRecord2 = await db.insert(table, testRecord2);
465
+
466
+ const subQb = new QueryBuilder<ReservedWordTest>(table.name).select({ fields: ['id'] }).condition({
467
+ field: 'select',
468
+ operator: '=',
469
+ value: 'Option 1',
470
+ });
471
+
472
+ const qb = new QueryBuilder<ReservedWordTest>(table.name).condition({
473
+ field: 'id',
474
+ operator: 'IN',
475
+ value: subQb,
476
+ });
477
+
478
+ // Execute the query
479
+ const results = await db.query(table, qb);
480
+ expect(results.length).toBe(1);
481
+ expect(results[0].name).toBe('Test Name 1');
482
+
483
+ // Clean up
484
+ await db.delete(table, { id: insertedRecord1.id });
485
+ await db.delete(table, { id: insertedRecord2.id });
486
+ }, 10000);
341
487
  };
342
488
  };
@@ -20,7 +20,7 @@ interface User extends Record {
20
20
  active: boolean;
21
21
  }
22
22
 
23
- class UserTable extends Table<User> {
23
+ class UserTestTable extends Table<User> {
24
24
  name = 'db_test_user';
25
25
  columns = withRecordColumns<User>({
26
26
  name: new StringColumn('name'),
@@ -87,7 +87,7 @@ export const tableManagerTests = (
87
87
 
88
88
  afterEach(async () => {
89
89
  await dropTable(new ColumnTypesTable());
90
- await dropTable(new UserTable());
90
+ await dropTable(new UserTestTable());
91
91
  });
92
92
 
93
93
  afterAll(async () => {
@@ -97,7 +97,7 @@ export const tableManagerTests = (
97
97
  });
98
98
 
99
99
  test('create primary key', async () => {
100
- const userTable = new UserTable();
100
+ const userTable = new UserTestTable();
101
101
  await tableManager.loadTable(userTable);
102
102
  expect(await tableManager.tableExists(userTable)).toBeTruthy();
103
103
  const primaryKey = await tableManager.schemaMetadata.getPrimaryKey(userTable);
@@ -106,7 +106,7 @@ export const tableManagerTests = (
106
106
  });
107
107
 
108
108
  test('create columns', async () => {
109
- const userTable = new UserTable();
109
+ const userTable = new UserTestTable();
110
110
  await tableManager.loadTable(userTable);
111
111
  expect(await tableManager.tableExists(userTable)).toBeTruthy();
112
112
  expect(await tableManager.schemaMetadata.columnExists(userTable.columns.name.name, userTable)).toBeTruthy();
@@ -115,7 +115,7 @@ export const tableManagerTests = (
115
115
  });
116
116
 
117
117
  test('add column via alter', async () => {
118
- const userTable = new UserTable();
118
+ const userTable = new UserTestTable();
119
119
  const dataColumn = new ObjectColumn('data');
120
120
  await tableManager.loadTable(userTable);
121
121
  expect(await tableManager.tableExists(userTable)).toBeTruthy();
@@ -133,7 +133,7 @@ export const tableManagerTests = (
133
133
  });
134
134
 
135
135
  test('columns created with correct types', async () => {
136
- const userTable = new UserTable();
136
+ const userTable = new UserTestTable();
137
137
  const columnTypesTable = new ColumnTypesTable();
138
138
  await tableManager.loadTable(userTable);
139
139
  await tableManager.loadTable(columnTypesTable);
@@ -178,7 +178,7 @@ export const tableManagerTests = (
178
178
  });
179
179
 
180
180
  test('columns created with correct options', async () => {
181
- const userTable = new UserTable();
181
+ const userTable = new UserTestTable();
182
182
  const columnTypesTable = new ColumnTypesTable();
183
183
  await tableManager.loadTable(userTable);
184
184
  await tableManager.loadTable(columnTypesTable);
@@ -203,7 +203,7 @@ export const tableManagerTests = (
203
203
  return;
204
204
  }
205
205
 
206
- const userTable = new UserTable();
206
+ const userTable = new UserTestTable();
207
207
  await tableManager.loadTable(userTable);
208
208
  expect(await tableManager.tableExists(userTable)).toBeTruthy();
209
209
  expect(await tableManager.schemaMetadata.columnExists(userTable.columns.name.name, userTable)).toBeTruthy();
@@ -219,7 +219,7 @@ export const tableManagerTests = (
219
219
  return;
220
220
  }
221
221
 
222
- const userTable = new UserTable();
222
+ const userTable = new UserTestTable();
223
223
  const columnTypesTable = new ColumnTypesTable();
224
224
  await tableManager.loadTable(userTable);
225
225
  await tableManager.loadTable(columnTypesTable);
@@ -287,7 +287,7 @@ export const tableManagerTests = (
287
287
  });
288
288
 
289
289
  test('alter unique constraint', async () => {
290
- const userTable = new UserTable();
290
+ const userTable = new UserTestTable();
291
291
  const columnTypesTable = new ColumnTypesTable();
292
292
  await tableManager.loadTable(userTable);
293
293
  columnTypesTable.columns.text.options = { defaultValue: async () => 'asdf' };
@@ -409,7 +409,7 @@ export const tableManagerTests = (
409
409
  return;
410
410
  }
411
411
 
412
- const userTable = new UserTable();
412
+ const userTable = new UserTestTable();
413
413
  const columnTypesTable = new ColumnTypesTable();
414
414
  await tableManager.loadTable(userTable);
415
415
  columnTypesTable.columns.text.options = { defaultValue: async () => 'asdf' };
@@ -528,7 +528,7 @@ export const tableManagerTests = (
528
528
  });
529
529
 
530
530
  test('create index', async () => {
531
- const userTable = new UserTable();
531
+ const userTable = new UserTestTable();
532
532
  await tableManager.loadTable(userTable);
533
533
  expect(await tableManager.tableExists(userTable)).toBeTruthy();
534
534
  const indexes = await tableManager.schemaMetadata.getIndexes(userTable);
@@ -537,7 +537,7 @@ export const tableManagerTests = (
537
537
  });
538
538
 
539
539
  test('alter index', async () => {
540
- const userTable = new UserTable();
540
+ const userTable = new UserTestTable();
541
541
  await tableManager.loadTable(userTable);
542
542
  expect(await tableManager.tableExists(userTable)).toBeTruthy();
543
543
  let indexes = await tableManager.schemaMetadata.getIndexes(userTable);