@nest-boot/row-level-security 7.3.1 → 8.0.0-beta.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 (103) hide show
  1. package/dist/decorators/policy.decorator.d.ts +4 -4
  2. package/dist/decorators/policy.decorator.js +25 -31
  3. package/dist/decorators/policy.decorator.js.map +1 -1
  4. package/dist/enums/policy-command.enum.js +2 -5
  5. package/dist/enums/policy-command.enum.js.map +1 -1
  6. package/dist/enums/policy-mode.enum.js +2 -5
  7. package/dist/enums/policy-mode.enum.js.map +1 -1
  8. package/dist/enums/row-level-security-role.enum.js +2 -5
  9. package/dist/enums/row-level-security-role.enum.js.map +1 -1
  10. package/dist/index.d.ts +11 -11
  11. package/dist/index.js +11 -27
  12. package/dist/index.js.map +1 -1
  13. package/dist/interfaces/index.d.ts +4 -4
  14. package/dist/interfaces/index.js +3 -19
  15. package/dist/interfaces/index.js.map +1 -1
  16. package/dist/interfaces/policy-metadata.interface.d.ts +2 -2
  17. package/dist/interfaces/policy-metadata.interface.js +1 -2
  18. package/dist/interfaces/policy-options.interface.d.ts +2 -2
  19. package/dist/interfaces/policy-options.interface.js +1 -2
  20. package/dist/interfaces/policy-sql-options.interface.d.ts +2 -2
  21. package/dist/interfaces/policy-sql-options.interface.js +1 -2
  22. package/dist/interfaces/row-level-security-migration-generator.interface.d.ts +1 -1
  23. package/dist/interfaces/row-level-security-migration-generator.interface.js +1 -2
  24. package/dist/row-level-security-driver.d.ts +4 -3
  25. package/dist/row-level-security-driver.js +8 -19
  26. package/dist/row-level-security-driver.js.map +1 -1
  27. package/dist/row-level-security-migration-generator.d.ts +1 -1
  28. package/dist/row-level-security-migration-generator.js +40 -41
  29. package/dist/row-level-security-migration-generator.js.map +1 -1
  30. package/dist/row-level-security-migration.d.ts +1 -1
  31. package/dist/row-level-security-migration.js +9 -13
  32. package/dist/row-level-security-migration.js.map +1 -1
  33. package/dist/row-level-security-migrator.d.ts +2 -2
  34. package/dist/row-level-security-migrator.js +9 -13
  35. package/dist/row-level-security-migrator.js.map +1 -1
  36. package/dist/row-level-security.d.ts +1 -1
  37. package/dist/row-level-security.js +19 -23
  38. package/dist/row-level-security.js.map +1 -1
  39. package/dist/utils/assert-identifier.js +1 -4
  40. package/dist/utils/assert-identifier.js.map +1 -1
  41. package/dist/utils/assert-snake-case.js +1 -4
  42. package/dist/utils/assert-snake-case.js.map +1 -1
  43. package/dist/utils/create-policy-bootstrap-sql-statements.js +1 -4
  44. package/dist/utils/create-policy-bootstrap-sql-statements.js.map +1 -1
  45. package/dist/utils/create-policy-down-sql.d.ts +1 -1
  46. package/dist/utils/create-policy-down-sql.js +5 -8
  47. package/dist/utils/create-policy-down-sql.js.map +1 -1
  48. package/dist/utils/create-policy-privilege-down-sql-statements.d.ts +1 -1
  49. package/dist/utils/create-policy-privilege-down-sql-statements.js +19 -22
  50. package/dist/utils/create-policy-privilege-down-sql-statements.js.map +1 -1
  51. package/dist/utils/create-policy-role-sql-statements.js +8 -13
  52. package/dist/utils/create-policy-role-sql-statements.js.map +1 -1
  53. package/dist/utils/create-policy-up-sql-statements.d.ts +1 -1
  54. package/dist/utils/create-policy-up-sql-statements.js +26 -29
  55. package/dist/utils/create-policy-up-sql-statements.js.map +1 -1
  56. package/dist/utils/create-row-level-security-transaction-setup.js +15 -18
  57. package/dist/utils/create-row-level-security-transaction-setup.js.map +1 -1
  58. package/dist/utils/escape-sql-literal.js +1 -4
  59. package/dist/utils/escape-sql-literal.js.map +1 -1
  60. package/dist/utils/index.d.ts +12 -12
  61. package/dist/utils/index.js +11 -27
  62. package/dist/utils/index.js.map +1 -1
  63. package/dist/utils/is-postgres-keyword-requiring-quote.js +1 -4
  64. package/dist/utils/is-postgres-keyword-requiring-quote.js.map +1 -1
  65. package/dist/utils/normalize-postgres-type-alias.util.js +1 -4
  66. package/dist/utils/normalize-postgres-type-alias.util.js.map +1 -1
  67. package/dist/utils/quote-identifier.js +3 -6
  68. package/dist/utils/quote-identifier.js.map +1 -1
  69. package/dist/utils/quote-qualified-identifier.js +3 -6
  70. package/dist/utils/quote-qualified-identifier.js.map +1 -1
  71. package/dist/utils/row-level-security-context-builder.d.ts +1 -1
  72. package/dist/utils/row-level-security-context-builder.js +7 -13
  73. package/dist/utils/row-level-security-context-builder.js.map +1 -1
  74. package/dist/utils/row-level-security-context-builder.types.js +1 -2
  75. package/package.json +31 -31
  76. package/dist/decorators/policy.decorator.spec.d.ts +0 -1
  77. package/dist/decorators/policy.decorator.spec.js +0 -550
  78. package/dist/decorators/policy.decorator.spec.js.map +0 -1
  79. package/dist/index.spec.d.ts +0 -1
  80. package/dist/index.spec.js +0 -64
  81. package/dist/index.spec.js.map +0 -1
  82. package/dist/row-level-security-driver.spec.d.ts +0 -1
  83. package/dist/row-level-security-driver.spec.js +0 -267
  84. package/dist/row-level-security-driver.spec.js.map +0 -1
  85. package/dist/row-level-security-migration-generator.spec.d.ts +0 -1
  86. package/dist/row-level-security-migration-generator.spec.js +0 -1135
  87. package/dist/row-level-security-migration-generator.spec.js.map +0 -1
  88. package/dist/row-level-security-migration.spec.d.ts +0 -1
  89. package/dist/row-level-security-migration.spec.js +0 -32
  90. package/dist/row-level-security-migration.spec.js.map +0 -1
  91. package/dist/row-level-security.spec.d.ts +0 -1
  92. package/dist/row-level-security.spec.js +0 -52
  93. package/dist/row-level-security.spec.js.map +0 -1
  94. package/dist/tsconfig.build.tsbuildinfo +0 -1
  95. package/dist/utils/normalize-postgres-type-alias.spec.d.ts +0 -1
  96. package/dist/utils/normalize-postgres-type-alias.spec.js +0 -28
  97. package/dist/utils/normalize-postgres-type-alias.spec.js.map +0 -1
  98. package/dist/utils/policy-migration-sql.spec.d.ts +0 -1
  99. package/dist/utils/policy-migration-sql.spec.js +0 -273
  100. package/dist/utils/policy-migration-sql.spec.js.map +0 -1
  101. package/dist/utils/row-level-security-context-builder.spec.d.ts +0 -1
  102. package/dist/utils/row-level-security-context-builder.spec.js +0 -40
  103. package/dist/utils/row-level-security-context-builder.spec.js.map +0 -1
