uql-orm 0.9.5 → 0.10.2

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 (681) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +3 -2
  3. package/dist/browser/http/bus.d.ts +4 -0
  4. package/dist/browser/http/bus.d.ts.map +1 -0
  5. package/dist/browser/http/bus.js +14 -0
  6. package/dist/browser/http/bus.js.map +1 -0
  7. package/dist/browser/http/http.d.ts +22 -0
  8. package/dist/browser/http/http.d.ts.map +1 -0
  9. package/dist/browser/http/http.js +70 -0
  10. package/dist/browser/http/http.js.map +1 -0
  11. package/dist/browser/http/index.d.ts +3 -0
  12. package/dist/browser/http/index.d.ts.map +1 -0
  13. package/dist/browser/http/index.js +3 -0
  14. package/dist/browser/http/index.js.map +1 -0
  15. package/dist/browser/index.d.ts +5 -0
  16. package/dist/browser/index.d.ts.map +1 -0
  17. package/dist/browser/index.js +5 -0
  18. package/dist/browser/index.js.map +1 -0
  19. package/dist/browser/options.d.ts +5 -0
  20. package/dist/browser/options.d.ts.map +1 -0
  21. package/dist/browser/options.js +14 -0
  22. package/dist/browser/options.js.map +1 -0
  23. package/dist/browser/querier/httpQuerier.d.ts +38 -0
  24. package/dist/browser/querier/httpQuerier.d.ts.map +1 -0
  25. package/dist/browser/querier/httpQuerier.js +83 -0
  26. package/dist/browser/querier/httpQuerier.js.map +1 -0
  27. package/dist/browser/querier/index.d.ts +2 -0
  28. package/dist/browser/querier/index.d.ts.map +1 -0
  29. package/dist/browser/querier/index.js +2 -0
  30. package/dist/browser/querier/index.js.map +1 -0
  31. package/dist/browser/type/clientQuerier.d.ts +28 -0
  32. package/dist/browser/type/clientQuerier.d.ts.map +1 -0
  33. package/dist/browser/type/clientQuerier.js +2 -0
  34. package/dist/browser/type/clientQuerier.js.map +1 -0
  35. package/dist/browser/type/clientQuerierPool.d.ts +5 -0
  36. package/dist/browser/type/clientQuerierPool.d.ts.map +1 -0
  37. package/dist/browser/type/clientQuerierPool.js +2 -0
  38. package/dist/browser/type/clientQuerierPool.js.map +1 -0
  39. package/dist/browser/type/index.d.ts +4 -0
  40. package/dist/browser/type/index.d.ts.map +1 -0
  41. package/dist/browser/type/index.js +4 -0
  42. package/dist/browser/type/index.js.map +1 -0
  43. package/dist/browser/type/request.d.ts +28 -0
  44. package/dist/browser/type/request.d.ts.map +1 -0
  45. package/dist/browser/type/request.js +2 -0
  46. package/dist/browser/type/request.js.map +1 -0
  47. package/dist/browser/uql-browser.min.js +2 -7029
  48. package/dist/browser/uql-browser.min.js.map +17 -1
  49. package/dist/bunSql/bunSql.util.d.ts +30 -0
  50. package/dist/bunSql/bunSql.util.d.ts.map +1 -0
  51. package/dist/bunSql/bunSql.util.js +101 -0
  52. package/dist/bunSql/bunSql.util.js.map +1 -0
  53. package/dist/bunSql/bunSqlPostgresDialect.d.ts +12 -0
  54. package/dist/bunSql/bunSqlPostgresDialect.d.ts.map +1 -0
  55. package/dist/bunSql/bunSqlPostgresDialect.js +21 -0
  56. package/dist/bunSql/bunSqlPostgresDialect.js.map +1 -0
  57. package/dist/bunSql/bunSqlQuerier.d.ts +14 -0
  58. package/dist/bunSql/bunSqlQuerier.d.ts.map +1 -0
  59. package/dist/bunSql/bunSqlQuerier.js +37 -0
  60. package/dist/bunSql/bunSqlQuerier.js.map +1 -0
  61. package/dist/bunSql/bunSqlQuerierPool.d.ts +19 -0
  62. package/dist/bunSql/bunSqlQuerierPool.d.ts.map +1 -0
  63. package/dist/bunSql/bunSqlQuerierPool.js +58 -0
  64. package/dist/bunSql/bunSqlQuerierPool.js.map +1 -0
  65. package/dist/bunSql/bunSqliteDialect.d.ts +7 -0
  66. package/dist/bunSql/bunSqliteDialect.d.ts.map +1 -0
  67. package/dist/bunSql/bunSqliteDialect.js +7 -0
  68. package/dist/bunSql/bunSqliteDialect.js.map +1 -0
  69. package/dist/bunSql/index.d.ts +5 -0
  70. package/dist/bunSql/index.d.ts.map +1 -0
  71. package/dist/bunSql/index.js +5 -0
  72. package/dist/bunSql/index.js.map +1 -0
  73. package/dist/cockroachdb/cockroachDialect.d.ts +15 -0
  74. package/dist/cockroachdb/cockroachDialect.d.ts.map +1 -0
  75. package/dist/cockroachdb/cockroachDialect.js +14 -0
  76. package/dist/cockroachdb/cockroachDialect.js.map +1 -0
  77. package/dist/cockroachdb/crdbQuerier.d.ts +9 -0
  78. package/dist/cockroachdb/crdbQuerier.d.ts.map +1 -0
  79. package/dist/cockroachdb/crdbQuerier.js +7 -0
  80. package/dist/cockroachdb/crdbQuerier.js.map +1 -0
  81. package/dist/cockroachdb/crdbQuerierPool.d.ts +14 -0
  82. package/dist/cockroachdb/crdbQuerierPool.d.ts.map +1 -0
  83. package/dist/cockroachdb/crdbQuerierPool.js +16 -0
  84. package/dist/cockroachdb/crdbQuerierPool.js.map +1 -0
  85. package/dist/cockroachdb/index.d.ts +4 -0
  86. package/dist/cockroachdb/index.d.ts.map +1 -0
  87. package/dist/cockroachdb/index.js +4 -0
  88. package/dist/cockroachdb/index.js.map +1 -0
  89. package/dist/d1/d1Querier.d.ts +46 -0
  90. package/dist/d1/d1Querier.d.ts.map +1 -0
  91. package/dist/d1/d1Querier.js +30 -0
  92. package/dist/d1/d1Querier.js.map +1 -0
  93. package/dist/d1/d1QuerierPool.d.ts +11 -0
  94. package/dist/d1/d1QuerierPool.d.ts.map +1 -0
  95. package/dist/d1/d1QuerierPool.js +17 -0
  96. package/dist/d1/d1QuerierPool.js.map +1 -0
  97. package/dist/d1/d1SqliteDialect.d.ts +10 -0
  98. package/dist/d1/d1SqliteDialect.d.ts.map +1 -0
  99. package/dist/d1/d1SqliteDialect.js +10 -0
  100. package/dist/d1/d1SqliteDialect.js.map +1 -0
  101. package/dist/d1/index.d.ts +4 -0
  102. package/dist/d1/index.d.ts.map +1 -0
  103. package/dist/d1/index.js +4 -0
  104. package/dist/d1/index.js.map +1 -0
  105. package/dist/dialect/abstractDialect.d.ts +32 -0
  106. package/dist/dialect/abstractDialect.d.ts.map +1 -0
  107. package/dist/dialect/abstractDialect.js +39 -0
  108. package/dist/dialect/abstractDialect.js.map +1 -0
  109. package/dist/dialect/abstractSqlDialect.d.ts +233 -0
  110. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -0
  111. package/dist/dialect/abstractSqlDialect.js +1332 -0
  112. package/dist/dialect/abstractSqlDialect.js.map +1 -0
  113. package/dist/dialect/index.d.ts +9 -0
  114. package/dist/dialect/index.d.ts.map +1 -0
  115. package/dist/dialect/index.js +9 -0
  116. package/dist/dialect/index.js.map +1 -0
  117. package/dist/dialect/jsonArrayElemMatchUtils.d.ts +10 -0
  118. package/dist/dialect/jsonArrayElemMatchUtils.d.ts.map +1 -0
  119. package/dist/dialect/jsonArrayElemMatchUtils.js +24 -0
  120. package/dist/dialect/jsonArrayElemMatchUtils.js.map +1 -0
  121. package/dist/dialect/mysqlLikeSqlDialect.d.ts +36 -0
  122. package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -0
  123. package/dist/dialect/mysqlLikeSqlDialect.js +84 -0
  124. package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -0
  125. package/dist/dialect/queryContext.d.ts +49 -0
  126. package/dist/dialect/queryContext.d.ts.map +1 -0
  127. package/dist/dialect/queryContext.js +65 -0
  128. package/dist/dialect/queryContext.js.map +1 -0
  129. package/dist/entity/decorator/entity.d.ts +3 -0
  130. package/dist/entity/decorator/entity.d.ts.map +1 -0
  131. package/dist/entity/decorator/entity.js +7 -0
  132. package/dist/entity/decorator/entity.js.map +1 -0
  133. package/dist/entity/decorator/field.d.ts +3 -0
  134. package/dist/entity/decorator/field.d.ts.map +1 -0
  135. package/dist/entity/decorator/field.js +8 -0
  136. package/dist/entity/decorator/field.js.map +1 -0
  137. package/dist/entity/decorator/hook.d.ts +8 -0
  138. package/dist/entity/decorator/hook.d.ts.map +1 -0
  139. package/dist/entity/decorator/hook.js +15 -0
  140. package/dist/entity/decorator/hook.js.map +1 -0
  141. package/dist/entity/decorator/id.d.ts +3 -0
  142. package/dist/entity/decorator/id.d.ts.map +1 -0
  143. package/dist/entity/decorator/id.js +8 -0
  144. package/dist/entity/decorator/id.js.map +1 -0
  145. package/dist/entity/decorator/index-decorator.d.ts +37 -0
  146. package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
  147. package/dist/entity/decorator/index-decorator.js +27 -0
  148. package/dist/entity/decorator/index-decorator.js.map +1 -0
  149. package/dist/entity/decorator/index.d.ts +8 -0
  150. package/dist/entity/decorator/index.d.ts.map +1 -0
  151. package/dist/entity/decorator/index.js +8 -0
  152. package/dist/entity/decorator/index.js.map +1 -0
  153. package/dist/entity/decorator/relation.d.ts +9 -0
  154. package/dist/entity/decorator/relation.d.ts.map +1 -0
  155. package/dist/entity/decorator/relation.js +20 -0
  156. package/dist/entity/decorator/relation.js.map +1 -0
  157. package/dist/entity/index.d.ts +2 -0
  158. package/dist/entity/index.d.ts.map +1 -0
  159. package/dist/entity/index.js +2 -0
  160. package/dist/entity/index.js.map +1 -0
  161. package/dist/entity/metadata/definition.d.ts +16 -0
  162. package/dist/entity/metadata/definition.d.ts.map +1 -0
  163. package/dist/entity/metadata/definition.js +311 -0
  164. package/dist/entity/metadata/definition.js.map +1 -0
  165. package/dist/entity/test-helpers.d.ts +4 -0
  166. package/dist/entity/test-helpers.d.ts.map +1 -0
  167. package/dist/entity/test-helpers.js +15 -0
  168. package/dist/entity/test-helpers.js.map +1 -0
  169. package/dist/express/index.d.ts +2 -0
  170. package/dist/express/index.d.ts.map +1 -0
  171. package/dist/express/index.js +2 -0
  172. package/dist/express/index.js.map +1 -0
  173. package/dist/express/querierMiddleware.d.ts +12 -0
  174. package/dist/express/querierMiddleware.d.ts.map +1 -0
  175. package/dist/express/querierMiddleware.js +40 -0
  176. package/dist/express/querierMiddleware.js.map +1 -0
  177. package/dist/http/contract.d.ts +99 -0
  178. package/dist/http/contract.d.ts.map +1 -0
  179. package/dist/http/contract.js +72 -0
  180. package/dist/http/contract.js.map +1 -0
  181. package/dist/http/fetchHandler.d.ts +14 -0
  182. package/dist/http/fetchHandler.d.ts.map +1 -0
  183. package/dist/http/fetchHandler.js +63 -0
  184. package/dist/http/fetchHandler.js.map +1 -0
  185. package/dist/http/handler.d.ts +77 -0
  186. package/dist/http/handler.d.ts.map +1 -0
  187. package/dist/http/handler.js +172 -0
  188. package/dist/http/handler.js.map +1 -0
  189. package/dist/http/index.d.ts +5 -0
  190. package/dist/http/index.d.ts.map +1 -0
  191. package/dist/http/index.js +5 -0
  192. package/dist/http/index.js.map +1 -0
  193. package/dist/http/query.d.ts +12 -0
  194. package/dist/http/query.d.ts.map +1 -0
  195. package/dist/http/query.js +49 -0
  196. package/dist/http/query.js.map +1 -0
  197. package/dist/index.d.ts +8 -0
  198. package/dist/index.d.ts.map +1 -0
  199. package/dist/index.js +8 -0
  200. package/dist/index.js.map +1 -0
  201. package/dist/libsql/index.d.ts +4 -0
  202. package/dist/libsql/index.d.ts.map +1 -0
  203. package/dist/libsql/index.js +4 -0
  204. package/dist/libsql/index.js.map +1 -0
  205. package/dist/libsql/libsqlDialect.d.ts +10 -0
  206. package/dist/libsql/libsqlDialect.d.ts.map +1 -0
  207. package/dist/libsql/libsqlDialect.js +10 -0
  208. package/dist/libsql/libsqlDialect.js.map +1 -0
  209. package/dist/libsql/libsqlQuerier.d.ts +24 -0
  210. package/dist/libsql/libsqlQuerier.d.ts.map +1 -0
  211. package/dist/libsql/libsqlQuerier.js +76 -0
  212. package/dist/libsql/libsqlQuerier.js.map +1 -0
  213. package/dist/libsql/libsqlQuerierPool.d.ts +20 -0
  214. package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -0
  215. package/dist/libsql/libsqlQuerierPool.js +40 -0
  216. package/dist/libsql/libsqlQuerierPool.js.map +1 -0
  217. package/dist/maria/index.d.ts +4 -0
  218. package/dist/maria/index.d.ts.map +1 -0
  219. package/dist/maria/index.js +4 -0
  220. package/dist/maria/index.js.map +1 -0
  221. package/dist/maria/mariaDialect.d.ts +16 -0
  222. package/dist/maria/mariaDialect.d.ts.map +1 -0
  223. package/dist/maria/mariaDialect.js +56 -0
  224. package/dist/maria/mariaDialect.js.map +1 -0
  225. package/dist/maria/mariadbQuerier.d.ts +12 -0
  226. package/dist/maria/mariadbQuerier.d.ts.map +1 -0
  227. package/dist/maria/mariadbQuerier.js +31 -0
  228. package/dist/maria/mariadbQuerier.js.map +1 -0
  229. package/dist/maria/mariadbQuerierPool.d.ts +14 -0
  230. package/dist/maria/mariadbQuerierPool.d.ts.map +1 -0
  231. package/dist/maria/mariadbQuerierPool.js +26 -0
  232. package/dist/maria/mariadbQuerierPool.js.map +1 -0
  233. package/dist/migrate/acquireQuerierForMigrations.d.ts +9 -0
  234. package/dist/migrate/acquireQuerierForMigrations.d.ts.map +1 -0
  235. package/dist/migrate/acquireQuerierForMigrations.js +10 -0
  236. package/dist/migrate/acquireQuerierForMigrations.js.map +1 -0
  237. package/dist/migrate/assertCliConfig.d.ts +6 -0
  238. package/dist/migrate/assertCliConfig.d.ts.map +1 -0
  239. package/dist/migrate/assertCliConfig.js +31 -0
  240. package/dist/migrate/assertCliConfig.js.map +1 -0
  241. package/dist/migrate/bin.d.ts +3 -0
  242. package/dist/migrate/bin.d.ts.map +1 -0
  243. package/dist/migrate/bin.js +7 -0
  244. package/dist/migrate/bin.js.map +1 -0
  245. package/dist/migrate/builder/columnBuilder.d.ts +79 -0
  246. package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
  247. package/dist/migrate/builder/columnBuilder.js +159 -0
  248. package/dist/migrate/builder/columnBuilder.js.map +1 -0
  249. package/dist/migrate/builder/expressions.d.ts +87 -0
  250. package/dist/migrate/builder/expressions.d.ts.map +1 -0
  251. package/dist/migrate/builder/expressions.js +150 -0
  252. package/dist/migrate/builder/expressions.js.map +1 -0
  253. package/dist/migrate/builder/index.d.ts +6 -0
  254. package/dist/migrate/builder/index.d.ts.map +1 -0
  255. package/dist/migrate/builder/index.js +6 -0
  256. package/dist/migrate/builder/index.js.map +1 -0
  257. package/dist/migrate/builder/migrationBuilder.d.ts +110 -0
  258. package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
  259. package/dist/migrate/builder/migrationBuilder.js +470 -0
  260. package/dist/migrate/builder/migrationBuilder.js.map +1 -0
  261. package/dist/migrate/builder/splitSqlStatements.d.ts +18 -0
  262. package/dist/migrate/builder/splitSqlStatements.d.ts.map +1 -0
  263. package/dist/migrate/builder/splitSqlStatements.js +44 -0
  264. package/dist/migrate/builder/splitSqlStatements.js.map +1 -0
  265. package/dist/migrate/builder/tableBuilder.d.ts +51 -0
  266. package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
  267. package/dist/migrate/builder/tableBuilder.js +291 -0
  268. package/dist/migrate/builder/tableBuilder.js.map +1 -0
  269. package/dist/migrate/builder/types.d.ts +466 -0
  270. package/dist/migrate/builder/types.d.ts.map +1 -0
  271. package/dist/migrate/builder/types.js +8 -0
  272. package/dist/migrate/builder/types.js.map +1 -0
  273. package/dist/migrate/cli-config.d.ts +3 -0
  274. package/dist/migrate/cli-config.d.ts.map +1 -0
  275. package/dist/migrate/cli-config.js +35 -0
  276. package/dist/migrate/cli-config.js.map +1 -0
  277. package/dist/migrate/cli.d.ts +20 -0
  278. package/dist/migrate/cli.d.ts.map +1 -0
  279. package/dist/migrate/cli.js +398 -0
  280. package/dist/migrate/cli.js.map +1 -0
  281. package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
  282. package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
  283. package/dist/migrate/codegen/entityCodeGenerator.js +405 -0
  284. package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
  285. package/dist/migrate/codegen/entityMerger.d.ts +115 -0
  286. package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
  287. package/dist/migrate/codegen/entityMerger.js +294 -0
  288. package/dist/migrate/codegen/entityMerger.js.map +1 -0
  289. package/dist/migrate/codegen/index.d.ts +11 -0
  290. package/dist/migrate/codegen/index.d.ts.map +1 -0
  291. package/dist/migrate/codegen/index.js +15 -0
  292. package/dist/migrate/codegen/index.js.map +1 -0
  293. package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
  294. package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
  295. package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
  296. package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
  297. package/dist/migrate/codegen/migrationFile.d.ts +29 -0
  298. package/dist/migrate/codegen/migrationFile.d.ts.map +1 -0
  299. package/dist/migrate/codegen/migrationFile.js +48 -0
  300. package/dist/migrate/codegen/migrationFile.js.map +1 -0
  301. package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
  302. package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
  303. package/dist/migrate/codegen/smartRelationDetector.js +135 -0
  304. package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
  305. package/dist/migrate/drift/driftDetector.d.ts +80 -0
  306. package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
  307. package/dist/migrate/drift/driftDetector.js +247 -0
  308. package/dist/migrate/drift/driftDetector.js.map +1 -0
  309. package/dist/migrate/drift/index.d.ts +7 -0
  310. package/dist/migrate/drift/index.d.ts.map +1 -0
  311. package/dist/migrate/drift/index.js +7 -0
  312. package/dist/migrate/drift/index.js.map +1 -0
  313. package/dist/migrate/generator/index.d.ts +3 -0
  314. package/dist/migrate/generator/index.d.ts.map +1 -0
  315. package/dist/migrate/generator/index.js +3 -0
  316. package/dist/migrate/generator/index.js.map +1 -0
  317. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +48 -0
  318. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -0
  319. package/dist/migrate/generator/mongoSchemaGenerator.js +188 -0
  320. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -0
  321. package/dist/migrate/index.d.ts +16 -0
  322. package/dist/migrate/index.d.ts.map +1 -0
  323. package/dist/migrate/index.js +23 -0
  324. package/dist/migrate/index.js.map +1 -0
  325. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +77 -0
  326. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +1 -0
  327. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +156 -0
  328. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +1 -0
  329. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +26 -0
  330. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
  331. package/dist/migrate/introspection/baseSqlIntrospector.js +132 -0
  332. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
  333. package/dist/migrate/introspection/index.d.ts +6 -0
  334. package/dist/migrate/introspection/index.d.ts.map +1 -0
  335. package/dist/migrate/introspection/index.js +6 -0
  336. package/dist/migrate/introspection/index.js.map +1 -0
  337. package/dist/migrate/introspection/mongoIntrospector.d.ts +15 -0
  338. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -0
  339. package/dist/migrate/introspection/mongoIntrospector.js +100 -0
  340. package/dist/migrate/introspection/mongoIntrospector.js.map +1 -0
  341. package/dist/migrate/introspection/mysqlIntrospector.d.ts +59 -0
  342. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -0
  343. package/dist/migrate/introspection/mysqlIntrospector.js +175 -0
  344. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -0
  345. package/dist/migrate/introspection/postgresIntrospector.d.ts +55 -0
  346. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -0
  347. package/dist/migrate/introspection/postgresIntrospector.js +226 -0
  348. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -0
  349. package/dist/migrate/introspection/sqliteIntrospector.d.ts +60 -0
  350. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -0
  351. package/dist/migrate/introspection/sqliteIntrospector.js +188 -0
  352. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -0
  353. package/dist/migrate/migrator.d.ts +168 -0
  354. package/dist/migrate/migrator.d.ts.map +1 -0
  355. package/dist/migrate/migrator.js +614 -0
  356. package/dist/migrate/migrator.js.map +1 -0
  357. package/dist/migrate/schemaGenerator.d.ts +142 -0
  358. package/dist/migrate/schemaGenerator.d.ts.map +1 -0
  359. package/dist/migrate/schemaGenerator.js +693 -0
  360. package/dist/migrate/schemaGenerator.js.map +1 -0
  361. package/dist/migrate/schemaGeneratorAsync.d.ts +9 -0
  362. package/dist/migrate/schemaGeneratorAsync.d.ts.map +1 -0
  363. package/dist/migrate/schemaGeneratorAsync.js +13 -0
  364. package/dist/migrate/schemaGeneratorAsync.js.map +1 -0
  365. package/dist/migrate/storage/databaseStorage.d.ts +25 -0
  366. package/dist/migrate/storage/databaseStorage.d.ts.map +1 -0
  367. package/dist/migrate/storage/databaseStorage.js +78 -0
  368. package/dist/migrate/storage/databaseStorage.js.map +1 -0
  369. package/dist/migrate/storage/index.d.ts +3 -0
  370. package/dist/migrate/storage/index.d.ts.map +1 -0
  371. package/dist/migrate/storage/index.js +3 -0
  372. package/dist/migrate/storage/index.js.map +1 -0
  373. package/dist/migrate/storage/jsonStorage.d.ts +16 -0
  374. package/dist/migrate/storage/jsonStorage.d.ts.map +1 -0
  375. package/dist/migrate/storage/jsonStorage.js +43 -0
  376. package/dist/migrate/storage/jsonStorage.js.map +1 -0
  377. package/dist/migrate/sync/index.d.ts +7 -0
  378. package/dist/migrate/sync/index.d.ts.map +1 -0
  379. package/dist/migrate/sync/index.js +7 -0
  380. package/dist/migrate/sync/index.js.map +1 -0
  381. package/dist/migrate/sync/schemaSync.d.ts +132 -0
  382. package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
  383. package/dist/migrate/sync/schemaSync.js +260 -0
  384. package/dist/migrate/sync/schemaSync.js.map +1 -0
  385. package/dist/mongo/index.d.ts +6 -0
  386. package/dist/mongo/index.d.ts.map +1 -0
  387. package/dist/mongo/index.js +6 -0
  388. package/dist/mongo/index.js.map +1 -0
  389. package/dist/mongo/mongoDialect.d.ts +83 -0
  390. package/dist/mongo/mongoDialect.d.ts.map +1 -0
  391. package/dist/mongo/mongoDialect.js +418 -0
  392. package/dist/mongo/mongoDialect.js.map +1 -0
  393. package/dist/mongo/mongodbNativeDialect.d.ts +10 -0
  394. package/dist/mongo/mongodbNativeDialect.d.ts.map +1 -0
  395. package/dist/mongo/mongodbNativeDialect.js +10 -0
  396. package/dist/mongo/mongodbNativeDialect.js.map +1 -0
  397. package/dist/mongo/mongodbQuerier.d.ts +46 -0
  398. package/dist/mongo/mongodbQuerier.d.ts.map +1 -0
  399. package/dist/mongo/mongodbQuerier.js +344 -0
  400. package/dist/mongo/mongodbQuerier.js.map +1 -0
  401. package/dist/mongo/mongodbQuerierPool.d.ts +12 -0
  402. package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -0
  403. package/dist/mongo/mongodbQuerierPool.js +19 -0
  404. package/dist/mongo/mongodbQuerierPool.js.map +1 -0
  405. package/dist/mysql/index.d.ts +5 -0
  406. package/dist/mysql/index.d.ts.map +1 -0
  407. package/dist/mysql/index.js +5 -0
  408. package/dist/mysql/index.js.map +1 -0
  409. package/dist/mysql/mysql2Dialect.d.ts +10 -0
  410. package/dist/mysql/mysql2Dialect.d.ts.map +1 -0
  411. package/dist/mysql/mysql2Dialect.js +10 -0
  412. package/dist/mysql/mysql2Dialect.js.map +1 -0
  413. package/dist/mysql/mysql2Querier.d.ts +12 -0
  414. package/dist/mysql/mysql2Querier.d.ts.map +1 -0
  415. package/dist/mysql/mysql2Querier.js +34 -0
  416. package/dist/mysql/mysql2Querier.js.map +1 -0
  417. package/dist/mysql/mysql2QuerierPool.d.ts +12 -0
  418. package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -0
  419. package/dist/mysql/mysql2QuerierPool.js +18 -0
  420. package/dist/mysql/mysql2QuerierPool.js.map +1 -0
  421. package/dist/mysql/mysqlDialect.d.ts +6 -0
  422. package/dist/mysql/mysqlDialect.d.ts.map +1 -0
  423. package/dist/mysql/mysqlDialect.js +6 -0
  424. package/dist/mysql/mysqlDialect.js.map +1 -0
  425. package/dist/namingStrategy/defaultNamingStrategy.d.ts +10 -0
  426. package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +1 -0
  427. package/dist/namingStrategy/defaultNamingStrategy.js +15 -0
  428. package/dist/namingStrategy/defaultNamingStrategy.js.map +1 -0
  429. package/dist/namingStrategy/index.d.ts +3 -0
  430. package/dist/namingStrategy/index.d.ts.map +1 -0
  431. package/dist/namingStrategy/index.js +3 -0
  432. package/dist/namingStrategy/index.js.map +1 -0
  433. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +9 -0
  434. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +1 -0
  435. package/dist/namingStrategy/snakeCaseNamingStrategy.js +14 -0
  436. package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +1 -0
  437. package/dist/neon/index.d.ts +4 -0
  438. package/dist/neon/index.d.ts.map +1 -0
  439. package/dist/neon/index.js +4 -0
  440. package/dist/neon/index.js.map +1 -0
  441. package/dist/neon/neonDialect.d.ts +11 -0
  442. package/dist/neon/neonDialect.d.ts.map +1 -0
  443. package/dist/neon/neonDialect.js +11 -0
  444. package/dist/neon/neonDialect.js.map +1 -0
  445. package/dist/neon/neonQuerier.d.ts +6 -0
  446. package/dist/neon/neonQuerier.d.ts.map +1 -0
  447. package/dist/neon/neonQuerier.js +4 -0
  448. package/dist/neon/neonQuerier.js.map +1 -0
  449. package/dist/neon/neonQuerierPool.d.ts +11 -0
  450. package/dist/neon/neonQuerierPool.d.ts.map +1 -0
  451. package/dist/neon/neonQuerierPool.js +13 -0
  452. package/dist/neon/neonQuerierPool.js.map +1 -0
  453. package/dist/nestjs/index.d.ts +2 -0
  454. package/dist/nestjs/index.d.ts.map +1 -0
  455. package/dist/nestjs/index.js +2 -0
  456. package/dist/nestjs/index.js.map +1 -0
  457. package/dist/nestjs/uqlModule.d.ts +29 -0
  458. package/dist/nestjs/uqlModule.d.ts.map +1 -0
  459. package/dist/nestjs/uqlModule.js +42 -0
  460. package/dist/nestjs/uqlModule.js.map +1 -0
  461. package/dist/options.d.ts +5 -0
  462. package/dist/options.d.ts.map +1 -0
  463. package/dist/options.js +14 -0
  464. package/dist/options.js.map +1 -0
  465. package/dist/postgres/abstractPgQuerier.d.ts +24 -0
  466. package/dist/postgres/abstractPgQuerier.d.ts.map +1 -0
  467. package/dist/postgres/abstractPgQuerier.js +33 -0
  468. package/dist/postgres/abstractPgQuerier.js.map +1 -0
  469. package/dist/postgres/abstractPgQuerierPool.d.ts +22 -0
  470. package/dist/postgres/abstractPgQuerierPool.d.ts.map +1 -0
  471. package/dist/postgres/abstractPgQuerierPool.js +21 -0
  472. package/dist/postgres/abstractPgQuerierPool.js.map +1 -0
  473. package/dist/postgres/index.d.ts +6 -0
  474. package/dist/postgres/index.d.ts.map +1 -0
  475. package/dist/postgres/index.js +6 -0
  476. package/dist/postgres/index.js.map +1 -0
  477. package/dist/postgres/pgDialect.d.ts +13 -0
  478. package/dist/postgres/pgDialect.d.ts.map +1 -0
  479. package/dist/postgres/pgDialect.js +14 -0
  480. package/dist/postgres/pgDialect.js.map +1 -0
  481. package/dist/postgres/pgQuerier.d.ts +6 -0
  482. package/dist/postgres/pgQuerier.d.ts.map +1 -0
  483. package/dist/postgres/pgQuerier.js +4 -0
  484. package/dist/postgres/pgQuerier.js.map +1 -0
  485. package/dist/postgres/pgQuerierPool.d.ts +11 -0
  486. package/dist/postgres/pgQuerierPool.d.ts.map +1 -0
  487. package/dist/postgres/pgQuerierPool.js +15 -0
  488. package/dist/postgres/pgQuerierPool.js.map +1 -0
  489. package/dist/postgres/postgresDialect.d.ts +48 -0
  490. package/dist/postgres/postgresDialect.d.ts.map +1 -0
  491. package/dist/postgres/postgresDialect.js +222 -0
  492. package/dist/postgres/postgresDialect.js.map +1 -0
  493. package/dist/postgres/postgresWireDriverCapabilities.d.ts +15 -0
  494. package/dist/postgres/postgresWireDriverCapabilities.d.ts.map +1 -0
  495. package/dist/postgres/postgresWireDriverCapabilities.js +15 -0
  496. package/dist/postgres/postgresWireDriverCapabilities.js.map +1 -0
  497. package/dist/querier/abstractPoolQuerier.d.ts +14 -0
  498. package/dist/querier/abstractPoolQuerier.d.ts.map +1 -0
  499. package/dist/querier/abstractPoolQuerier.js +31 -0
  500. package/dist/querier/abstractPoolQuerier.js.map +1 -0
  501. package/dist/querier/abstractQuerier.d.ts +138 -0
  502. package/dist/querier/abstractQuerier.d.ts.map +1 -0
  503. package/dist/querier/abstractQuerier.js +426 -0
  504. package/dist/querier/abstractQuerier.js.map +1 -0
  505. package/dist/querier/abstractQuerierPool.d.ts +27 -0
  506. package/dist/querier/abstractQuerierPool.d.ts.map +1 -0
  507. package/dist/querier/abstractQuerierPool.js +31 -0
  508. package/dist/querier/abstractQuerierPool.js.map +1 -0
  509. package/dist/querier/abstractSqlQuerier.d.ts +53 -0
  510. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -0
  511. package/dist/querier/abstractSqlQuerier.js +256 -0
  512. package/dist/querier/abstractSqlQuerier.js.map +1 -0
  513. package/dist/querier/decorator/index.d.ts +5 -0
  514. package/dist/querier/decorator/index.d.ts.map +1 -0
  515. package/dist/querier/decorator/index.js +5 -0
  516. package/dist/querier/decorator/index.js.map +1 -0
  517. package/dist/querier/decorator/injectQuerier.d.ts +4 -0
  518. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -0
  519. package/dist/querier/decorator/injectQuerier.js +34 -0
  520. package/dist/querier/decorator/injectQuerier.js.map +1 -0
  521. package/dist/querier/decorator/log.d.ts +7 -0
  522. package/dist/querier/decorator/log.d.ts.map +1 -0
  523. package/dist/querier/decorator/log.js +27 -0
  524. package/dist/querier/decorator/log.js.map +1 -0
  525. package/dist/querier/decorator/serialized.d.ts +7 -0
  526. package/dist/querier/decorator/serialized.d.ts.map +1 -0
  527. package/dist/querier/decorator/serialized.js +14 -0
  528. package/dist/querier/decorator/serialized.js.map +1 -0
  529. package/dist/querier/decorator/transactional.d.ts +7 -0
  530. package/dist/querier/decorator/transactional.d.ts.map +1 -0
  531. package/dist/querier/decorator/transactional.js +49 -0
  532. package/dist/querier/decorator/transactional.js.map +1 -0
  533. package/dist/querier/index.d.ts +5 -0
  534. package/dist/querier/index.d.ts.map +1 -0
  535. package/dist/querier/index.js +5 -0
  536. package/dist/querier/index.js.map +1 -0
  537. package/dist/schema/canonicalType.d.ts +54 -0
  538. package/dist/schema/canonicalType.d.ts.map +1 -0
  539. package/dist/schema/canonicalType.js +571 -0
  540. package/dist/schema/canonicalType.js.map +1 -0
  541. package/dist/schema/index.d.ts +26 -0
  542. package/dist/schema/index.d.ts.map +1 -0
  543. package/dist/schema/index.js +27 -0
  544. package/dist/schema/index.js.map +1 -0
  545. package/dist/schema/schemaAST.d.ts +155 -0
  546. package/dist/schema/schemaAST.d.ts.map +1 -0
  547. package/dist/schema/schemaAST.js +496 -0
  548. package/dist/schema/schemaAST.js.map +1 -0
  549. package/dist/schema/schemaASTBuilder.d.ts +78 -0
  550. package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
  551. package/dist/schema/schemaASTBuilder.js +259 -0
  552. package/dist/schema/schemaASTBuilder.js.map +1 -0
  553. package/dist/schema/schemaASTDiffer.d.ts +84 -0
  554. package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
  555. package/dist/schema/schemaASTDiffer.js +431 -0
  556. package/dist/schema/schemaASTDiffer.js.map +1 -0
  557. package/dist/schema/types.d.ts +348 -0
  558. package/dist/schema/types.d.ts.map +1 -0
  559. package/dist/schema/types.js +11 -0
  560. package/dist/schema/types.js.map +1 -0
  561. package/dist/sqlite/abstractSqliteQuerier.d.ts +4 -0
  562. package/dist/sqlite/abstractSqliteQuerier.d.ts.map +1 -0
  563. package/dist/sqlite/abstractSqliteQuerier.js +4 -0
  564. package/dist/sqlite/abstractSqliteQuerier.js.map +1 -0
  565. package/dist/sqlite/betterSqlite3Dialect.d.ts +10 -0
  566. package/dist/sqlite/betterSqlite3Dialect.d.ts.map +1 -0
  567. package/dist/sqlite/betterSqlite3Dialect.js +10 -0
  568. package/dist/sqlite/betterSqlite3Dialect.js.map +1 -0
  569. package/dist/sqlite/index.d.ts +6 -0
  570. package/dist/sqlite/index.d.ts.map +1 -0
  571. package/dist/sqlite/index.js +6 -0
  572. package/dist/sqlite/index.js.map +1 -0
  573. package/dist/sqlite/sqliteDialect.d.ts +36 -0
  574. package/dist/sqlite/sqliteDialect.d.ts.map +1 -0
  575. package/dist/sqlite/sqliteDialect.js +155 -0
  576. package/dist/sqlite/sqliteDialect.js.map +1 -0
  577. package/dist/sqlite/sqliteQuerier.d.ts +14 -0
  578. package/dist/sqlite/sqliteQuerier.d.ts.map +1 -0
  579. package/dist/sqlite/sqliteQuerier.js +30 -0
  580. package/dist/sqlite/sqliteQuerier.js.map +1 -0
  581. package/dist/sqlite/sqliteQuerierPool.d.ts +14 -0
  582. package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -0
  583. package/dist/sqlite/sqliteQuerierPool.js +36 -0
  584. package/dist/sqlite/sqliteQuerierPool.js.map +1 -0
  585. package/dist/type/config.d.ts +43 -0
  586. package/dist/type/config.d.ts.map +1 -0
  587. package/dist/type/config.js +2 -0
  588. package/dist/type/config.js.map +1 -0
  589. package/dist/type/entity.d.ts +338 -0
  590. package/dist/type/entity.d.ts.map +1 -0
  591. package/dist/type/entity.js +5 -0
  592. package/dist/type/entity.js.map +1 -0
  593. package/dist/type/index.d.ts +12 -0
  594. package/dist/type/index.d.ts.map +1 -0
  595. package/dist/type/index.js +12 -0
  596. package/dist/type/index.js.map +1 -0
  597. package/dist/type/logger.d.ts +61 -0
  598. package/dist/type/logger.d.ts.map +1 -0
  599. package/dist/type/logger.js +2 -0
  600. package/dist/type/logger.js.map +1 -0
  601. package/dist/type/migration.d.ts +267 -0
  602. package/dist/type/migration.d.ts.map +1 -0
  603. package/dist/type/migration.js +2 -0
  604. package/dist/type/migration.js.map +1 -0
  605. package/dist/type/migratorDialect.d.ts +10 -0
  606. package/dist/type/migratorDialect.d.ts.map +1 -0
  607. package/dist/type/migratorDialect.js +16 -0
  608. package/dist/type/migratorDialect.js.map +1 -0
  609. package/dist/type/namingStrategy.d.ts +18 -0
  610. package/dist/type/namingStrategy.d.ts.map +1 -0
  611. package/dist/type/namingStrategy.js +2 -0
  612. package/dist/type/namingStrategy.js.map +1 -0
  613. package/dist/type/querier.d.ts +162 -0
  614. package/dist/type/querier.d.ts.map +1 -0
  615. package/dist/type/querier.js +11 -0
  616. package/dist/type/querier.js.map +1 -0
  617. package/dist/type/querierPool.d.ts +62 -0
  618. package/dist/type/querierPool.d.ts.map +1 -0
  619. package/dist/type/querierPool.js +2 -0
  620. package/dist/type/querierPool.js.map +1 -0
  621. package/dist/type/query.d.ts +700 -0
  622. package/dist/type/query.d.ts.map +1 -0
  623. package/dist/type/query.js +11 -0
  624. package/dist/type/query.js.map +1 -0
  625. package/dist/type/universalQuerier.d.ts +136 -0
  626. package/dist/type/universalQuerier.d.ts.map +1 -0
  627. package/dist/type/universalQuerier.js +2 -0
  628. package/dist/type/universalQuerier.js.map +1 -0
  629. package/dist/type/utility.d.ts +37 -0
  630. package/dist/type/utility.d.ts.map +1 -0
  631. package/dist/type/utility.js +2 -0
  632. package/dist/type/utility.js.map +1 -0
  633. package/dist/util/ansiSqlLiteral.d.ts +21 -0
  634. package/dist/util/ansiSqlLiteral.d.ts.map +1 -0
  635. package/dist/util/ansiSqlLiteral.js +101 -0
  636. package/dist/util/ansiSqlLiteral.js.map +1 -0
  637. package/dist/util/dialect.util.d.ts +31 -0
  638. package/dist/util/dialect.util.d.ts.map +1 -0
  639. package/dist/util/dialect.util.js +113 -0
  640. package/dist/util/dialect.util.js.map +1 -0
  641. package/dist/util/field.util.d.ts +14 -0
  642. package/dist/util/field.util.d.ts.map +1 -0
  643. package/dist/util/field.util.js +57 -0
  644. package/dist/util/field.util.js.map +1 -0
  645. package/dist/util/hook.util.d.ts +15 -0
  646. package/dist/util/hook.util.d.ts.map +1 -0
  647. package/dist/util/hook.util.js +20 -0
  648. package/dist/util/hook.util.js.map +1 -0
  649. package/dist/util/index.d.ts +10 -0
  650. package/dist/util/index.d.ts.map +1 -0
  651. package/dist/util/index.js +10 -0
  652. package/dist/util/index.js.map +1 -0
  653. package/dist/util/logger.d.ts +51 -0
  654. package/dist/util/logger.d.ts.map +1 -0
  655. package/dist/util/logger.js +144 -0
  656. package/dist/util/logger.js.map +1 -0
  657. package/dist/util/object.util.d.ts +10 -0
  658. package/dist/util/object.util.d.ts.map +1 -0
  659. package/dist/util/object.util.js +29 -0
  660. package/dist/util/object.util.js.map +1 -0
  661. package/dist/util/raw.d.ts +18 -0
  662. package/dist/util/raw.d.ts.map +1 -0
  663. package/dist/util/raw.js +20 -0
  664. package/dist/util/raw.js.map +1 -0
  665. package/dist/util/relationQuery.util.d.ts +25 -0
  666. package/dist/util/relationQuery.util.d.ts.map +1 -0
  667. package/dist/util/relationQuery.util.js +101 -0
  668. package/dist/util/relationQuery.util.js.map +1 -0
  669. package/dist/util/sql.util.d.ts +50 -0
  670. package/dist/util/sql.util.d.ts.map +1 -0
  671. package/dist/util/sql.util.js +141 -0
  672. package/dist/util/sql.util.js.map +1 -0
  673. package/dist/util/string.util.d.ts +29 -0
  674. package/dist/util/string.util.d.ts.map +1 -0
  675. package/dist/util/string.util.js +93 -0
  676. package/dist/util/string.util.js.map +1 -0
  677. package/package.json +17 -10
  678. package/dist/browser/cc-BVTDOeZ_.js +0 -566
  679. package/dist/browser/cc-BVTDOeZ_.js.map +0 -1
  680. package/dist/browser/mongoSchemaGenerator-BT2_u1wI.js +0 -735
  681. package/dist/browser/mongoSchemaGenerator-BT2_u1wI.js.map +0 -1
