@venizia/ignis-connectors 0.2.0 → 0.2.1-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 (183) hide show
  1. package/dist/cjs/common/internal/echo.d.ts +5 -0
  2. package/dist/cjs/common/internal/echo.d.ts.map +1 -0
  3. package/dist/cjs/common/internal/echo.js +22 -0
  4. package/dist/cjs/common/internal/echo.js.map +1 -0
  5. package/dist/cjs/common/internal/index.d.ts +2 -0
  6. package/dist/cjs/common/internal/index.d.ts.map +1 -0
  7. package/dist/cjs/common/internal/index.js +18 -0
  8. package/dist/cjs/common/internal/index.js.map +1 -0
  9. package/dist/cjs/relational/core/datasources/base.d.ts.map +1 -1
  10. package/dist/cjs/relational/core/datasources/base.js +32 -36
  11. package/dist/cjs/relational/core/datasources/base.js.map +1 -1
  12. package/dist/cjs/relational/core/datasources/transaction-lifecycle.d.ts +48 -0
  13. package/dist/cjs/relational/core/datasources/transaction-lifecycle.d.ts.map +1 -0
  14. package/dist/cjs/relational/core/datasources/transaction-lifecycle.js +85 -0
  15. package/dist/cjs/relational/core/datasources/transaction-lifecycle.js.map +1 -0
  16. package/dist/cjs/relational/core/datasources/transaction-state.d.ts +5 -0
  17. package/dist/cjs/relational/core/datasources/transaction-state.d.ts.map +1 -0
  18. package/dist/cjs/relational/core/datasources/transaction-state.js +12 -0
  19. package/dist/cjs/relational/core/datasources/transaction-state.js.map +1 -0
  20. package/dist/cjs/relational/core/repositories/common/types.d.ts +3 -1
  21. package/dist/cjs/relational/core/repositories/common/types.d.ts.map +1 -1
  22. package/dist/cjs/relational/core/repositories/core/base.d.ts +17 -0
  23. package/dist/cjs/relational/core/repositories/core/base.d.ts.map +1 -1
  24. package/dist/cjs/relational/core/repositories/core/base.js +69 -0
  25. package/dist/cjs/relational/core/repositories/core/base.js.map +1 -1
  26. package/dist/cjs/relational/core/repositories/dialect/filter.d.ts +14 -7
  27. package/dist/cjs/relational/core/repositories/dialect/filter.d.ts.map +1 -1
  28. package/dist/cjs/relational/core/repositories/dialect/filter.js +61 -48
  29. package/dist/cjs/relational/core/repositories/dialect/filter.js.map +1 -1
  30. package/dist/cjs/relational/core/repositories/dialect/internal/index.d.ts +1 -0
  31. package/dist/cjs/relational/core/repositories/dialect/internal/index.d.ts.map +1 -1
  32. package/dist/cjs/relational/core/repositories/dialect/internal/index.js +1 -0
  33. package/dist/cjs/relational/core/repositories/dialect/internal/index.js.map +1 -1
  34. package/dist/cjs/relational/core/repositories/dialect/internal/json-utils.d.ts.map +1 -1
  35. package/dist/cjs/relational/core/repositories/dialect/internal/json-utils.js +2 -1
  36. package/dist/cjs/relational/core/repositories/dialect/internal/json-utils.js.map +1 -1
  37. package/dist/cjs/relational/core/repositories/dialect/internal/subquery.d.ts +13 -0
  38. package/dist/cjs/relational/core/repositories/dialect/internal/subquery.d.ts.map +1 -0
  39. package/dist/cjs/relational/core/repositories/dialect/internal/subquery.js +22 -0
  40. package/dist/cjs/relational/core/repositories/dialect/internal/subquery.js.map +1 -0
  41. package/dist/cjs/relational/core/repositories/dialect/update.d.ts.map +1 -1
  42. package/dist/cjs/relational/core/repositories/dialect/update.js +8 -7
  43. package/dist/cjs/relational/core/repositories/dialect/update.js.map +1 -1
  44. package/dist/cjs/relational/postgres/repositories/dialect/filter.d.ts +4 -1
  45. package/dist/cjs/relational/postgres/repositories/dialect/filter.d.ts.map +1 -1
  46. package/dist/cjs/relational/postgres/repositories/dialect/filter.js +36 -9
  47. package/dist/cjs/relational/postgres/repositories/dialect/filter.js.map +1 -1
  48. package/dist/cjs/relational/postgres/repositories/dialect/internal/index.d.ts +2 -0
  49. package/dist/cjs/relational/postgres/repositories/dialect/internal/index.d.ts.map +1 -0
  50. package/dist/cjs/relational/postgres/repositories/dialect/internal/index.js +18 -0
  51. package/dist/cjs/relational/postgres/repositories/dialect/internal/index.js.map +1 -0
  52. package/dist/cjs/relational/postgres/repositories/dialect/internal/json-path.d.ts +9 -0
  53. package/dist/cjs/relational/postgres/repositories/dialect/internal/json-path.d.ts.map +1 -0
  54. package/dist/cjs/relational/postgres/repositories/dialect/internal/json-path.js +14 -0
  55. package/dist/cjs/relational/postgres/repositories/dialect/internal/json-path.js.map +1 -0
  56. package/dist/cjs/relational/postgres/repositories/dialect/query.d.ts +2 -0
  57. package/dist/cjs/relational/postgres/repositories/dialect/query.d.ts.map +1 -1
  58. package/dist/cjs/relational/postgres/repositories/dialect/query.js +3 -0
  59. package/dist/cjs/relational/postgres/repositories/dialect/query.js.map +1 -1
  60. package/dist/cjs/relational/postgres/repositories/dialect/update.d.ts.map +1 -1
  61. package/dist/cjs/relational/postgres/repositories/dialect/update.js +2 -1
  62. package/dist/cjs/relational/postgres/repositories/dialect/update.js.map +1 -1
  63. package/dist/cjs/relational/sqlite/repositories/dialect/filter.d.ts +2 -1
  64. package/dist/cjs/relational/sqlite/repositories/dialect/filter.d.ts.map +1 -1
  65. package/dist/cjs/relational/sqlite/repositories/dialect/filter.js +10 -4
  66. package/dist/cjs/relational/sqlite/repositories/dialect/filter.js.map +1 -1
  67. package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-path.d.ts +9 -6
  68. package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-path.d.ts.map +1 -1
  69. package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-path.js +21 -9
  70. package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-path.js.map +1 -1
  71. package/dist/cjs/relational/sqlite/repositories/dialect/query.d.ts +2 -0
  72. package/dist/cjs/relational/sqlite/repositories/dialect/query.d.ts.map +1 -1
  73. package/dist/cjs/relational/sqlite/repositories/dialect/query.js +3 -0
  74. package/dist/cjs/relational/sqlite/repositories/dialect/query.js.map +1 -1
  75. package/dist/cjs/search/core/repositories/common/dialect-helpers.d.ts.map +1 -1
  76. package/dist/cjs/search/core/repositories/common/dialect-helpers.js +2 -1
  77. package/dist/cjs/search/core/repositories/common/dialect-helpers.js.map +1 -1
  78. package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
  79. package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.js +5 -8
  80. package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
  81. package/dist/cjs/search/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
  82. package/dist/cjs/search/typesense/repositories/dialect/query-dialect.js +5 -8
  83. package/dist/cjs/search/typesense/repositories/dialect/query-dialect.js.map +1 -1
  84. package/dist/cjs/testing/index.d.ts +5 -0
  85. package/dist/cjs/testing/index.d.ts.map +1 -0
  86. package/dist/cjs/testing/index.js +22 -0
  87. package/dist/cjs/testing/index.js.map +1 -0
  88. package/dist/cjs/testing/transaction-double.d.ts +44 -0
  89. package/dist/cjs/testing/transaction-double.d.ts.map +1 -0
  90. package/dist/cjs/testing/transaction-double.js +68 -0
  91. package/dist/cjs/testing/transaction-double.js.map +1 -0
  92. package/dist/esm/common/internal/echo.d.ts +5 -0
  93. package/dist/esm/common/internal/echo.d.ts.map +1 -0
  94. package/dist/esm/common/internal/echo.js +18 -0
  95. package/dist/esm/common/internal/echo.js.map +1 -0
  96. package/dist/esm/common/internal/index.d.ts +2 -0
  97. package/dist/esm/common/internal/index.d.ts.map +1 -0
  98. package/dist/esm/common/internal/index.js +2 -0
  99. package/dist/esm/common/internal/index.js.map +1 -0
  100. package/dist/esm/relational/core/datasources/base.d.ts.map +1 -1
  101. package/dist/esm/relational/core/datasources/base.js +32 -36
  102. package/dist/esm/relational/core/datasources/base.js.map +1 -1
  103. package/dist/esm/relational/core/datasources/transaction-lifecycle.d.ts +48 -0
  104. package/dist/esm/relational/core/datasources/transaction-lifecycle.d.ts.map +1 -0
  105. package/dist/esm/relational/core/datasources/transaction-lifecycle.js +80 -0
  106. package/dist/esm/relational/core/datasources/transaction-lifecycle.js.map +1 -0
  107. package/dist/esm/relational/core/datasources/transaction-state.d.ts +5 -0
  108. package/dist/esm/relational/core/datasources/transaction-state.d.ts.map +1 -0
  109. package/dist/esm/relational/core/datasources/transaction-state.js +8 -0
  110. package/dist/esm/relational/core/datasources/transaction-state.js.map +1 -0
  111. package/dist/esm/relational/core/repositories/common/types.d.ts +3 -1
  112. package/dist/esm/relational/core/repositories/common/types.d.ts.map +1 -1
  113. package/dist/esm/relational/core/repositories/core/base.d.ts +17 -0
  114. package/dist/esm/relational/core/repositories/core/base.d.ts.map +1 -1
  115. package/dist/esm/relational/core/repositories/core/base.js +69 -0
  116. package/dist/esm/relational/core/repositories/core/base.js.map +1 -1
  117. package/dist/esm/relational/core/repositories/dialect/filter.d.ts +14 -7
  118. package/dist/esm/relational/core/repositories/dialect/filter.d.ts.map +1 -1
  119. package/dist/esm/relational/core/repositories/dialect/filter.js +56 -43
  120. package/dist/esm/relational/core/repositories/dialect/filter.js.map +1 -1
  121. package/dist/esm/relational/core/repositories/dialect/internal/index.d.ts +1 -0
  122. package/dist/esm/relational/core/repositories/dialect/internal/index.d.ts.map +1 -1
  123. package/dist/esm/relational/core/repositories/dialect/internal/index.js +1 -0
  124. package/dist/esm/relational/core/repositories/dialect/internal/index.js.map +1 -1
  125. package/dist/esm/relational/core/repositories/dialect/internal/json-utils.d.ts.map +1 -1
  126. package/dist/esm/relational/core/repositories/dialect/internal/json-utils.js +2 -1
  127. package/dist/esm/relational/core/repositories/dialect/internal/json-utils.js.map +1 -1
  128. package/dist/esm/relational/core/repositories/dialect/internal/subquery.d.ts +13 -0
  129. package/dist/esm/relational/core/repositories/dialect/internal/subquery.d.ts.map +1 -0
  130. package/dist/esm/relational/core/repositories/dialect/internal/subquery.js +18 -0
  131. package/dist/esm/relational/core/repositories/dialect/internal/subquery.js.map +1 -0
  132. package/dist/esm/relational/core/repositories/dialect/update.d.ts.map +1 -1
  133. package/dist/esm/relational/core/repositories/dialect/update.js +3 -2
  134. package/dist/esm/relational/core/repositories/dialect/update.js.map +1 -1
  135. package/dist/esm/relational/postgres/repositories/dialect/filter.d.ts +4 -1
  136. package/dist/esm/relational/postgres/repositories/dialect/filter.d.ts.map +1 -1
  137. package/dist/esm/relational/postgres/repositories/dialect/filter.js +37 -10
  138. package/dist/esm/relational/postgres/repositories/dialect/filter.js.map +1 -1
  139. package/dist/esm/relational/postgres/repositories/dialect/internal/index.d.ts +2 -0
  140. package/dist/esm/relational/postgres/repositories/dialect/internal/index.d.ts.map +1 -0
  141. package/dist/esm/relational/postgres/repositories/dialect/internal/index.js +2 -0
  142. package/dist/esm/relational/postgres/repositories/dialect/internal/index.js.map +1 -0
  143. package/dist/esm/relational/postgres/repositories/dialect/internal/json-path.d.ts +9 -0
  144. package/dist/esm/relational/postgres/repositories/dialect/internal/json-path.d.ts.map +1 -0
  145. package/dist/esm/relational/postgres/repositories/dialect/internal/json-path.js +10 -0
  146. package/dist/esm/relational/postgres/repositories/dialect/internal/json-path.js.map +1 -0
  147. package/dist/esm/relational/postgres/repositories/dialect/query.d.ts +2 -0
  148. package/dist/esm/relational/postgres/repositories/dialect/query.d.ts.map +1 -1
  149. package/dist/esm/relational/postgres/repositories/dialect/query.js +3 -0
  150. package/dist/esm/relational/postgres/repositories/dialect/query.js.map +1 -1
  151. package/dist/esm/relational/postgres/repositories/dialect/update.d.ts.map +1 -1
  152. package/dist/esm/relational/postgres/repositories/dialect/update.js +2 -1
  153. package/dist/esm/relational/postgres/repositories/dialect/update.js.map +1 -1
  154. package/dist/esm/relational/sqlite/repositories/dialect/filter.d.ts +2 -1
  155. package/dist/esm/relational/sqlite/repositories/dialect/filter.d.ts.map +1 -1
  156. package/dist/esm/relational/sqlite/repositories/dialect/filter.js +12 -6
  157. package/dist/esm/relational/sqlite/repositories/dialect/filter.js.map +1 -1
  158. package/dist/esm/relational/sqlite/repositories/dialect/internal/json-path.d.ts +9 -6
  159. package/dist/esm/relational/sqlite/repositories/dialect/internal/json-path.d.ts.map +1 -1
  160. package/dist/esm/relational/sqlite/repositories/dialect/internal/json-path.js +19 -7
  161. package/dist/esm/relational/sqlite/repositories/dialect/internal/json-path.js.map +1 -1
  162. package/dist/esm/relational/sqlite/repositories/dialect/query.d.ts +2 -0
  163. package/dist/esm/relational/sqlite/repositories/dialect/query.d.ts.map +1 -1
  164. package/dist/esm/relational/sqlite/repositories/dialect/query.js +3 -0
  165. package/dist/esm/relational/sqlite/repositories/dialect/query.js.map +1 -1
  166. package/dist/esm/search/core/repositories/common/dialect-helpers.d.ts.map +1 -1
  167. package/dist/esm/search/core/repositories/common/dialect-helpers.js +2 -1
  168. package/dist/esm/search/core/repositories/common/dialect-helpers.js.map +1 -1
  169. package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
  170. package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.js +6 -9
  171. package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
  172. package/dist/esm/search/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
  173. package/dist/esm/search/typesense/repositories/dialect/query-dialect.js +6 -9
  174. package/dist/esm/search/typesense/repositories/dialect/query-dialect.js.map +1 -1
  175. package/dist/esm/testing/index.d.ts +5 -0
  176. package/dist/esm/testing/index.d.ts.map +1 -0
  177. package/dist/esm/testing/index.js +4 -0
  178. package/dist/esm/testing/index.js.map +1 -0
  179. package/dist/esm/testing/transaction-double.d.ts +44 -0
  180. package/dist/esm/testing/transaction-double.d.ts.map +1 -0
  181. package/dist/esm/testing/transaction-double.js +62 -0
  182. package/dist/esm/testing/transaction-double.js.map +1 -0
  183. package/package.json +10 -4
