@uql/core 3.7.13 → 3.8.1

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 (210) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/README.md +16 -8
  3. package/dist/browser/uql-browser.min.js +16 -15
  4. package/dist/browser/uql-browser.min.js.map +1 -1
  5. package/dist/dialect/abstractDialect.d.ts +7 -2
  6. package/dist/dialect/abstractDialect.d.ts.map +1 -1
  7. package/dist/dialect/abstractDialect.js +9 -1
  8. package/dist/dialect/abstractDialect.js.map +1 -1
  9. package/dist/dialect/abstractSqlDialect.d.ts +5 -6
  10. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  11. package/dist/dialect/abstractSqlDialect.js +14 -13
  12. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  13. package/dist/dialect/dialectConfig.d.ts +17 -0
  14. package/dist/dialect/dialectConfig.d.ts.map +1 -0
  15. package/dist/dialect/dialectConfig.js +71 -0
  16. package/dist/dialect/dialectConfig.js.map +1 -0
  17. package/dist/dialect/index.d.ts +1 -0
  18. package/dist/dialect/index.d.ts.map +1 -1
  19. package/dist/dialect/index.js +1 -0
  20. package/dist/dialect/index.js.map +1 -1
  21. package/dist/entity/decorator/definition.d.ts.map +1 -1
  22. package/dist/entity/decorator/definition.js +2 -1
  23. package/dist/entity/decorator/definition.js.map +1 -1
  24. package/dist/entity/decorator/index-decorator.d.ts +36 -0
  25. package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
  26. package/dist/entity/decorator/index-decorator.js +51 -0
  27. package/dist/entity/decorator/index-decorator.js.map +1 -0
  28. package/dist/entity/decorator/index.d.ts +1 -0
  29. package/dist/entity/decorator/index.d.ts.map +1 -1
  30. package/dist/entity/decorator/index.js +1 -0
  31. package/dist/entity/decorator/index.js.map +1 -1
  32. package/dist/maria/mariaDialect.d.ts +2 -1
  33. package/dist/maria/mariaDialect.d.ts.map +1 -1
  34. package/dist/maria/mariaDialect.js +3 -0
  35. package/dist/maria/mariaDialect.js.map +1 -1
  36. package/dist/migrate/builder/columnBuilder.d.ts +75 -0
  37. package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
  38. package/dist/migrate/builder/columnBuilder.js +149 -0
  39. package/dist/migrate/builder/columnBuilder.js.map +1 -0
  40. package/dist/migrate/builder/expressions.d.ts +87 -0
  41. package/dist/migrate/builder/expressions.d.ts.map +1 -0
  42. package/dist/migrate/builder/expressions.js +150 -0
  43. package/dist/migrate/builder/expressions.js.map +1 -0
  44. package/dist/migrate/builder/index.d.ts +6 -0
  45. package/dist/migrate/builder/index.d.ts.map +1 -0
  46. package/dist/migrate/builder/index.js +6 -0
  47. package/dist/migrate/builder/index.js.map +1 -0
  48. package/dist/migrate/builder/migrationBuilder.d.ts +73 -0
  49. package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
  50. package/dist/migrate/builder/migrationBuilder.js +326 -0
  51. package/dist/migrate/builder/migrationBuilder.js.map +1 -0
  52. package/dist/migrate/builder/tableBuilder.d.ts +51 -0
  53. package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
  54. package/dist/migrate/builder/tableBuilder.js +278 -0
  55. package/dist/migrate/builder/tableBuilder.js.map +1 -0
  56. package/dist/migrate/builder/types.d.ts +462 -0
  57. package/dist/migrate/builder/types.d.ts.map +1 -0
  58. package/dist/migrate/builder/types.js +8 -0
  59. package/dist/migrate/builder/types.js.map +1 -0
  60. package/dist/migrate/cli.d.ts +4 -6
  61. package/dist/migrate/cli.d.ts.map +1 -1
  62. package/dist/migrate/cli.js +166 -23
  63. package/dist/migrate/cli.js.map +1 -1
  64. package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
  65. package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
  66. package/dist/migrate/codegen/entityCodeGenerator.js +401 -0
  67. package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
  68. package/dist/migrate/codegen/entityMerger.d.ts +111 -0
  69. package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
  70. package/dist/migrate/codegen/entityMerger.js +291 -0
  71. package/dist/migrate/codegen/entityMerger.js.map +1 -0
  72. package/dist/migrate/codegen/index.d.ts +10 -0
  73. package/dist/migrate/codegen/index.d.ts.map +1 -0
  74. package/dist/migrate/codegen/index.js +14 -0
  75. package/dist/migrate/codegen/index.js.map +1 -0
  76. package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
  77. package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
  78. package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
  79. package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
  80. package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
  81. package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
  82. package/dist/migrate/codegen/smartRelationDetector.js +135 -0
  83. package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
  84. package/dist/migrate/drift/driftDetector.d.ts +81 -0
  85. package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
  86. package/dist/migrate/drift/driftDetector.js +248 -0
  87. package/dist/migrate/drift/driftDetector.js.map +1 -0
  88. package/dist/migrate/drift/index.d.ts +7 -0
  89. package/dist/migrate/drift/index.d.ts.map +1 -0
  90. package/dist/migrate/drift/index.js +7 -0
  91. package/dist/migrate/drift/index.js.map +1 -0
  92. package/dist/migrate/generator/index.d.ts +1 -3
  93. package/dist/migrate/generator/index.d.ts.map +1 -1
  94. package/dist/migrate/generator/index.js +1 -3
  95. package/dist/migrate/generator/index.js.map +1 -1
  96. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +29 -3
  97. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
  98. package/dist/migrate/generator/mongoSchemaGenerator.js +86 -4
  99. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
  100. package/dist/migrate/index.d.ts +7 -8
  101. package/dist/migrate/index.d.ts.map +1 -1
  102. package/dist/migrate/index.js +11 -9
  103. package/dist/migrate/index.js.map +1 -1
  104. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +28 -0
  105. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
  106. package/dist/migrate/introspection/baseSqlIntrospector.js +135 -0
  107. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
  108. package/dist/migrate/introspection/mongoIntrospector.d.ts +6 -0
  109. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -1
  110. package/dist/migrate/introspection/mongoIntrospector.js +54 -0
  111. package/dist/migrate/introspection/mongoIntrospector.js.map +1 -1
  112. package/dist/migrate/introspection/mysqlIntrospector.d.ts +2 -1
  113. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
  114. package/dist/migrate/introspection/mysqlIntrospector.js +8 -6
  115. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
  116. package/dist/migrate/introspection/postgresIntrospector.d.ts +2 -1
  117. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
  118. package/dist/migrate/introspection/postgresIntrospector.js +3 -1
  119. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
  120. package/dist/migrate/introspection/sqliteIntrospector.d.ts +2 -2
  121. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
  122. package/dist/migrate/introspection/sqliteIntrospector.js +3 -4
  123. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
  124. package/dist/migrate/migrator.d.ts +29 -0
  125. package/dist/migrate/migrator.d.ts.map +1 -1
  126. package/dist/migrate/migrator.js +31 -23
  127. package/dist/migrate/migrator.js.map +1 -1
  128. package/dist/migrate/schemaGenerator.d.ts +72 -22
  129. package/dist/migrate/schemaGenerator.d.ts.map +1 -1
  130. package/dist/migrate/schemaGenerator.js +385 -153
  131. package/dist/migrate/schemaGenerator.js.map +1 -1
  132. package/dist/migrate/sync/index.d.ts +7 -0
  133. package/dist/migrate/sync/index.d.ts.map +1 -0
  134. package/dist/migrate/sync/index.js +7 -0
  135. package/dist/migrate/sync/index.js.map +1 -0
  136. package/dist/migrate/sync/schemaSync.d.ts +132 -0
  137. package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
  138. package/dist/migrate/sync/schemaSync.js +260 -0
  139. package/dist/migrate/sync/schemaSync.js.map +1 -0
  140. package/dist/mongo/mongoDialect.d.ts +2 -1
  141. package/dist/mongo/mongoDialect.d.ts.map +1 -1
  142. package/dist/mongo/mongoDialect.js +3 -0
  143. package/dist/mongo/mongoDialect.js.map +1 -1
  144. package/dist/mysql/mysqlDialect.d.ts +2 -0
  145. package/dist/mysql/mysqlDialect.d.ts.map +1 -1
  146. package/dist/mysql/mysqlDialect.js +3 -0
  147. package/dist/mysql/mysqlDialect.js.map +1 -1
  148. package/dist/postgres/postgresDialect.js +1 -1
  149. package/dist/postgres/postgresDialect.js.map +1 -1
  150. package/dist/schema/canonicalType.d.ts +42 -0
  151. package/dist/schema/canonicalType.d.ts.map +1 -0
  152. package/dist/schema/canonicalType.js +524 -0
  153. package/dist/schema/canonicalType.js.map +1 -0
  154. package/dist/schema/index.d.ts +28 -0
  155. package/dist/schema/index.d.ts.map +1 -0
  156. package/dist/schema/index.js +29 -0
  157. package/dist/schema/index.js.map +1 -0
  158. package/dist/schema/schemaAST.d.ts +155 -0
  159. package/dist/schema/schemaAST.d.ts.map +1 -0
  160. package/dist/schema/schemaAST.js +496 -0
  161. package/dist/schema/schemaAST.js.map +1 -0
  162. package/dist/schema/schemaASTBuilder.d.ts +58 -0
  163. package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
  164. package/dist/schema/schemaASTBuilder.js +193 -0
  165. package/dist/schema/schemaASTBuilder.js.map +1 -0
  166. package/dist/schema/schemaASTDiffer.d.ts +84 -0
  167. package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
  168. package/dist/schema/schemaASTDiffer.js +431 -0
  169. package/dist/schema/schemaASTDiffer.js.map +1 -0
  170. package/dist/schema/types.d.ts +347 -0
  171. package/dist/schema/types.d.ts.map +1 -0
  172. package/dist/schema/types.js +11 -0
  173. package/dist/schema/types.js.map +1 -0
  174. package/dist/sqlite/sqliteDialect.js +1 -1
  175. package/dist/sqlite/sqliteDialect.js.map +1 -1
  176. package/dist/sqlite/sqliteQuerierPool.js.map +1 -1
  177. package/dist/type/config.d.ts +6 -0
  178. package/dist/type/config.d.ts.map +1 -1
  179. package/dist/type/entity.d.ts +24 -0
  180. package/dist/type/entity.d.ts.map +1 -1
  181. package/dist/type/migration.d.ts +50 -4
  182. package/dist/type/migration.d.ts.map +1 -1
  183. package/dist/util/field.util.d.ts +0 -1
  184. package/dist/util/field.util.d.ts.map +1 -1
  185. package/dist/util/field.util.js +8 -2
  186. package/dist/util/field.util.js.map +1 -1
  187. package/dist/util/logger.d.ts.map +1 -1
  188. package/dist/util/logger.js +2 -1
  189. package/dist/util/logger.js.map +1 -1
  190. package/dist/util/string.util.d.ts +24 -0
  191. package/dist/util/string.util.d.ts.map +1 -1
  192. package/dist/util/string.util.js +57 -0
  193. package/dist/util/string.util.js.map +1 -1
  194. package/package.json +2 -2
  195. package/dist/migrate/generator/mysqlSchemaGenerator.d.ts +0 -15
  196. package/dist/migrate/generator/mysqlSchemaGenerator.d.ts.map +0 -1
  197. package/dist/migrate/generator/mysqlSchemaGenerator.js +0 -88
  198. package/dist/migrate/generator/mysqlSchemaGenerator.js.map +0 -1
  199. package/dist/migrate/generator/postgresSchemaGenerator.d.ts +0 -19
  200. package/dist/migrate/generator/postgresSchemaGenerator.d.ts.map +0 -1
  201. package/dist/migrate/generator/postgresSchemaGenerator.js +0 -115
  202. package/dist/migrate/generator/postgresSchemaGenerator.js.map +0 -1
  203. package/dist/migrate/generator/sqliteSchemaGenerator.d.ts +0 -16
  204. package/dist/migrate/generator/sqliteSchemaGenerator.d.ts.map +0 -1
  205. package/dist/migrate/generator/sqliteSchemaGenerator.js +0 -74
  206. package/dist/migrate/generator/sqliteSchemaGenerator.js.map +0 -1
  207. package/dist/migrate/type.d.ts +0 -2
  208. package/dist/migrate/type.d.ts.map +0 -1
  209. package/dist/migrate/type.js +0 -2
  210. package/dist/migrate/type.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mysqlDialect.js","sourceRoot":"","sources":["../../src/mysql/mysqlDialect.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,OAAO,YAAa,SAAQ,kBAAkB;IACzC,QAAQ,CAAC,MAAiB,EAAE,KAAc;QACjD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAEQ,MAAM,CAAC,KAAc;QAC5B,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"mysqlDialect.js","sourceRoot":"","sources":["../../src/mysql/mysqlDialect.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,OAAO,YAAa,SAAQ,kBAAkB;IAClD,YAAY,cAA+B;QACzC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjC,CAAC;IACQ,QAAQ,CAAC,MAAiB,EAAE,KAAc;QACjD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAEQ,MAAM,CAAC,KAAc;QAC5B,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -5,7 +5,7 @@ import { QueryRaw, } from '../type/index.js';
5
5
  import { isJsonType } from '../util/index.js';
6
6
  export class PostgresDialect extends AbstractSqlDialect {
7
7
  constructor(namingStrategy) {
8
- super(namingStrategy, '"', 'BEGIN TRANSACTION');
8
+ super('postgres', namingStrategy);
9
9
  }
10
10
  addValue(values, value) {
11
11
  values.push(value);
@@ -1 +1 @@
1
- {"version":3,"file":"postgresDialect.js","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgresDialect.js","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Canonical Type System
3
+ *
4
+ * Provides bidirectional mapping between:
5
+ * - SQL types (dialect-specific)
6
+ * - Canonical types (dialect-agnostic)
7
+ * - TypeScript types (for entity generation)
8
+ */
9
+ import type { ColumnType, FieldOptions } from '../type/entity.js';
10
+ import type { Dialect } from '../type/index.js';
11
+ import type { CanonicalType } from './types.js';
12
+ /**
13
+ * Parse a SQL type string into a canonical type.
14
+ * Handles complex types like VARCHAR(255), DECIMAL(10,2), etc.
15
+ */
16
+ export declare function sqlToCanonical(sqlType: string): CanonicalType;
17
+ /**
18
+ * Convert a canonical type to a SQL type string for a specific dialect.
19
+ */
20
+ export declare function canonicalToSql(type: CanonicalType, dialect: Dialect): string;
21
+ /**
22
+ * Convert a canonical type to a TypeScript type string.
23
+ */
24
+ export declare function canonicalToTypeScript(type: CanonicalType): string;
25
+ /**
26
+ * Convert UQL FieldOptions to a canonical type.
27
+ */
28
+ export declare function fieldOptionsToCanonical(options: FieldOptions, tsType?: unknown): CanonicalType;
29
+ /**
30
+ * Compare two canonical types for equality.
31
+ * Used for schema diffing.
32
+ */
33
+ export declare function areTypesEqual(a: CanonicalType, b: CanonicalType): boolean;
34
+ /**
35
+ * Check if changing from type A to type B could cause data loss.
36
+ */
37
+ export declare function isBreakingTypeChange(from: CanonicalType, to: CanonicalType): boolean;
38
+ /**
39
+ * Get the UQL ColumnType that best matches a canonical type.
40
+ */
41
+ export declare function canonicalToColumnType(type: CanonicalType): ColumnType;
42
+ //# sourceMappingURL=canonicalType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalType.d.ts","sourceRoot":"","sources":["../../src/schema/canonicalType.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAA6B,MAAM,YAAY,CAAC;AA6O3E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CA8D7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAsB5E;AAmCD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAuD9F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CA4CzE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAkCpF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAiCrE"}
@@ -0,0 +1,524 @@
1
+ /**
2
+ * Canonical Type System
3
+ *
4
+ * Provides bidirectional mapping between:
5
+ * - SQL types (dialect-specific)
6
+ * - Canonical types (dialect-agnostic)
7
+ * - TypeScript types (for entity generation)
8
+ */
9
+ // ============================================================================
10
+ // Type Mapping Tables
11
+ // ============================================================================
12
+ /**
13
+ * Maps SQL type strings to canonical type categories.
14
+ * Handles variations across dialects (PostgreSQL, MySQL, SQLite).
15
+ */
16
+ const SQL_TO_CANONICAL = {
17
+ // === Integers ===
18
+ int: { category: 'integer' },
19
+ int4: { category: 'integer' },
20
+ integer: { category: 'integer' },
21
+ tinyint: { category: 'integer', size: 'tiny' },
22
+ smallint: { category: 'integer', size: 'small' },
23
+ int2: { category: 'integer', size: 'small' },
24
+ mediumint: { category: 'integer', size: 'medium' },
25
+ bigint: { category: 'integer', size: 'big' },
26
+ int8: { category: 'integer', size: 'big' },
27
+ serial: { category: 'integer' },
28
+ bigserial: { category: 'integer', size: 'big' },
29
+ smallserial: { category: 'integer', size: 'small' },
30
+ // === Floats ===
31
+ float: { category: 'float' },
32
+ float4: { category: 'float' },
33
+ real: { category: 'float' },
34
+ float8: { category: 'float', size: 'big' },
35
+ double: { category: 'float', size: 'big' },
36
+ 'double precision': { category: 'float', size: 'big' },
37
+ // === Decimals ===
38
+ decimal: { category: 'decimal' },
39
+ numeric: { category: 'decimal' },
40
+ money: { category: 'decimal' },
41
+ // === Strings ===
42
+ char: { category: 'string' },
43
+ character: { category: 'string' },
44
+ varchar: { category: 'string' },
45
+ 'character varying': { category: 'string' },
46
+ text: { category: 'string', size: 'small' },
47
+ tinytext: { category: 'string', size: 'tiny' },
48
+ mediumtext: { category: 'string', size: 'medium' },
49
+ longtext: { category: 'string', size: 'big' },
50
+ // === Boolean ===
51
+ bool: { category: 'boolean' },
52
+ boolean: { category: 'boolean' },
53
+ bit: { category: 'boolean' },
54
+ // === Date/Time ===
55
+ date: { category: 'date' },
56
+ time: { category: 'time' },
57
+ 'time without time zone': { category: 'time' },
58
+ 'time with time zone': { category: 'time', withTimezone: true },
59
+ timetz: { category: 'time', withTimezone: true },
60
+ timestamp: { category: 'timestamp' },
61
+ 'timestamp without time zone': { category: 'timestamp' },
62
+ 'timestamp with time zone': { category: 'timestamp', withTimezone: true },
63
+ timestamptz: { category: 'timestamp', withTimezone: true },
64
+ datetime: { category: 'timestamp' },
65
+ // === JSON ===
66
+ json: { category: 'json' },
67
+ jsonb: { category: 'json' },
68
+ // === UUID ===
69
+ uuid: { category: 'uuid' },
70
+ // === Binary ===
71
+ blob: { category: 'blob' },
72
+ bytea: { category: 'blob' },
73
+ binary: { category: 'blob' },
74
+ varbinary: { category: 'blob' },
75
+ tinyblob: { category: 'blob', size: 'tiny' },
76
+ mediumblob: { category: 'blob', size: 'medium' },
77
+ longblob: { category: 'blob', size: 'big' },
78
+ // === Vector (for AI/embeddings) ===
79
+ vector: { category: 'vector' },
80
+ };
81
+ const CANONICAL_TO_SQL = {
82
+ postgres: {
83
+ integer: 'INTEGER',
84
+ float: 'REAL',
85
+ decimal: 'NUMERIC',
86
+ string: 'VARCHAR',
87
+ boolean: 'BOOLEAN',
88
+ date: 'DATE',
89
+ time: 'TIME',
90
+ timestamp: 'TIMESTAMP',
91
+ json: 'JSONB',
92
+ uuid: 'UUID',
93
+ blob: 'BYTEA',
94
+ vector: 'VECTOR',
95
+ },
96
+ mysql: {
97
+ integer: 'INT',
98
+ float: 'FLOAT',
99
+ decimal: 'DECIMAL',
100
+ string: 'VARCHAR',
101
+ boolean: 'TINYINT(1)',
102
+ date: 'DATE',
103
+ time: 'TIME',
104
+ timestamp: 'DATETIME',
105
+ json: 'JSON',
106
+ uuid: 'CHAR(36)',
107
+ blob: 'BLOB',
108
+ vector: 'JSON', // MySQL doesn't have native vector type
109
+ },
110
+ sqlite: {
111
+ integer: 'INTEGER',
112
+ float: 'REAL',
113
+ decimal: 'REAL',
114
+ string: 'TEXT',
115
+ boolean: 'INTEGER',
116
+ date: 'TEXT',
117
+ time: 'TEXT',
118
+ timestamp: 'TEXT',
119
+ json: 'TEXT',
120
+ uuid: 'TEXT',
121
+ blob: 'BLOB',
122
+ vector: 'TEXT',
123
+ },
124
+ mariadb: {
125
+ integer: 'INT',
126
+ float: 'FLOAT',
127
+ decimal: 'DECIMAL',
128
+ string: 'VARCHAR',
129
+ boolean: 'TINYINT(1)',
130
+ date: 'DATE',
131
+ time: 'TIME',
132
+ timestamp: 'DATETIME',
133
+ json: 'JSON',
134
+ uuid: 'CHAR(36)',
135
+ blob: 'BLOB',
136
+ vector: 'JSON',
137
+ },
138
+ // MongoDB uses BSON types, not SQL types. These are placeholders for compatibility.
139
+ mongodb: {
140
+ integer: 'int',
141
+ float: 'double',
142
+ decimal: 'decimal128',
143
+ string: 'string',
144
+ boolean: 'bool',
145
+ date: 'date',
146
+ time: 'string',
147
+ timestamp: 'timestamp',
148
+ json: 'object',
149
+ uuid: 'binData',
150
+ blob: 'binData',
151
+ vector: 'array',
152
+ },
153
+ };
154
+ /**
155
+ * Size variant modifiers for SQL types.
156
+ */
157
+ const SIZE_MODIFIERS = {
158
+ postgres: {
159
+ integer: {
160
+ tiny: 'SMALLINT',
161
+ small: 'SMALLINT',
162
+ medium: 'INTEGER',
163
+ big: 'BIGINT',
164
+ },
165
+ float: {
166
+ tiny: 'REAL',
167
+ small: 'REAL',
168
+ medium: 'DOUBLE PRECISION',
169
+ big: 'DOUBLE PRECISION',
170
+ },
171
+ },
172
+ mysql: {
173
+ integer: {
174
+ tiny: 'TINYINT',
175
+ small: 'SMALLINT',
176
+ medium: 'MEDIUMINT',
177
+ big: 'BIGINT',
178
+ },
179
+ float: {
180
+ tiny: 'FLOAT',
181
+ small: 'FLOAT',
182
+ medium: 'DOUBLE',
183
+ big: 'DOUBLE',
184
+ },
185
+ string: {
186
+ tiny: 'TINYTEXT',
187
+ small: 'TEXT',
188
+ medium: 'MEDIUMTEXT',
189
+ big: 'LONGTEXT',
190
+ },
191
+ blob: {
192
+ tiny: 'TINYBLOB',
193
+ small: 'BLOB',
194
+ medium: 'MEDIUMBLOB',
195
+ big: 'LONGBLOB',
196
+ },
197
+ },
198
+ sqlite: {}, // SQLite uses affinity, no size modifiers
199
+ mariadb: {
200
+ integer: {
201
+ tiny: 'TINYINT',
202
+ small: 'SMALLINT',
203
+ medium: 'MEDIUMINT',
204
+ big: 'BIGINT',
205
+ },
206
+ },
207
+ mongodb: {}, // MongoDB uses BSON types, no size modifiers
208
+ };
209
+ /**
210
+ * Maps canonical types to TypeScript types for entity generation.
211
+ */
212
+ const CANONICAL_TO_TS = {
213
+ integer: 'number',
214
+ float: 'number',
215
+ decimal: 'number',
216
+ string: 'string',
217
+ boolean: 'boolean',
218
+ date: 'Date',
219
+ time: 'string',
220
+ timestamp: 'Date',
221
+ json: 'unknown',
222
+ uuid: 'string',
223
+ blob: 'Buffer',
224
+ vector: 'number[]',
225
+ };
226
+ // ============================================================================
227
+ // Type Conversion Functions
228
+ // ============================================================================
229
+ /**
230
+ * Parse a SQL type string into a canonical type.
231
+ * Handles complex types like VARCHAR(255), DECIMAL(10,2), etc.
232
+ */
233
+ export function sqlToCanonical(sqlType) {
234
+ const normalized = sqlType.toLowerCase().trim();
235
+ // Check for UNSIGNED modifier before extracting base type
236
+ const hasUnsigned = normalized.includes('unsigned');
237
+ const withoutUnsigned = normalized.replace(/\s*unsigned\s*/i, ' ').trim();
238
+ // Extract base type and parameters: "VARCHAR(255)" -> ["varchar", "255"]
239
+ const match = withoutUnsigned.match(/^([a-z][a-z0-9 ]*?)(?:\(([^)]+)\))?$/);
240
+ if (!match) {
241
+ return { category: 'string', raw: sqlType };
242
+ }
243
+ const [, baseType, params] = match;
244
+ const base = SQL_TO_CANONICAL[baseType];
245
+ if (!base) {
246
+ // Unknown type - pass through as raw
247
+ return { category: 'string', raw: sqlType };
248
+ }
249
+ const result = {
250
+ category: base.category,
251
+ size: base.size,
252
+ withTimezone: base.withTimezone,
253
+ };
254
+ // Parse parameters
255
+ if (params) {
256
+ const paramParts = params.split(',').map((p) => p.trim());
257
+ if (result.category === 'string' || result.category === 'blob') {
258
+ // VARCHAR(255) -> length
259
+ const length = Number.parseInt(paramParts[0], 10);
260
+ if (!Number.isNaN(length)) {
261
+ result.length = length;
262
+ }
263
+ }
264
+ else if (result.category === 'decimal') {
265
+ // DECIMAL(10,2) -> precision, scale
266
+ const precision = Number.parseInt(paramParts[0], 10);
267
+ const scale = paramParts[1] ? Number.parseInt(paramParts[1], 10) : undefined;
268
+ if (!Number.isNaN(precision)) {
269
+ result.precision = precision;
270
+ }
271
+ if (scale !== undefined && !Number.isNaN(scale)) {
272
+ result.scale = scale;
273
+ }
274
+ }
275
+ else if (result.category === 'vector') {
276
+ // VECTOR(1536) -> length (dimensions)
277
+ const dimensions = Number.parseInt(paramParts[0], 10);
278
+ if (!Number.isNaN(dimensions)) {
279
+ result.length = dimensions;
280
+ }
281
+ }
282
+ }
283
+ // Check for UNSIGNED modifier
284
+ if (hasUnsigned) {
285
+ result.unsigned = true;
286
+ }
287
+ return result;
288
+ }
289
+ /**
290
+ * Convert a canonical type to a SQL type string for a specific dialect.
291
+ */
292
+ export function canonicalToSql(type, dialect) {
293
+ if (type.raw)
294
+ return type.raw;
295
+ let sqlType = getBaseSqlType(type, dialect);
296
+ if (type.category === 'string') {
297
+ sqlType = formatStringSqlType(type, dialect, sqlType);
298
+ }
299
+ else if (type.category === 'decimal') {
300
+ sqlType = formatDecimalSqlType(type, dialect, sqlType);
301
+ }
302
+ else if (type.category === 'vector' && type.length && dialect === 'postgres') {
303
+ sqlType = `VECTOR(${type.length})`;
304
+ }
305
+ if (type.category === 'timestamp' && type.withTimezone && dialect === 'postgres') {
306
+ sqlType = 'TIMESTAMPTZ';
307
+ }
308
+ if (type.unsigned && (dialect === 'mysql' || dialect === 'mariadb')) {
309
+ sqlType = `${sqlType} UNSIGNED`;
310
+ }
311
+ return sqlType;
312
+ }
313
+ function getBaseSqlType(type, dialect) {
314
+ let sqlType = CANONICAL_TO_SQL[dialect][type.category];
315
+ if (type.size) {
316
+ const sizeMap = SIZE_MODIFIERS[dialect][type.category];
317
+ if (sizeMap?.[type.size]) {
318
+ sqlType = sizeMap[type.size];
319
+ }
320
+ }
321
+ return sqlType;
322
+ }
323
+ function formatStringSqlType(type, dialect, baseType) {
324
+ if (dialect === 'sqlite')
325
+ return 'TEXT';
326
+ if (dialect === 'postgres')
327
+ return type.length ? `VARCHAR(${type.length})` : 'TEXT';
328
+ if (dialect === 'mysql' || dialect === 'mariadb') {
329
+ if (type.size === 'tiny')
330
+ return 'TINYTEXT';
331
+ if (type.size === 'small')
332
+ return 'TEXT';
333
+ if (type.size === 'medium')
334
+ return 'MEDIUMTEXT';
335
+ if (type.size === 'big')
336
+ return 'LONGTEXT';
337
+ return type.length ? `VARCHAR(${type.length})` : 'VARCHAR(255)';
338
+ }
339
+ return type.length ? `VARCHAR(${type.length})` : 'VARCHAR(255)';
340
+ }
341
+ function formatDecimalSqlType(type, dialect, baseType) {
342
+ const p = type.precision ?? (dialect === 'mysql' || dialect === 'mariadb' ? 10 : undefined);
343
+ const s = type.scale ?? (dialect === 'mysql' || dialect === 'mariadb' ? 2 : undefined);
344
+ if (p !== undefined) {
345
+ return s !== undefined ? `${baseType}(${p}, ${s})` : `${baseType}(${p})`;
346
+ }
347
+ return baseType;
348
+ }
349
+ /**
350
+ * Convert a canonical type to a TypeScript type string.
351
+ */
352
+ export function canonicalToTypeScript(type) {
353
+ return CANONICAL_TO_TS[type.category];
354
+ }
355
+ /**
356
+ * Convert UQL FieldOptions to a canonical type.
357
+ */
358
+ export function fieldOptionsToCanonical(options, tsType) {
359
+ // If explicit columnType is specified, use it
360
+ if (options.columnType) {
361
+ const base = sqlToCanonical(options.columnType);
362
+ return {
363
+ ...base,
364
+ length: options.length ?? base.length,
365
+ precision: options.precision ?? base.precision,
366
+ scale: options.scale ?? base.scale,
367
+ };
368
+ }
369
+ // Infer from type (could be constructor or string)
370
+ const type = options.type || tsType;
371
+ if (type === String) {
372
+ return {
373
+ category: 'string',
374
+ length: options.length,
375
+ };
376
+ }
377
+ if (type === Number) {
378
+ if (options.precision || options.scale) {
379
+ return {
380
+ category: 'decimal',
381
+ precision: options.precision,
382
+ scale: options.scale,
383
+ };
384
+ }
385
+ // Infer bigint for Number if autoIncrement is true or if it's a primary key
386
+ if (options.autoIncrement || options.isId) {
387
+ return { category: 'integer', size: 'big' };
388
+ }
389
+ return { category: 'integer', size: 'big' };
390
+ }
391
+ if (type === Boolean) {
392
+ return { category: 'boolean' };
393
+ }
394
+ if (type === Date) {
395
+ return { category: 'timestamp' };
396
+ }
397
+ if (type === BigInt) {
398
+ return { category: 'integer', size: 'big' };
399
+ }
400
+ if (typeof type === 'string') {
401
+ return sqlToCanonical(type);
402
+ }
403
+ // Default to string
404
+ return { category: 'string', length: options.length };
405
+ }
406
+ /**
407
+ * Compare two canonical types for equality.
408
+ * Used for schema diffing.
409
+ */
410
+ export function areTypesEqual(a, b) {
411
+ // Category must match
412
+ if (a.category !== b.category) {
413
+ return false;
414
+ }
415
+ // Size must match (if specified)
416
+ if (a.size !== b.size) {
417
+ return false;
418
+ }
419
+ // For strings, compare length (allowing for default 255)
420
+ if (a.category === 'string') {
421
+ const lengthA = a.length ?? 255;
422
+ const lengthB = b.length ?? 255;
423
+ if (lengthA !== lengthB) {
424
+ return false;
425
+ }
426
+ }
427
+ // For decimals, compare precision and scale (allowing for default 10, 2)
428
+ if (a.category === 'decimal') {
429
+ const pA = a.precision ?? 10;
430
+ const pB = b.precision ?? 10;
431
+ const sA = a.scale ?? 2;
432
+ const sB = b.scale ?? 2;
433
+ if (pA !== pB || sA !== sB) {
434
+ return false;
435
+ }
436
+ }
437
+ // For timestamps, compare timezone
438
+ if (a.category === 'timestamp') {
439
+ if (!!a.withTimezone !== !!b.withTimezone) {
440
+ return false;
441
+ }
442
+ }
443
+ // Unsigned must match
444
+ if (!!a.unsigned !== !!b.unsigned) {
445
+ return false;
446
+ }
447
+ return true;
448
+ }
449
+ /**
450
+ * Check if changing from type A to type B could cause data loss.
451
+ */
452
+ export function isBreakingTypeChange(from, to) {
453
+ // Changing category is always potentially breaking
454
+ if (from.category !== to.category) {
455
+ return true;
456
+ }
457
+ // Reducing size is breaking
458
+ const sizeOrder = ['tiny', 'small', 'medium', 'big'];
459
+ if (from.size && to.size) {
460
+ const fromIndex = sizeOrder.indexOf(from.size);
461
+ const toIndex = sizeOrder.indexOf(to.size);
462
+ if (toIndex < fromIndex) {
463
+ return true;
464
+ }
465
+ }
466
+ // Reducing string length is breaking
467
+ if (from.category === 'string' && from.length && to.length) {
468
+ if (to.length < from.length) {
469
+ return true;
470
+ }
471
+ }
472
+ // Reducing precision/scale is breaking
473
+ if (from.category === 'decimal') {
474
+ if (from.precision && to.precision && to.precision < from.precision) {
475
+ return true;
476
+ }
477
+ if (from.scale && to.scale && to.scale < from.scale) {
478
+ return true;
479
+ }
480
+ }
481
+ return false;
482
+ }
483
+ /**
484
+ * Get the UQL ColumnType that best matches a canonical type.
485
+ */
486
+ export function canonicalToColumnType(type) {
487
+ switch (type.category) {
488
+ case 'integer':
489
+ if (type.size === 'big')
490
+ return 'bigint';
491
+ if (type.size === 'small')
492
+ return 'smallint';
493
+ return 'int';
494
+ case 'float':
495
+ if (type.size === 'big')
496
+ return 'double';
497
+ return 'float';
498
+ case 'decimal':
499
+ return 'decimal';
500
+ case 'string':
501
+ if (!type.length || type.length > 10000)
502
+ return 'text';
503
+ return 'varchar';
504
+ case 'boolean':
505
+ return 'boolean';
506
+ case 'date':
507
+ return 'date';
508
+ case 'time':
509
+ return 'time';
510
+ case 'timestamp':
511
+ return type.withTimezone ? 'timestamptz' : 'timestamp';
512
+ case 'json':
513
+ return 'jsonb';
514
+ case 'uuid':
515
+ return 'uuid';
516
+ case 'blob':
517
+ return 'bytea';
518
+ case 'vector':
519
+ return 'vector';
520
+ default:
521
+ return 'varchar';
522
+ }
523
+ }
524
+ //# sourceMappingURL=canonicalType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalType.js","sourceRoot":"","sources":["../../src/schema/canonicalType.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Schema AST Module
3
+ *
4
+ * Provides a unified graph representation of database schema for:
5
+ * - Schema diffing and migration generation
6
+ * - Entity code generation from database
7
+ * - Drift detection
8
+ * - Smart relation inference
9
+ */
10
+ import type { SchemaIntrospector } from '../type/migration.js';
11
+ import type { SchemaAST } from './schemaAST.js';
12
+ export type { DialectConfig } from '../dialect/index.js';
13
+ export { DIALECT_CONFIG, getDialectConfig } from '../dialect/index.js';
14
+ export { areTypesEqual, canonicalToColumnType, canonicalToSql, canonicalToTypeScript, fieldOptionsToCanonical, isBreakingTypeChange, sqlToCanonical, } from './canonicalType.js';
15
+ /**
16
+ * Introspect the database and build a SchemaAST from it.
17
+ *
18
+ * @param introspector - The schema introspector to use
19
+ * @returns The SchemaAST representing the database schema
20
+ */
21
+ export declare function introspectSchema(introspector: SchemaIntrospector): Promise<SchemaAST>;
22
+ export { SchemaAST } from './schemaAST.js';
23
+ export type { BuildFromEntitiesOptions } from './schemaASTBuilder.js';
24
+ export { SchemaASTBuilder } from './schemaASTBuilder.js';
25
+ export type { DiffOptions } from './schemaASTDiffer.js';
26
+ export { diffSchemas, SchemaASTDiffer } from './schemaASTDiffer.js';
27
+ export type { CanonicalType, ColumnDiff, ColumnNode, ConflictResolution, DetectedRelation, Drift, DriftReport, DriftSeverity, DriftStatus, DriftType, ForeignKeyAction, IndexDiff, IndexNode, IndexSource, IndexSyncStatus, IndexType, RelationshipDiff, RelationshipNode, RelationshipSource, RelationshipType, SchemaAST as ISchemaAST, SchemaDiffResult, SizeVariant, SyncDirection, SyncOptions, TableDiff, TableNode, TypeCategory, ValidationError, ValidationErrorType, } from './types.js';
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAE3F;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEpE,YAAY,EAEV,aAAa,EAEb,UAAU,EACV,UAAU,EACV,kBAAkB,EAElB,gBAAgB,EAEhB,KAAK,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,WAAW,EACX,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,IAAI,UAAU,EACvB,gBAAgB,EAChB,WAAW,EAEX,aAAa,EACb,WAAW,EACX,SAAS,EACT,SAAS,EAET,YAAY,EAEZ,eAAe,EACf,mBAAmB,GACpB,MAAM,YAAY,CAAC"}