linkgress-orm 0.0.2 → 0.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 (72) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +196 -196
  3. package/dist/entity/db-column.d.ts +38 -1
  4. package/dist/entity/db-column.d.ts.map +1 -1
  5. package/dist/entity/db-column.js.map +1 -1
  6. package/dist/entity/db-context.d.ts +429 -50
  7. package/dist/entity/db-context.d.ts.map +1 -1
  8. package/dist/entity/db-context.js +884 -203
  9. package/dist/entity/db-context.js.map +1 -1
  10. package/dist/entity/entity-base.d.ts +8 -0
  11. package/dist/entity/entity-base.d.ts.map +1 -1
  12. package/dist/entity/entity-base.js.map +1 -1
  13. package/dist/index.d.ts +3 -3
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +5 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/migration/db-schema-manager.js +77 -77
  18. package/dist/migration/enum-migrator.js +6 -6
  19. package/dist/query/collection-strategy.factory.d.ts.map +1 -1
  20. package/dist/query/collection-strategy.factory.js +7 -3
  21. package/dist/query/collection-strategy.factory.js.map +1 -1
  22. package/dist/query/collection-strategy.interface.d.ts +12 -6
  23. package/dist/query/collection-strategy.interface.d.ts.map +1 -1
  24. package/dist/query/conditions.d.ts +178 -24
  25. package/dist/query/conditions.d.ts.map +1 -1
  26. package/dist/query/conditions.js +165 -4
  27. package/dist/query/conditions.js.map +1 -1
  28. package/dist/query/cte-builder.d.ts +21 -5
  29. package/dist/query/cte-builder.d.ts.map +1 -1
  30. package/dist/query/cte-builder.js +31 -7
  31. package/dist/query/cte-builder.js.map +1 -1
  32. package/dist/query/grouped-query.d.ts +185 -8
  33. package/dist/query/grouped-query.d.ts.map +1 -1
  34. package/dist/query/grouped-query.js +516 -30
  35. package/dist/query/grouped-query.js.map +1 -1
  36. package/dist/query/join-builder.d.ts +5 -4
  37. package/dist/query/join-builder.d.ts.map +1 -1
  38. package/dist/query/join-builder.js +11 -33
  39. package/dist/query/join-builder.js.map +1 -1
  40. package/dist/query/query-builder.d.ts +89 -20
  41. package/dist/query/query-builder.d.ts.map +1 -1
  42. package/dist/query/query-builder.js +317 -168
  43. package/dist/query/query-builder.js.map +1 -1
  44. package/dist/query/query-utils.d.ts +45 -0
  45. package/dist/query/query-utils.d.ts.map +1 -0
  46. package/dist/query/query-utils.js +103 -0
  47. package/dist/query/query-utils.js.map +1 -0
  48. package/dist/query/sql-utils.d.ts +83 -0
  49. package/dist/query/sql-utils.d.ts.map +1 -0
  50. package/dist/query/sql-utils.js +218 -0
  51. package/dist/query/sql-utils.js.map +1 -0
  52. package/dist/query/strategies/cte-collection-strategy.d.ts +85 -0
  53. package/dist/query/strategies/cte-collection-strategy.d.ts.map +1 -0
  54. package/dist/query/strategies/cte-collection-strategy.js +338 -0
  55. package/dist/query/strategies/cte-collection-strategy.js.map +1 -0
  56. package/dist/query/strategies/lateral-collection-strategy.d.ts +59 -0
  57. package/dist/query/strategies/lateral-collection-strategy.d.ts.map +1 -0
  58. package/dist/query/strategies/lateral-collection-strategy.js +243 -0
  59. package/dist/query/strategies/lateral-collection-strategy.js.map +1 -0
  60. package/dist/query/strategies/temptable-collection-strategy.d.ts +21 -0
  61. package/dist/query/strategies/temptable-collection-strategy.d.ts.map +1 -1
  62. package/dist/query/strategies/temptable-collection-strategy.js +216 -94
  63. package/dist/query/strategies/temptable-collection-strategy.js.map +1 -1
  64. package/dist/query/subquery.d.ts +24 -1
  65. package/dist/query/subquery.d.ts.map +1 -1
  66. package/dist/query/subquery.js +38 -2
  67. package/dist/query/subquery.js.map +1 -1
  68. package/package.json +1 -1
  69. package/dist/query/strategies/jsonb-collection-strategy.d.ts +0 -51
  70. package/dist/query/strategies/jsonb-collection-strategy.d.ts.map +0 -1
  71. package/dist/query/strategies/jsonb-collection-strategy.js +0 -210
  72. package/dist/query/strategies/jsonb-collection-strategy.js.map +0 -1