@@ -4,7 +4,7 @@ import type { TTableObject, TTableSchemaWithId } from '../../models/common';
4
4
  import { MetadataRegistry } from '@venizia/ignis-kernel';
5
5
  import type { TConstValue } from '@venizia/ignis-helpers/common';
6
6
  import { BaseHelper } from '@venizia/ignis-helpers/core';
7
- import { type SQL } from 'drizzle-orm';
7
+ import { type AnyColumn, type SQL, type SQLWrapper } from 'drizzle-orm';
8
8
  import type { TRelationConfig, TTableColumns } from '../common';
9
9
  /** Operators whose scalar operand determines the JSON numeric-cast need in jsonNeedsNumericCast. */
10
10
  /** What one registry lookup yields - named so the three setting readers can accept an already-resolved entry instead of each repeating the lookup. */
@@ -20,8 +20,10 @@ export declare abstract class FilterBuilder extends BaseHelper {
20
20
  * immutable after boot, so the lookup and resolver run once per schema.
21
21
  */
22
22
  private readonly _relationsCache;
23
- /** `asc`/`desc` allocate an SQL node (~75 ns) that drizzle never mutates - built once per column. */
24
- private readonly _columnOrderCache;
23
+ /** `asc`/`desc` allocate an SQL node (~75 ns) that drizzle never mutates - built once per column or expression. */
24
+ private readonly _orderNodeCache;
25
+ /** A freshly sliced field is hashed again on every column lookup; a remembered one is hashed once. */
26
+ private readonly _orderEntryCache;
25
27
  constructor();
26
28
  /** Handler table for `where` translation. Abstract so this class names no engine. */
27
29
  protected abstract get operators(): TQueryOperatorHandlers;
@@ -104,13 +106,18 @@ export declare abstract class FilterBuilder extends BaseHelper {
104
106
  * group, a JSON path, a bare value or an operator object.
105
107
  */
106
108
  private buildWhereKeyConditions;
107
- /** Converts order strings to Drizzle SQL order expressions (supports JSON paths). */
109
+ /**
110
+ * Converts order entries to Drizzle SQL order nodes. A key resolves against `expressions` first
111
+ * (a joined column or a computed `SQL`), then as a JSON path, then as a schema column.
112
+ */
108
113
  toOrderBy<Schema extends TTableSchemaWithId>(opts: {
109
114
  tableName: string;
110
115
  schema: Schema;
111
116
  order: string[];
117
+ expressions?: Readonly<Record<string, AnyColumn | SQLWrapper>>;
112
118
  }): SQL[];
113
- private getColumnOrder;
119
+ private readOrderEntry;
120
+ private getOrderNode;
114
121
  /**
115
122
  * Converts include clause to Drizzle 'with' options
116
123
  * with nested filtering and hidden prop exclusion.
@@ -195,8 +202,8 @@ export declare abstract class FilterBuilder extends BaseHelper {
195
202
  * `{ gte: 1, like: '%a%' }` (-> `numeric ~~ text`).
196
203
  */
197
204
  protected buildJsonOperatorConditions(opts: {
198
- jsonPath: string;
199
- safeNumericCast: string;
205
+ jsonPath: string | SQL;
206
+ safeNumericCast: string | SQL;
200
207
  operators: Record<string, any>;
201
208
  }): SQL[];
202
209
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/filter.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilterBuilder = void 0;
4
+ const internal_1 = require("../../../../common/internal");
4
5
  const ignis_kernel_1 = require("@venizia/ignis-kernel");
5
6
  const ignis_kernel_2 = require("@venizia/ignis-kernel");
6
7
  const core_1 = require("@venizia/ignis-helpers/core");
7
8
  const common_1 = require("@venizia/ignis-helpers/common");
8
9
  const drizzle_orm_1 = require("drizzle-orm");
9
10
  const common_2 = require("../common");
10
- const internal_1 = require("./internal");
11
- // The spellings callers write, compared without allocating; anything else is lowercased.
12
- const normalizeSortDirection = (opts) => {
13
- switch (opts.direction) {
14
- case 'ASC':
15
- case 'asc': {
16
- return ignis_kernel_1.Sorts.ASC;
17
- }
18
- case 'DESC':
19
- case 'desc': {
20
- return ignis_kernel_1.Sorts.DESC;
21
- }
22
- default: {
23
- return opts.direction.toLowerCase();
24
- }
25
- }
26
- };
11
+ const internal_2 = require("./internal");
12
+ /** Most order entries an instance remembers; entries come from requests, so the cache is bounded. */
13
+ const ORDER_ENTRY_CACHE_CAP = 1024;
14
+ /** Longest order entry the cache keeps, so its memory is bounded by bytes as well as by count. */
15
+ const ORDER_ENTRY_CACHE_MAX_LENGTH = 256;
27
16
  const SCALAR_EQUALITY_OPERATORS = new Set([
28
17
  ignis_kernel_1.QueryOperators.EQ,
29
18
  ignis_kernel_1.QueryOperators.NE,
@@ -50,8 +39,10 @@ class FilterBuilder extends core_1.BaseHelper {
50
39
  * immutable after boot, so the lookup and resolver run once per schema.
51
40
  */
52
41
  this._relationsCache = new WeakMap();
53
- /** `asc`/`desc` allocate an SQL node (~75 ns) that drizzle never mutates - built once per column. */
54
- this._columnOrderCache = new WeakMap();
42
+ /** `asc`/`desc` allocate an SQL node (~75 ns) that drizzle never mutates - built once per column or expression. */
43
+ this._orderNodeCache = new WeakMap();
44
+ /** A freshly sliced field is hashed again on every column lookup; a remembered one is hashed once. */
45
+ this._orderEntryCache = new Map();
55
46
  }
56
47
  /**
57
48
  * Merges default and user filters. `where` merges at the TOP KEY LEVEL, never index-wise - that
@@ -309,13 +300,13 @@ class FilterBuilder extends core_1.BaseHelper {
309
300
  const condition = this.buildLogicalGroupCondition({ key, value, tableName, schema });
310
301
  return condition ? [condition] : [];
311
302
  }
312
- if ((0, internal_1.isJsonPath)({ key })) {
303
+ if ((0, internal_2.isJsonPath)({ key })) {
313
304
  return this.buildJsonWhereCondition({ key, value, columns, tableName });
314
305
  }
315
306
  const column = columns[key];
316
307
  if (!column) {
317
308
  throw (0, core_1.getError)({
318
- message: `[FilterBuilder][toWhere] Table: ${tableName} | Column NOT FOUND | key: '${key}'`,
309
+ message: `[FilterBuilder][toWhere] Table: ${tableName} | Column NOT FOUND | key: '${(0, internal_1.toSafeEcho)({ value: key })}'`,
319
310
  });
320
311
  }
321
312
  if (!this.isOperatorObject({ value })) {
@@ -323,9 +314,12 @@ class FilterBuilder extends core_1.BaseHelper {
323
314
  }
324
315
  return this.buildOperatorConditions({ column, value });
325
316
  }
326
- /** Converts order strings to Drizzle SQL order expressions (supports JSON paths). */
317
+ /**
318
+ * Converts order entries to Drizzle SQL order nodes. A key resolves against `expressions` first
319
+ * (a joined column or a computed `SQL`), then as a JSON path, then as a schema column.
320
+ */
327
321
  toOrderBy(opts) {
328
- const { tableName, schema, order } = opts;
322
+ const { tableName, schema, order, expressions } = opts;
329
323
  if (!Array.isArray(order) || order.length === 0) {
330
324
  return [];
331
325
  }
@@ -333,39 +327,53 @@ class FilterBuilder extends core_1.BaseHelper {
333
327
  const idColumn = columns.id;
334
328
  const orderBy = [];
335
329
  let namesId = false;
336
- for (const orderStr of order) {
337
- const [key, direction = ignis_kernel_1.Sorts.ASC] = orderStr.trim().split(/\s+/);
338
- const sortDirection = normalizeSortDirection({ direction });
339
- if (sortDirection !== ignis_kernel_1.Sorts.ASC && sortDirection !== ignis_kernel_1.Sorts.DESC) {
340
- throw (0, core_1.getError)({
341
- message: `[FilterBuilder][toOrderBy] Table: ${tableName} | Invalid direction: '${direction}' | Expected: 'ASC' or 'DESC'`,
342
- });
330
+ for (const entry of order) {
331
+ const { field: key, direction } = this.readOrderEntry({ entry });
332
+ // The key comes from the request: an inherited name like `constructor` must not resolve.
333
+ if (expressions && Object.hasOwn(expressions, key)) {
334
+ orderBy.push(this.getOrderNode({ target: expressions[key], direction }));
335
+ continue;
343
336
  }
344
- if ((0, internal_1.isJsonPath)({ key })) {
345
- orderBy.push(this.buildJsonOrderBy({ key, direction: sortDirection, columns, tableName }));
337
+ if ((0, internal_2.isJsonPath)({ key })) {
338
+ orderBy.push(this.buildJsonOrderBy({ key, direction, columns, tableName }));
346
339
  continue;
347
340
  }
348
341
  const column = columns[key];
349
342
  if (!column) {
350
343
  throw (0, core_1.getError)({
351
- message: `[FilterBuilder][toOrderBy] Table: ${tableName} | Column NOT FOUND | key: '${key}'`,
344
+ message: `[FilterBuilder][toOrderBy] Table: ${tableName} | Column NOT FOUND | key: '${(0, internal_1.toSafeEcho)({ value: key })}'`,
352
345
  });
353
346
  }
354
347
  namesId ||= column === idColumn;
355
- orderBy.push(this.getColumnOrder({ column, direction: sortDirection }));
348
+ orderBy.push(this.getOrderNode({ target: column, direction }));
356
349
  }
357
350
  // A tie left to the engine is broken per page, so paging repeats and skips rows.
358
351
  if (idColumn && !namesId) {
359
- orderBy.push(this.getColumnOrder({ column: idColumn, direction: ignis_kernel_1.Sorts.ASC }));
352
+ orderBy.push(this.getOrderNode({ target: idColumn, direction: ignis_kernel_1.Sorts.ASC }));
360
353
  }
361
354
  return orderBy;
362
355
  }
363
- getColumnOrder(opts) {
364
- const { column, direction } = opts;
365
- let pair = this._columnOrderCache.get(column);
356
+ readOrderEntry(opts) {
357
+ const { entry } = opts;
358
+ let parsed = this._orderEntryCache.get(entry);
359
+ if (!parsed) {
360
+ parsed = (0, ignis_kernel_1.parseOrderEntry)({ entry });
361
+ if (entry.length <= ORDER_ENTRY_CACHE_MAX_LENGTH) {
362
+ // Clearing, not evicting the oldest: deleting from the front of a JSC Map is slow.
363
+ if (this._orderEntryCache.size >= ORDER_ENTRY_CACHE_CAP) {
364
+ this._orderEntryCache.clear();
365
+ }
366
+ this._orderEntryCache.set(entry, parsed);
367
+ }
368
+ }
369
+ return parsed;
370
+ }
371
+ getOrderNode(opts) {
372
+ const { target, direction } = opts;
373
+ let pair = this._orderNodeCache.get(target);
366
374
  if (!pair) {
367
- pair = { asc: (0, drizzle_orm_1.asc)(column), desc: (0, drizzle_orm_1.desc)(column) };
368
- this._columnOrderCache.set(column, pair);
375
+ pair = { asc: (0, drizzle_orm_1.asc)(target), desc: (0, drizzle_orm_1.desc)(target) };
376
+ this._orderNodeCache.set(target, pair);
369
377
  }
370
378
  return direction === ignis_kernel_1.Sorts.DESC ? pair.desc : pair.asc;
371
379
  }
@@ -550,20 +558,20 @@ class FilterBuilder extends core_1.BaseHelper {
550
558
  }
551
559
  validateJsonColumn(opts) {
552
560
  const { key, columns, tableName, methodName } = opts;
553
- const parsed = (0, internal_1.parseJsonPath)({ key });
561
+ const parsed = (0, internal_2.parseJsonPath)({ key });
554
562
  const column = columns[parsed.columnName];
555
563
  if (!column) {
556
564
  throw (0, core_1.getError)({
557
- message: `[FilterBuilder][${methodName}] Table: ${tableName} | Column NOT FOUND | key: '${parsed.columnName}'`,
565
+ message: `[FilterBuilder][${methodName}] Table: ${tableName} | Column NOT FOUND | key: '${(0, internal_1.toSafeEcho)({ value: parsed.columnName })}'`,
558
566
  });
559
567
  }
560
- (0, internal_1.validateJsonColumnType)({
568
+ (0, internal_2.validateJsonColumnType)({
561
569
  column,
562
570
  columnName: parsed.columnName,
563
571
  tableName,
564
572
  methodName: `FilterBuilder.${methodName}`,
565
573
  });
566
- (0, internal_1.validateJsonPathComponents)({
574
+ (0, internal_2.validateJsonPathComponents)({
567
575
  path: parsed.path,
568
576
  tableName,
569
577
  methodName: `FilterBuilder.${methodName}`,
@@ -608,7 +616,12 @@ class FilterBuilder extends core_1.BaseHelper {
608
616
  * `{ gte: 1, like: '%a%' }` (-> `numeric ~~ text`).
609
617
  */
610
618
  buildJsonOperatorConditions(opts) {
611
- const { jsonPath, safeNumericCast, operators } = opts;
619
+ const { operators } = opts;
620
+ // Raw text stays accepted for subclasses; wrapped once so every operator shares one fragment.
621
+ const jsonPath = typeof opts.jsonPath === 'string' ? drizzle_orm_1.sql.raw(opts.jsonPath) : opts.jsonPath;
622
+ const safeNumericCast = typeof opts.safeNumericCast === 'string'
623
+ ? drizzle_orm_1.sql.raw(opts.safeNumericCast)
624
+ : opts.safeNumericCast;
612
625
  const conditions = [];
613
626
  for (const op in operators) {
614
627
  const operand = operators[op];
@@ -629,7 +642,7 @@ class FilterBuilder extends core_1.BaseHelper {
629
642
  })
630
643
  ? safeNumericCast
631
644
  : jsonPath;
632
- conditions.push((0, drizzle_orm_1.not)(this.buildValueCondition({ column: drizzle_orm_1.sql.raw(negatedExtraction), value: operand })));
645
+ conditions.push((0, drizzle_orm_1.not)(this.buildValueCondition({ column: negatedExtraction, value: operand })));
633
646
  continue;
634
647
  }
635
648
  const opFn = this.operators[op];
@@ -639,8 +652,8 @@ class FilterBuilder extends core_1.BaseHelper {
639
652
  });
640
653
  }
641
654
  const extraction = this.jsonNeedsNumericCast({ operators: { [op]: operand } })
642
- ? drizzle_orm_1.sql.raw(safeNumericCast)
643
- : drizzle_orm_1.sql.raw(jsonPath);
655
+ ? safeNumericCast
656
+ : jsonPath;
644
657
  const result = opFn({ column: extraction, value: operand });
645
658
  if (result) {
646
659
  conditions.push(result);
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/filter.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAY/C,wDAQ+B;AAE/B,wDAAyD;AAEzD,sDAAmE;AACnE,0DAAsE;AACtE,6CAcqB;AAErB,sCAAgE;AAChE,yCAKoB;AAMpB,qGAAqG;AACrG,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,kGAAkG;AAClG,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEzC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IAChD,6BAAc,CAAC,EAAE;IACjB,6BAAc,CAAC,EAAE;IACjB,6BAAc,CAAC,GAAG;CACnB,CAAC,CAAC;AAEH,mGAAmG;AACnG,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS;IAC3C,6BAAc,CAAC,EAAE;IACjB,6BAAc,CAAC,GAAG;IAClB,6BAAc,CAAC,GAAG;CACnB,CAAC,CAAC;AAEH;;;;GAIG;AACH,oGAAoG;AACpG,2CAA2C;AAC3C,MAAsB,aAAc,SAAQ,iBAAU;IAgBpD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAhBvC;;;WAGG;QACc,oBAAe,GAAG,IAAI,OAAO,EAG3C,CAAC;QAEJ,mHAAmH;QAClG,oBAAe,GAAG,IAAI,OAAO,EAAmD,CAAC;QAElG,sGAAsG;QACrF,qBAAgB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAIzE,CAAC;IAKD;;;;OAIG;IACH,WAAW,CAAU,IAA6D;QAChF,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAE3C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,UAAU,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;QACnC,IAAI,WAAkC,CAAC;QAEvC,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;YAC9B,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,SAAS,IAAI,YAAY,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK;YAC9C,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK;YAC9C,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;YACjD,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI;YAC3C,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;YACjD,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO;SACrD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,UAAU,CAAU,IAAuD;QACjF,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAEzC,MAAM,MAAM,GAAW,EAAE,GAAG,YAAY,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAEvC,oFAAoF;YACpF,2EAA2E;YAC3E,MAAM,WAAW,GAAG,YAAY,KAAK,SAAS,CAAC;YAE/C,4FAA4F;YAC5F,8FAA8F;YAC9F,IAAI,WAAW,IAAI,GAAG,KAAK,6BAAc,CAAC,GAAG,EAAE,CAAC;gBAC9C,kFAAkF;gBAClF,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC;gBAC7C,SAAS;YACX,CAAC;YAED,IAAI,WAAW,IAAI,GAAG,KAAK,6BAAc,CAAC,EAAE,EAAE,CAAC;gBAC7C,4EAA4E;gBAC5E,8EAA8E;gBAC9E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7D,SAAS;YACX,CAAC;YAED,MAAM,gBAAgB,GACpB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;gBAC/C,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE/C,IAAI,WAAW,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7D,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpE,CAAC;QAED,OAAO,MAAmB,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,IAAwD;QAChF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEpC,IAAI,CAAC;YACH,0FAA0F;YAC1F,MAAM,QAAQ,GAAG,+BAAgB,CAAC,WAAW,EAAE,CAAC;YAChD,OAAO,CACL,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAA,0BAAY,EAAC,MAAM,CAAC,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4EAA4E,EAC5E,UAAU,EACV,KAAK,CACN,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,IAGvB;QACC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAEzF,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,kEAAkE;IAClE,oBAAoB,CAAC,IAGpB;QACC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAEtF,OAAO,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;IACvD,CAAC;IAED,8HAA8H;IAC9H,kBAAkB,CAAC,IAGlB;QACC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAEpF,OAAO,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,IAGhC;QACC,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;QAEjD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,UAAU,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAEjD,4FAA4F;QAC5F,2FAA2F;QAC3F,iGAAiG;QACjG,4EAA4E;QAC5E,IAAI,UAAU,KAAK,2BAAY,CAAC,YAAY,EAAE,CAAC;YAC7C,OAAO,UAAU,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,mBAAmB,CAAC,SAAS,KAAK,0CAA2B,CAAC,KAAK,EAAE,CAAC;YACxE,OAAO,UAAU,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,0BAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,qEAAqE;IACrE,mBAAmB,CAAC,IAGnB;QACC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAErF,OAAO,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC;IACtD,CAAC;IAED,gGAAgG;IAChG,gBAAgB,CAAC,IAAoC;QACnD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAAC,IAEhC;QACC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,0BAA0B,EAAE,CAAC,CAAC;QAE9F,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAA,qBAAY,EAAC;gBAClC,KAAK,EAAE,UAAU,CAAC,iBAAiB;aACpC,CAA2B,CAAC;YAC7B,MAAM,eAAe,GAAoC,EAAE,CAAC;YAE5D,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;gBACtC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;YAC5C,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0FAA0F,EAC1F,KAAK,CACN,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAoC,IAIxC;QACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC3C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEtE,MAAM,eAAe,GAAG,IAAI,IAAI,MAAM,CAAC;QAEvC,OAAO;YACL,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;YACrC,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;aAChF,CAAC;SACH,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,SAAS,CAAC,IAAyB;QACjC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,0FAA0F;gBAC1F,mFAAmF;gBACnF,yFAAyF;gBACzF,2DAA2D;gBAC3D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,OAAO,CAAoC,IAI1C;QACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,IAAI,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,mCAAmC,SAAS,gCAAgC;aACtF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAU,EAAE,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAEzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAC,GAAG,UAAU,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAAoC,IAMlE;QACC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExD,IAAI,6BAAc,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACrF,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,CAAC;QAED,IAAI,IAAA,qBAAU,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,mCAAmC,SAAS,+BAA+B,IAAA,qBAAU,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG;aAClH,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,SAAS,CAAoC,IAK5C;QACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAEvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAU,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjE,yFAAyF;YACzF,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACzE,SAAS;YACX,CAAC;YAED,IAAI,IAAA,qBAAU,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC5E,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,qCAAqC,SAAS,+BAA+B,IAAA,qBAAU,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG;iBACpH,CAAC,CAAC;YACL,CAAC;YAED,OAAO,KAAK,MAAM,KAAK,QAAQ,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,iFAAiF;QACjF,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,IAAuB;QAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAA,8BAAe,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAEpC,IAAI,KAAK,CAAC,MAAM,IAAI,4BAA4B,EAAE,CAAC;gBACjD,mFAAmF;gBACnF,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,qBAAqB,EAAE,CAAC;oBACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,IAAmE;QACtF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,GAAG,EAAE,IAAA,iBAAG,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAA,kBAAI,EAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,SAAS,KAAK,oBAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAGT;QACC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,MAAM,GAAgD,EAAE,CAAC;QAE/D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClE,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9D,MAAM,uBAAuB,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC;YAE9F,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,gEAAgE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;iBAC/F,CAAC,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,8DAA8D,YAAY,GAAG;iBACvF,CAAC,CAAC;YACL,CAAC;YAED,wFAAwF;YACxF,uFAAuF;YACvF,2DAA2D;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACxC,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBAC/C,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,UAAU;aACX,CAAC,CAAC;YAEH,0FAA0F;YAC1F,2FAA2F;YAC3F,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAClD,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,UAAU;aACX,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBACrD,UAAU,EAAE,KAAK;gBACjB,mBAAmB;aACpB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,uBAAuB;gBAC3C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAE7E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACtF,MAAM,YAAY,GAChB,cAAc,CAAC,IAAI,KAAK,4BAAa,CAAC,IAAI;gBACxC,CAAC,CAAC;oBACE,GAAG,WAAW;oBACd,KAAK,EACH,WAAW,CAAC,KAAK;wBACjB,IAAI,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;wBACvE,4BAAa;iBAChB;gBACH,CAAC,CAAC,WAAW,CAAC;YAElB,MAAM,oBAAoB,GACxB,IAAA,gBAAO,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;YAC7E,IAAI,oBAAoB,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;gBAC5B,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAqB;gBACjD,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBAC3C,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,MAAM,EAAE,cAAc,CAAC,MAAM;oBAC7B,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,IAIzB;QACC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,IAAI,yBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,eAAe,GAA4B,EAAE,CAAC;QAEpD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,UAAU,CAAoC,MAAc;QAClE,OAAO,yBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEO,gBAAgB,CAAC,IAAoB;QAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,OAAO,CACL,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAC7F,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,gBAAgB,CAAC,IAAoB;QAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEvB,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,6BAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACO,mBAAmB,CAAC,IAAiC;QAC7D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAE/B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAA,oBAAM,EAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAA,OAAO,CAAC,CAAC,CAAC,IAAA,qBAAO,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,IAAA,gBAAE,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAES,uBAAuB,CAAC,IAAiD;QACjF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,UAAU,GAAU,EAAE,CAAC;QAE7B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,uFAAuF;YACvF,mFAAmF;YACnF,IAAI,EAAE,KAAK,6BAAc,CAAC,GAAG,EAAE,CAAC;gBAC9B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,gFAAgF,EAAE,GAAG;iBAC/F,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,IAAiC;QACzD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAE/B,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAC,GAAG,MAAM,CAAE,CAAC;YACnE,OAAO,IAAA,iBAAG,EAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,IAAA,iBAAG,EAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,yDAAyD;IACjD,0BAA0B,CAAoC,IAKrE;QACC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAE/C,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACrD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/D,MAAM,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,6FAA6F;YAC7F,wFAAwF;YACxF,uDAAuD;YACvD,OAAO,GAAG,KAAK,6BAAc,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAA,OAAO,CAAC;QAC7D,CAAC;QAED,OAAO,GAAG,KAAK,6BAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAC,GAAG,OAAO,CAAE,CAAC,CAAC,CAAC,IAAA,gBAAE,EAAC,GAAG,OAAO,CAAE,CAAC;IACzE,CAAC;IAES,kBAAkB,CAAC,IAK5B;QACC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAErD,MAAM,MAAM,GAAG,IAAA,wBAAa,EAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,mBAAmB,UAAU,YAAY,SAAS,+BAA+B,IAAA,qBAAU,EAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG;aACtI,CAAC,CAAC;QACL,CAAC;QAED,IAAA,iCAAsB,EAAC;YACrB,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS;YACT,UAAU,EAAE,iBAAiB,UAAU,EAAE;SAC1C,CAAC,CAAC;QAEH,IAAA,qCAA0B,EAAC;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS;YACT,UAAU,EAAE,iBAAiB,UAAU,EAAE;SAC1C,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,IAAwC;QACrE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAI,6BAAc,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAE9B,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IACE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtB,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EACjD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAaD;;;OAGG;IACO,mBAAmB,CAAC,IAAoB;QAChD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEvB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,6BAAc,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,6BAAc,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACjG,CAAC;IAED;;;;OAIG;IACO,2BAA2B,CAAC,IAIrC;QACC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,8FAA8F;QAC9F,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5F,MAAM,eAAe,GACnB,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;YACtC,CAAC,CAAC,iBAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3B,MAAM,UAAU,GAAU,EAAE,CAAC;QAE7B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAE9B,IAAI,EAAE,KAAK,6BAAc,CAAC,GAAG,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC;wBAC9C,QAAQ;wBACR,eAAe;wBACf,SAAS,EAAE,OAAO;qBACnB,CAAC,CAAC;oBAEH,UAAU,CAAC,IAAI,CAAC,IAAA,iBAAG,EAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAC,GAAG,MAAM,CAAE,CAAC,CAAC,CAAC;oBACxE,SAAS;gBACX,CAAC;gBAED,0FAA0F;gBAC1F,4FAA4F;gBAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC;oBAClD,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;iBACxD,CAAC;oBACA,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,QAAQ,CAAC;gBAEb,UAAU,CAAC,IAAI,CACb,IAAA,iBAAG,EAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAC7E,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,oFAAoF,EAAE,GAAG;iBACnG,CAAC,CAAC;YACL,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC5E,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,QAAQ,CAAC;YAEb,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5D,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CAYF;AAz3BD,sCAy3BC"}
@@ -1,2 +1,3 @@
1
1
  export * from './json-utils';
2
+ export * from './subquery';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./json-utils"), exports);
18
+ __exportStar(require("./subquery"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6CAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/json-utils.ts"],"names":[],"mappings":"AAEA,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,QAAoC,CAAC;AAEnE,eAAO,MAAM,UAAU,GAAI,MAAM;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAG,OAElD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAIzF,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAG,IAUH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAG,IASH,CAAC"}
1
+ {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/json-utils.ts"],"names":[],"mappings":"AAGA,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,QAAoC,CAAC;AAEnE,eAAO,MAAM,UAAU,GAAI,MAAM;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAG,OAElD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAIzF,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAG,IAUH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAG,IASH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateJsonColumnType = exports.validateJsonPathComponents = exports.parseJsonPath = exports.isJsonPath = exports.JSON_PATH_PATTERN = void 0;
4
+ const internal_1 = require("../../../../../common/internal");
4
5
  const core_1 = require("@venizia/ignis-helpers/core");
5
6
  /** Regex for validating JSON path components (identifiers, kebab-case, array indices). */
6
7
  exports.JSON_PATH_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_-]*$|^\d+$/;
@@ -20,7 +21,7 @@ const validateJsonPathComponents = (opts) => {
20
21
  for (const part of path) {
21
22
  if (!exports.JSON_PATH_PATTERN.test(part)) {
22
23
  throw (0, core_1.getError)({
23
- message: `[${methodName}] Table: ${tableName} | Invalid JSON path component: '${part}'`,
24
+ message: `[${methodName}] Table: ${tableName} | Invalid JSON path component: '${(0, internal_1.toSafeEcho)({ value: part })}'`,
24
25
  });
25
26
  }
26
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/json-utils.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AAEvD,0FAA0F;AAC7E,QAAA,iBAAiB,GAAG,iCAAiC,CAAC;AAE5D,MAAM,UAAU,GAAG,CAAC,IAAqB,EAAW,EAAE;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEK,MAAM,aAAa,GAAG,CAAC,IAAqB,EAA0C,EAAE;IAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IAC/C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEF,sDAAsD;AAC/C,MAAM,0BAA0B,GAAG,CAAC,IAI1C,EAAQ,EAAE;IACT,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,yBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,UAAU,YAAY,SAAS,oCAAoC,IAAI,GAAG;aACxF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,0BAA0B,8BAcrC;AAEF;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,IAKtC,EAAQ,EAAE;IACT,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChD,MAAM,IAAA,eAAQ,EAAC;YACb,OAAO,EAAE,IAAI,UAAU,YAAY,SAAS,cAAc,UAAU,uCAAuC,MAAM,CAAC,QAAQ,GAAG;SAC9H,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC"}
1
+ {"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/json-utils.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAC/C,sDAAuD;AAEvD,0FAA0F;AAC7E,QAAA,iBAAiB,GAAG,iCAAiC,CAAC;AAE5D,MAAM,UAAU,GAAG,CAAC,IAAqB,EAAW,EAAE;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEK,MAAM,aAAa,GAAG,CAAC,IAAqB,EAA0C,EAAE;IAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IAC/C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEF,sDAAsD;AAC/C,MAAM,0BAA0B,GAAG,CAAC,IAI1C,EAAQ,EAAE;IACT,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,yBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,UAAU,YAAY,SAAS,oCAAoC,IAAA,qBAAU,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG;aAC/G,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,0BAA0B,8BAcrC;AAEF;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,IAKtC,EAAQ,EAAE;IACT,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChD,MAAM,IAAA,eAAQ,EAAC;YACb,OAAO,EAAE,IAAI,UAAU,YAAY,SAAS,cAAc,UAAU,uCAAuC,MAAM,CAAC,QAAQ,GAAG;SAC9H,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC"}
@@ -0,0 +1,13 @@
1
+ import type { AnyType } from '@venizia/ignis-helpers/common';
2
+ import type { SQL } from 'drizzle-orm';
3
+ /**
4
+ * `<column> IN (<subquery>)` or `NOT IN`, for `inSql`/`ninSql`. Only a Drizzle SQL object passes:
5
+ * a request body is JSON and cannot carry one, so a string here is refused rather than run.
6
+ */
7
+ export declare const buildSubqueryCondition: (opts: {
8
+ column: AnyType;
9
+ value: unknown;
10
+ operator: string;
11
+ isNegated: boolean;
12
+ }) => SQL;
13
+ //# sourceMappingURL=subquery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subquery.d.ts","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/subquery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAc,MAAM,aAAa,CAAC;AAMnD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB,KAAG,GAWH,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSubqueryCondition = void 0;
4
+ const core_1 = require("@venizia/ignis-helpers/core");
5
+ const drizzle_orm_1 = require("drizzle-orm");
6
+ const isSqlWrapper = (value) => typeof value === 'object' && value !== null && typeof Reflect.get(value, 'getSQL') === 'function';
7
+ /**
8
+ * `<column> IN (<subquery>)` or `NOT IN`, for `inSql`/`ninSql`. Only a Drizzle SQL object passes:
9
+ * a request body is JSON and cannot carry one, so a string here is refused rather than run.
10
+ */
11
+ const buildSubqueryCondition = (opts) => {
12
+ const { column, value, operator, isNegated } = opts;
13
+ if (!isSqlWrapper(value)) {
14
+ throw (0, core_1.getError)({
15
+ statusCode: 400,
16
+ message: `[FilterBuilder][${operator}] Expected a Drizzle SQL subquery | Got: ${value === null ? 'null' : typeof value}`,
17
+ });
18
+ }
19
+ return isNegated ? (0, drizzle_orm_1.sql) `${column} not in (${value})` : (0, drizzle_orm_1.sql) `${column} in (${value})`;
20
+ };
21
+ exports.buildSubqueryCondition = buildSubqueryCondition;
22
+ //# sourceMappingURL=subquery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subquery.js","sourceRoot":"","sources":["../../../../../../../src/relational/core/repositories/dialect/internal/subquery.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AAGvD,6CAAkC;AAElC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE,CAC3D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,UAAU,CAAC;AAEpG;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,IAKtC,EAAO,EAAE;IACR,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEpD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAA,eAAQ,EAAC;YACb,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,mBAAmB,QAAQ,4CAA4C,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;SACzH,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAA,GAAG,MAAM,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAA,GAAG,MAAM,QAAQ,KAAK,GAAG,CAAC;AACrF,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,KAAK,EAAE,sBAAsB,EAAiB,MAAM,WAAW,CAAC;AASvE;;;;;;GAMG;AACH,8BAAsB,uBAAwB,SAAQ,UAAU;IAC9D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,GAAG;IAEzF,sFAAsF;IACtF,SAAS,CAAC,MAAM,SAAS,kBAAkB,EAAE,IAAI,EAAE;QACjD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC3B,GAAG,sBAAsB;IA6C1B,kGAAkG;IAClG,YAAY,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,sBAAsB,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMhF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAsC1B"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,KAAK,EAAE,sBAAsB,EAAiB,MAAM,WAAW,CAAC;AASvE;;;;;;GAMG;AACH,8BAAsB,uBAAwB,SAAQ,UAAU;IAC9D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,GAAG;IAEzF,sFAAsF;IACtF,SAAS,CAAC,MAAM,SAAS,kBAAkB,EAAE,IAAI,EAAE;QACjD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC3B,GAAG,sBAAsB;IA6C1B,kGAAkG;IAClG,YAAY,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,sBAAsB,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMhF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAsC1B"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RelationalUpdateBuilder = void 0;
4
+ const internal_1 = require("../../../../common/internal");
4
5
  const core_1 = require("@venizia/ignis-helpers/core");
5
6
  const drizzle_orm_1 = require("drizzle-orm");
6
7
  const common_1 = require("../common");
7
- const internal_1 = require("./internal");
8
+ const internal_2 = require("./internal");
8
9
  /**
9
10
  * Splits `data` into plain columns and JSON-path writes, validating every JSON key before any of it
10
11
  * becomes SQL. That validation is why this is a base and not a copied skeleton: an engine composing
@@ -29,10 +30,10 @@ class RelationalUpdateBuilder extends core_1.BaseHelper {
29
30
  if (value === undefined) {
30
31
  continue;
31
32
  }
32
- if (!(0, internal_1.isJsonPath)({ key })) {
33
+ if (!(0, internal_2.isJsonPath)({ key })) {
33
34
  if (!columns[key]) {
34
35
  throw (0, core_1.getError)({
35
- message: `[${this.scope}][transform] Table: ${tableName} | Column NOT FOUND | key: '${key}'`,
36
+ message: `[${this.scope}][transform] Table: ${tableName} | Column NOT FOUND | key: '${(0, internal_1.toSafeEcho)({ value: key })}'`,
36
37
  });
37
38
  }
38
39
  regularFields[key] = value;
@@ -60,22 +61,22 @@ class RelationalUpdateBuilder extends core_1.BaseHelper {
60
61
  */
61
62
  resolveJsonTarget(opts) {
62
63
  const { key, columns, tableName } = opts;
63
- const parsed = (0, internal_1.parseJsonPath)({ key });
64
+ const parsed = (0, internal_2.parseJsonPath)({ key });
64
65
  const column = columns[parsed.columnName];
65
66
  if (!column) {
66
67
  throw (0, core_1.getError)({
67
- message: `[${this.scope}][transform] Table: ${tableName} | Column NOT FOUND | key: '${parsed.columnName}'`,
68
+ message: `[${this.scope}][transform] Table: ${tableName} | Column NOT FOUND | key: '${(0, internal_1.toSafeEcho)({ value: parsed.columnName })}'`,
68
69
  });
69
70
  }
70
71
  // `scope` is the concrete subclass name, so both message
71
72
  // forms keep naming the builder that actually ran.
72
- (0, internal_1.validateJsonColumnType)({
73
+ (0, internal_2.validateJsonColumnType)({
73
74
  column,
74
75
  columnName: parsed.columnName,
75
76
  tableName,
76
77
  methodName: `${this.scope}.transform`,
77
78
  });
78
- (0, internal_1.validateJsonPathComponents)({
79
+ (0, internal_2.validateJsonPathComponents)({
79
80
  path: parsed.path,
80
81
  tableName,
81
82
  methodName: `${this.scope}.transform`,
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/dialect/update.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { Sorts, TQueryOperatorHandlers } from '@venizia/ignis-kernel';
1
+ import type { TQueryOperatorHandlers } from '@venizia/ignis-kernel';
2
+ import { Sorts } from '@venizia/ignis-kernel';
2
3
  import type { TTableColumns } from '../../../core/repositories/common';
3
4
  import { FilterBuilder } from '../../../core/repositories/dialect/filter';
4
5
  import type { TConstValue } from '@venizia/ignis-helpers/common';
@@ -12,6 +13,8 @@ export declare class PostgresFilterBuilder extends FilterBuilder {
12
13
  columns: TTableColumns;
13
14
  tableName: string;
14
15
  }): SQL[];
16
+ /** One flat fragment: every nested `SQL` level costs a render pass. */
17
+ private toSafeNumericCast;
15
18
  protected buildJsonOrderBy(opts: {
16
19
  key: string;
17
20
  direction: TConstValue<typeof Sorts>;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/postgres/repositories/dialect/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIvC,mGAAmG;AACnG,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,cAAuB,SAAS,IAAI,sBAAsB,CAEzD;cAEkB,uBAAuB,CAAC,IAAI,EAAE;QAC/C,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;QACX,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,GAAG,EAAE;cA6BU,gBAAgB,CAAC,IAAI,EAAE;QACxC,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC;QACrC,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,GAAG;CAYR"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/postgres/repositories/dialect/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAcvC,mGAAmG;AACnG,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,cAAuB,SAAS,IAAI,sBAAsB,CAEzD;cAEkB,uBAAuB,CAAC,IAAI,EAAE;QAC/C,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;QACX,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,GAAG,EAAE;IA+BT,uEAAuE;IACvE,OAAO,CAAC,iBAAiB;cAcN,gBAAgB,CAAC,IAAI,EAAE;QACxC,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC;QACrC,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,GAAG;CAiBR"}