@tablecraft/engine 0.1.3 → 0.1.4

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.
@@ -22,7 +22,7 @@ export declare class CursorPaginationBuilder {
22
22
  /**
23
23
  * Decodes a cursor string and builds WHERE + ORDER BY for the next page.
24
24
  */
25
- build(config: TableConfig, cursor: string | undefined, pageSize: number, sort?: SortConfig[]): CursorResult;
25
+ build(config: TableConfig, cursor: string | undefined, pageSize: number, sort?: SortConfig[], sqlExpressions?: Map<string, SQL>): CursorResult;
26
26
  /**
27
27
  * From the fetched data (with 1 extra row), determine next cursor.
28
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cursorPagination.d.ts","sourceRoot":"","sources":["../../src/core/cursorPagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,GAAG,EAA2C,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,GAAG,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,uBAAuB;IACtB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnD;;OAEG;IACH,KAAK,CACH,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,UAAU,EAAE,GAClB,YAAY;IA6Cf;;OAEG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,UAAU,EAAE,GAClB;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE;CAgBzD;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAO3E"}
1
+ {"version":3,"file":"cursorPagination.d.ts","sourceRoot":"","sources":["../../src/core/cursorPagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,GAAG,EAA2C,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,GAAG,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,uBAAuB;IACtB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnD;;OAEG;IACH,KAAK,CACH,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,UAAU,EAAE,EACnB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,YAAY;IAmDf;;OAEG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,UAAU,EAAE,GAClB;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE;CAgBzD;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAO3E"}
@@ -14,7 +14,7 @@ export class CursorPaginationBuilder {
14
14
  /**
15
15
  * Decodes a cursor string and builds WHERE + ORDER BY for the next page.
16
16
  */
17
- build(config, cursor, pageSize, sort) {
17
+ build(config, cursor, pageSize, sort, sqlExpressions) {
18
18
  const table = this.schema[config.base];
19
19
  if (!table) {
20
20
  return { whereCondition: undefined, orderBy: [], limit: pageSize + 1 };
@@ -29,9 +29,14 @@ export class CursorPaginationBuilder {
29
29
  // Build ORDER BY
30
30
  const orderBy = sortFields.map((s) => {
31
31
  const col = columns[s.field];
32
- if (!col)
33
- return s.order === 'desc' ? desc(sql.identifier(s.field)) : asc(sql.identifier(s.field));
34
- return s.order === 'desc' ? desc(col) : asc(col);
32
+ if (col) {
33
+ return s.order === 'desc' ? desc(col) : asc(col);
34
+ }
35
+ if (sqlExpressions?.has(s.field)) {
36
+ const expr = sqlExpressions.get(s.field);
37
+ return s.order === 'desc' ? desc(expr) : asc(expr);
38
+ }
39
+ return s.order === 'desc' ? desc(sql.identifier(s.field)) : asc(sql.identifier(s.field));
35
40
  });
36
41
  // Decode cursor and build WHERE
37
42
  let whereCondition;
@@ -1 +1 @@
1
- {"version":3,"file":"cursorPagination.js","sourceRoot":"","sources":["../../src/core/cursorPagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursorPagination.js","sourceRoot":"","sources":["../../src/core/cursorPagination.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare class FilterBuilder {
8
8
  * Builds dynamic WHERE conditions from user-provided filter params.
9
9
  * Only allows filtering on columns explicitly marked as filterable.
10
10
  */
11
- buildFilters(config: TableConfig, params: Record<string, FilterParam>): SQL | undefined;
11
+ buildFilters(config: TableConfig, params: Record<string, FilterParam | FilterParam[]>): SQL | undefined;
12
12
  /**
13
13
  * Builds conditions for filters with type='static' (preset values in config).
14
14
  * Supports both base columns and join columns.
@@ -1 +1 @@
1
- {"version":3,"file":"filterBuilder.d.ts","sourceRoot":"","sources":["../../src/core/filterBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,GAAG,EAGJ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAA4B,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAY9C,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnD;;;OAGG;IACH,YAAY,CACV,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAClC,GAAG,GAAG,SAAS;IAmElB;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,GAAG,SAAS;IA6BxD;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAqCrB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CA+B1B"}
1
+ {"version":3,"file":"filterBuilder.d.ts","sourceRoot":"","sources":["../../src/core/filterBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,GAAG,EAGJ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAA4B,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAY9C,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnD;;;OAGG;IACH,YAAY,CACV,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC,GAClD,GAAG,GAAG,SAAS;IA0ElB;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,GAAG,SAAS;IA6BxD;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAqCrB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CA+B1B"}
@@ -35,16 +35,20 @@ export class FilterBuilder {
35
35
  }
36
36
  }
37
37
  // From join columns marked filterable (recursive)
38
+ const joinFields = new Set();
38
39
  if (config.joins) {
39
- collectFilterableJoinFields(config.joins, filterableFields);
40
+ collectFilterableJoinFields(config.joins, joinFields);
41
+ for (const jf of joinFields) {
42
+ filterableFields.add(jf);
43
+ }
40
44
  }
41
45
  const conditions = [];
42
- for (const [field, param] of Object.entries(params)) {
46
+ for (const [field, paramOrParams] of Object.entries(params)) {
43
47
  // Security: reject fields not in the whitelist
44
48
  if (!filterableFields.has(field))
45
49
  continue;
46
- // Determine whether this field is a join column
47
- const isJoinField = isJoinColumn(config, field);
50
+ // Determine whether this field is a join column using the Set
51
+ const isJoinField = joinFields.has(field);
48
52
  // Resolve the column — could be on the base table or a joined table.
49
53
  // Pass isJoinField so that base-table columns can never shadow join columns.
50
54
  const resolved = this.resolveColumn(config, baseColumns, field, isJoinField);
@@ -53,16 +57,19 @@ export class FilterBuilder {
53
57
  continue;
54
58
  }
55
59
  const { column: col } = resolved;
56
- // Check if value is a date preset
57
- if (isDatePreset(param.value)) {
58
- const presetCondition = buildDatePresetCondition(col, param.value);
59
- if (presetCondition)
60
- conditions.push(presetCondition);
61
- continue;
60
+ const paramsList = Array.isArray(paramOrParams) ? paramOrParams : [paramOrParams];
61
+ for (const param of paramsList) {
62
+ // Check if value is a date preset
63
+ if (isDatePreset(param.value)) {
64
+ const presetCondition = buildDatePresetCondition(col, param.value);
65
+ if (presetCondition)
66
+ conditions.push(presetCondition);
67
+ continue;
68
+ }
69
+ const condition = applyOperator(param.operator, col, param.value);
70
+ if (condition)
71
+ conditions.push(condition);
62
72
  }
63
- const condition = applyOperator(param.operator, col, param.value);
64
- if (condition)
65
- conditions.push(condition);
66
73
  }
67
74
  return conditions.length > 0 ? and(...conditions) : undefined;
68
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filterBuilder.js","sourceRoot":"","sources":["../../src/core/filterBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filterBuilder.js","sourceRoot":"","sources":["../../src/core/filterBuilder.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ function validateFilterValues(params, config) {
29
29
  for (const col of config.columns) {
30
30
  columnMap.set(col.name, col);
31
31
  }
32
- for (const [field, filter] of Object.entries(params.filters)) {
32
+ for (const [field, filterOrFilters] of Object.entries(params.filters)) {
33
33
  const col = columnMap.get(field);
34
34
  if (!col) {
35
35
  if (typeof process !== 'undefined' && process.env?.NODE_ENV !== 'test') {
@@ -40,9 +40,12 @@ function validateFilterValues(params, config) {
40
40
  if (!col.filterable) {
41
41
  throw new FieldError(field, 'is not filterable');
42
42
  }
43
- if (filter.operator === 'isNull' || filter.operator === 'isNotNull')
44
- continue;
45
- validateValueType(field, col.type, filter);
43
+ const filters = Array.isArray(filterOrFilters) ? filterOrFilters : [filterOrFilters];
44
+ for (const filter of filters) {
45
+ if (filter.operator === 'isNull' || filter.operator === 'isNotNull')
46
+ continue;
47
+ validateValueType(field, col.type, filter);
48
+ }
46
49
  }
47
50
  }
48
51
  function validateValueType(field, colType, filter) {
@@ -107,7 +110,7 @@ function validateSingleValue(field, colType, value) {
107
110
  function validateSortFields(params, config) {
108
111
  if (!params.sort?.length)
109
112
  return;
110
- const sortable = new Set(config.columns.filter((c) => c.sortable).map((c) => c.name));
113
+ const sortable = new Set(config.columns.filter((c) => c.sortable !== false).map((c) => c.name));
111
114
  // Also collect sortable fields from joins (same pattern as FilterBuilder
112
115
  // uses collectFilterableJoinFields for filterable fields)
113
116
  collectSortableJoinFields(config.joins, sortable);
@@ -1 +1 @@
1
- {"version":3,"file":"inputValidator.js","sourceRoot":"","sources":["../../src/core/inputValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputValidator.js","sourceRoot":"","sources":["../../src/core/inputValidator.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,10 @@ export declare class SortBuilder {
20
20
  /**
21
21
  * Searches join configs recursively for a column with the given plain name.
22
22
  * Returns the Drizzle Column from the joined table's schema.
23
+ *
24
+ * Note: This implements a "first-match-wins" strategy. If multiple joins
25
+ * expose a column with the same name, the first one encountered in a
26
+ * depth-first traversal of the join tree will be used.
23
27
  */
24
28
  private resolveJoinColumn;
25
29
  private getDefaultSort;
@@ -1 +1 @@
1
- {"version":3,"file":"sortBuilder.d.ts","sourceRoot":"","sources":["../../src/core/sortBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,GAAG,EAKJ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnD;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE;IAkE9F;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"sortBuilder.d.ts","sourceRoot":"","sources":["../../src/core/sortBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,GAAG,EAKJ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnD;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE;IA8E9F;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,cAAc;CAQvB"}
@@ -1,4 +1,5 @@
1
1
  import { getTableColumns, asc, desc, } from 'drizzle-orm';
2
+ import { isJoinColumnInJoins, collectSortableJoinFields } from '../utils/joinUtils';
2
3
  export class SortBuilder {
3
4
  schema;
4
5
  constructor(schema) {
@@ -44,14 +45,25 @@ export class SortBuilder {
44
45
  // 1. Dot-syntax: "users.email" → explicit table reference
45
46
  if (dbFieldName.includes('.')) {
46
47
  const [tableName, colName] = dbFieldName.split('.');
47
- const joinedTable = this.schema[tableName];
48
+ // Find actual table name if tableName is an alias
49
+ let actualTableName = tableName;
50
+ if (config.joins) {
51
+ const aliasedJoin = config.joins.find(j => j.alias === tableName);
52
+ if (aliasedJoin) {
53
+ actualTableName = aliasedJoin.table;
54
+ }
55
+ }
56
+ const joinedTable = this.schema[actualTableName];
48
57
  if (joinedTable) {
49
58
  col = getTableColumns(joinedTable)[colName];
50
59
  }
51
60
  }
52
61
  else {
53
- // 2. Try the base table first
54
- col = baseColumns[dbFieldName];
62
+ // 2. Try the base table first, unless it's a join field to prevent shadowing
63
+ const isJoinField = isJoinColumnInJoins(config.joins ?? [], sp.field);
64
+ if (!isJoinField) {
65
+ col = baseColumns[dbFieldName];
66
+ }
55
67
  }
56
68
  if (col) {
57
69
  clauses.push(sp.order === 'desc' ? desc(col) : asc(col));
@@ -74,6 +86,10 @@ export class SortBuilder {
74
86
  /**
75
87
  * Searches join configs recursively for a column with the given plain name.
76
88
  * Returns the Drizzle Column from the joined table's schema.
89
+ *
90
+ * Note: This implements a "first-match-wins" strategy. If multiple joins
91
+ * expose a column with the same name, the first one encountered in a
92
+ * depth-first traversal of the join tree will be used.
77
93
  */
78
94
  resolveJoinColumn(config, fieldName) {
79
95
  if (!config.joins)
@@ -108,22 +124,4 @@ export class SortBuilder {
108
124
  }));
109
125
  }
110
126
  }
111
- // ---------------------------------------------------------------------------
112
- // Module-level helpers
113
- // ---------------------------------------------------------------------------
114
- /** Recursively populates `out` with sortable field names from all join configs. */
115
- function collectSortableJoinFields(joins, out) {
116
- for (const join of joins) {
117
- if (join.columns) {
118
- for (const col of join.columns) {
119
- if (col.sortable !== false) {
120
- out.add(col.name);
121
- }
122
- }
123
- }
124
- if (join.joins) {
125
- collectSortableJoinFields(join.joins, out);
126
- }
127
- }
128
- }
129
127
  //# sourceMappingURL=sortBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortBuilder.js","sourceRoot":"","sources":["../../src/core/sortBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sortBuilder.js","sourceRoot":"","sources":["../../src/core/sortBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA4D,WAAW,EAA6B,MAAM,gBAAgB,CAAC;AAoBlI,OAAO,EAAE,sBAAsB,EAAuC,MAAM,UAAU,CAAC;AAOvF,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;AA4CpE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,CAob3E;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtD,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAS9B"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA4D,WAAW,EAA6B,MAAM,gBAAgB,CAAC;AAoBlI,OAAO,EAAE,sBAAsB,EAAuC,MAAM,UAAU,CAAC;AAOvF,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;AA4CpE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,CAwb3E;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtD,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAS9B"}
package/dist/engine.js CHANGED
@@ -189,10 +189,12 @@ export function createTableEngine(options) {
189
189
  let nextCursor;
190
190
  if (useCursor) {
191
191
  // ── Cursor-based pagination ──
192
+ // Note: rawSelects deliberately overwrite computedExpressions when keys collide.
193
+ const sqlExpressions = new Map([...ext.computedExpressions, ...ext.rawSelects]);
192
194
  const maxSize = config.pagination?.maxPageSize ?? 100;
193
195
  const pageSize = Math.min(resolvedParams.pageSize ?? config.pagination?.defaultPageSize ?? 10, maxSize);
194
196
  const sortConfig = resolvedParams.sort?.map(s => ({ field: s.field, order: s.order })) ?? config.defaultSort;
195
- const cursorResult = cursorPagination.build(config, resolvedParams.cursor, pageSize, sortConfig);
197
+ const cursorResult = cursorPagination.build(config, resolvedParams.cursor, pageSize, sortConfig, sqlExpressions);
196
198
  let cursorWhere = where;
197
199
  if (cursorResult.whereCondition) {
198
200
  cursorWhere = where ? and(where, cursorResult.whereCondition) : cursorResult.whereCondition;
@@ -214,6 +216,7 @@ export function createTableEngine(options) {
214
216
  }
215
217
  else {
216
218
  // ── Offset-based pagination ──
219
+ // Note: rawSelects deliberately overwrite computedExpressions when keys collide.
217
220
  const sqlExpressions = new Map([...ext.computedExpressions, ...ext.rawSelects]);
218
221
  const orderBy = sortBuilder.buildSort(config, resolvedParams.sort, sqlExpressions);
219
222
  const pagination = paginationBuilder.buildPagination(config, resolvedParams.page, resolvedParams.pageSize);
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,GAAG,EACH,eAAe,EACf,GAAG,EACH,EAAE,EACF,GAAG,EACH,GAAG,EACH,KAAK,IAAI,YAAY,EACrB,YAAY,GACb,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAW,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAA6C,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMvD,SAAS,YAAY,CAAC,KAAkB;IAItC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAChF,MAAM,CAAC,GAAG,KAAoC,CAAC;QAC/C,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,IAA8B,EAAE,CAAC;IACzE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,KAAoB;QAC5B,GAAG,EAAE;YACH,mBAAmB,EAAE,IAAI,GAAG,EAAE;YAC9B,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;YACjB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,IAAI,GAAG,EAAE;YACf,iBAAiB,EAAE,IAAI,GAAG,EAAE;SAC7B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B;IACtD,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,uEAAuE;gBACvE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAc,CAAC,CAAC;gBAC1C,IAAI,IAAI;oBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,OAA4B;IAC5D,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,0BAA0B;IAC1B,MAAM,OAAO,GAAY,aAAa,CAAC,EAAE,CAAC,CAAC;IAE3C,0BAA0B;IAC1B,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE1C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAU,CAAC;IAC/C,MAAM,SAAS,GAAe,MAAc,CAAC,UAAU,IAAI,OAAO,CAAC;IAEnE,sBAAsB;IAEtB,KAAK,UAAU,oBAAoB,CACjC,MAAoB,EACpB,OAAsB;QAEtB,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAEtF,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,2BAA2B;QAC3B,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAExC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC;YAErE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAClE,MAAM,WAAW,GAAG,MAAM,EAAE,KAAK,IAAI,WAAW,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;gBAElC,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACjD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;4BAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;4BAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;wBACnC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QACtG,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;YACxF,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,sBAAsB;IAEtB,KAAK,UAAU,QAAQ,CAAC,KAAsB;QAC5C,IAAI,SAAS,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAEtC,IAAI,SAAS,KAAK,WAAW,IAAI,eAAe,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B,GAAG,CAAA,sEAAsE,MAAM,CAAC,IAAI,EAAE,CACvF,CAAC;YACF,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;YACnC,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,cAAc;QACd,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9D,IAAI,KAAK;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC;QACvB,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,uBAAuB;IAEvB,KAAK,UAAU,KAAK,CAClB,SAAuB,EAAE,EACzB,UAAyB,EAAE;QAE3B,oBAAoB;QACpB,IAAI,cAAc,GAAG,MAAM,CAAC;QAC5B,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;YAC3B,cAAc,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC;YACH,8BAA8B;YAC9B,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAElE,iBAAiB;YACjB,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAE/C,kBAAkB;YAClB,IAAI,SAAS,GAAwB,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAC1F,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,mBAAmB;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC3E,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAClE,MAAM,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACpE,IAAI,UAAU;gBAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAErD,mCAAmC;YACnC,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAEjG,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAElE,iDAAiD;YACjD,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;YAE1C,IAAI,IAA+B,CAAC;YACpC,IAAI,KAAoB,CAAC;YACzB,IAAI,UAAqC,CAAC;YAE1C,IAAI,SAAS,EAAE,CAAC;gBACd,gCAAgC;gBAChC,iFAAiF;gBACjF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBAEhF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,GAAG,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,eAAe,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxG,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC;gBAE7G,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;gBAEjH,IAAI,WAAW,GAAG,KAAK,CAAC;gBACxB,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;oBAChC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC;gBAC9F,CAAC;gBAED,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ;oBAC7B,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC9C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEzC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC9D,IAAI,WAAW;oBAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM;oBAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBACxE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC;gBACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC7E,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBACvB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;gBACxC,KAAK,GAAG,IAAI,CAAC,CAAC,uCAAuC;YAEvD,CAAC;iBAAM,CAAC;gBACN,gCAAgC;gBAChC,iFAAiF;gBACjF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChF,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBACnF,MAAM,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAE3G,IAAI,SAAS,GAAG,cAAc,CAAC,QAAQ;oBACrC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC9C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEzC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC9E,IAAI,KAAK;oBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE9C,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;gBACpD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;oBAAE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;gBACxE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAExE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACpD,SAAS;oBACT,QAAQ,CAAC,KAAK,CAAC;iBAChB,CAAC,CAAC;gBAEH,IAAI,GAAG,WAAW,CAAC;gBACnB,KAAK,GAAG,YAAY,CAAC;YACvB,CAAC;YAED,eAAe;YACf,IAAI,YAAgD,CAAC;YACrD,MAAM,SAAS,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpD,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC5E,IAAI,KAAK;oBAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC;gBACjC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnB,YAAY,GAAG,EAAE,CAAC;oBAClB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtD,IAAI,GAAG,KAAK,aAAa;4BAAE,SAAS;wBACpC,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvC,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;wBAAE,YAAY,GAAG,SAAS,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,kBAAkB;YAClB,MAAM,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC3G,MAAM,IAAI,GAAG;gBACX,KAAK;gBACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;gBACrC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,UAAU,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC1E,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;gBAChC,SAAS;aACV,CAAC;YAEF,IAAI,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,IAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAErE,oCAAoC;YACpC,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YACvF,CAAC;YAED,0BAA0B;YAC1B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACpC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;wBACzC,IAAI,KAAK,IAAI,CAAC;4BAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBACD,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC;YAED,mBAAmB;YACnB,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvE,CAAC;YAED,mBAAmB;YACnB,IAAI,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YACjF,CAAC;YAED,OAAO,MAAM,CAAC;QAEhB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,gBAAgB;YAChB,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBACjD,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC5E,MAAM,WAAW,CAAC;YACpB,CAAC;YACD,IAAI,KAAK,YAAY,eAAe;gBAAE,MAAM,KAAK,CAAC;YAClD,MAAM,IAAI,UAAU,CAClB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,EACjE,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sBAAsB;IAEtB,KAAK,UAAU,YAAY,CACzB,SAAuB,EAAE,EACzB,UAAyB,EAAE;QAE3B,8BAA8B;QAC9B,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;QAE/F,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,EAAE,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,gCAAgC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;QAE3G,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAE3D,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvE,IAAI,KAAK;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;QACjC,IAAI,MAAM;YAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC;QAErB,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;gBAC/C,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CACnC,CAAC,GAAW,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC;IAC9D,CAAC;IAED,wBAAwB;IAExB,KAAK,UAAU,cAAc;IAC3B,mEAAmE;IACnE,6DAA6D;IAC7D,UAAwB,EAAE;IAC1B,6DAA6D;IAC7D,WAA0B,EAAE;QAE5B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAExD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;gBACrB,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBACzC,IAAI,KAAK,IAAI,CAAC;wBAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;SAC1G,CAAC;IACJ,CAAC;IAED,cAAc;IAEd,KAAK,UAAU,SAAS,CACtB,SAAuB,EAAE,EACzB,UAAyB,EAAE;QAE3B,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,eAAe;IAEf,KAAK,UAAU,UAAU,CACvB,SAAuB,EAAE,EACzB,UAAyB,EAAE;QAE3B,8BAA8B;QAC9B,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAElE,IAAI,SAAS,GAAwB,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC1F,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,mBAAmB;YAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3E,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1B,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;QACvG,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAEpF,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvE,IAAI,KAAK;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QAClD,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC;QACrB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC7D,OAAO,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3E,CAAC;IAED,wBAAwB;IAExB,KAAK,UAAU,OAAO,CACpB,SAAuB,EAAE,EACzB,UAAyB,EAAE;QAE3B,IAAI,SAAS,GAAwB,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjF,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,mBAAmB;YAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAE3E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3F,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9D,IAAI,KAAK;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QAClD,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExD,6CAA6C;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAExB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK;QACL,YAAY;QACZ,cAAc;QACd,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,UAAU;QACtB,OAAO;QACP,WAAW,EAAE,CAAC,OAAuB,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;QACxE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC;AAED,6BAA6B;AAE7B,MAAM,UAAU,aAAa,CAAC,OAI7B;IACC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -8,7 +8,7 @@ export interface SortParam {
8
8
  order: 'asc' | 'desc';
9
9
  }
10
10
  export interface EngineParams {
11
- filters?: Record<string, FilterParam>;
11
+ filters?: Record<string, FilterParam | FilterParam[]>;
12
12
  search?: string;
13
13
  sort?: SortParam[];
14
14
  page?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/types/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/types/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { JoinConfig } from '../types/table';
2
+ /** Recursively populates `out` with sortable field names from all join configs. */
3
+ export declare function collectSortableJoinFields(joins: JoinConfig[], out: Set<string>): void;
4
+ /**
5
+ * Returns true if `fieldName` is defined in any join config (recursively).
6
+ */
7
+ export declare function isJoinColumnInJoins(joins: JoinConfig[], fieldName: string): boolean;
8
+ //# sourceMappingURL=joinUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinUtils.d.ts","sourceRoot":"","sources":["../../src/utils/joinUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAarF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAUnF"}
@@ -0,0 +1,30 @@
1
+ /** Recursively populates `out` with sortable field names from all join configs. */
2
+ export function collectSortableJoinFields(joins, out) {
3
+ for (const join of joins) {
4
+ if (join.columns) {
5
+ for (const col of join.columns) {
6
+ if (col.sortable !== false) {
7
+ out.add(col.name);
8
+ }
9
+ }
10
+ }
11
+ if (join.joins) {
12
+ collectSortableJoinFields(join.joins, out);
13
+ }
14
+ }
15
+ }
16
+ /**
17
+ * Returns true if `fieldName` is defined in any join config (recursively).
18
+ */
19
+ export function isJoinColumnInJoins(joins, fieldName) {
20
+ for (const join of joins) {
21
+ if (join.columns?.some(c => c.name === fieldName)) {
22
+ return true;
23
+ }
24
+ if (join.joins && isJoinColumnInJoins(join.joins, fieldName)) {
25
+ return true;
26
+ }
27
+ }
28
+ return false;
29
+ }
30
+ //# sourceMappingURL=joinUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinUtils.js","sourceRoot":"","sources":["../../src/utils/joinUtils.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,MAAM,UAAU,yBAAyB,CAAC,KAAmB,EAAE,GAAgB;IAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,yBAAyB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAmB,EAAE,SAAiB;IACxE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/utils/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,GAAG,EAeJ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,iBAAS,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAGrD;AAID,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAgB/D;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,GAAG,GAAG,SAAS,CAmDjB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/utils/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,GAAG,EAeJ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,iBAAS,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAGrD;AAID,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAa/D;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,GAAG,GAAG,SAAS,CAmDjB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}
@@ -14,9 +14,6 @@ function toDbValue(value, operator) {
14
14
  }
15
15
  if (Array.isArray(value)) {
16
16
  return value.map(v => {
17
- if (operator && STRING_OPERATORS.includes(operator)) {
18
- return v;
19
- }
20
17
  return isDateString(v) ? new Date(v) : v;
21
18
  });
22
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/utils/operators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/utils/operators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"requestParser.d.ts","sourceRoot":"","sources":["../../src/utils/requestParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,iBAAiB,CAAC;AAQvE,8CAA8C;AAC9C,QAAA,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAAsC,CAAC;AAEhF,sEAAsE;AACtE,QAAA,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAAkC,CAAC;AAE5E,2CAA2C;AAC3C,QAAA,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAA8C,CAAC;AAE1F,sEAAsE;AACtE,QAAA,MAAM,gBAAgB,OAAO,CAAC;AAE9B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACtE,YAAY,CAgBd;AAuKD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"requestParser.d.ts","sourceRoot":"","sources":["../../src/utils/requestParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,iBAAiB,CAAC;AAQvE,8CAA8C;AAC9C,QAAA,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAAsC,CAAC;AAEhF,sEAAsE;AACtE,QAAA,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAAkC,CAAC;AAE5E,2CAA2C;AAC3C,QAAA,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAA8C,CAAC;AAE1F,sEAAsE;AACtE,QAAA,MAAM,gBAAgB,OAAO,CAAC;AAE9B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACtE,YAAY,CAgBd;AA2LD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -96,7 +96,7 @@ function parseSelect(val) {
96
96
  return fields.length > 0 ? fields : undefined;
97
97
  }
98
98
  function parseFilters(raw) {
99
- const filters = {};
99
+ const filters = Object.create(null);
100
100
  const filterRegexSimple = /^filter\[([\w.-]+)]$/;
101
101
  const filterRegexOperator = /^filter\[([\w.-]+)]\[(\w+)]$/;
102
102
  for (const [key, value] of Object.entries(raw)) {
@@ -106,17 +106,41 @@ function parseFilters(raw) {
106
106
  const op = matchOp[2];
107
107
  if (isValidOperator(op)) {
108
108
  const operator = op;
109
- filters[field] = {
109
+ const param = {
110
110
  operator,
111
111
  value: normalizeFilterValue(coerceValue(value), operator),
112
112
  };
113
+ const existing = filters[field];
114
+ if (existing) {
115
+ if (Array.isArray(existing)) {
116
+ existing.push(param);
117
+ }
118
+ else {
119
+ filters[field] = [existing, param];
120
+ }
121
+ }
122
+ else {
123
+ filters[field] = param;
124
+ }
113
125
  }
114
126
  continue;
115
127
  }
116
128
  const matchSimple = filterRegexSimple.exec(key);
117
129
  if (matchSimple) {
118
130
  const field = matchSimple[1];
119
- filters[field] = { operator: 'eq', value: coerceValue(value) };
131
+ const param = { operator: 'eq', value: normalizeFilterValue(coerceValue(value), 'eq') };
132
+ const existing = filters[field];
133
+ if (existing) {
134
+ if (Array.isArray(existing)) {
135
+ existing.push(param);
136
+ }
137
+ else {
138
+ filters[field] = [existing, param];
139
+ }
140
+ }
141
+ else {
142
+ filters[field] = param;
143
+ }
120
144
  }
121
145
  }
122
146
  return Object.keys(filters).length > 0 ? filters : undefined;
@@ -171,7 +195,7 @@ function normalizeFilterValue(value, operator) {
171
195
  return value.slice(0, MAX_ARRAY_LENGTH);
172
196
  }
173
197
  // Single value (e.g. ?filter[status][in]=processing) — wrap to array
174
- if (value !== null && value !== undefined) {
198
+ if (value !== undefined) {
175
199
  return [value];
176
200
  }
177
201
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"requestParser.js","sourceRoot":"","sources":["../../src/utils/requestParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestParser.js","sourceRoot":"","sources":["../../src/utils/requestParser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tablecraft/engine",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "The backend query engine for TableCraft",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",