@@ -0,0 +1,571 @@
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
+ // Vector Category Helpers
11
+ // ============================================================================
12
+ /** Type guard for all vector-family categories. */
13
+ export function isVectorCategory(category) {
14
+ return category === 'vector' || category === 'halfvec' || category === 'sparsevec';
15
+ }
16
+ /**
17
+ * Resolve the effective vector cast type from field options.
18
+ * Follows the canonical type system priority: `columnType > type`.
19
+ */
20
+ export function resolveVectorCast(field) {
21
+ const raw = field?.columnType ?? field?.type;
22
+ if (raw === 'halfvec')
23
+ return 'halfvec';
24
+ if (raw === 'sparsevec')
25
+ return 'sparsevec';
26
+ return 'vector';
27
+ }
28
+ // Type Mapping Tables
29
+ // ============================================================================
30
+ /**
31
+ * Maps SQL type strings to canonical type categories.
32
+ * Handles variations across dialects (PostgreSQL, MySQL, SQLite).
33
+ */
34
+ const SQL_TO_CANONICAL = {
35
+ // === Integers ===
36
+ int: { category: 'integer' },
37
+ int4: { category: 'integer' },
38
+ integer: { category: 'integer' },
39
+ tinyint: { category: 'integer', size: 'tiny' },
40
+ smallint: { category: 'integer', size: 'small' },
41
+ int2: { category: 'integer', size: 'small' },
42
+ mediumint: { category: 'integer', size: 'medium' },
43
+ bigint: { category: 'integer', size: 'big' },
44
+ int8: { category: 'integer', size: 'big' },
45
+ serial: { category: 'integer' },
46
+ bigserial: { category: 'integer', size: 'big' },
47
+ smallserial: { category: 'integer', size: 'small' },
48
+ // === Floats ===
49
+ float: { category: 'float' },
50
+ float4: { category: 'float' },
51
+ real: { category: 'float' },
52
+ float8: { category: 'float', size: 'big' },
53
+ double: { category: 'float', size: 'big' },
54
+ 'double precision': { category: 'float', size: 'big' },
55
+ // === Decimals ===
56
+ decimal: { category: 'decimal' },
57
+ numeric: { category: 'decimal' },
58
+ money: { category: 'decimal' },
59
+ // === Strings ===
60
+ char: { category: 'string' },
61
+ character: { category: 'string' },
62
+ varchar: { category: 'string' },
63
+ 'character varying': { category: 'string' },
64
+ text: { category: 'string', size: 'small' },
65
+ tinytext: { category: 'string', size: 'tiny' },
66
+ mediumtext: { category: 'string', size: 'medium' },
67
+ longtext: { category: 'string', size: 'big' },
68
+ // === Boolean ===
69
+ bool: { category: 'boolean' },
70
+ boolean: { category: 'boolean' },
71
+ bit: { category: 'boolean' },
72
+ // === Date/Time ===
73
+ date: { category: 'date' },
74
+ time: { category: 'time' },
75
+ 'time without time zone': { category: 'time' },
76
+ 'time with time zone': { category: 'time', withTimezone: true },
77
+ timetz: { category: 'time', withTimezone: true },
78
+ timestamp: { category: 'timestamp' },
79
+ 'timestamp without time zone': { category: 'timestamp' },
80
+ 'timestamp with time zone': { category: 'timestamp', withTimezone: true },
81
+ timestamptz: { category: 'timestamp', withTimezone: true },
82
+ datetime: { category: 'timestamp' },
83
+ // === JSON ===
84
+ json: { category: 'json' },
85
+ jsonb: { category: 'json' },
86
+ // === UUID ===
87
+ uuid: { category: 'uuid' },
88
+ // === Binary ===
89
+ blob: { category: 'blob' },
90
+ bytea: { category: 'blob' },
91
+ binary: { category: 'blob' },
92
+ varbinary: { category: 'blob' },
93
+ tinyblob: { category: 'blob', size: 'tiny' },
94
+ mediumblob: { category: 'blob', size: 'medium' },
95
+ longblob: { category: 'blob', size: 'big' },
96
+ // === Vector (for AI/embeddings) ===
97
+ vector: { category: 'vector' },
98
+ halfvec: { category: 'halfvec' },
99
+ sparsevec: { category: 'sparsevec' },
100
+ };
101
+ const PG_TYPE_MAP = {
102
+ integer: 'INTEGER',
103
+ float: 'REAL',
104
+ decimal: 'NUMERIC',
105
+ string: 'VARCHAR',
106
+ boolean: 'BOOLEAN',
107
+ date: 'DATE',
108
+ time: 'TIME',
109
+ timestamp: 'TIMESTAMP',
110
+ json: 'JSONB',
111
+ uuid: 'UUID',
112
+ blob: 'BYTEA',
113
+ vector: 'VECTOR',
114
+ halfvec: 'HALFVEC',
115
+ sparsevec: 'SPARSEVEC',
116
+ };
117
+ const CANONICAL_TO_SQL = {
118
+ postgres: PG_TYPE_MAP,
119
+ cockroachdb: PG_TYPE_MAP,
120
+ mysql: {
121
+ integer: 'INT',
122
+ float: 'FLOAT',
123
+ decimal: 'DECIMAL',
124
+ string: 'VARCHAR',
125
+ boolean: 'TINYINT(1)',
126
+ date: 'DATE',
127
+ time: 'TIME',
128
+ timestamp: 'DATETIME',
129
+ json: 'JSON',
130
+ uuid: 'CHAR(36)',
131
+ blob: 'BLOB',
132
+ vector: 'JSON', // MySQL doesn't have native vector type
133
+ halfvec: 'JSON',
134
+ sparsevec: 'JSON',
135
+ },
136
+ sqlite: {
137
+ integer: 'INTEGER',
138
+ float: 'REAL',
139
+ decimal: 'REAL',
140
+ string: 'TEXT',
141
+ boolean: 'INTEGER',
142
+ date: 'TEXT',
143
+ time: 'TEXT',
144
+ timestamp: 'TEXT',
145
+ json: 'TEXT',
146
+ uuid: 'TEXT',
147
+ blob: 'BLOB',
148
+ vector: 'TEXT',
149
+ halfvec: 'TEXT',
150
+ sparsevec: 'TEXT',
151
+ },
152
+ mariadb: {
153
+ integer: 'INT',
154
+ float: 'FLOAT',
155
+ decimal: 'DECIMAL',
156
+ string: 'VARCHAR',
157
+ boolean: 'TINYINT(1)',
158
+ date: 'DATE',
159
+ time: 'TIME',
160
+ timestamp: 'DATETIME',
161
+ json: 'JSON',
162
+ uuid: 'CHAR(36)',
163
+ blob: 'BLOB',
164
+ vector: 'VECTOR',
165
+ halfvec: 'VECTOR', // MariaDB only supports VECTOR; no native halfvec/sparsevec
166
+ sparsevec: 'VECTOR',
167
+ },
168
+ // MongoDB uses BSON types, not SQL types. These are placeholders for compatibility.
169
+ mongodb: {
170
+ integer: 'int',
171
+ float: 'double',
172
+ decimal: 'decimal128',
173
+ string: 'string',
174
+ boolean: 'bool',
175
+ date: 'date',
176
+ time: 'string',
177
+ timestamp: 'timestamp',
178
+ json: 'object',
179
+ uuid: 'binData',
180
+ blob: 'binData',
181
+ vector: 'array',
182
+ halfvec: 'array',
183
+ sparsevec: 'array',
184
+ },
185
+ };
186
+ /**
187
+ * Size variant modifiers for SQL types.
188
+ */
189
+ const PG_SIZE_MODIFIERS = {
190
+ integer: {
191
+ tiny: 'SMALLINT',
192
+ small: 'SMALLINT',
193
+ medium: 'INTEGER',
194
+ big: 'BIGINT',
195
+ },
196
+ float: {
197
+ tiny: 'REAL',
198
+ small: 'REAL',
199
+ medium: 'DOUBLE PRECISION',
200
+ big: 'DOUBLE PRECISION',
201
+ },
202
+ };
203
+ const SIZE_MODIFIERS = {
204
+ postgres: PG_SIZE_MODIFIERS,
205
+ cockroachdb: PG_SIZE_MODIFIERS,
206
+ mysql: {
207
+ integer: {
208
+ tiny: 'TINYINT',
209
+ small: 'SMALLINT',
210
+ medium: 'MEDIUMINT',
211
+ big: 'BIGINT',
212
+ },
213
+ float: {
214
+ tiny: 'FLOAT',
215
+ small: 'FLOAT',
216
+ medium: 'DOUBLE',
217
+ big: 'DOUBLE',
218
+ },
219
+ string: {
220
+ tiny: 'TINYTEXT',
221
+ small: 'TEXT',
222
+ medium: 'MEDIUMTEXT',
223
+ big: 'LONGTEXT',
224
+ },
225
+ blob: {
226
+ tiny: 'TINYBLOB',
227
+ small: 'BLOB',
228
+ medium: 'MEDIUMBLOB',
229
+ big: 'LONGBLOB',
230
+ },
231
+ },
232
+ sqlite: {}, // SQLite uses affinity, no size modifiers
233
+ mariadb: {
234
+ integer: {
235
+ tiny: 'TINYINT',
236
+ small: 'SMALLINT',
237
+ medium: 'MEDIUMINT',
238
+ big: 'BIGINT',
239
+ },
240
+ },
241
+ mongodb: {},
242
+ };
243
+ /**
244
+ * Maps canonical types to TypeScript types for entity generation.
245
+ */
246
+ const CANONICAL_TO_TS = {
247
+ integer: 'number',
248
+ float: 'number',
249
+ decimal: 'number',
250
+ string: 'string',
251
+ boolean: 'boolean',
252
+ date: 'Date',
253
+ time: 'string',
254
+ timestamp: 'Date',
255
+ json: 'unknown',
256
+ uuid: 'string',
257
+ blob: 'Buffer',
258
+ vector: 'number[]',
259
+ halfvec: 'number[]',
260
+ sparsevec: 'number[]',
261
+ };
262
+ // ============================================================================
263
+ // Type Conversion Functions
264
+ // ============================================================================
265
+ /**
266
+ * Parse a SQL type string into a canonical type.
267
+ * Handles complex types like VARCHAR(255), DECIMAL(10,2), etc.
268
+ */
269
+ export function sqlToCanonical(sqlType) {
270
+ const normalized = sqlType.toLowerCase().trim();
271
+ // Check for UNSIGNED modifier before extracting base type
272
+ const hasUnsigned = normalized.includes('unsigned');
273
+ const withoutUnsigned = normalized.replace(/\s*unsigned\s*/i, ' ').trim();
274
+ // Extract base type and parameters: "VARCHAR(255)" -> ["varchar", "255"]
275
+ const match = withoutUnsigned.match(/^([a-z][a-z0-9 ]*?)(?:\(([^)]+)\))?$/);
276
+ if (!match) {
277
+ return { category: 'string', raw: sqlType };
278
+ }
279
+ const [, baseType, params] = match;
280
+ const base = SQL_TO_CANONICAL[baseType];
281
+ if (!base) {
282
+ // Unknown type - pass through as raw
283
+ return { category: 'string', raw: sqlType };
284
+ }
285
+ const result = {
286
+ category: base.category,
287
+ size: base.size,
288
+ withTimezone: base.withTimezone,
289
+ };
290
+ // Parse parameters
291
+ if (params) {
292
+ const paramParts = params.split(',').map((p) => p.trim());
293
+ if (result.category === 'string' || result.category === 'blob') {
294
+ // VARCHAR(255) -> length
295
+ const length = Number.parseInt(paramParts[0], 10);
296
+ if (!Number.isNaN(length)) {
297
+ result.length = length;
298
+ }
299
+ }
300
+ else if (result.category === 'decimal') {
301
+ // DECIMAL(10,2) -> precision, scale
302
+ const precision = Number.parseInt(paramParts[0], 10);
303
+ const scale = paramParts[1] ? Number.parseInt(paramParts[1], 10) : undefined;
304
+ if (!Number.isNaN(precision)) {
305
+ result.precision = precision;
306
+ }
307
+ if (scale !== undefined && !Number.isNaN(scale)) {
308
+ result.scale = scale;
309
+ }
310
+ }
311
+ else if (isVectorCategory(result.category)) {
312
+ // VECTOR(1536), HALFVEC(1536), SPARSEVEC(4000) -> length (dimensions)
313
+ const dimensions = Number.parseInt(paramParts[0], 10);
314
+ if (!Number.isNaN(dimensions)) {
315
+ result.length = dimensions;
316
+ }
317
+ }
318
+ }
319
+ // Check for UNSIGNED modifier
320
+ if (hasUnsigned) {
321
+ result.unsigned = true;
322
+ }
323
+ return result;
324
+ }
325
+ /**
326
+ * Convert a canonical type to a SQL type string for a specific dialect instance.
327
+ */
328
+ export function canonicalToSql(type, dialect) {
329
+ if (type.raw)
330
+ return type.raw;
331
+ const dialectName = dialect.dialectName;
332
+ let sqlType = getBaseSqlType(type, dialectName);
333
+ if (type.category === 'string') {
334
+ sqlType = formatStringSqlType(type, dialect);
335
+ }
336
+ else if (type.category === 'decimal') {
337
+ sqlType = formatDecimalSqlType(type, dialectName, sqlType);
338
+ }
339
+ else if (isVectorCategory(type.category) && type.length && dialect.features.vectorSupportsLength) {
340
+ sqlType = `${sqlType}(${type.length})`;
341
+ }
342
+ if (type.category === 'timestamp' && type.withTimezone && dialect.features.supportsTimestamptz) {
343
+ sqlType = 'TIMESTAMPTZ';
344
+ }
345
+ if (type.unsigned && (dialectName === 'mysql' || dialectName === 'mariadb')) {
346
+ sqlType = `${sqlType} UNSIGNED`;
347
+ }
348
+ return sqlType;
349
+ }
350
+ function getBaseSqlType(type, dialect) {
351
+ let sqlType = CANONICAL_TO_SQL[dialect][type.category];
352
+ if (type.size) {
353
+ const sizeMap = SIZE_MODIFIERS[dialect][type.category];
354
+ if (sizeMap?.[type.size]) {
355
+ sqlType = sizeMap[type.size];
356
+ }
357
+ }
358
+ return sqlType;
359
+ }
360
+ function formatStringSqlType(type, dialect) {
361
+ const { dialectName, features } = dialect;
362
+ if (dialectName === 'sqlite')
363
+ return 'TEXT';
364
+ if (features.defaultStringAsText)
365
+ return type.length ? `VARCHAR(${type.length})` : 'TEXT';
366
+ if (dialectName === 'mysql' || dialectName === 'mariadb') {
367
+ if (type.size === 'tiny')
368
+ return 'TINYTEXT';
369
+ if (type.size === 'small')
370
+ return 'TEXT';
371
+ if (type.size === 'medium')
372
+ return 'MEDIUMTEXT';
373
+ if (type.size === 'big')
374
+ return 'LONGTEXT';
375
+ return type.length ? `VARCHAR(${type.length})` : 'VARCHAR(255)';
376
+ }
377
+ return type.length ? `VARCHAR(${type.length})` : 'VARCHAR(255)';
378
+ }
379
+ function formatDecimalSqlType(type, dialect, baseType) {
380
+ const p = type.precision ?? (dialect === 'mysql' || dialect === 'mariadb' ? 10 : undefined);
381
+ const s = type.scale ?? (dialect === 'mysql' || dialect === 'mariadb' ? 2 : undefined);
382
+ if (p !== undefined) {
383
+ return s !== undefined ? `${baseType}(${p}, ${s})` : `${baseType}(${p})`;
384
+ }
385
+ return baseType;
386
+ }
387
+ /**
388
+ * Convert a canonical type to a TypeScript type string.
389
+ */
390
+ export function canonicalToTypeScript(type) {
391
+ return CANONICAL_TO_TS[type.category];
392
+ }
393
+ /**
394
+ * Convert UQL FieldOptions to a canonical type.
395
+ */
396
+ export function fieldOptionsToCanonical(options, tsType) {
397
+ // If explicit columnType is specified, use it
398
+ if (options.columnType) {
399
+ const base = sqlToCanonical(options.columnType);
400
+ return {
401
+ ...base,
402
+ length: options.length ?? base.length,
403
+ precision: options.precision ?? base.precision,
404
+ scale: options.scale ?? base.scale,
405
+ };
406
+ }
407
+ // Infer from type (could be constructor or string)
408
+ const type = options.type || tsType;
409
+ if (type === String) {
410
+ return {
411
+ category: 'string',
412
+ length: options.length,
413
+ };
414
+ }
415
+ if (type === Number) {
416
+ if (options.precision || options.scale) {
417
+ return {
418
+ category: 'decimal',
419
+ precision: options.precision,
420
+ scale: options.scale,
421
+ };
422
+ }
423
+ // Infer bigint for Number if autoIncrement is true or if it's a primary key
424
+ if (options.autoIncrement || options.isId) {
425
+ return { category: 'integer', size: 'big' };
426
+ }
427
+ return { category: 'integer', size: 'big' };
428
+ }
429
+ if (type === Boolean) {
430
+ return { category: 'boolean' };
431
+ }
432
+ if (type === Date) {
433
+ return { category: 'timestamp' };
434
+ }
435
+ if (type === BigInt) {
436
+ return { category: 'integer', size: 'big' };
437
+ }
438
+ if (typeof type === 'string') {
439
+ const canonical = sqlToCanonical(type);
440
+ // Propagate explicit dimensions into CanonicalType.length for vector types
441
+ if (options.dimensions && isVectorCategory(canonical.category)) {
442
+ return { ...canonical, length: options.dimensions };
443
+ }
444
+ return canonical;
445
+ }
446
+ // Default to string
447
+ return { category: 'string', length: options.length };
448
+ }
449
+ /**
450
+ * Compare two canonical types for equality.
451
+ * Used for schema diffing.
452
+ */
453
+ export function areTypesEqual(a, b) {
454
+ // Category must match
455
+ if (a.category !== b.category) {
456
+ return false;
457
+ }
458
+ // Size must match (if specified)
459
+ if (a.size !== b.size) {
460
+ return false;
461
+ }
462
+ // For strings, compare length (allowing for default 255)
463
+ if (a.category === 'string') {
464
+ const lengthA = a.length ?? 255;
465
+ const lengthB = b.length ?? 255;
466
+ if (lengthA !== lengthB) {
467
+ return false;
468
+ }
469
+ }
470
+ // For decimals, compare precision and scale (allowing for default 10, 2)
471
+ if (a.category === 'decimal') {
472
+ const pA = a.precision ?? 10;
473
+ const pB = b.precision ?? 10;
474
+ const sA = a.scale ?? 2;
475
+ const sB = b.scale ?? 2;
476
+ if (pA !== pB || sA !== sB) {
477
+ return false;
478
+ }
479
+ }
480
+ // For timestamps, compare timezone
481
+ if (a.category === 'timestamp') {
482
+ if (!!a.withTimezone !== !!b.withTimezone) {
483
+ return false;
484
+ }
485
+ }
486
+ // Unsigned must match
487
+ if (!!a.unsigned !== !!b.unsigned) {
488
+ return false;
489
+ }
490
+ return true;
491
+ }
492
+ /**
493
+ * Check if changing from type A to type B could cause data loss.
494
+ */
495
+ export function isBreakingTypeChange(from, to) {
496
+ // Changing category is always potentially breaking
497
+ if (from.category !== to.category) {
498
+ return true;
499
+ }
500
+ // Reducing size is breaking
501
+ const sizeOrder = ['tiny', 'small', 'medium', 'big'];
502
+ if (from.size && to.size) {
503
+ const fromIndex = sizeOrder.indexOf(from.size);
504
+ const toIndex = sizeOrder.indexOf(to.size);
505
+ if (toIndex < fromIndex) {
506
+ return true;
507
+ }
508
+ }
509
+ // Reducing string length is breaking
510
+ if (from.category === 'string' && from.length && to.length) {
511
+ if (to.length < from.length) {
512
+ return true;
513
+ }
514
+ }
515
+ // Reducing precision/scale is breaking
516
+ if (from.category === 'decimal') {
517
+ if (from.precision && to.precision && to.precision < from.precision) {
518
+ return true;
519
+ }
520
+ if (from.scale && to.scale && to.scale < from.scale) {
521
+ return true;
522
+ }
523
+ }
524
+ return false;
525
+ }
526
+ /**
527
+ * Get the UQL ColumnType that best matches a canonical type.
528
+ */
529
+ export function canonicalToColumnType(type) {
530
+ switch (type.category) {
531
+ case 'integer':
532
+ if (type.size === 'big')
533
+ return 'bigint';
534
+ if (type.size === 'small')
535
+ return 'smallint';
536
+ return 'int';
537
+ case 'float':
538
+ if (type.size === 'big')
539
+ return 'double';
540
+ return 'float';
541
+ case 'decimal':
542
+ return 'decimal';
543
+ case 'string':
544
+ if (!type.length || type.length > 10000)
545
+ return 'text';
546
+ return 'varchar';
547
+ case 'boolean':
548
+ return 'boolean';
549
+ case 'date':
550
+ return 'date';
551
+ case 'time':
552
+ return 'time';
553
+ case 'timestamp':
554
+ return type.withTimezone ? 'timestamptz' : 'timestamp';
555
+ case 'json':
556
+ return 'jsonb';
557
+ case 'uuid':
558
+ return 'uuid';
559
+ case 'blob':
560
+ return 'bytea';
561
+ case 'vector':
562
+ return 'vector';
563
+ case 'halfvec':
564
+ return 'halfvec';
565
+ case 'sparsevec':
566
+ return 'sparsevec';
567
+ default:
568
+ return 'varchar';
569
+ }
570
+ }
571
+ //# 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,26 @@
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 { areTypesEqual, canonicalToColumnType, canonicalToSql, canonicalToTypeScript, fieldOptionsToCanonical, isBreakingTypeChange, sqlToCanonical, } from './canonicalType.js';
13
+ /**
14
+ * Introspect the database and build a SchemaAST from it.
15
+ *
16
+ * @param introspector - The schema introspector to use
17
+ * @returns The SchemaAST representing the database schema
18
+ */
19
+ export declare function introspectSchema(introspector: SchemaIntrospector): Promise<SchemaAST>;
20
+ export { SchemaAST } from './schemaAST.js';
21
+ export type { BuildFromEntitiesOptions } from './schemaASTBuilder.js';
22
+ export { SchemaASTBuilder } from './schemaASTBuilder.js';
23
+ export type { DiffOptions } from './schemaASTDiffer.js';
24
+ export { diffSchemas, SchemaASTDiffer } from './schemaASTDiffer.js';
25
+ 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';
26
+ //# 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;AAGhD,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,27 @@
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
+ // Canonical type utilities
11
+ export { areTypesEqual, canonicalToColumnType, canonicalToSql, canonicalToTypeScript, fieldOptionsToCanonical, isBreakingTypeChange, sqlToCanonical, } from './canonicalType.js';
12
+ /**
13
+ * Introspect the database and build a SchemaAST from it.
14
+ *
15
+ * @param introspector - The schema introspector to use
16
+ * @returns The SchemaAST representing the database schema
17
+ */
18
+ export async function introspectSchema(introspector) {
19
+ return introspector.introspect();
20
+ }
21
+ // SchemaAST class
22
+ export { SchemaAST } from './schemaAST.js';
23
+ // Builder
24
+ export { SchemaASTBuilder } from './schemaASTBuilder.js';
25
+ // Differ
26
+ export { diffSchemas, SchemaASTDiffer } from './schemaASTDiffer.js';
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,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"}