uql-orm 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 (540) hide show
  1. package/CHANGELOG.md +521 -0
  2. package/LICENSE.md +22 -0
  3. package/README.md +560 -0
  4. package/dist/browser/cc-BEf4wTUm.js +535 -0
  5. package/dist/browser/cc-BEf4wTUm.js.map +1 -0
  6. package/dist/browser/http/bus.d.ts +4 -0
  7. package/dist/browser/http/bus.d.ts.map +1 -0
  8. package/dist/browser/http/bus.js +14 -0
  9. package/dist/browser/http/bus.js.map +1 -0
  10. package/dist/browser/http/http.d.ts +7 -0
  11. package/dist/browser/http/http.d.ts.map +1 -0
  12. package/dist/browser/http/http.js +45 -0
  13. package/dist/browser/http/http.js.map +1 -0
  14. package/dist/browser/http/index.d.ts +3 -0
  15. package/dist/browser/http/index.d.ts.map +1 -0
  16. package/dist/browser/http/index.js +3 -0
  17. package/dist/browser/http/index.js.map +1 -0
  18. package/dist/browser/index.d.ts +5 -0
  19. package/dist/browser/index.d.ts.map +1 -0
  20. package/dist/browser/index.js +5 -0
  21. package/dist/browser/index.js.map +1 -0
  22. package/dist/browser/options.d.ts +5 -0
  23. package/dist/browser/options.d.ts.map +1 -0
  24. package/dist/browser/options.js +14 -0
  25. package/dist/browser/options.js.map +1 -0
  26. package/dist/browser/querier/httpQuerier.d.ts +20 -0
  27. package/dist/browser/querier/httpQuerier.d.ts.map +1 -0
  28. package/dist/browser/querier/httpQuerier.js +68 -0
  29. package/dist/browser/querier/httpQuerier.js.map +1 -0
  30. package/dist/browser/querier/index.d.ts +3 -0
  31. package/dist/browser/querier/index.d.ts.map +1 -0
  32. package/dist/browser/querier/index.js +3 -0
  33. package/dist/browser/querier/index.js.map +1 -0
  34. package/dist/browser/querier/querier.util.d.ts +3 -0
  35. package/dist/browser/querier/querier.util.d.ts.map +1 -0
  36. package/dist/browser/querier/querier.util.js +17 -0
  37. package/dist/browser/querier/querier.util.js.map +1 -0
  38. package/dist/browser/type/clientQuerier.d.ts +24 -0
  39. package/dist/browser/type/clientQuerier.d.ts.map +1 -0
  40. package/dist/browser/type/clientQuerier.js +2 -0
  41. package/dist/browser/type/clientQuerier.js.map +1 -0
  42. package/dist/browser/type/clientQuerierPool.d.ts +5 -0
  43. package/dist/browser/type/clientQuerierPool.d.ts.map +1 -0
  44. package/dist/browser/type/clientQuerierPool.js +2 -0
  45. package/dist/browser/type/clientQuerierPool.js.map +1 -0
  46. package/dist/browser/type/index.d.ts +4 -0
  47. package/dist/browser/type/index.d.ts.map +1 -0
  48. package/dist/browser/type/index.js +4 -0
  49. package/dist/browser/type/index.js.map +1 -0
  50. package/dist/browser/type/request.d.ts +29 -0
  51. package/dist/browser/type/request.d.ts.map +1 -0
  52. package/dist/browser/type/request.js +2 -0
  53. package/dist/browser/type/request.js.map +1 -0
  54. package/dist/browser/uql-browser.min.js +4818 -0
  55. package/dist/browser/uql-browser.min.js.map +1 -0
  56. package/dist/d1/d1Querier.d.ts +45 -0
  57. package/dist/d1/d1Querier.d.ts.map +1 -0
  58. package/dist/d1/d1Querier.js +31 -0
  59. package/dist/d1/d1Querier.js.map +1 -0
  60. package/dist/d1/d1QuerierPool.d.ts +10 -0
  61. package/dist/d1/d1QuerierPool.d.ts.map +1 -0
  62. package/dist/d1/d1QuerierPool.js +16 -0
  63. package/dist/d1/d1QuerierPool.js.map +1 -0
  64. package/dist/d1/index.d.ts +3 -0
  65. package/dist/d1/index.d.ts.map +1 -0
  66. package/dist/d1/index.js +3 -0
  67. package/dist/d1/index.js.map +1 -0
  68. package/dist/dialect/abstractDialect.d.ts +22 -0
  69. package/dist/dialect/abstractDialect.d.ts.map +1 -0
  70. package/dist/dialect/abstractDialect.js +37 -0
  71. package/dist/dialect/abstractDialect.js.map +1 -0
  72. package/dist/dialect/abstractSqlDialect.d.ts +140 -0
  73. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -0
  74. package/dist/dialect/abstractSqlDialect.js +957 -0
  75. package/dist/dialect/abstractSqlDialect.js.map +1 -0
  76. package/dist/dialect/dialectConfig.d.ts +23 -0
  77. package/dist/dialect/dialectConfig.d.ts.map +1 -0
  78. package/dist/dialect/dialectConfig.js +96 -0
  79. package/dist/dialect/dialectConfig.js.map +1 -0
  80. package/dist/dialect/index.d.ts +5 -0
  81. package/dist/dialect/index.d.ts.map +1 -0
  82. package/dist/dialect/index.js +5 -0
  83. package/dist/dialect/index.js.map +1 -0
  84. package/dist/dialect/queryContext.d.ts +49 -0
  85. package/dist/dialect/queryContext.d.ts.map +1 -0
  86. package/dist/dialect/queryContext.js +65 -0
  87. package/dist/dialect/queryContext.js.map +1 -0
  88. package/dist/entity/decorator/definition.d.ts +11 -0
  89. package/dist/entity/decorator/definition.d.ts.map +1 -0
  90. package/dist/entity/decorator/definition.js +247 -0
  91. package/dist/entity/decorator/definition.js.map +1 -0
  92. package/dist/entity/decorator/entity.d.ts +3 -0
  93. package/dist/entity/decorator/entity.d.ts.map +1 -0
  94. package/dist/entity/decorator/entity.js +7 -0
  95. package/dist/entity/decorator/entity.js.map +1 -0
  96. package/dist/entity/decorator/field.d.ts +3 -0
  97. package/dist/entity/decorator/field.d.ts.map +1 -0
  98. package/dist/entity/decorator/field.js +8 -0
  99. package/dist/entity/decorator/field.js.map +1 -0
  100. package/dist/entity/decorator/hook.d.ts +8 -0
  101. package/dist/entity/decorator/hook.d.ts.map +1 -0
  102. package/dist/entity/decorator/hook.js +15 -0
  103. package/dist/entity/decorator/hook.js.map +1 -0
  104. package/dist/entity/decorator/id.d.ts +3 -0
  105. package/dist/entity/decorator/id.d.ts.map +1 -0
  106. package/dist/entity/decorator/id.js +8 -0
  107. package/dist/entity/decorator/id.js.map +1 -0
  108. package/dist/entity/decorator/index-decorator.d.ts +36 -0
  109. package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
  110. package/dist/entity/decorator/index-decorator.js +52 -0
  111. package/dist/entity/decorator/index-decorator.js.map +1 -0
  112. package/dist/entity/decorator/index.d.ts +8 -0
  113. package/dist/entity/decorator/index.d.ts.map +1 -0
  114. package/dist/entity/decorator/index.js +8 -0
  115. package/dist/entity/decorator/index.js.map +1 -0
  116. package/dist/entity/decorator/relation.d.ts +9 -0
  117. package/dist/entity/decorator/relation.d.ts.map +1 -0
  118. package/dist/entity/decorator/relation.js +20 -0
  119. package/dist/entity/decorator/relation.js.map +1 -0
  120. package/dist/entity/index.d.ts +2 -0
  121. package/dist/entity/index.d.ts.map +1 -0
  122. package/dist/entity/index.js +2 -0
  123. package/dist/entity/index.js.map +1 -0
  124. package/dist/express/index.d.ts +3 -0
  125. package/dist/express/index.d.ts.map +1 -0
  126. package/dist/express/index.js +3 -0
  127. package/dist/express/index.js.map +1 -0
  128. package/dist/express/querierMiddleware.d.ts +26 -0
  129. package/dist/express/querierMiddleware.d.ts.map +1 -0
  130. package/dist/express/querierMiddleware.js +149 -0
  131. package/dist/express/querierMiddleware.js.map +1 -0
  132. package/dist/express/query.util.d.ts +7 -0
  133. package/dist/express/query.util.d.ts.map +1 -0
  134. package/dist/express/query.util.js +28 -0
  135. package/dist/express/query.util.js.map +1 -0
  136. package/dist/index.d.ts +8 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +8 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/libsql/index.d.ts +3 -0
  141. package/dist/libsql/index.d.ts.map +1 -0
  142. package/dist/libsql/index.js +3 -0
  143. package/dist/libsql/index.js.map +1 -0
  144. package/dist/libsql/libsqlQuerier.d.ts +17 -0
  145. package/dist/libsql/libsqlQuerier.d.ts.map +1 -0
  146. package/dist/libsql/libsqlQuerier.js +71 -0
  147. package/dist/libsql/libsqlQuerier.js.map +1 -0
  148. package/dist/libsql/libsqlQuerierPool.d.ts +12 -0
  149. package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -0
  150. package/dist/libsql/libsqlQuerierPool.js +19 -0
  151. package/dist/libsql/libsqlQuerierPool.js.map +1 -0
  152. package/dist/maria/index.d.ts +4 -0
  153. package/dist/maria/index.d.ts.map +1 -0
  154. package/dist/maria/index.js +4 -0
  155. package/dist/maria/index.js.map +1 -0
  156. package/dist/maria/mariaDialect.d.ts +10 -0
  157. package/dist/maria/mariaDialect.d.ts.map +1 -0
  158. package/dist/maria/mariaDialect.js +41 -0
  159. package/dist/maria/mariaDialect.js.map +1 -0
  160. package/dist/maria/mariadbQuerier.d.ts +10 -0
  161. package/dist/maria/mariadbQuerier.d.ts.map +1 -0
  162. package/dist/maria/mariadbQuerier.js +20 -0
  163. package/dist/maria/mariadbQuerier.js.map +1 -0
  164. package/dist/maria/mariadbQuerierPool.d.ts +11 -0
  165. package/dist/maria/mariadbQuerierPool.d.ts.map +1 -0
  166. package/dist/maria/mariadbQuerierPool.js +17 -0
  167. package/dist/maria/mariadbQuerierPool.js.map +1 -0
  168. package/dist/migrate/bin.d.ts +3 -0
  169. package/dist/migrate/bin.d.ts.map +1 -0
  170. package/dist/migrate/bin.js +7 -0
  171. package/dist/migrate/bin.js.map +1 -0
  172. package/dist/migrate/builder/columnBuilder.d.ts +79 -0
  173. package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
  174. package/dist/migrate/builder/columnBuilder.js +159 -0
  175. package/dist/migrate/builder/columnBuilder.js.map +1 -0
  176. package/dist/migrate/builder/expressions.d.ts +87 -0
  177. package/dist/migrate/builder/expressions.d.ts.map +1 -0
  178. package/dist/migrate/builder/expressions.js +150 -0
  179. package/dist/migrate/builder/expressions.js.map +1 -0
  180. package/dist/migrate/builder/index.d.ts +6 -0
  181. package/dist/migrate/builder/index.d.ts.map +1 -0
  182. package/dist/migrate/builder/index.js +6 -0
  183. package/dist/migrate/builder/index.js.map +1 -0
  184. package/dist/migrate/builder/migrationBuilder.d.ts +109 -0
  185. package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
  186. package/dist/migrate/builder/migrationBuilder.js +463 -0
  187. package/dist/migrate/builder/migrationBuilder.js.map +1 -0
  188. package/dist/migrate/builder/tableBuilder.d.ts +51 -0
  189. package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
  190. package/dist/migrate/builder/tableBuilder.js +291 -0
  191. package/dist/migrate/builder/tableBuilder.js.map +1 -0
  192. package/dist/migrate/builder/types.d.ts +466 -0
  193. package/dist/migrate/builder/types.d.ts.map +1 -0
  194. package/dist/migrate/builder/types.js +8 -0
  195. package/dist/migrate/builder/types.js.map +1 -0
  196. package/dist/migrate/cli-config.d.ts +3 -0
  197. package/dist/migrate/cli-config.d.ts.map +1 -0
  198. package/dist/migrate/cli-config.js +35 -0
  199. package/dist/migrate/cli-config.js.map +1 -0
  200. package/dist/migrate/cli.d.ts +16 -0
  201. package/dist/migrate/cli.d.ts.map +1 -0
  202. package/dist/migrate/cli.js +394 -0
  203. package/dist/migrate/cli.js.map +1 -0
  204. package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
  205. package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
  206. package/dist/migrate/codegen/entityCodeGenerator.js +405 -0
  207. package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
  208. package/dist/migrate/codegen/entityMerger.d.ts +115 -0
  209. package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
  210. package/dist/migrate/codegen/entityMerger.js +294 -0
  211. package/dist/migrate/codegen/entityMerger.js.map +1 -0
  212. package/dist/migrate/codegen/index.d.ts +10 -0
  213. package/dist/migrate/codegen/index.d.ts.map +1 -0
  214. package/dist/migrate/codegen/index.js +14 -0
  215. package/dist/migrate/codegen/index.js.map +1 -0
  216. package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
  217. package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
  218. package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
  219. package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
  220. package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
  221. package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
  222. package/dist/migrate/codegen/smartRelationDetector.js +135 -0
  223. package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
  224. package/dist/migrate/drift/driftDetector.d.ts +81 -0
  225. package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
  226. package/dist/migrate/drift/driftDetector.js +248 -0
  227. package/dist/migrate/drift/driftDetector.js.map +1 -0
  228. package/dist/migrate/drift/index.d.ts +7 -0
  229. package/dist/migrate/drift/index.d.ts.map +1 -0
  230. package/dist/migrate/drift/index.js +7 -0
  231. package/dist/migrate/drift/index.js.map +1 -0
  232. package/dist/migrate/generator/index.d.ts +3 -0
  233. package/dist/migrate/generator/index.d.ts.map +1 -0
  234. package/dist/migrate/generator/index.js +3 -0
  235. package/dist/migrate/generator/index.js.map +1 -0
  236. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +39 -0
  237. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -0
  238. package/dist/migrate/generator/mongoSchemaGenerator.js +183 -0
  239. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -0
  240. package/dist/migrate/index.d.ts +13 -0
  241. package/dist/migrate/index.d.ts.map +1 -0
  242. package/dist/migrate/index.js +20 -0
  243. package/dist/migrate/index.js.map +1 -0
  244. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +77 -0
  245. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +1 -0
  246. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +156 -0
  247. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +1 -0
  248. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +28 -0
  249. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
  250. package/dist/migrate/introspection/baseSqlIntrospector.js +135 -0
  251. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
  252. package/dist/migrate/introspection/index.d.ts +6 -0
  253. package/dist/migrate/introspection/index.d.ts.map +1 -0
  254. package/dist/migrate/introspection/index.js +6 -0
  255. package/dist/migrate/introspection/index.js.map +1 -0
  256. package/dist/migrate/introspection/mongoIntrospector.d.ts +15 -0
  257. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -0
  258. package/dist/migrate/introspection/mongoIntrospector.js +100 -0
  259. package/dist/migrate/introspection/mongoIntrospector.js.map +1 -0
  260. package/dist/migrate/introspection/mysqlIntrospector.d.ts +59 -0
  261. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -0
  262. package/dist/migrate/introspection/mysqlIntrospector.js +175 -0
  263. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -0
  264. package/dist/migrate/introspection/postgresIntrospector.d.ts +55 -0
  265. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -0
  266. package/dist/migrate/introspection/postgresIntrospector.js +226 -0
  267. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -0
  268. package/dist/migrate/introspection/sqliteIntrospector.d.ts +60 -0
  269. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -0
  270. package/dist/migrate/introspection/sqliteIntrospector.js +180 -0
  271. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -0
  272. package/dist/migrate/migrator.d.ts +176 -0
  273. package/dist/migrate/migrator.d.ts.map +1 -0
  274. package/dist/migrate/migrator.js +624 -0
  275. package/dist/migrate/migrator.js.map +1 -0
  276. package/dist/migrate/schemaGenerator.d.ts +132 -0
  277. package/dist/migrate/schemaGenerator.d.ts.map +1 -0
  278. package/dist/migrate/schemaGenerator.js +628 -0
  279. package/dist/migrate/schemaGenerator.js.map +1 -0
  280. package/dist/migrate/storage/databaseStorage.d.ts +25 -0
  281. package/dist/migrate/storage/databaseStorage.d.ts.map +1 -0
  282. package/dist/migrate/storage/databaseStorage.js +77 -0
  283. package/dist/migrate/storage/databaseStorage.js.map +1 -0
  284. package/dist/migrate/storage/index.d.ts +3 -0
  285. package/dist/migrate/storage/index.d.ts.map +1 -0
  286. package/dist/migrate/storage/index.js +3 -0
  287. package/dist/migrate/storage/index.js.map +1 -0
  288. package/dist/migrate/storage/jsonStorage.d.ts +16 -0
  289. package/dist/migrate/storage/jsonStorage.d.ts.map +1 -0
  290. package/dist/migrate/storage/jsonStorage.js +43 -0
  291. package/dist/migrate/storage/jsonStorage.js.map +1 -0
  292. package/dist/migrate/sync/index.d.ts +7 -0
  293. package/dist/migrate/sync/index.d.ts.map +1 -0
  294. package/dist/migrate/sync/index.js +7 -0
  295. package/dist/migrate/sync/index.js.map +1 -0
  296. package/dist/migrate/sync/schemaSync.d.ts +132 -0
  297. package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
  298. package/dist/migrate/sync/schemaSync.js +260 -0
  299. package/dist/migrate/sync/schemaSync.js.map +1 -0
  300. package/dist/mongo/index.d.ts +4 -0
  301. package/dist/mongo/index.d.ts.map +1 -0
  302. package/dist/mongo/index.js +4 -0
  303. package/dist/mongo/index.js.map +1 -0
  304. package/dist/mongo/mongoDialect.d.ts +47 -0
  305. package/dist/mongo/mongoDialect.d.ts.map +1 -0
  306. package/dist/mongo/mongoDialect.js +299 -0
  307. package/dist/mongo/mongoDialect.js.map +1 -0
  308. package/dist/mongo/mongodbQuerier.d.ts +32 -0
  309. package/dist/mongo/mongodbQuerier.d.ts.map +1 -0
  310. package/dist/mongo/mongodbQuerier.js +267 -0
  311. package/dist/mongo/mongodbQuerier.js.map +1 -0
  312. package/dist/mongo/mongodbQuerierPool.d.ts +11 -0
  313. package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -0
  314. package/dist/mongo/mongodbQuerierPool.js +20 -0
  315. package/dist/mongo/mongodbQuerierPool.js.map +1 -0
  316. package/dist/mysql/index.d.ts +4 -0
  317. package/dist/mysql/index.d.ts.map +1 -0
  318. package/dist/mysql/index.js +4 -0
  319. package/dist/mysql/index.js.map +1 -0
  320. package/dist/mysql/mysql2Querier.d.ts +14 -0
  321. package/dist/mysql/mysql2Querier.d.ts.map +1 -0
  322. package/dist/mysql/mysql2Querier.js +25 -0
  323. package/dist/mysql/mysql2Querier.js.map +1 -0
  324. package/dist/mysql/mysql2QuerierPool.d.ts +11 -0
  325. package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -0
  326. package/dist/mysql/mysql2QuerierPool.js +17 -0
  327. package/dist/mysql/mysql2QuerierPool.js.map +1 -0
  328. package/dist/mysql/mysqlDialect.d.ts +19 -0
  329. package/dist/mysql/mysqlDialect.d.ts.map +1 -0
  330. package/dist/mysql/mysqlDialect.js +97 -0
  331. package/dist/mysql/mysqlDialect.js.map +1 -0
  332. package/dist/namingStrategy/defaultNamingStrategy.d.ts +10 -0
  333. package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +1 -0
  334. package/dist/namingStrategy/defaultNamingStrategy.js +15 -0
  335. package/dist/namingStrategy/defaultNamingStrategy.js.map +1 -0
  336. package/dist/namingStrategy/index.d.ts +3 -0
  337. package/dist/namingStrategy/index.d.ts.map +1 -0
  338. package/dist/namingStrategy/index.js +3 -0
  339. package/dist/namingStrategy/index.js.map +1 -0
  340. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +9 -0
  341. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +1 -0
  342. package/dist/namingStrategy/snakeCaseNamingStrategy.js +14 -0
  343. package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +1 -0
  344. package/dist/neon/index.d.ts +3 -0
  345. package/dist/neon/index.d.ts.map +1 -0
  346. package/dist/neon/index.js +3 -0
  347. package/dist/neon/index.js.map +1 -0
  348. package/dist/neon/neonQuerier.d.ts +10 -0
  349. package/dist/neon/neonQuerier.d.ts.map +1 -0
  350. package/dist/neon/neonQuerier.js +20 -0
  351. package/dist/neon/neonQuerier.js.map +1 -0
  352. package/dist/neon/neonQuerierPool.d.ts +11 -0
  353. package/dist/neon/neonQuerierPool.d.ts.map +1 -0
  354. package/dist/neon/neonQuerierPool.js +17 -0
  355. package/dist/neon/neonQuerierPool.js.map +1 -0
  356. package/dist/options.d.ts +5 -0
  357. package/dist/options.d.ts.map +1 -0
  358. package/dist/options.js +14 -0
  359. package/dist/options.js.map +1 -0
  360. package/dist/postgres/index.d.ts +4 -0
  361. package/dist/postgres/index.d.ts.map +1 -0
  362. package/dist/postgres/index.js +4 -0
  363. package/dist/postgres/index.js.map +1 -0
  364. package/dist/postgres/pgQuerier.d.ts +10 -0
  365. package/dist/postgres/pgQuerier.d.ts.map +1 -0
  366. package/dist/postgres/pgQuerier.js +20 -0
  367. package/dist/postgres/pgQuerier.js.map +1 -0
  368. package/dist/postgres/pgQuerierPool.d.ts +11 -0
  369. package/dist/postgres/pgQuerierPool.d.ts.map +1 -0
  370. package/dist/postgres/pgQuerierPool.js +17 -0
  371. package/dist/postgres/pgQuerierPool.js.map +1 -0
  372. package/dist/postgres/postgresDialect.d.ts +36 -0
  373. package/dist/postgres/postgresDialect.d.ts.map +1 -0
  374. package/dist/postgres/postgresDialect.js +201 -0
  375. package/dist/postgres/postgresDialect.js.map +1 -0
  376. package/dist/querier/abstractPoolQuerier.d.ts +13 -0
  377. package/dist/querier/abstractPoolQuerier.d.ts.map +1 -0
  378. package/dist/querier/abstractPoolQuerier.js +25 -0
  379. package/dist/querier/abstractPoolQuerier.js.map +1 -0
  380. package/dist/querier/abstractQuerier.d.ts +109 -0
  381. package/dist/querier/abstractQuerier.d.ts.map +1 -0
  382. package/dist/querier/abstractQuerier.js +378 -0
  383. package/dist/querier/abstractQuerier.js.map +1 -0
  384. package/dist/querier/abstractQuerierPool.d.ts +23 -0
  385. package/dist/querier/abstractQuerierPool.d.ts.map +1 -0
  386. package/dist/querier/abstractQuerierPool.js +28 -0
  387. package/dist/querier/abstractQuerierPool.js.map +1 -0
  388. package/dist/querier/abstractSqlQuerier.d.ts +38 -0
  389. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -0
  390. package/dist/querier/abstractSqlQuerier.js +169 -0
  391. package/dist/querier/abstractSqlQuerier.js.map +1 -0
  392. package/dist/querier/decorator/index.d.ts +5 -0
  393. package/dist/querier/decorator/index.d.ts.map +1 -0
  394. package/dist/querier/decorator/index.js +5 -0
  395. package/dist/querier/decorator/index.js.map +1 -0
  396. package/dist/querier/decorator/injectQuerier.d.ts +4 -0
  397. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -0
  398. package/dist/querier/decorator/injectQuerier.js +33 -0
  399. package/dist/querier/decorator/injectQuerier.js.map +1 -0
  400. package/dist/querier/decorator/log.d.ts +7 -0
  401. package/dist/querier/decorator/log.d.ts.map +1 -0
  402. package/dist/querier/decorator/log.js +27 -0
  403. package/dist/querier/decorator/log.js.map +1 -0
  404. package/dist/querier/decorator/serialized.d.ts +7 -0
  405. package/dist/querier/decorator/serialized.d.ts.map +1 -0
  406. package/dist/querier/decorator/serialized.js +14 -0
  407. package/dist/querier/decorator/serialized.js.map +1 -0
  408. package/dist/querier/decorator/transactional.d.ts +6 -0
  409. package/dist/querier/decorator/transactional.d.ts.map +1 -0
  410. package/dist/querier/decorator/transactional.js +48 -0
  411. package/dist/querier/decorator/transactional.js.map +1 -0
  412. package/dist/querier/index.d.ts +5 -0
  413. package/dist/querier/index.d.ts.map +1 -0
  414. package/dist/querier/index.js +5 -0
  415. package/dist/querier/index.js.map +1 -0
  416. package/dist/schema/canonicalType.d.ts +42 -0
  417. package/dist/schema/canonicalType.d.ts.map +1 -0
  418. package/dist/schema/canonicalType.js +524 -0
  419. package/dist/schema/canonicalType.js.map +1 -0
  420. package/dist/schema/index.d.ts +28 -0
  421. package/dist/schema/index.d.ts.map +1 -0
  422. package/dist/schema/index.js +29 -0
  423. package/dist/schema/index.js.map +1 -0
  424. package/dist/schema/schemaAST.d.ts +155 -0
  425. package/dist/schema/schemaAST.d.ts.map +1 -0
  426. package/dist/schema/schemaAST.js +496 -0
  427. package/dist/schema/schemaAST.js.map +1 -0
  428. package/dist/schema/schemaASTBuilder.d.ts +58 -0
  429. package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
  430. package/dist/schema/schemaASTBuilder.js +224 -0
  431. package/dist/schema/schemaASTBuilder.js.map +1 -0
  432. package/dist/schema/schemaASTDiffer.d.ts +84 -0
  433. package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
  434. package/dist/schema/schemaASTDiffer.js +431 -0
  435. package/dist/schema/schemaASTDiffer.js.map +1 -0
  436. package/dist/schema/types.d.ts +347 -0
  437. package/dist/schema/types.d.ts.map +1 -0
  438. package/dist/schema/types.js +11 -0
  439. package/dist/schema/types.js.map +1 -0
  440. package/dist/sqlite/abstractSqliteQuerier.d.ts +6 -0
  441. package/dist/sqlite/abstractSqliteQuerier.d.ts.map +1 -0
  442. package/dist/sqlite/abstractSqliteQuerier.js +13 -0
  443. package/dist/sqlite/abstractSqliteQuerier.js.map +1 -0
  444. package/dist/sqlite/index.d.ts +4 -0
  445. package/dist/sqlite/index.d.ts.map +1 -0
  446. package/dist/sqlite/index.js +4 -0
  447. package/dist/sqlite/index.js.map +1 -0
  448. package/dist/sqlite/sqliteDialect.d.ts +42 -0
  449. package/dist/sqlite/sqliteDialect.d.ts.map +1 -0
  450. package/dist/sqlite/sqliteDialect.js +129 -0
  451. package/dist/sqlite/sqliteDialect.js.map +1 -0
  452. package/dist/sqlite/sqliteQuerier.d.ts +12 -0
  453. package/dist/sqlite/sqliteQuerier.d.ts.map +1 -0
  454. package/dist/sqlite/sqliteQuerier.js +25 -0
  455. package/dist/sqlite/sqliteQuerier.js.map +1 -0
  456. package/dist/sqlite/sqliteQuerierPool.d.ts +13 -0
  457. package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -0
  458. package/dist/sqlite/sqliteQuerierPool.js +34 -0
  459. package/dist/sqlite/sqliteQuerierPool.js.map +1 -0
  460. package/dist/type/config.d.ts +46 -0
  461. package/dist/type/config.d.ts.map +1 -0
  462. package/dist/type/config.js +2 -0
  463. package/dist/type/config.js.map +1 -0
  464. package/dist/type/entity.d.ts +289 -0
  465. package/dist/type/entity.d.ts.map +1 -0
  466. package/dist/type/entity.js +5 -0
  467. package/dist/type/entity.js.map +1 -0
  468. package/dist/type/index.d.ts +11 -0
  469. package/dist/type/index.d.ts.map +1 -0
  470. package/dist/type/index.js +11 -0
  471. package/dist/type/index.js.map +1 -0
  472. package/dist/type/logger.d.ts +61 -0
  473. package/dist/type/logger.d.ts.map +1 -0
  474. package/dist/type/logger.js +2 -0
  475. package/dist/type/logger.js.map +1 -0
  476. package/dist/type/migration.d.ts +268 -0
  477. package/dist/type/migration.d.ts.map +1 -0
  478. package/dist/type/migration.js +2 -0
  479. package/dist/type/migration.js.map +1 -0
  480. package/dist/type/namingStrategy.d.ts +18 -0
  481. package/dist/type/namingStrategy.d.ts.map +1 -0
  482. package/dist/type/namingStrategy.js +2 -0
  483. package/dist/type/namingStrategy.js.map +1 -0
  484. package/dist/type/querier.d.ts +154 -0
  485. package/dist/type/querier.d.ts.map +1 -0
  486. package/dist/type/querier.js +11 -0
  487. package/dist/type/querier.js.map +1 -0
  488. package/dist/type/querierPool.d.ts +31 -0
  489. package/dist/type/querierPool.d.ts.map +1 -0
  490. package/dist/type/querierPool.js +2 -0
  491. package/dist/type/querierPool.js.map +1 -0
  492. package/dist/type/query.d.ts +475 -0
  493. package/dist/type/query.d.ts.map +1 -0
  494. package/dist/type/query.js +11 -0
  495. package/dist/type/query.js.map +1 -0
  496. package/dist/type/universalQuerier.d.ts +120 -0
  497. package/dist/type/universalQuerier.d.ts.map +1 -0
  498. package/dist/type/universalQuerier.js +2 -0
  499. package/dist/type/universalQuerier.js.map +1 -0
  500. package/dist/type/utility.d.ts +33 -0
  501. package/dist/type/utility.d.ts.map +1 -0
  502. package/dist/type/utility.js +2 -0
  503. package/dist/type/utility.js.map +1 -0
  504. package/dist/util/dialect.util.d.ts +13 -0
  505. package/dist/util/dialect.util.d.ts.map +1 -0
  506. package/dist/util/dialect.util.js +82 -0
  507. package/dist/util/dialect.util.js.map +1 -0
  508. package/dist/util/field.util.d.ts +14 -0
  509. package/dist/util/field.util.d.ts.map +1 -0
  510. package/dist/util/field.util.js +57 -0
  511. package/dist/util/field.util.js.map +1 -0
  512. package/dist/util/hook.util.d.ts +15 -0
  513. package/dist/util/hook.util.d.ts.map +1 -0
  514. package/dist/util/hook.util.js +20 -0
  515. package/dist/util/hook.util.js.map +1 -0
  516. package/dist/util/index.d.ts +9 -0
  517. package/dist/util/index.d.ts.map +1 -0
  518. package/dist/util/index.js +9 -0
  519. package/dist/util/index.js.map +1 -0
  520. package/dist/util/logger.d.ts +34 -0
  521. package/dist/util/logger.d.ts.map +1 -0
  522. package/dist/util/logger.js +129 -0
  523. package/dist/util/logger.js.map +1 -0
  524. package/dist/util/object.util.d.ts +8 -0
  525. package/dist/util/object.util.d.ts.map +1 -0
  526. package/dist/util/object.util.js +19 -0
  527. package/dist/util/object.util.js.map +1 -0
  528. package/dist/util/raw.d.ts +9 -0
  529. package/dist/util/raw.d.ts.map +1 -0
  530. package/dist/util/raw.js +11 -0
  531. package/dist/util/raw.js.map +1 -0
  532. package/dist/util/sql.util.d.ts +22 -0
  533. package/dist/util/sql.util.d.ts.map +1 -0
  534. package/dist/util/sql.util.js +88 -0
  535. package/dist/util/sql.util.js.map +1 -0
  536. package/dist/util/string.util.d.ts +29 -0
  537. package/dist/util/string.util.d.ts.map +1 -0
  538. package/dist/util/string.util.js +91 -0
  539. package/dist/util/string.util.js.map +1 -0
  540. package/package.json +146 -0