@@ -14,12 +14,12 @@ class EnumMigrator {
14
14
  * Get existing enum values from the database
15
15
  */
16
16
  async getExistingEnumValues(enumName) {
17
- const query = `
18
- SELECT e.enumlabel as value
19
- FROM pg_type t
20
- JOIN pg_enum e ON t.oid = e.enumtypid
21
- WHERE t.typname = $1
22
- ORDER BY e.enumsortorder
17
+ const query = `
18
+ SELECT e.enumlabel as value
19
+ FROM pg_type t
20
+ JOIN pg_enum e ON t.oid = e.enumtypid
21
+ WHERE t.typname = $1
22
+ ORDER BY e.enumsortorder
23
23
  `;
24
24
  const result = await this.client.query(query, [enumName]);
25
25
  if (result.rows.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"collection-strategy.factory.d.ts","sourceRoot":"","sources":["../../src/query/collection-strategy.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAI9F;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAC,UAAU,CAA0D;IAEnF;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,sBAAsB,GAAG,mBAAmB;IAgBrE;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;CAG1B"}
1
+ {"version":3,"file":"collection-strategy.factory.d.ts","sourceRoot":"","sources":["../../src/query/collection-strategy.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAK9F;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAC,UAAU,CAA0D;IAEnF;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,sBAAsB,GAAG,mBAAmB;IAmBrE;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;CAG1B"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CollectionStrategyFactory = void 0;
4
- const jsonb_collection_strategy_1 = require("./strategies/jsonb-collection-strategy");
4
+ const cte_collection_strategy_1 = require("./strategies/cte-collection-strategy");
5
5
  const temptable_collection_strategy_1 = require("./strategies/temptable-collection-strategy");
6
+ const lateral_collection_strategy_1 = require("./strategies/lateral-collection-strategy");
6
7
  /**
7
8
  * Factory for creating collection aggregation strategies
8
9
  */
@@ -13,12 +14,15 @@ class CollectionStrategyFactory {
13
14
  static getStrategy(type) {
14
15
  if (!this.strategies.has(type)) {
15
16
  switch (type) {
16
- case 'jsonb':
17
- this.strategies.set(type, new jsonb_collection_strategy_1.JsonbCollectionStrategy());
17
+ case 'cte':
18
+ this.strategies.set(type, new cte_collection_strategy_1.CteCollectionStrategy());
18
19
  break;
19
20
  case 'temptable':
20
21
  this.strategies.set(type, new temptable_collection_strategy_1.TempTableCollectionStrategy());
21
22
  break;
23
+ case 'lateral':
24
+ this.strategies.set(type, new lateral_collection_strategy_1.LateralCollectionStrategy());
25
+ break;
22
26
  default:
23
27
  throw new Error(`Unknown collection strategy type: ${type}`);
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collection-strategy.factory.js","sourceRoot":"","sources":["../../src/query/collection-strategy.factory.ts"],"names":[],"mappings":";;;AACA,sFAAiF;AACjF,8FAAyF;AAEzF;;GAEG;AACH,MAAa,yBAAyB;IAGpC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAA4B;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,OAAO;oBACV,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,mDAAuB,EAAE,CAAC,CAAC;oBACzD,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,2DAA2B,EAAE,CAAC,CAAC;oBAC7D,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU;QACf,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;;AA3BH,8DA4BC;AA3BgB,oCAAU,GAAG,IAAI,GAAG,EAA+C,CAAC"}
1
+ {"version":3,"file":"collection-strategy.factory.js","sourceRoot":"","sources":["../../src/query/collection-strategy.factory.ts"],"names":[],"mappings":";;;AACA,kFAA6E;AAC7E,8FAAyF;AACzF,0FAAqF;AAErF;;GAEG;AACH,MAAa,yBAAyB;IAGpC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAA4B;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,KAAK;oBACR,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,+CAAqB,EAAE,CAAC,CAAC;oBACvD,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,2DAA2B,EAAE,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,uDAAyB,EAAE,CAAC,CAAC;oBAC3D,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU;QACf,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;;AA9BH,8DA+BC;AA9BgB,oCAAU,GAAG,IAAI,GAAG,EAA+C,CAAC"}
@@ -1,9 +1,18 @@
1
1
  import { DatabaseClient } from '../database/database-client.interface';
2
2
  import { QueryContext } from './query-builder';
3
+ /**
4
+ * Represents a field in a collection selection that can be either a simple expression
5
+ * or a nested object structure
6
+ */
7
+ export interface SelectedField {
8
+ alias: string;
9
+ expression?: string;
10
+ nested?: SelectedField[];
11
+ }
3
12
  /**
4
13
  * Collection aggregation strategy type
5
14
  */
6
- export type CollectionStrategyType = 'jsonb' | 'temptable';
15
+ export type CollectionStrategyType = 'cte' | 'temptable' | 'lateral';
7
16
  /**
8
17
  * Result of building a collection aggregation
9
18
  */
@@ -74,12 +83,9 @@ export interface CollectionAggregationConfig {
74
83
  */
75
84
  parentIds?: any[];
76
85
  /**
77
- * Fields to select
86
+ * Fields to select (supports nested object structures)
78
87
  */
79
- selectedFields: Array<{
80
- alias: string;
81
- expression: string;
82
- }>;
88
+ selectedFields: SelectedField[];
83
89
  /**
84
90
  * WHERE clause SQL (without WHERE keyword)
85
91
  */
@@ -1 +1 @@
1
- {"version":3,"file":"collection-strategy.interface.d.ts","sourceRoot":"","sources":["../../src/query/collection-strategy.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,WAAW,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,EAAE,GAAG,EAAE,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE7D;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,eAAe,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErE;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;IAEtE;;OAEG;IACH,OAAO,IAAI,sBAAsB,CAAC;IAElC;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC;CAC9B"}
1
+ {"version":3,"file":"collection-strategy.interface.d.ts","sourceRoot":"","sources":["../../src/query/collection-strategy.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,EAAE,GAAG,EAAE,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;IAEhC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,eAAe,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErE;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;IAEtE;;OAEG;IACH,OAAO,IAAI,sBAAsB,CAAC;IAElC;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC;CAC9B"}
@@ -1,3 +1,5 @@
1
+ import type { DbColumn } from '../entity/db-column';
2
+ import type { Subquery } from './subquery';
1
3
  /**
2
4
  * SQL condition types
3
5
  */
@@ -12,6 +14,15 @@ export interface FieldRef<TName extends string = string, TValueType = any> {
12
14
  readonly __dbColumnName: string;
13
15
  readonly __valueType?: TValueType;
14
16
  }
17
+ /**
18
+ * Type that represents anything that can be used as a field in a condition.
19
+ * This includes FieldRef, DbColumn, or any object with __dbColumnName.
20
+ * Allows navigation properties (which return EntityQuery<DbColumn<T>>) to work in conditions.
21
+ */
22
+ export type FieldLike<V = any> = FieldRef<any, V> | DbColumn<V> | {
23
+ __dbColumnName: string;
24
+ __fieldName?: string;
25
+ };
15
26
  /**
16
27
  * Extract the field name from a FieldRef or string
17
28
  */
@@ -20,6 +31,85 @@ export type ExtractFieldName<T> = T extends FieldRef<infer N, any> ? N : T exten
20
31
  * Extract the value type from a FieldRef
21
32
  */
22
33
  export type ExtractValueType<T> = T extends FieldRef<any, infer V> ? V : any;
34
+ /**
35
+ * Forward declaration for SqlFragment (actual class defined later in this file)
36
+ * Used by UnwrapSqlFragment type
37
+ */
38
+ export interface SqlFragmentLike<T = any> {
39
+ mapWith: any;
40
+ as: any;
41
+ getMapper: any;
42
+ getAlias: any;
43
+ getFieldRefs: any;
44
+ buildSql: any;
45
+ /** Phantom property to hold the value type - never actually set */
46
+ readonly __valueType?: T;
47
+ }
48
+ /**
49
+ * Unwrap SqlFragment<T> to T, or return T if not a SqlFragment
50
+ * This is used to extract the actual value type from SQL expressions in selections
51
+ */
52
+ export type UnwrapSqlFragment<T> = T extends SqlFragmentLike<infer V> ? V : T;
53
+ /**
54
+ * Type helper to detect if a type is a class instance (has prototype methods)
55
+ * vs a plain data object (only has data properties).
56
+ *
57
+ * Class instances like Date, Map, Set, RegExp, Error, Promise, typed arrays,
58
+ * and user-defined classes have inherited methods from prototypes.
59
+ * Plain objects only have their own enumerable properties.
60
+ *
61
+ * We detect this by checking for common method signatures that class instances have.
62
+ * If an object type has valueOf/toString as actual methods (not just from Object.prototype pattern),
63
+ * it's likely a class instance.
64
+ *
65
+ * This approach works for:
66
+ * - Built-in types: Date, Map, Set, RegExp, Error, Promise, ArrayBuffer, etc.
67
+ * - Temporal API types (when available)
68
+ * - BigInt, Symbol
69
+ * - User-defined classes with methods
70
+ * - Third-party library types like Decimal.js, moment, etc.
71
+ *
72
+ * EXCLUDES:
73
+ * - DbColumn - has valueOf but should NOT be treated as a value type
74
+ * - SqlFragment - has valueOf but should NOT be treated as a value type
75
+ */
76
+ type IsClassInstance<T> = T extends {
77
+ __isDbColumn: true;
78
+ } ? false : T extends SqlFragmentLike<any> ? false : T extends {
79
+ valueOf(): infer V;
80
+ } ? V extends T ? true : V extends number | string | boolean | bigint | symbol ? true : false : false;
81
+ /**
82
+ * Alternative check: if type has constructor signature or known class methods
83
+ * This catches types that might not have valueOf but are still class instances
84
+ */
85
+ type HasClassMethods<T> = T extends {
86
+ getTime(): number;
87
+ } ? true : T extends {
88
+ size: number;
89
+ has(value: any): boolean;
90
+ } ? true : T extends {
91
+ byteLength: number;
92
+ } ? true : T extends {
93
+ then(onfulfilled?: any): any;
94
+ } ? true : T extends {
95
+ message: string;
96
+ name: string;
97
+ } ? true : T extends {
98
+ exec(string: string): any;
99
+ } ? true : false;
100
+ /**
101
+ * Combined check for value types that should not be recursively processed
102
+ */
103
+ type IsValueType<T> = IsClassInstance<T> extends true ? true : HasClassMethods<T> extends true ? true : false;
104
+ /**
105
+ * Recursively unwrap all SqlFragment types in an object type
106
+ * Maps { a: SqlFragment<number>, b: string } to { a: number, b: string }
107
+ * Preserves arrays, functions, primitive types, and class instances without recursing into them
108
+ * Also unwraps Subquery<TResult> to TResult
109
+ */
110
+ export type UnwrapSelection<T> = T extends SqlFragment<infer V> ? V : T extends SqlFragmentLike<infer V> ? V : T extends DbColumn<infer V> ? V : T extends Subquery<infer R, any> ? R : T extends (infer U)[] ? UnwrapSelection<U>[] : T extends (...args: any[]) => any ? T : T extends object ? IsValueType<T> extends true ? T : {
111
+ [K in keyof T]: UnwrapSelection<T[K]>;
112
+ } : T;
23
113
  /**
24
114
  * Context for building SQL with parameter tracking
25
115
  */
@@ -35,6 +125,11 @@ export declare abstract class WhereConditionBase {
35
125
  * Build the SQL for this condition
36
126
  */
37
127
  abstract buildSql(context: SqlBuildContext): string;
128
+ /**
129
+ * Get all field references used in this condition.
130
+ * Used to detect navigation property references that need JOINs.
131
+ */
132
+ getFieldRefs(): FieldRef[];
38
133
  /**
39
134
  * Helper to check if a value is a FieldRef
40
135
  */
@@ -47,24 +142,28 @@ export declare abstract class WhereConditionBase {
47
142
  /**
48
143
  * Helper to extract value from a FieldRef or constant
49
144
  */
50
- protected extractValue<V>(value: FieldRef<any, V> | V): any;
145
+ protected extractValue<V>(value: FieldLike<V> | V): any;
51
146
  /**
52
147
  * Helper to get the right-hand side of a comparison
53
148
  * Returns either a column reference or a parameter placeholder
54
149
  */
55
- protected getRightSide<V>(value: FieldRef<any, V> | V, context: SqlBuildContext): string;
150
+ protected getRightSide<V>(value: FieldLike<V> | V, context: SqlBuildContext): string;
56
151
  }
57
152
  /**
58
153
  * Base class for comparison operations (eq, gt, like, etc.)
59
154
  */
60
155
  export declare abstract class WhereComparisonBase<V = any> extends WhereConditionBase {
61
- protected field: FieldRef<any, V> | string;
62
- protected value?: (FieldRef<any, V> | V) | undefined;
63
- constructor(field: FieldRef<any, V> | string, value?: (FieldRef<any, V> | V) | undefined);
156
+ protected field: FieldLike<V> | string;
157
+ protected value?: (FieldLike<V> | V) | undefined;
158
+ constructor(field: FieldLike<V> | string, value?: (FieldLike<V> | V) | undefined);
64
159
  /**
65
160
  * Get the comparison operator (e.g., '=', '>', 'LIKE')
66
161
  */
67
162
  protected abstract getOperator(): string;
163
+ /**
164
+ * Get all field references used in this comparison
165
+ */
166
+ getFieldRefs(): FieldRef[];
68
167
  /**
69
168
  * Build the comparison SQL
70
169
  * Can be overridden for custom behavior
@@ -78,6 +177,10 @@ export declare class LogicalCondition extends WhereConditionBase {
78
177
  private operator;
79
178
  private conditions;
80
179
  constructor(operator: 'and' | 'or' | 'not', conditions: WhereConditionBase[]);
180
+ /**
181
+ * Get all field references from nested conditions
182
+ */
183
+ getFieldRefs(): FieldRef[];
81
184
  buildSql(context: SqlBuildContext): string;
82
185
  }
83
186
  /**
@@ -114,11 +217,11 @@ export declare class ILikeComparison extends WhereComparisonBase<string> {
114
217
  protected getOperator(): string;
115
218
  }
116
219
  export declare class IsNullComparison<V = any> extends WhereComparisonBase<V> {
117
- constructor(field: FieldRef<any, V> | string);
220
+ constructor(field: FieldLike<V> | string);
118
221
  protected getOperator(): string;
119
222
  }
120
223
  export declare class IsNotNullComparison<V = any> extends WhereComparisonBase<V> {
121
- constructor(field: FieldRef<any, V> | string);
224
+ constructor(field: FieldLike<V> | string);
122
225
  protected getOperator(): string;
123
226
  }
124
227
  /**
@@ -126,7 +229,7 @@ export declare class IsNotNullComparison<V = any> extends WhereComparisonBase<V>
126
229
  */
127
230
  export declare class InComparison<V = any> extends WhereComparisonBase<V> {
128
231
  private values;
129
- constructor(field: FieldRef<any, V> | string, values: V[]);
232
+ constructor(field: FieldLike<V> | string, values: V[]);
130
233
  buildSql(context: SqlBuildContext): string;
131
234
  protected getOperator(): string;
132
235
  }
@@ -135,7 +238,7 @@ export declare class InComparison<V = any> extends WhereComparisonBase<V> {
135
238
  */
136
239
  export declare class NotInComparison<V = any> extends WhereComparisonBase<V> {
137
240
  private values;
138
- constructor(field: FieldRef<any, V> | string, values: V[]);
241
+ constructor(field: FieldLike<V> | string, values: V[]);
139
242
  buildSql(context: SqlBuildContext): string;
140
243
  protected getOperator(): string;
141
244
  }
@@ -145,7 +248,11 @@ export declare class NotInComparison<V = any> extends WhereComparisonBase<V> {
145
248
  export declare class BetweenComparison<V = any> extends WhereComparisonBase<V> {
146
249
  private min;
147
250
  private max;
148
- constructor(field: FieldRef<any, V> | string, min: FieldRef<any, V> | V, max: FieldRef<any, V> | V);
251
+ constructor(field: FieldLike<V> | string, min: FieldLike<V> | V, max: FieldLike<V> | V);
252
+ /**
253
+ * Get all field references including min and max
254
+ */
255
+ getFieldRefs(): FieldRef[];
149
256
  buildSql(context: SqlBuildContext): string;
150
257
  protected getOperator(): string;
151
258
  }
@@ -153,19 +260,19 @@ export declare class BetweenComparison<V = any> extends WhereComparisonBase<V> {
153
260
  * Condition type - can be any WHERE condition
154
261
  */
155
262
  export type Condition = WhereConditionBase;
156
- export declare function eq<T extends string, V>(field: FieldRef<T, V> | T, value: FieldRef<any, V> | V): Condition;
157
- export declare function ne<T extends string, V>(field: FieldRef<T, V> | T, value: FieldRef<any, V> | V): Condition;
158
- export declare function gt<T extends string, V>(field: FieldRef<T, V> | T, value: FieldRef<any, V> | V): Condition;
159
- export declare function gte<T extends string, V>(field: FieldRef<T, V> | T, value: FieldRef<any, V> | V): Condition;
160
- export declare function lt<T extends string, V>(field: FieldRef<T, V> | T, value: FieldRef<any, V> | V): Condition;
161
- export declare function lte<T extends string, V>(field: FieldRef<T, V> | T, value: FieldRef<any, V> | V): Condition;
162
- export declare function like<T extends string>(field: FieldRef<T, string> | T, value: FieldRef<any, string> | string): Condition;
163
- export declare function ilike<T extends string>(field: FieldRef<T, string> | T, value: FieldRef<any, string> | string): Condition;
164
- export declare function inArray<T extends string, V>(field: FieldRef<T, V> | T, values: V[]): Condition;
165
- export declare function notInArray<T extends string, V>(field: FieldRef<T, V> | T, values: V[]): Condition;
166
- export declare function isNull<T extends string, V>(field: FieldRef<T, V> | T): Condition;
167
- export declare function isNotNull<T extends string, V>(field: FieldRef<T, V> | T): Condition;
168
- export declare function between<T extends string, V>(field: FieldRef<T, V> | T, min: FieldRef<any, V> | V, max: FieldRef<any, V> | V): Condition;
263
+ export declare function eq<T extends string, V>(field: FieldLike<V> | T | undefined, value: FieldLike<V> | V | undefined): Condition;
264
+ export declare function ne<T extends string, V>(field: FieldLike<V> | T | undefined, value: FieldLike<V> | V | undefined): Condition;
265
+ export declare function gt<T extends string, V>(field: FieldLike<V> | T | undefined, value: FieldLike<V> | V | undefined): Condition;
266
+ export declare function gte<T extends string, V>(field: FieldLike<V> | T | undefined, value: FieldLike<V> | V | undefined): Condition;
267
+ export declare function lt<T extends string, V>(field: FieldLike<V> | T | undefined, value: FieldLike<V> | V | undefined): Condition;
268
+ export declare function lte<T extends string, V>(field: FieldLike<V> | T | undefined, value: FieldLike<V> | V | undefined): Condition;
269
+ export declare function like<T extends string>(field: FieldLike<string> | T | undefined, value: FieldLike<string> | string | undefined): Condition;
270
+ export declare function ilike<T extends string>(field: FieldLike<string> | T | undefined, value: FieldLike<string> | string | undefined): Condition;
271
+ export declare function inArray<T extends string, V>(field: FieldLike<V> | T | undefined, values: V[]): Condition;
272
+ export declare function notInArray<T extends string, V>(field: FieldLike<V> | T | undefined, values: V[]): Condition;
273
+ export declare function isNull<T extends string, V>(field: FieldLike<V> | T | undefined): Condition;
274
+ export declare function isNotNull<T extends string, V>(field: FieldLike<V> | T | undefined): Condition;
275
+ export declare function between<T extends string, V>(field: FieldLike<V> | T | undefined, min: FieldLike<V> | V | undefined, max: FieldLike<V> | V | undefined): Condition;
169
276
  export declare function and(...conditions: Condition[]): Condition;
170
277
  export declare function or(...conditions: Condition[]): Condition;
171
278
  export declare function not(condition: Condition): Condition;
@@ -199,6 +306,14 @@ export declare class SqlFragment<TValueType = any> extends WhereConditionBase {
199
306
  * Get the alias (internal use)
200
307
  */
201
308
  getAlias(): string | undefined;
309
+ /**
310
+ * Get all field references from the fragment values
311
+ */
312
+ getFieldRefs(): FieldRef[];
313
+ /**
314
+ * Check if value is a RawSql instance
315
+ */
316
+ private isRawSql;
202
317
  /**
203
318
  * Build the SQL string with proper parameter placeholders
204
319
  */
@@ -208,15 +323,54 @@ export declare class SqlFragment<TValueType = any> extends WhereConditionBase {
208
323
  */
209
324
  toString(): string;
210
325
  }
326
+ /**
327
+ * Marker class for raw SQL strings that should be inserted without parameterization
328
+ * Used by sql.raw() to inject SQL directly into queries
329
+ */
330
+ export declare class RawSql {
331
+ readonly value: string;
332
+ constructor(value: string);
333
+ }
211
334
  /**
212
335
  * Tagged template literal for creating SQL fragments
213
336
  * Usage: sql`lower(${field})` or sql`${field} = ${value}`
214
337
  */
215
- export declare function sql<TValueType = any>(strings: TemplateStringsArray, ...values: any[]): SqlFragment<TValueType>;
338
+ declare function sqlTemplate<TValueType = any>(strings: TemplateStringsArray, ...values: any[]): SqlFragment<TValueType>;
339
+ /**
340
+ * Create a raw SQL string that will be inserted directly without parameterization
341
+ * WARNING: Do not use with user input - this can lead to SQL injection!
342
+ * Use for table names, column names, SQL keywords, or trusted static strings only.
343
+ *
344
+ * @example
345
+ * // Use for dynamic table/column names
346
+ * sql`SELECT * FROM ${sql.raw(tableName)} WHERE ${sql.raw(columnName)} = ${value}`
347
+ *
348
+ * // Use for SQL keywords/operators
349
+ * sql`SELECT * FROM users ORDER BY name ${sql.raw(sortDirection)}`
350
+ *
351
+ * // Use for complex SQL that shouldn't be parameterized
352
+ * sql`SELECT ${sql.raw('COUNT(*)')} FROM users`
353
+ */
354
+ declare function raw(value: string): RawSql;
355
+ /**
356
+ * Join multiple SQL fragments with a separator
357
+ *
358
+ * @example
359
+ * const columns = [sql`name`, sql`email`, sql`age`];
360
+ * const selectList = sql.join(columns, sql`, `);
361
+ * // Result: name, email, age
362
+ */
363
+ declare function join<T = any>(fragments: SqlFragment<T>[], separator?: SqlFragment<any>): SqlFragment<T>;
364
+ export declare const sql: typeof sqlTemplate & {
365
+ raw: typeof raw;
366
+ empty: SqlFragment<never>;
367
+ join: typeof join;
368
+ };
216
369
  export declare class ConditionBuilder {
217
370
  build(condition: Condition, startParam?: number): {
218
371
  sql: string;
219
372
  params: any[];
220
373
  };
221
374
  }
375
+ export {};
222
376
  //# sourceMappingURL=conditions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/query/conditions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/query/conditions.ts"],"names":[],"mappings":"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"}