@expo/entity-database-adapter-knex 0.26.1 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/build/EntityFields.d.ts +20 -0
  3. package/build/EntityFields.js +33 -0
  4. package/build/EntityFields.js.map +1 -0
  5. package/build/PostgresEntityDatabaseAdapter.d.ts +3 -2
  6. package/build/PostgresEntityDatabaseAdapter.js +12 -3
  7. package/build/PostgresEntityDatabaseAdapter.js.map +1 -1
  8. package/build/PostgresEntityQueryContextProvider.d.ts +1 -0
  9. package/build/PostgresEntityQueryContextProvider.js +3 -0
  10. package/build/PostgresEntityQueryContextProvider.js.map +1 -1
  11. package/build/__integration-tests__/PostgresEntityIntegration-test.js +42 -1
  12. package/build/__integration-tests__/PostgresEntityIntegration-test.js.map +1 -1
  13. package/build/__integration-tests__/PostgresEntityQueryContextProvider-test.d.ts +1 -0
  14. package/build/__integration-tests__/PostgresEntityQueryContextProvider-test.js +88 -0
  15. package/build/__integration-tests__/PostgresEntityQueryContextProvider-test.js.map +1 -0
  16. package/build/__tests__/EntityFields-test.d.ts +1 -0
  17. package/build/__tests__/EntityFields-test.js +8 -0
  18. package/build/__tests__/EntityFields-test.js.map +1 -0
  19. package/build/index.d.ts +1 -0
  20. package/build/index.js +15 -0
  21. package/build/index.js.map +1 -1
  22. package/build/testfixtures/PostgresTestEntity.d.ts +1 -0
  23. package/build/testfixtures/PostgresTestEntity.js +8 -4
  24. package/build/testfixtures/PostgresTestEntity.js.map +1 -1
  25. package/build/testfixtures/PostgresTriggerTestEntity.js +1 -2
  26. package/build/testfixtures/PostgresTriggerTestEntity.js.map +1 -1
  27. package/build/testfixtures/PostgresUniqueTestEntity.d.ts +19 -0
  28. package/build/testfixtures/PostgresUniqueTestEntity.js +66 -0
  29. package/build/testfixtures/PostgresUniqueTestEntity.js.map +1 -0
  30. package/build/testfixtures/PostgresValidatorTestEntity.js +1 -2
  31. package/build/testfixtures/PostgresValidatorTestEntity.js.map +1 -1
  32. package/package.json +4 -3
  33. package/src/EntityFields.ts +29 -0
  34. package/src/PostgresEntityDatabaseAdapter.ts +18 -4
  35. package/src/PostgresEntityQueryContextProvider.ts +6 -0
  36. package/src/__integration-tests__/PostgresEntityIntegration-test.ts +55 -1
  37. package/src/__integration-tests__/PostgresEntityQueryContextProvider-test.ts +101 -0
  38. package/src/__tests__/EntityFields-test.ts +19 -0
  39. package/src/index.ts +1 -0
  40. package/src/testfixtures/PostgresTestEntity.ts +8 -5
  41. package/src/testfixtures/PostgresTriggerTestEntity.ts +1 -3
  42. package/src/testfixtures/PostgresUniqueTestEntity.ts +115 -0
  43. package/src/testfixtures/PostgresValidatorTestEntity.ts +1 -3
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020-present 650 Industries, Inc. (aka Expo)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,20 @@
1
+ import { EntityFieldDefinition } from '@expo/entity';
2
+ /**
3
+ * EntityFieldDefinition for a Postres column with a JS JSON array type.
4
+ */
5
+ export declare class JSONArrayField extends EntityFieldDefinition<any[]> {
6
+ protected validateInputValueInternal(value: any[]): boolean;
7
+ }
8
+ /**
9
+ * EntityFieldDefinition for a Postgres column that may be a JS JSON array type.
10
+ * Does not do any validation.
11
+ */
12
+ export declare class MaybeJSONArrayField extends EntityFieldDefinition<any | any[]> {
13
+ protected validateInputValueInternal(_value: any): boolean;
14
+ }
15
+ /**
16
+ * EntityFieldDefinition for a Postgres BIGINT column.
17
+ */
18
+ export declare class BigIntField extends EntityFieldDefinition<string> {
19
+ protected validateInputValueInternal(value: string): boolean;
20
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BigIntField = exports.MaybeJSONArrayField = exports.JSONArrayField = void 0;
4
+ const entity_1 = require("@expo/entity");
5
+ /**
6
+ * EntityFieldDefinition for a Postres column with a JS JSON array type.
7
+ */
8
+ class JSONArrayField extends entity_1.EntityFieldDefinition {
9
+ validateInputValueInternal(value) {
10
+ return Array.isArray(value);
11
+ }
12
+ }
13
+ exports.JSONArrayField = JSONArrayField;
14
+ /**
15
+ * EntityFieldDefinition for a Postgres column that may be a JS JSON array type.
16
+ * Does not do any validation.
17
+ */
18
+ class MaybeJSONArrayField extends entity_1.EntityFieldDefinition {
19
+ validateInputValueInternal(_value) {
20
+ return true;
21
+ }
22
+ }
23
+ exports.MaybeJSONArrayField = MaybeJSONArrayField;
24
+ /**
25
+ * EntityFieldDefinition for a Postgres BIGINT column.
26
+ */
27
+ class BigIntField extends entity_1.EntityFieldDefinition {
28
+ validateInputValueInternal(value) {
29
+ return typeof value === 'string';
30
+ }
31
+ }
32
+ exports.BigIntField = BigIntField;
33
+ //# sourceMappingURL=EntityFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityFields.js","sourceRoot":"","sources":["../src/EntityFields.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AAErD;;GAEG;AACH,MAAa,cAAe,SAAQ,8BAA4B;IACpD,0BAA0B,CAAC,KAAY;QAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,wCAIC;AAED;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,8BAAkC;IAC/D,0BAA0B,CAAC,MAAW;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,kDAIC;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,8BAA6B;IAClD,0BAA0B,CAAC,KAAa;QAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;IACnC,CAAC;CACF;AAJD,kCAIC"}
@@ -1,11 +1,12 @@
1
- import { EntityDatabaseAdapter, FieldTransformerMap, TableQuerySelectionModifiers, TableFieldSingleValueEqualityCondition, TableFieldMultiValueEqualityCondition } from '@expo/entity';
1
+ import { EntityDatabaseAdapter, FieldTransformerMap, TableQuerySelectionModifiers, TableFieldSingleValueEqualityCondition, TableFieldMultiValueEqualityCondition, TableQuerySelectionModifiersWithOrderByRaw } from '@expo/entity';
2
2
  import { Knex } from 'knex';
3
3
  export default class PostgresEntityDatabaseAdapter<TFields> extends EntityDatabaseAdapter<TFields> {
4
4
  protected getFieldTransformerMap(): FieldTransformerMap;
5
5
  protected fetchManyWhereInternalAsync(queryInterface: Knex, tableName: string, tableField: string, tableValues: readonly any[]): Promise<object[]>;
6
+ private applyQueryModifiersToQueryOrderByRaw;
6
7
  private applyQueryModifiersToQuery;
7
8
  protected fetchManyByFieldEqualityConjunctionInternalAsync(queryInterface: Knex, tableName: string, tableFieldSingleValueEqualityOperands: TableFieldSingleValueEqualityCondition[], tableFieldMultiValueEqualityOperands: TableFieldMultiValueEqualityCondition[], querySelectionModifiers: TableQuerySelectionModifiers): Promise<object[]>;
8
- protected fetchManyByRawWhereClauseInternalAsync(queryInterface: Knex, tableName: string, rawWhereClause: string, bindings: object | any[], querySelectionModifiers: TableQuerySelectionModifiers): Promise<object[]>;
9
+ protected fetchManyByRawWhereClauseInternalAsync(queryInterface: Knex, tableName: string, rawWhereClause: string, bindings: object | any[], querySelectionModifiers: TableQuerySelectionModifiersWithOrderByRaw): Promise<object[]>;
9
10
  protected insertInternalAsync(queryInterface: Knex, tableName: string, object: object): Promise<object[]>;
10
11
  protected updateInternalAsync(queryInterface: Knex, tableName: string, tableIdField: string, id: any, object: object): Promise<object[]>;
11
12
  protected deleteInternalAsync(queryInterface: Knex, tableName: string, tableIdField: string, id: any): Promise<number>;
@@ -4,12 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const entity_1 = require("@expo/entity");
7
+ const EntityFields_1 = require("./EntityFields");
7
8
  const wrapNativePostgresCallAsync_1 = __importDefault(require("./errors/wrapNativePostgresCallAsync"));
8
9
  class PostgresEntityDatabaseAdapter extends entity_1.EntityDatabaseAdapter {
9
10
  getFieldTransformerMap() {
10
11
  return new Map([
11
12
  [
12
- entity_1.JSONArrayField.name,
13
+ EntityFields_1.JSONArrayField.name,
13
14
  {
14
15
  /**
15
16
  * JSON array fields must be stringified before insertion using Knex.
@@ -19,7 +20,7 @@ class PostgresEntityDatabaseAdapter extends entity_1.EntityDatabaseAdapter {
19
20
  },
20
21
  ],
21
22
  [
22
- entity_1.MaybeJSONArrayField.name,
23
+ EntityFields_1.MaybeJSONArrayField.name,
23
24
  {
24
25
  /**
25
26
  * JSON array fields must be stringified before insertion using Knex.
@@ -37,6 +38,14 @@ class PostgresEntityDatabaseAdapter extends entity_1.EntityDatabaseAdapter {
37
38
  .from(tableName)
38
39
  .whereRaw('?? = ANY(?)', [tableField, tableValues]));
39
40
  }
41
+ applyQueryModifiersToQueryOrderByRaw(query, querySelectionModifiers) {
42
+ let ret = this.applyQueryModifiersToQuery(query, querySelectionModifiers);
43
+ const { orderByRaw } = querySelectionModifiers;
44
+ if (orderByRaw !== undefined) {
45
+ ret = ret.orderByRaw(orderByRaw);
46
+ }
47
+ return ret;
48
+ }
40
49
  applyQueryModifiersToQuery(query, querySelectionModifiers) {
41
50
  const { orderBy, offset, limit } = querySelectionModifiers;
42
51
  let ret = query;
@@ -91,7 +100,7 @@ class PostgresEntityDatabaseAdapter extends entity_1.EntityDatabaseAdapter {
91
100
  .select()
92
101
  .from(tableName)
93
102
  .whereRaw(rawWhereClause, bindings);
94
- query = this.applyQueryModifiersToQuery(query, querySelectionModifiers);
103
+ query = this.applyQueryModifiersToQueryOrderByRaw(query, querySelectionModifiers);
95
104
  return await (0, wrapNativePostgresCallAsync_1.default)(() => query);
96
105
  }
97
106
  async insertInternalAsync(queryInterface, tableName, object) {
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresEntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/PostgresEntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresEntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/PostgresEntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export default class PostgresEntityQueryContextProvider extends EntityQueryConte
8
8
  constructor(knexInstance: Knex);
9
9
  protected getQueryInterface(): any;
10
10
  protected createTransactionRunner<T>(): (transactionScope: (trx: any) => Promise<T>) => Promise<T>;
11
+ protected createNestedTransactionRunner<T>(outerQueryInterface: any): (transactionScope: (queryInterface: any) => Promise<T>) => Promise<T>;
11
12
  }
@@ -15,6 +15,9 @@ class PostgresEntityQueryContextProvider extends entity_1.EntityQueryContextProv
15
15
  createTransactionRunner() {
16
16
  return (transactionScope) => this.knexInstance.transaction(transactionScope);
17
17
  }
18
+ createNestedTransactionRunner(outerQueryInterface) {
19
+ return (transactionScope) => outerQueryInterface.transaction(transactionScope);
20
+ }
18
21
  }
19
22
  exports.default = PostgresEntityQueryContextProvider;
20
23
  //# sourceMappingURL=PostgresEntityQueryContextProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresEntityQueryContextProvider.js","sourceRoot":"","sources":["../src/PostgresEntityQueryContextProvider.ts"],"names":[],"mappings":";;AAAA,yCAA0D;AAG1D;;GAEG;AACH,MAAqB,kCAAmC,SAAQ,mCAA0B;IACxF,YAA6B,YAAkB;QAC7C,KAAK,EAAE,CAAC;QADmB,iBAAY,GAAZ,YAAY,CAAM;IAE/C,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,uBAAuB;QAG/B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;CACF;AAdD,qDAcC"}
1
+ {"version":3,"file":"PostgresEntityQueryContextProvider.js","sourceRoot":"","sources":["../src/PostgresEntityQueryContextProvider.ts"],"names":[],"mappings":";;AAAA,yCAA0D;AAG1D;;GAEG;AACH,MAAqB,kCAAmC,SAAQ,mCAA0B;IACxF,YAA6B,YAAkB;QAC7C,KAAK,EAAE,CAAC;QADmB,iBAAY,GAAZ,YAAY,CAAM;IAE/C,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,uBAAuB;QAG/B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAES,6BAA6B,CACrC,mBAAwB;QAExB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAE,mBAA4B,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC3F,CAAC;CACF;AApBD,qDAoBC"}
@@ -106,6 +106,17 @@ describe('postgres entity integration', () => {
106
106
  expect(entity2.getField('maybeJsonArrayField')).toEqual({ hello: 'world' });
107
107
  });
108
108
  });
109
+ describe('BIGINT fields', () => {
110
+ it('supports BIGINT fields', async () => {
111
+ const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
112
+ let entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1).setField('bigintField', '72057594037928038').createAsync());
113
+ expect(entity.getField('bigintField')).toEqual('72057594037928038');
114
+ entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.updater(entity).setField('bigintField', '10').updateAsync());
115
+ expect(entity.getField('bigintField')).toEqual('10');
116
+ entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.updater(entity).setField('bigintField', '-10').updateAsync());
117
+ expect(entity.getField('bigintField')).toEqual('-10');
118
+ });
119
+ });
109
120
  describe('conjunction field equality loading', () => {
110
121
  it('supports single fieldValue and multiple fieldValues', async () => {
111
122
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
@@ -272,6 +283,13 @@ describe('postgres entity integration', () => {
272
283
  });
273
284
  expect(resultsMultipleOrderBy).toHaveLength(3);
274
285
  expect(resultsMultipleOrderBy.map((e) => e.getField('name'))).toEqual(['c', 'b', 'a']);
286
+ const resultsOrderByRaw = await PostgresTestEntity_1.default.loader(vc1)
287
+ .enforcing()
288
+ .loadManyByRawWhereClauseAsync('has_a_dog = ?', [true], {
289
+ orderByRaw: 'has_a_dog ASC, name DESC',
290
+ });
291
+ expect(resultsOrderByRaw).toHaveLength(3);
292
+ expect(resultsOrderByRaw.map((e) => e.getField('name'))).toEqual(['c', 'b', 'a']);
275
293
  });
276
294
  });
277
295
  describe('trigger transaction behavior', () => {
@@ -407,6 +425,7 @@ describe('postgres entity integration', () => {
407
425
  it('calls callbacks correctly', async () => {
408
426
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
409
427
  let preCommitCallCount = 0;
428
+ let preCommitInnerCallCount = 0;
410
429
  let postCommitCallCount = 0;
411
430
  await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
412
431
  queryContext.appendPostCommitCallback(async () => {
@@ -415,6 +434,27 @@ describe('postgres entity integration', () => {
415
434
  queryContext.appendPreCommitCallback(async () => {
416
435
  preCommitCallCount++;
417
436
  }, 0);
437
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
438
+ innerQueryContext.appendPostCommitCallback(async () => {
439
+ postCommitCallCount++;
440
+ });
441
+ innerQueryContext.appendPreCommitCallback(async () => {
442
+ preCommitInnerCallCount++;
443
+ }, 0);
444
+ });
445
+ // this one throws so its post commit shouldn't execute
446
+ try {
447
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
448
+ innerQueryContext.appendPostCommitCallback(async () => {
449
+ postCommitCallCount++;
450
+ });
451
+ innerQueryContext.appendPreCommitCallback(async () => {
452
+ preCommitInnerCallCount++;
453
+ throw Error('wat');
454
+ }, 0);
455
+ });
456
+ }
457
+ catch { }
418
458
  });
419
459
  await expect(vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
420
460
  queryContext.appendPostCommitCallback(async () => {
@@ -426,7 +466,8 @@ describe('postgres entity integration', () => {
426
466
  }, 0);
427
467
  })).rejects.toThrowError('wat');
428
468
  expect(preCommitCallCount).toBe(2);
429
- expect(postCommitCallCount).toBe(1);
469
+ expect(preCommitInnerCallCount).toBe(2);
470
+ expect(postCommitCallCount).toBe(2);
430
471
  });
431
472
  });
432
473
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresEntityIntegration-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/PostgresEntityIntegration-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresEntityIntegration-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/PostgresEntityIntegration-test.ts"],"names":[],"mappings":";;;;;AAAA,yCAKsB;AACtB,2CAAmD;AACnD,+BAAkC;AAClC,4DAAoC;AAEpC,4FAAoE;AACpE,0GAAkF;AAClF,8GAAsF;AACtF,uIAAoI;AAEpI,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAI,YAAkB,CAAC;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,GAAG,IAAA,WAAI,EAAC;YAClB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE;gBACV,IAAI,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvC,QAAQ,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC/C,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;gBACrD,QAAQ,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aAChD;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,4BAAkB,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,4BAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,EAAE,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAkB,EACrC,4BAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CACvE,CAAC;QAEF,sEAAsE;QACtE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,4BAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE;YAC1E,4BAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE;SAC5E,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;aACrD,SAAS,EAAE;aACX,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAEjC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAC7F,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAkB,EAAC,4BAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACtF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,EAAE,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAC7F,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAkB,EACrC,4BAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CACvE,CAAC;YACF,MAAM,MAAM,CAAC,4BAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;YAC1F,MAAM,EAAE,GAAG,IAAI,sBAAa,CAAC,IAAA,8CAAqC,GAAE,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAkB,EACrC,4BAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CACvE,CAAC;YACF,MAAM,MAAM,CAAC,4BAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;QAE9F,oBAAoB;QACpB,MAAM,WAAW,GAAG,MAAM,IAAA,4BAAkB,EAC1C,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CACxE,CAAC;QAEF,MAAM,IAAA,4BAAkB,EAAC,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE5F,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEpD,MAAM,MAAM,CACV,GAAG,CAAC,6CAA6C,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YACnF,qEAAqE;YACrE,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CACtF,CAAC;YAEF,MAAM,YAAY,CAAC;QACrB,CAAC,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAmB,EACxC,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAC7E,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAE9F,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAkB,EACrC,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBAC3C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBAC9C,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAE9F,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAkB,EACrC,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;iBAC/C,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAE9F,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAkB,EACtC,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBACnD,WAAW,EAAE,CACjB,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAkB,EACtC,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;iBACnD,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5E,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAE9F,IAAI,MAAM,GAAG,MAAM,IAAA,4BAAkB,EACnC,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAC3F,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAEpE,MAAM,GAAG,MAAM,IAAA,4BAAkB,EAC/B,4BAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAC/E,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAErD,MAAM,GAAG,MAAM,IAAA,4BAAkB,EAC/B,4BAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAChF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAE9F,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;iBACzB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;iBAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;iBACzB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;iBAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;iBACvB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;iBAC1B,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;iBAC1B,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBACjD,SAAS,EAAE;iBACX,uCAAuC,CAAC;gBACvC;oBACE,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,IAAI;iBACjB;aACF,CAAC,CAAC;YAEL,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEhC,MAAM,QAAQ,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBAClD,SAAS,EAAE;iBACX,uCAAuC,CAAC;gBACvC,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;aACrD,CAAC,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAE9F,MAAM,IAAA,4BAAkB,EAAC,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAE9F,MAAM,IAAA,4BAAkB,EAAC,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAE9F,MAAM,IAAA,4BAAkB,EAAC,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAE9F,MAAM,OAAO,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBACjD,SAAS,EAAE;iBACX,uCAAuC,CAAC,EAAE,EAAE;gBAC3C,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE;oBACP;wBACE,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,wBAAe,CAAC,UAAU;qBAClC;iBACF;aACF,CAAC,CAAC;YACL,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAC9F,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;iBACrB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YACF,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;iBACrB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YACF,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;iBACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YACF,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;iBACtB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;iBAC1B,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBACjD,SAAS,EAAE;iBACX,uCAAuC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEhD,MAAM,QAAQ,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBAClD,SAAS,EAAE;iBACX,uCAAuC,CACtC;gBACE,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBAC/C,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;aAC3C,EACD;gBACE,OAAO,EAAE;oBACP;wBACE,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,wBAAe,CAAC,UAAU;qBAClC;iBACF;aACF,CACF,CAAC;YACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAC9F,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;iBACzB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;iBAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBACjD,SAAS,EAAE;iBACX,6BAA6B,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAExD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAC9F,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;iBACzB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;iBAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,MAAM,CACV,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC3B,SAAS,EAAE;iBACX,6BAA6B,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,CAClE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAE9F,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;iBACrB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;iBACrB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,IAAA,4BAAkB,EACtB,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;iBACrB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;iBACzB,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBACjD,SAAS,EAAE;iBACX,6BAA6B,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE;gBACtD,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE;oBACP;wBACE,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,wBAAe,CAAC,SAAS;qBACjC;iBACF;aACF,CAAC,CAAC;YAEL,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAEnE,MAAM,sBAAsB,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBAChE,SAAS,EAAE;iBACX,6BAA6B,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE;gBACtD,OAAO,EAAE;oBACP;wBACE,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,wBAAe,CAAC,SAAS;qBACjC;oBACD;wBACE,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,wBAAe,CAAC,UAAU;qBAClC;iBACF;aACF,CAAC,CAAC;YAEL,MAAM,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAEvF,MAAM,iBAAiB,GAAG,MAAM,4BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC3D,SAAS,EAAE;iBACX,6BAA6B,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE;gBACtD,UAAU,EAAE,0BAA0B;aACvC,CAAC,CAAC;YAEL,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;gBAC7E,MAAM,GAAG,GAAG,IAAI,sBAAa,CAC3B,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAC/D,CAAC;gBAEF,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,GAAG,CAAC;qBACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;qBAChC,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;gBAC9D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CACpD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAEtB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,GAAG,CAAC;qBACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;qBAC/B,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,oCAAoC,CAAC,CAAC;gBAC7D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CACnD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAEtB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,kBAAkB,EAAE,CAC1F,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,CAAC,CAAC;gBAC3D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC,CACjD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAEtB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,kBAAkB,EAAE,CACzF,CAAC,OAAO,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;gBAC1D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAChD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAEtB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,GAAG,CAAC;qBACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;qBAC/B,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,oCAAoC,CAAC,CAAC;gBAC7D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CACnD,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;gBAC7E,MAAM,GAAG,GAAG,IAAI,sBAAa,CAC3B,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAC/D,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,mCAAyB,CAAC,OAAO,CAAC,GAAG,CAAC;qBACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;qBACxB,kBAAkB,EAAE,CAAC;gBAExB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;qBACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;qBAChC,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;gBAC9D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CACpD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAEtB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;qBACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;qBAC/B,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,oCAAoC,CAAC,CAAC;gBAC7D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CACnD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAEtB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;qBACtC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;qBAC7B,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,CAAC,CAAC;gBAC3D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC,CACjD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAEtB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;qBACtC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;qBAC5B,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;gBAC1D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAChD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAEtB,MAAM,MAAM,CACV,mCAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;qBACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;qBAC/B,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,oCAAoC,CAAC,CAAC;gBAC7D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CACnD,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;gBAC7E,MAAM,GAAG,GAAG,IAAI,sBAAa,CAC3B,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAC/D,CAAC;gBAEF,MAAM,kBAAkB,GAAG,MAAM,mCAAyB,CAAC,OAAO,CAAC,GAAG,CAAC;qBACpE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;qBAChC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,MAAM,CACV,mCAAyB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CACjE,CAAC,OAAO,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;gBAC9D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CACpD,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAE1B,MAAM,iBAAiB,GAAG,MAAM,mCAAyB,CAAC,OAAO,CAAC,GAAG,CAAC;qBACnE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;qBAC/B,kBAAkB,EAAE,CAAC;gBACxB,MAAM,MAAM,CACV,mCAAyB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAChE,CAAC,OAAO,CAAC,YAAY,CAAC,oCAAoC,CAAC,CAAC;gBAC7D,MAAM,MAAM,CACV,mCAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;qBAClC,SAAS,EAAE;qBACX,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CACnD,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;YAC/C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACtB,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;oBAC3D,MAAM,GAAG,GAAG,IAAI,sBAAa,CAC3B,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAC/D,CAAC;oBAEF,MAAM,MAAM,CACV,qCAA2B,CAAC,OAAO,CAAC,GAAG,CAAC;yBACrC,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;yBAC/C,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,oDAAoD,CAAC,CAAC;oBAC7E,MAAM,MAAM,CACV,qCAA2B,CAAC,MAAM,CAAC,GAAG,CAAC;yBACpC,SAAS,EAAE;yBACX,wBAAwB,CAAC,MAAM,EAAE,6BAA6B,CAAC,CACnE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACtB,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;oBAC3D,MAAM,GAAG,GAAG,IAAI,sBAAa,CAC3B,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAC/D,CAAC;oBAEF,MAAM,MAAM,GAAG,MAAM,qCAA2B,CAAC,OAAO,CAAC,GAAG,CAAC;yBAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;yBACxB,kBAAkB,EAAE,CAAC;oBAExB,MAAM,MAAM,CACV,qCAA2B,CAAC,OAAO,CAAC,MAAM,CAAC;yBACxC,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;yBAC/C,kBAAkB,EAAE,CACxB,CAAC,OAAO,CAAC,YAAY,CAAC,oDAAoD,CAAC,CAAC;oBAC7E,MAAM,MAAM,CACV,qCAA2B,CAAC,MAAM,CAAC,GAAG,CAAC;yBACpC,SAAS,EAAE;yBACX,wBAAwB,CAAC,MAAM,EAAE,6BAA6B,CAAC,CACnE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACtB,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;oBAC9D,MAAM,GAAG,GAAG,IAAI,sBAAa,CAC3B,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAC/D,CAAC;oBAEF,MAAM,cAAc,GAAG,MAAM,qCAA2B,CAAC,OAAO,CAAC,GAAG,CAAC;yBAClE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;yBACnC,kBAAkB,EAAE,CAAC;oBACxB,MAAM,qCAA2B,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;oBACrE,MAAM,MAAM,CACV,qCAA2B,CAAC,MAAM,CAAC,GAAG,CAAC;yBACpC,SAAS,EAAE;yBACX,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CACvD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC,IAAA,mGAAgD,EAAC,YAAY,CAAC,CAAC,CAAC;YAE9F,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,uBAAuB,GAAG,CAAC,CAAC;YAChC,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAE5B,MAAM,GAAG,CAAC,6CAA6C,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACzF,YAAY,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;oBAC/C,mBAAmB,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,YAAY,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE;oBAC9C,kBAAkB,EAAE,CAAC;gBACvB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEN,MAAM,YAAY,CAAC,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE;oBACzE,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;wBACpD,mBAAmB,EAAE,CAAC;oBACxB,CAAC,CAAC,CAAC;oBACH,iBAAiB,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE;wBACnD,uBAAuB,EAAE,CAAC;oBAC5B,CAAC,EAAE,CAAC,CAAC,CAAC;gBACR,CAAC,CAAC,CAAC;gBAEH,uDAAuD;gBACvD,IAAI;oBACF,MAAM,YAAY,CAAC,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE;wBACzE,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;4BACpD,mBAAmB,EAAE,CAAC;wBACxB,CAAC,CAAC,CAAC;wBACH,iBAAiB,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE;4BACnD,uBAAuB,EAAE,CAAC;4BAC1B,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC,EAAE,CAAC,CAAC,CAAC;oBACR,CAAC,CAAC,CAAC;iBACJ;gBAAC,MAAM,GAAE;YACZ,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,CACV,GAAG,CAAC,6CAA6C,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACnF,YAAY,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;oBAC/C,mBAAmB,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,YAAY,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE;oBAC9C,kBAAkB,EAAE,CAAC;oBACrB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,CAAC,CAAC,CACH,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAE9B,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const entity_1 = require("@expo/entity");
7
+ const knex_1 = require("knex");
8
+ const nullthrows_1 = __importDefault(require("nullthrows"));
9
+ const PostgresEntityQueryContextProvider_1 = __importDefault(require("../PostgresEntityQueryContextProvider"));
10
+ const PostgresUniqueTestEntity_1 = __importDefault(require("../testfixtures/PostgresUniqueTestEntity"));
11
+ const createKnexIntegrationTestEntityCompanionProvider_1 = require("../testfixtures/createKnexIntegrationTestEntityCompanionProvider");
12
+ describe(PostgresEntityQueryContextProvider_1.default, () => {
13
+ let knexInstance;
14
+ beforeAll(() => {
15
+ knexInstance = (0, knex_1.knex)({
16
+ client: 'pg',
17
+ connection: {
18
+ user: (0, nullthrows_1.default)(process.env['PGUSER']),
19
+ password: (0, nullthrows_1.default)(process.env['PGPASSWORD']),
20
+ host: 'localhost',
21
+ port: parseInt((0, nullthrows_1.default)(process.env['PGPORT']), 10),
22
+ database: (0, nullthrows_1.default)(process.env['PGDATABASE']),
23
+ },
24
+ });
25
+ });
26
+ beforeEach(async () => {
27
+ await PostgresUniqueTestEntity_1.default.createOrTruncatePostgresTable(knexInstance);
28
+ });
29
+ afterAll(async () => {
30
+ await PostgresUniqueTestEntity_1.default.dropPostgresTable(knexInstance);
31
+ await knexInstance.destroy();
32
+ });
33
+ it('supports nested transactions', async () => {
34
+ const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
35
+ await PostgresUniqueTestEntity_1.default.creator(vc1).setField('name', 'unique').enforceCreateAsync();
36
+ const id = (await PostgresUniqueTestEntity_1.default.creator(vc1).setField('name', 'wat').enforceCreateAsync()).getID();
37
+ await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
38
+ const entity = await PostgresUniqueTestEntity_1.default.loader(vc1, queryContext)
39
+ .enforcing()
40
+ .loadByIDAsync(id);
41
+ await PostgresUniqueTestEntity_1.default.updater(entity, queryContext)
42
+ .setField('name', 'wat2')
43
+ .enforceUpdateAsync();
44
+ // ensure the outer transaction is not aborted due to postgres error in inner transaction,
45
+ // in this case the error triggered is a unique constraint violation
46
+ try {
47
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
48
+ const entity = await PostgresUniqueTestEntity_1.default.loader(vc1, innerQueryContext)
49
+ .enforcing()
50
+ .loadByIDAsync(id);
51
+ await PostgresUniqueTestEntity_1.default.updater(entity, innerQueryContext)
52
+ .setField('name', 'unique')
53
+ .enforceUpdateAsync();
54
+ });
55
+ }
56
+ catch { }
57
+ const entity2 = await PostgresUniqueTestEntity_1.default.loader(vc1, queryContext)
58
+ .enforcing()
59
+ .loadByIDAsync(id);
60
+ await PostgresUniqueTestEntity_1.default.updater(entity2, queryContext)
61
+ .setField('name', 'wat3')
62
+ .enforceUpdateAsync();
63
+ });
64
+ const entityLoaded = await PostgresUniqueTestEntity_1.default.loader(vc1).enforcing().loadByIDAsync(id);
65
+ expect(entityLoaded.getField('name')).toEqual('wat3');
66
+ });
67
+ it('supports multi-nested transactions', async () => {
68
+ const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
69
+ const id = (await PostgresUniqueTestEntity_1.default.creator(vc1).setField('name', 'wat').enforceCreateAsync()).getID();
70
+ await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
71
+ await queryContext.runInNestedTransactionAsync(async (innerQueryContext) => {
72
+ await innerQueryContext.runInNestedTransactionAsync(async (innerQueryContex2) => {
73
+ await innerQueryContex2.runInNestedTransactionAsync(async (innerQueryContex3) => {
74
+ const entity = await PostgresUniqueTestEntity_1.default.loader(vc1, innerQueryContex3)
75
+ .enforcing()
76
+ .loadByIDAsync(id);
77
+ await PostgresUniqueTestEntity_1.default.updater(entity, innerQueryContex3)
78
+ .setField('name', 'wat3')
79
+ .enforceUpdateAsync();
80
+ });
81
+ });
82
+ });
83
+ });
84
+ const entityLoaded = await PostgresUniqueTestEntity_1.default.loader(vc1).enforcing().loadByIDAsync(id);
85
+ expect(entityLoaded.getField('name')).toEqual('wat3');
86
+ });
87
+ });
88
+ //# sourceMappingURL=PostgresEntityQueryContextProvider-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresEntityQueryContextProvider-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/PostgresEntityQueryContextProvider-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const entity_1 = require("@expo/entity");
4
+ const EntityFields_1 = require("../EntityFields");
5
+ (0, entity_1.describeFieldTestCase)(new EntityFields_1.JSONArrayField({ columnName: 'wat' }), [[[1, 2]], [['hello']]], [1, 'hello']);
6
+ (0, entity_1.describeFieldTestCase)(new EntityFields_1.MaybeJSONArrayField({ columnName: 'wat' }), [1, 'hello', [['hello']]], []);
7
+ (0, entity_1.describeFieldTestCase)(new EntityFields_1.BigIntField({ columnName: 'wat' }), ['123457682149816498126412896', '123', '-1', '-124147812641876482716841'], [1, false, -1, 1e6, {}]);
8
+ //# sourceMappingURL=EntityFields-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityFields-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityFields-test.ts"],"names":[],"mappings":";;AAAA,yCAAqD;AAErD,kDAAmF;AAEnF,IAAA,8BAAqB,EACnB,IAAI,6BAAc,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EACzC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAQ,CAAC,EACrC,CAAC,CAAC,EAAE,OAAO,CAAC,CACb,CAAC;AACF,IAAA,8BAAqB,EACnB,IAAI,kCAAmB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACzB,EAAE,CACH,CAAC;AACF,IAAA,8BAAqB,EACnB,IAAI,0BAAW,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EACtC,CAAC,6BAA6B,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,CAAC,EACzE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACxB,CAAC"}
package/build/index.d.ts CHANGED
@@ -5,3 +5,4 @@
5
5
  export { default as PostgresEntityDatabaseAdapter } from './PostgresEntityDatabaseAdapter';
6
6
  export { default as PostgresEntityDatabaseAdapterProvider } from './PostgresEntityDatabaseAdapterProvider';
7
7
  export { default as PostgresEntityQueryContextProvider } from './PostgresEntityQueryContextProvider';
8
+ export * from './EntityFields';
package/build/index.js CHANGED
@@ -4,6 +4,20 @@
4
4
  * @packageDocumentation
5
5
  * @module @expo/entity-database-adapter-knex
6
6
  */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
7
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
8
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
23
  };
@@ -15,4 +29,5 @@ var PostgresEntityDatabaseAdapterProvider_1 = require("./PostgresEntityDatabaseA
15
29
  Object.defineProperty(exports, "PostgresEntityDatabaseAdapterProvider", { enumerable: true, get: function () { return __importDefault(PostgresEntityDatabaseAdapterProvider_1).default; } });
16
30
  var PostgresEntityQueryContextProvider_1 = require("./PostgresEntityQueryContextProvider");
17
31
  Object.defineProperty(exports, "PostgresEntityQueryContextProvider", { enumerable: true, get: function () { return __importDefault(PostgresEntityQueryContextProvider_1).default; } });
32
+ __exportStar(require("./EntityFields"), exports);
18
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;AAEH,iFAA2F;AAAlF,+JAAA,OAAO,OAAiC;AACjD,iGAA2G;AAAlG,+KAAA,OAAO,OAAyC;AACzD,2FAAqG;AAA5F,yKAAA,OAAO,OAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;;;;;AAEH,iFAA2F;AAAlF,+JAAA,OAAO,OAAiC;AACjD,iGAA2G;AAAlG,+KAAA,OAAO,OAAyC;AACzD,2FAAqG;AAA5F,yKAAA,OAAO,OAAsC;AACtD,iDAA+B"}
@@ -14,6 +14,7 @@ declare type PostgresTestEntityFields = {
14
14
  maybeJsonArrayField: string[] | {
15
15
  hello: string;
16
16
  } | null;
17
+ bigintField: string | null;
17
18
  };
18
19
  export default class PostgresTestEntity extends Entity<PostgresTestEntityFields, string, ViewerContext> {
19
20
  static getCompanionDefinition(): EntityCompanionDefinition<PostgresTestEntityFields, string, ViewerContext, PostgresTestEntity, PostgresTestEntityPrivacyPolicy>;
@@ -2,17 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.postgresTestEntityConfiguration = void 0;
4
4
  const entity_1 = require("@expo/entity");
5
+ const EntityFields_1 = require("../EntityFields");
5
6
  class PostgresTestEntity extends entity_1.Entity {
6
7
  static getCompanionDefinition() {
7
8
  return postgresTestEntityCompanionDefinition;
8
9
  }
9
10
  static async createOrTruncatePostgresTable(knex) {
10
- await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'); // for uuid_generate_v4()
11
11
  const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
12
12
  const hasTable = await knex.schema.hasTable(tableName);
13
13
  if (!hasTable) {
14
14
  await knex.schema.createTable(tableName, (table) => {
15
- table.uuid('id').defaultTo(knex.raw('uuid_generate_v4()')).primary();
15
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
16
16
  table.string('name');
17
17
  table.boolean('has_a_dog');
18
18
  table.boolean('has_a_cat');
@@ -21,6 +21,7 @@ class PostgresTestEntity extends entity_1.Entity {
21
21
  table.jsonb('json_object_field');
22
22
  table.dateTime('date_field', { useTz: true });
23
23
  table.jsonb('maybe_json_array_field');
24
+ table.bigint('bigint_field');
24
25
  });
25
26
  }
26
27
  await knex.into(tableName).truncate();
@@ -71,7 +72,7 @@ exports.postgresTestEntityConfiguration = new entity_1.EntityConfiguration({
71
72
  stringArray: new entity_1.StringArrayField({
72
73
  columnName: 'string_array',
73
74
  }),
74
- jsonArrayField: new entity_1.JSONArrayField({
75
+ jsonArrayField: new EntityFields_1.JSONArrayField({
75
76
  columnName: 'json_array_field',
76
77
  }),
77
78
  jsonObjectField: new entity_1.JSONObjectField({
@@ -80,9 +81,12 @@ exports.postgresTestEntityConfiguration = new entity_1.EntityConfiguration({
80
81
  dateField: new entity_1.DateField({
81
82
  columnName: 'date_field',
82
83
  }),
83
- maybeJsonArrayField: new entity_1.MaybeJSONArrayField({
84
+ maybeJsonArrayField: new EntityFields_1.MaybeJSONArrayField({
84
85
  columnName: 'maybe_json_array_field',
85
86
  }),
87
+ bigintField: new EntityFields_1.BigIntField({
88
+ columnName: 'bigint_field',
89
+ }),
86
90
  },
87
91
  databaseAdapterFlavor: 'postgres',
88
92
  cacheAdapterFlavor: 'redis',
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresTestEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/PostgresTestEntity.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,11 @@ class PostgresTriggerTestEntity extends entity_1.Entity {
7
7
  return postgresTestEntityCompanionDefinition;
8
8
  }
9
9
  static async createOrTruncatePostgresTable(knex) {
10
- await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'); // for uuid_generate_v4()
11
10
  const tableName = this.getCompanionDefinition().entityConfiguration.tableName;
12
11
  const hasTable = await knex.schema.hasTable(tableName);
13
12
  if (!hasTable) {
14
13
  await knex.schema.createTable(tableName, (table) => {
15
- table.uuid('id').defaultTo(knex.raw('uuid_generate_v4()')).primary();
14
+ table.uuid('id').defaultTo(knex.raw('gen_random_uuid()')).primary();
16
15
  table.string('name');
17
16
  });
18
17
  }