@@ -1,267 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const postgresql_1 = require("@mikro-orm/postgresql");
4
- const request_context_1 = require("@nest-boot/request-context");
5
- const row_level_security_1 = require("./row-level-security");
6
- const row_level_security_driver_1 = require("./row-level-security-driver");
7
- describe("RowLevelSecurityDriver", () => {
8
- afterEach(() => {
9
- jest.restoreAllMocks();
10
- });
11
- it("delegates unchanged outside RequestContext by default", async () => {
12
- const executeSpy = mockPostgreSqlExecute("query-result");
13
- const transactional = jest.fn();
14
- const connection = createConnection({ transactional });
15
- const result = await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(connection, "select original", [], "all");
16
- expect(result).toBe("query-result");
17
- expect(transactional).not.toHaveBeenCalled();
18
- expect(executeSpy).toHaveBeenCalledTimes(1);
19
- expect(executeSpy).toHaveBeenCalledWith("select original", [], "all", undefined, undefined);
20
- });
21
- it("delegates unchanged inside RequestContext when no row level security context is set", async () => {
22
- const executeSpy = mockPostgreSqlExecute("query-result");
23
- const transactional = jest.fn();
24
- const connection = createConnection({ transactional });
25
- const result = await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "job" }), async () => {
26
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(connection, "select original", [], "all");
27
- });
28
- expect(result).toBe("query-result");
29
- expect(transactional).not.toHaveBeenCalled();
30
- expect(executeSpy).toHaveBeenCalledTimes(1);
31
- expect(executeSpy).toHaveBeenCalledWith("select original", [], "all", undefined, undefined);
32
- });
33
- it("delegates unchanged when row level security mode is disabled", async () => {
34
- const executeSpy = mockPostgreSqlExecute("query-result");
35
- const transactional = jest.fn();
36
- const connection = createConnection({ transactional });
37
- const result = await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "job" }), async () => {
38
- row_level_security_1.RowLevelSecurity.setMode(row_level_security_1.RowLevelSecurityMode.DISABLED);
39
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
40
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 7);
41
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(connection, "select original", [], "all");
42
- });
43
- expect(result).toBe("query-result");
44
- expect(transactional).not.toHaveBeenCalled();
45
- expect(executeSpy).toHaveBeenCalledTimes(1);
46
- expect(executeSpy).toHaveBeenCalledWith("select original", [], "all", undefined, undefined);
47
- });
48
- it("clears transaction-local row level security before a disabled query", async () => {
49
- const transaction = {};
50
- const executeSpy = mockPostgreSqlExecute("query-result");
51
- await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
52
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
53
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 7);
54
- row_level_security_1.RowLevelSecurity.setContext("request_id", "abc");
55
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select scoped", [], "all", transaction);
56
- row_level_security_1.RowLevelSecurity.setMode(row_level_security_1.RowLevelSecurityMode.DISABLED);
57
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select disabled", [], "all", transaction);
58
- });
59
- expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', null, true),set_config('app.request_id', null, true);", [], "run", transaction, undefined);
60
- expect(executeSpy).toHaveBeenNthCalledWith(4, "select disabled", [], "all", transaction, undefined);
61
- });
62
- it("clears transaction-local row level security before a query without RequestContext", async () => {
63
- const transaction = {};
64
- const executeSpy = mockPostgreSqlExecute("query-result");
65
- await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
66
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
67
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 7);
68
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select scoped", [], "all", transaction);
69
- });
70
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select unscoped", [], "all", transaction);
71
- expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', null, true);", [], "run", transaction, undefined);
72
- expect(executeSpy).toHaveBeenNthCalledWith(4, "select unscoped", [], "all", transaction, undefined);
73
- });
74
- it("applies anonymous row level security when mode is enabled without context values", async () => {
75
- const executeSpy = mockPostgreSqlExecute("query-result");
76
- const transaction = {};
77
- const transactional = jest.fn(async (cb) => {
78
- return await cb(transaction);
79
- });
80
- const connection = createConnection({ transactional });
81
- const result = await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "http" }), async () => {
82
- row_level_security_1.RowLevelSecurity.setMode(row_level_security_1.RowLevelSecurityMode.ENABLED);
83
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(connection, "select original", [], "all");
84
- });
85
- expect(result).toBe("query-result");
86
- expect(transactional).toHaveBeenCalledTimes(1);
87
- expect(executeSpy).toHaveBeenNthCalledWith(1, "SET LOCAL ROLE anonymous;", [], "run", transaction, undefined);
88
- });
89
- it("applies row level security on an existing transaction before executing the query", async () => {
90
- const transaction = {};
91
- const loggerContext = { label: "test" };
92
- const executeSpy = mockPostgreSqlExecute("query-result");
93
- const result = await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
94
- row_level_security_1.RowLevelSecurity.setRole("app_authenticated");
95
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 42);
96
- row_level_security_1.RowLevelSecurity.setContext("request_id", "abc");
97
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select original", ["value"], "all", transaction, loggerContext);
98
- });
99
- expect(result).toBe("query-result");
100
- expect(executeSpy).toHaveBeenNthCalledWith(1, "SET LOCAL ROLE app_authenticated;\nSELECT set_config('app.tenant_id', '42', true),set_config('app.request_id', 'abc', true);", [], "run", transaction, loggerContext);
101
- expect(executeSpy).toHaveBeenNthCalledWith(2, "select original", ["value"], "all", transaction, loggerContext);
102
- });
103
- it("opens a short transaction when executing a query outside an existing transaction", async () => {
104
- const transaction = {};
105
- const executeSpy = mockPostgreSqlExecute("query-result");
106
- const transactional = jest.fn(async (cb) => {
107
- return await cb(transaction);
108
- });
109
- const connection = createConnection({ transactional });
110
- const result = await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
111
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
112
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 7);
113
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(connection, "select original", [], "all");
114
- });
115
- expect(result).toBe("query-result");
116
- expect(transactional).toHaveBeenCalledTimes(1);
117
- expect(executeSpy).toHaveBeenNthCalledWith(1, "SET LOCAL ROLE authenticated;\nSELECT set_config('app.tenant_id', '7', true);", [], "run", transaction, undefined);
118
- expect(executeSpy).toHaveBeenNthCalledWith(2, "select original", [], "all", transaction, undefined);
119
- });
120
- it("reuses the transaction from a transacting Knex query builder", async () => {
121
- const queryBuilder = {
122
- client: {
123
- transacting: true,
124
- },
125
- };
126
- const executeSpy = mockPostgreSqlExecute("query-result");
127
- const transactional = jest.fn();
128
- const connection = createConnection({ transactional });
129
- const result = await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
130
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
131
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(connection, queryBuilder, [], "all");
132
- });
133
- expect(result).toBe("query-result");
134
- expect(transactional).not.toHaveBeenCalled();
135
- expect(executeSpy).toHaveBeenNthCalledWith(1, "SET LOCAL ROLE authenticated;", [], "run", queryBuilder, undefined);
136
- expect(executeSpy).toHaveBeenNthCalledWith(2, queryBuilder, [], "all", queryBuilder, undefined);
137
- });
138
- it("tracks row level security state on the shared transaction client for Knex query builders", async () => {
139
- const transactionClient = {
140
- transacting: true,
141
- };
142
- const scopedQueryBuilder = {
143
- client: transactionClient,
144
- };
145
- const unscopedQueryBuilder = {
146
- client: transactionClient,
147
- };
148
- const executeSpy = mockPostgreSqlExecute("query-result");
149
- await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
150
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
151
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 7);
152
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), scopedQueryBuilder, [], "all");
153
- });
154
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), unscopedQueryBuilder, [], "all");
155
- expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', null, true);", [], "run", unscopedQueryBuilder, undefined);
156
- });
157
- it("opens a short transaction for a Knex query builder without a transaction", async () => {
158
- const queryBuilder = {
159
- client: {
160
- transacting: false,
161
- },
162
- };
163
- const transaction = {};
164
- const executeSpy = mockPostgreSqlExecute("query-result");
165
- const transactional = jest.fn(async (cb) => {
166
- return await cb(transaction);
167
- });
168
- const connection = createConnection({ transactional });
169
- const result = await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
170
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
171
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(connection, queryBuilder, [], "all");
172
- });
173
- expect(result).toBe("query-result");
174
- expect(transactional).toHaveBeenCalledTimes(1);
175
- expect(executeSpy).toHaveBeenNthCalledWith(1, "SET LOCAL ROLE authenticated;", [], "run", transaction, undefined);
176
- expect(executeSpy).toHaveBeenNthCalledWith(2, queryBuilder, [], "all", transaction, undefined);
177
- });
178
- it("reuses row level security setup on the same transaction until the context changes", async () => {
179
- const transaction = {};
180
- const executeSpy = mockPostgreSqlExecute("query-result");
181
- await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
182
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
183
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 1);
184
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select one", [], "all", transaction);
185
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select two", [], "all", transaction);
186
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 2);
187
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select three", [], "all", transaction);
188
- });
189
- const rlsQueries = executeSpy.mock.calls.filter(([query]) => typeof query === "string" && query.startsWith("SET LOCAL ROLE"));
190
- expect(rlsQueries).toHaveLength(2);
191
- expect(rlsQueries[0]?.[0]).toBe("SET LOCAL ROLE authenticated;\nSELECT set_config('app.tenant_id', '1', true);");
192
- expect(rlsQueries[1]?.[0]).toBe("SET LOCAL ROLE authenticated;\nSELECT set_config('app.tenant_id', '2', true);");
193
- });
194
- it("clears removed context keys before reusing a transaction", async () => {
195
- const transaction = {};
196
- const executeSpy = mockPostgreSqlExecute("query-result");
197
- await request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
198
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
199
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 1);
200
- row_level_security_1.RowLevelSecurity.setContext("request_id", "abc");
201
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select one", [], "all", transaction);
202
- row_level_security_1.RowLevelSecurity.clear();
203
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
204
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 2);
205
- await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select two", [], "all", transaction);
206
- });
207
- const setupQueries = executeSpy.mock.calls
208
- .map(([query]) => query)
209
- .filter((query) => typeof query === "string" && query.startsWith("SET LOCAL"));
210
- expect(setupQueries).toEqual([
211
- "SET LOCAL ROLE authenticated;\nSELECT set_config('app.tenant_id', '1', true),set_config('app.request_id', 'abc', true);",
212
- "SET LOCAL ROLE authenticated;\nSELECT set_config('app.tenant_id', '2', true);\nSELECT set_config('app.request_id', null, true);",
213
- ]);
214
- });
215
- it("serializes setup and query execution on the same transaction", async () => {
216
- const transaction = {};
217
- const executionOrder = [];
218
- let activeTenantId;
219
- jest
220
- .spyOn(postgresql_1.PostgreSqlConnection.prototype, "execute")
221
- .mockImplementation(async (queryOrKnex) => {
222
- if (typeof queryOrKnex === "string") {
223
- if (queryOrKnex.startsWith("SET LOCAL ROLE")) {
224
- activeTenantId = queryOrKnex.includes("'1'") ? 1 : 2;
225
- executionOrder.push(`setup:${String(activeTenantId)}`);
226
- return undefined;
227
- }
228
- executionOrder.push(`${queryOrKnex}:${String(activeTenantId)}`);
229
- return activeTenantId;
230
- }
231
- return undefined;
232
- });
233
- const firstQuery = request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
234
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
235
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 1);
236
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select one", [], "get", transaction);
237
- });
238
- const secondQuery = request_context_1.RequestContext.run(new request_context_1.RequestContext({ type: "test" }), async () => {
239
- row_level_security_1.RowLevelSecurity.setRole("authenticated");
240
- row_level_security_1.RowLevelSecurity.setContext("tenant_id", 2);
241
- return await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select two", [], "get", transaction);
242
- });
243
- await expect(Promise.all([firstQuery, secondQuery])).resolves.toEqual([
244
- 1, 2,
245
- ]);
246
- expect(executionOrder).toEqual([
247
- "setup:1",
248
- "select one:1",
249
- "setup:2",
250
- "select two:2",
251
- ]);
252
- });
253
- });
254
- function mockPostgreSqlExecute(result) {
255
- return jest
256
- .spyOn(postgresql_1.PostgreSqlConnection.prototype, "execute")
257
- .mockImplementation(async (queryOrKnex) => {
258
- return typeof queryOrKnex === "string" &&
259
- queryOrKnex.startsWith("SET LOCAL ROLE")
260
- ? undefined
261
- : result;
262
- });
263
- }
264
- function createConnection(overrides = {}) {
265
- return Object.assign(Object.create(row_level_security_driver_1.RowLevelSecurityConnection.prototype), overrides);
266
- }
267
- //# sourceMappingURL=row-level-security-driver.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"row-level-security-driver.spec.js","sourceRoot":"","sources":["../src/row-level-security-driver.spec.ts"],"names":[],"mappings":";;AAAA,sDAA6D;AAC7D,gEAA4D;AAE5D,6DAA8E;AAC9E,2EAAyE;AAEzE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACpE,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,KAAK,CACN,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,iBAAiB,EACjB,EAAE,EACF,KAAK,EACL,SAAS,EACT,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,gCAAc,CAAC,GAAG,CACrC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EACnC,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,KAAK,CACN,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,iBAAiB,EACjB,EAAE,EACF,KAAK,EACL,SAAS,EACT,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,gCAAc,CAAC,GAAG,CACrC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EACnC,KAAK,IAAI,EAAE;YACT,qCAAgB,CAAC,OAAO,CAAC,yCAAoB,CAAC,QAAQ,CAAC,CAAC;YACxD,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,KAAK,CACN,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,iBAAiB,EACjB,EAAE,EACF,KAAK,EACL,SAAS,EACT,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,gCAAc,CAAC,GAAG,CAAC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;YACxE,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5C,qCAAgB,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAEjD,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,eAAe,EACf,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;YAEF,qCAAgB,CAAC,OAAO,CAAC,yCAAoB,CAAC,QAAQ,CAAC,CAAC;YAExD,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,iBAAiB,EACjB,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,gHAAgH,EAChH,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,iBAAiB,EACjB,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,gCAAc,CAAC,GAAG,CAAC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;YACxE,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,eAAe,EACf,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,iBAAiB,EACjB,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,uEAAuE,EACvE,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,iBAAiB,EACjB,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAA6B,EAAE,EAAE;YACpE,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,gCAAc,CAAC,GAAG,CACrC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACpC,KAAK,IAAI,EAAE;YACT,qCAAgB,CAAC,OAAO,CAAC,yCAAoB,CAAC,OAAO,CAAC,CAAC;YAEvD,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,KAAK,CACN,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,2BAA2B,EAC3B,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,gCAAc,CAAC,GAAG,CACrC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACpC,KAAK,IAAI,EAAE;YACT,qCAAgB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC9C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC7C,qCAAgB,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAEjD,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,gBAAgB,EAAE,EAClB,iBAAiB,EACjB,CAAC,OAAO,CAAC,EACT,KAAK,EACL,WAAW,EACX,aAAa,CACd,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,8HAA8H,EAC9H,EAAE,EACF,KAAK,EACL,WAAW,EACX,aAAa,CACd,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,iBAAiB,EACjB,CAAC,OAAO,CAAC,EACT,KAAK,EACL,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAA6B,EAAE,EAAE;YACpE,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,gCAAc,CAAC,GAAG,CACrC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACpC,KAAK,IAAI,EAAE;YACT,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,KAAK,CACN,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,+EAA+E,EAC/E,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,iBAAiB,EACjB,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE;gBACN,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;QACF,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,gCAAc,CAAC,GAAG,CACrC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACpC,KAAK,IAAI,EAAE;YACT,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAE1C,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,UAAU,EACV,YAAmB,EACnB,EAAE,EACF,KAAK,CACN,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,+BAA+B,EAC/B,EAAE,EACF,KAAK,EACL,YAAY,EACZ,SAAS,CACV,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,YAAY,EACZ,EAAE,EACF,KAAK,EACL,YAAY,EACZ,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;QACxG,MAAM,iBAAiB,GAAG;YACxB,WAAW,EAAE,IAAI;SAClB,CAAC;QACF,MAAM,kBAAkB,GAAG;YACzB,MAAM,EAAE,iBAAiB;SAC1B,CAAC;QACF,MAAM,oBAAoB,GAAG;YAC3B,MAAM,EAAE,iBAAiB;SAC1B,CAAC;QACF,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,gCAAc,CAAC,GAAG,CAAC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;YACxE,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,kBAAyB,EACzB,EAAE,EACF,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,oBAA2B,EAC3B,EAAE,EACF,KAAK,CACN,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,uEAAuE,EACvE,EAAE,EACF,KAAK,EACL,oBAAoB,EACpB,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE;gBACN,WAAW,EAAE,KAAK;aACnB;SACF,CAAC;QACF,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAA6B,EAAE,EAAE;YACpE,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,gCAAc,CAAC,GAAG,CACrC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACpC,KAAK,IAAI,EAAE;YACT,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAE1C,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,UAAU,EACV,YAAmB,EACnB,EAAE,EACF,KAAK,CACN,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,+BAA+B,EAC/B,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CACxC,CAAC,EACD,YAAY,EACZ,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,gCAAc,CAAC,GAAG,CAAC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;YACxE,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,YAAY,EACZ,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;YACF,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,YAAY,EACZ,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;YAEF,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,cAAc,EACd,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAC7C,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CACV,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAClE,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7B,+EAA+E,CAChF,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7B,+EAA+E,CAChF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,gCAAc,CAAC,GAAG,CAAC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;YACxE,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5C,qCAAgB,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAEjD,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,YAAY,EACZ,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;YAEF,qCAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACrD,gBAAgB,EAAE,EAClB,YAAY,EACZ,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK;aACvC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;aACvB,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CACtE,CAAC;QAEJ,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,yHAAyH;YACzH,iIAAiI;SAClI,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,IAAI,cAAkC,CAAC;QAEvC,IAAI;aACD,KAAK,CAAC,iCAAoB,CAAC,SAAS,EAAE,SAAS,CAAC;aAChD,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACxC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC7C,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,cAAc,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAEvD,OAAO,SAAgB,CAAC;gBAC1B,CAAC;gBAED,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAEhE,OAAO,cAAqB,CAAC;YAC/B,CAAC;YAED,OAAO,SAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEL,MAAM,UAAU,GAAG,gCAAc,CAAC,GAAG,CACnC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACpC,KAAK,IAAI,EAAE;YACT,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,gBAAgB,EAAE,EAClB,YAAY,EACZ,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;QACJ,CAAC,CACF,CAAC;QACF,MAAM,WAAW,GAAG,gCAAc,CAAC,GAAG,CACpC,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACpC,KAAK,IAAI,EAAE;YACT,qCAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,qCAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5C,OAAO,MAAM,sDAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC5D,gBAAgB,EAAE,EAClB,YAAY,EACZ,EAAE,EACF,KAAK,EACL,WAAW,CACZ,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpE,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC7B,SAAS;YACT,cAAc;YACd,SAAS;YACT,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAAC,MAAe;IAC5C,OAAO,IAAI;SACR,KAAK,CAAC,iCAAoB,CAAC,SAAS,EAAE,SAAS,CAAC;SAChD,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QACxC,OAAO,OAAO,WAAW,KAAK,QAAQ;YACpC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACxC,CAAC,CAAE,SAAiB;YACpB,CAAC,CAAE,MAAc,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,YAAqC,EAAE;IAC/D,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,MAAM,CAAC,sDAA0B,CAAC,SAAS,CAAC,EACnD,SAAS,CACoB,CAAC;AAClC,CAAC"}
@@ -1 +0,0 @@
1
- export {};