@@ -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":"AAAA;;;;;;;GAOG;AAMH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,gBAAgB,GAA2C;IAC/D,mBAAmB;IACnB,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAC5B,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9C,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IAC5C,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClD,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5C,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1C,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAC/B,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/C,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IAEnD,iBAAiB;IACjB,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5B,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1C,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1C,kBAAkB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAEtD,mBAAmB;IACnB,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAChC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAE9B,kBAAkB;IAClB,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACjC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAC/B,mBAAmB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAC3C,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;IAC3C,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9C,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClD,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;IAE7C,kBAAkB;IAClB,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAChC,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAE5B,oBAAoB;IACpB,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC1B,wBAAwB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC9C,qBAAqB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAC/D,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;IAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;IACpC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;IACxD,0BAA0B,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE;IACzE,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE;IAC1D,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;IAEnC,eAAe;IACf,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAE3B,eAAe;IACf,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAE1B,iBAAiB;IACjB,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC/B,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5C,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAChD,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAE3C,qCAAqC;IACrC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;CAC/B,CAAC;AAEF,MAAM,gBAAgB,GAAkD;IACtE,QAAQ,EAAE;QACR,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;KACjB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM,EAAE,wCAAwC;KACzD;IACD,MAAM,EAAE;QACN,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;IACD,oFAAoF;IACpF,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,OAAO;KAChB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAgF;IAClG,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,SAAS;YACjB,GAAG,EAAE,QAAQ;SACd;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,kBAAkB;YAC1B,GAAG,EAAE,kBAAkB;SACxB;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,WAAW;YACnB,GAAG,EAAE,QAAQ;SACd;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,QAAQ;SACd;QACD,MAAM,EAAE;YACN,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,YAAY;YACpB,GAAG,EAAE,UAAU;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,YAAY;YACpB,GAAG,EAAE,UAAU;SAChB;KACF;IACD,MAAM,EAAE,EAAE,EAAE,0CAA0C;IACtD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,WAAW;YACnB,GAAG,EAAE,QAAQ;SACd;KACF;IACD,OAAO,EAAE,EAAE,EAAE,6CAA6C;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAiC;IACpD,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAEhD,0DAA0D;IAC1D,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1E,yEAAyE;IACzE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IACnC,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,qCAAqC;QACrC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAkB;QAC5B,QAAQ,EAAE,IAAI,CAAC,QAAS;QACxB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC;IAEF,mBAAmB;IACnB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC/D,yBAAyB;YACzB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAA6B,CAAC,MAAM,GAAG,MAAM,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,oCAAoC;YACpC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,MAAgC,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAA4B,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9C,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,sCAAsC;YACtC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7B,MAA6B,CAAC,MAAM,GAAG,UAAU,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,WAAW,EAAE,CAAC;QACf,MAAgC,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAmB,EAAE,OAAgB;IAClE,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC;IAE9B,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE5C,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC/E,OAAO,GAAG,UAAU,IAAI,CAAC,MAAM,GAAG,CAAC;IACrC,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QACjF,OAAO,GAAG,aAAa,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;QACpE,OAAO,GAAG,GAAG,OAAO,WAAW,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,IAAmB,EAAE,OAAgB;IAC3D,IAAI,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAmB,EAAE,OAAgB,EAAE,QAAgB;IAClF,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACpF,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,UAAU,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,MAAM,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC;QAChD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,UAAU,CAAC;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;AAClE,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAmB,EAAE,OAAgB,EAAE,QAAgB;IACnF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5F,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,CAAC;IAC3E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAmB;IACvD,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAqB,EAAE,MAAgB;IAC7E,8CAA8C;IAC9C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChD,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YACrC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAC9C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;SACnC,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IAEpC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO;gBACL,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC;QACJ,CAAC;QACD,4EAA4E;QAC5E,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,oBAAoB;IACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAgB,EAAE,CAAgB;IAC9D,sBAAsB;IACtB,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAChC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAChC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACxB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAmB,EAAE,EAAiB;IACzE,mDAAmD;IACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3D,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAmB;IACvD,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,SAAS;YACZ,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;gBAAE,OAAO,QAAQ,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,UAAU,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;gBAAE,OAAO,QAAQ,CAAC;YACzC,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK;gBAAE,OAAO,MAAM,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;QACzD,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -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"}
@@ -0,0 +1,29 @@
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
+ // Dialect configuration
11
+ export { DIALECT_CONFIG, getDialectConfig } from '../dialect/index.js';
12
+ // Canonical type utilities
13
+ export { areTypesEqual, canonicalToColumnType, canonicalToSql, canonicalToTypeScript, fieldOptionsToCanonical, isBreakingTypeChange, sqlToCanonical, } from './canonicalType.js';
14
+ /**
15
+ * Introspect the database and build a SchemaAST from it.
16
+ *
17
+ * @param introspector - The schema introspector to use
18
+ * @returns The SchemaAST representing the database schema
19
+ */
20
+ export async function introspectSchema(introspector) {
21
+ return introspector.introspect();
22
+ }
23
+ // SchemaAST class
24
+ export { SchemaAST } from './schemaAST.js';
25
+ // Builder
26
+ export { SchemaASTBuilder } from './schemaASTBuilder.js';
27
+ // Differ
28
+ export { diffSchemas, SchemaASTDiffer } from './schemaASTDiffer.js';
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,wBAAwB;AACxB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvE,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,YAAgC;IACrE,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC;AACnC,CAAC;AACD,kBAAkB;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,UAAU;AACV,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}