uql-orm 0.20.2 → 0.22.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 (775) hide show
  1. package/README.md +47 -110
  2. package/dist/browser/http/bus.d.ts +0 -1
  3. package/dist/browser/http/bus.js +0 -1
  4. package/dist/browser/http/http.d.ts +0 -1
  5. package/dist/browser/http/http.js +0 -1
  6. package/dist/browser/http/index.d.ts +0 -1
  7. package/dist/browser/http/index.js +0 -1
  8. package/dist/browser/index.d.ts +0 -1
  9. package/dist/browser/index.js +0 -1
  10. package/dist/browser/options.d.ts +0 -1
  11. package/dist/browser/options.js +0 -1
  12. package/dist/browser/querier/httpQuerier.d.ts +0 -1
  13. package/dist/browser/querier/httpQuerier.js +0 -1
  14. package/dist/browser/querier/index.d.ts +0 -1
  15. package/dist/browser/querier/index.js +0 -1
  16. package/dist/browser/type/clientQuerier.d.ts +0 -1
  17. package/dist/browser/type/clientQuerier.js +0 -1
  18. package/dist/browser/type/clientQuerierPool.d.ts +0 -1
  19. package/dist/browser/type/clientQuerierPool.js +0 -1
  20. package/dist/browser/type/index.d.ts +0 -1
  21. package/dist/browser/type/index.js +0 -1
  22. package/dist/browser/type/request.d.ts +0 -1
  23. package/dist/browser/type/request.js +0 -1
  24. package/dist/browser/uql-browser.min.js +2 -2
  25. package/dist/browser/uql-browser.min.js.map +1 -1
  26. package/dist/bunSql/bunSql.util.d.ts +0 -1
  27. package/dist/bunSql/bunSql.util.js +0 -1
  28. package/dist/bunSql/bunSqlCockroachDialect.d.ts +2 -3
  29. package/dist/bunSql/bunSqlCockroachDialect.js +4 -11
  30. package/dist/bunSql/bunSqlPostgresDialect.d.ts +2 -3
  31. package/dist/bunSql/bunSqlPostgresDialect.js +4 -11
  32. package/dist/bunSql/bunSqlQuerier.d.ts +0 -1
  33. package/dist/bunSql/bunSqlQuerier.js +0 -1
  34. package/dist/bunSql/bunSqlQuerierPool.d.ts +0 -1
  35. package/dist/bunSql/bunSqlQuerierPool.js +0 -1
  36. package/dist/bunSql/bunSqliteDialect.d.ts +0 -1
  37. package/dist/bunSql/bunSqliteDialect.js +0 -1
  38. package/dist/bunSql/index.d.ts +0 -1
  39. package/dist/bunSql/index.js +0 -1
  40. package/dist/cockroachdb/cockroachDialect.d.ts +20 -5
  41. package/dist/cockroachdb/cockroachDialect.js +33 -19
  42. package/dist/cockroachdb/crdbQuerier.d.ts +0 -1
  43. package/dist/cockroachdb/crdbQuerier.js +0 -1
  44. package/dist/cockroachdb/crdbQuerierPool.d.ts +0 -1
  45. package/dist/cockroachdb/crdbQuerierPool.js +0 -1
  46. package/dist/cockroachdb/index.d.ts +0 -1
  47. package/dist/cockroachdb/index.js +0 -1
  48. package/dist/context/context.browser.d.ts +0 -1
  49. package/dist/context/context.browser.js +0 -1
  50. package/dist/context/context.d.ts +0 -1
  51. package/dist/context/context.js +0 -1
  52. package/dist/context/securityError.d.ts +0 -1
  53. package/dist/context/securityError.js +0 -1
  54. package/dist/d1/d1Querier.d.ts +4 -4
  55. package/dist/d1/d1Querier.js +0 -4
  56. package/dist/d1/d1QuerierPool.d.ts +0 -1
  57. package/dist/d1/d1QuerierPool.js +0 -1
  58. package/dist/d1/d1SqliteDialect.d.ts +7 -1
  59. package/dist/d1/d1SqliteDialect.js +9 -1
  60. package/dist/d1/index.d.ts +0 -1
  61. package/dist/d1/index.js +0 -1
  62. package/dist/dialect/abstractDialect.d.ts +21 -5
  63. package/dist/dialect/abstractDialect.js +26 -5
  64. package/dist/dialect/abstractSqlDialect.d.ts +57 -17
  65. package/dist/dialect/abstractSqlDialect.js +182 -159
  66. package/dist/dialect/index.d.ts +1 -1
  67. package/dist/dialect/index.js +1 -1
  68. package/dist/dialect/indexSqlDialect.d.ts +57 -0
  69. package/dist/dialect/indexSqlDialect.js +101 -0
  70. package/dist/dialect/jsonArrayElemMatchUtils.d.ts +0 -1
  71. package/dist/dialect/jsonArrayElemMatchUtils.js +0 -1
  72. package/dist/dialect/jsonSql.d.ts +0 -1
  73. package/dist/dialect/jsonSql.js +1 -2
  74. package/dist/dialect/mysqlLikeSqlDialect.d.ts +16 -2
  75. package/dist/dialect/mysqlLikeSqlDialect.js +34 -5
  76. package/dist/dialect/pgLikeSqlDialect.d.ts +34 -16
  77. package/dist/dialect/pgLikeSqlDialect.js +94 -71
  78. package/dist/dialect/queryContext.d.ts +0 -1
  79. package/dist/dialect/queryContext.js +0 -1
  80. package/dist/dialect/vectorCast.d.ts +32 -0
  81. package/dist/dialect/vectorCast.js +41 -0
  82. package/dist/dialect/vectorSqlDialect.d.ts +11 -5
  83. package/dist/dialect/vectorSqlDialect.js +19 -9
  84. package/dist/entity/decorator/entity.d.ts +0 -1
  85. package/dist/entity/decorator/entity.js +0 -1
  86. package/dist/entity/decorator/field.d.ts +0 -1
  87. package/dist/entity/decorator/field.js +0 -1
  88. package/dist/entity/decorator/filter.d.ts +0 -1
  89. package/dist/entity/decorator/filter.js +0 -1
  90. package/dist/entity/decorator/hook.d.ts +0 -1
  91. package/dist/entity/decorator/hook.js +0 -1
  92. package/dist/entity/decorator/id.d.ts +0 -1
  93. package/dist/entity/decorator/id.js +0 -1
  94. package/dist/entity/decorator/index-decorator.d.ts +2 -10
  95. package/dist/entity/decorator/index-decorator.js +0 -1
  96. package/dist/entity/decorator/index.d.ts +0 -1
  97. package/dist/entity/decorator/index.js +0 -1
  98. package/dist/entity/decorator/relation.d.ts +0 -1
  99. package/dist/entity/decorator/relation.js +0 -1
  100. package/dist/entity/index.d.ts +0 -1
  101. package/dist/entity/index.js +0 -1
  102. package/dist/entity/metadata/definition.d.ts +5 -6
  103. package/dist/entity/metadata/definition.js +10 -6
  104. package/dist/express/index.d.ts +0 -1
  105. package/dist/express/index.js +0 -1
  106. package/dist/express/querierMiddleware.d.ts +0 -1
  107. package/dist/express/querierMiddleware.js +0 -1
  108. package/dist/http/contract.d.ts +0 -1
  109. package/dist/http/contract.js +0 -1
  110. package/dist/http/fetchHandler.d.ts +0 -1
  111. package/dist/http/fetchHandler.js +0 -1
  112. package/dist/http/handler.d.ts +0 -1
  113. package/dist/http/handler.js +0 -1
  114. package/dist/http/index.d.ts +0 -1
  115. package/dist/http/index.js +0 -1
  116. package/dist/http/query.d.ts +0 -1
  117. package/dist/http/query.js +0 -1
  118. package/dist/index.d.ts +0 -1
  119. package/dist/index.js +0 -1
  120. package/dist/libsql/index.d.ts +0 -1
  121. package/dist/libsql/index.js +0 -1
  122. package/dist/libsql/libsqlDialect.d.ts +12 -3
  123. package/dist/libsql/libsqlDialect.js +14 -3
  124. package/dist/libsql/libsqlQuerier.d.ts +9 -23
  125. package/dist/libsql/libsqlQuerier.js +9 -78
  126. package/dist/libsql/libsqlQuerierPool.d.ts +10 -9
  127. package/dist/libsql/libsqlQuerierPool.js +17 -16
  128. package/dist/maria/index.d.ts +0 -1
  129. package/dist/maria/index.js +0 -1
  130. package/dist/maria/mariaDialect.d.ts +26 -5
  131. package/dist/maria/mariaDialect.js +54 -16
  132. package/dist/maria/mariadbQuerier.d.ts +0 -1
  133. package/dist/maria/mariadbQuerier.js +0 -1
  134. package/dist/maria/mariadbQuerierPool.d.ts +0 -1
  135. package/dist/maria/mariadbQuerierPool.js +0 -1
  136. package/dist/migrate/acquireQuerierForMigrations.d.ts +0 -1
  137. package/dist/migrate/acquireQuerierForMigrations.js +0 -1
  138. package/dist/migrate/assertCliConfig.d.ts +0 -1
  139. package/dist/migrate/assertCliConfig.js +0 -1
  140. package/dist/migrate/bin.d.ts +0 -1
  141. package/dist/migrate/bin.js +0 -1
  142. package/dist/migrate/builder/columnBuilder.d.ts +0 -1
  143. package/dist/migrate/builder/columnBuilder.js +0 -1
  144. package/dist/migrate/builder/expressions.d.ts +0 -1
  145. package/dist/migrate/builder/expressions.js +0 -1
  146. package/dist/migrate/builder/index.d.ts +0 -1
  147. package/dist/migrate/builder/index.js +0 -1
  148. package/dist/migrate/builder/migrationBuilder.d.ts +9 -30
  149. package/dist/migrate/builder/migrationBuilder.js +58 -77
  150. package/dist/migrate/builder/splitSqlStatements.d.ts +0 -3
  151. package/dist/migrate/builder/splitSqlStatements.js +0 -3
  152. package/dist/migrate/builder/tableBuilder.d.ts +12 -3
  153. package/dist/migrate/builder/tableBuilder.js +71 -120
  154. package/dist/migrate/builder/types.d.ts +30 -42
  155. package/dist/migrate/builder/types.js +0 -1
  156. package/dist/migrate/cli-config.d.ts +0 -1
  157. package/dist/migrate/cli-config.js +9 -5
  158. package/dist/migrate/cli.d.ts +3 -3
  159. package/dist/migrate/cli.js +21 -49
  160. package/dist/migrate/codegen/entityCodeGenerator.d.ts +0 -5
  161. package/dist/migrate/codegen/entityCodeGenerator.js +5 -64
  162. package/dist/migrate/codegen/fieldOptionsSource.d.ts +10 -0
  163. package/dist/migrate/codegen/fieldOptionsSource.js +55 -0
  164. package/dist/migrate/codegen/index.d.ts +0 -3
  165. package/dist/migrate/codegen/index.js +0 -5
  166. package/dist/migrate/codegen/migrationFile.d.ts +0 -1
  167. package/dist/migrate/codegen/migrationFile.js +0 -1
  168. package/dist/migrate/codegen/smartRelationDetector.d.ts +0 -1
  169. package/dist/migrate/codegen/smartRelationDetector.js +0 -1
  170. package/dist/migrate/drift/driftDetector.d.ts +0 -1
  171. package/dist/migrate/drift/driftDetector.js +0 -1
  172. package/dist/migrate/drift/index.d.ts +0 -1
  173. package/dist/migrate/drift/index.js +0 -1
  174. package/dist/migrate/generator/indexNodeToSchema.d.ts +9 -0
  175. package/dist/migrate/generator/indexNodeToSchema.js +14 -0
  176. package/dist/migrate/generator/mongoCommand.d.ts +57 -0
  177. package/dist/migrate/generator/mongoCommand.js +26 -0
  178. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +9 -21
  179. package/dist/migrate/generator/mongoSchemaGenerator.js +40 -83
  180. package/dist/migrate/index.d.ts +0 -2
  181. package/dist/migrate/index.js +0 -2
  182. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +25 -11
  183. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +46 -33
  184. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +0 -2
  185. package/dist/migrate/introspection/baseSqlIntrospector.js +3 -13
  186. package/dist/migrate/introspection/index.d.ts +0 -1
  187. package/dist/migrate/introspection/index.js +0 -1
  188. package/dist/migrate/introspection/mongoIntrospector.d.ts +0 -1
  189. package/dist/migrate/introspection/mongoIntrospector.js +2 -3
  190. package/dist/migrate/introspection/mysqlIntrospector.d.ts +5 -9
  191. package/dist/migrate/introspection/mysqlIntrospector.js +4 -11
  192. package/dist/migrate/introspection/postgresIntrospector.d.ts +5 -9
  193. package/dist/migrate/introspection/postgresIntrospector.js +4 -11
  194. package/dist/migrate/introspection/sqliteIntrospector.d.ts +6 -6
  195. package/dist/migrate/introspection/sqliteIntrospector.js +26 -19
  196. package/dist/migrate/migrator.d.ts +23 -4
  197. package/dist/migrate/migrator.js +57 -70
  198. package/dist/migrate/schemaGenerator.d.ts +26 -38
  199. package/dist/migrate/schemaGenerator.js +69 -175
  200. package/dist/migrate/schemaGeneratorAsync.d.ts +2 -3
  201. package/dist/migrate/schemaGeneratorAsync.js +3 -4
  202. package/dist/migrate/storage/databaseStorage.d.ts +0 -1
  203. package/dist/migrate/storage/databaseStorage.js +4 -5
  204. package/dist/migrate/storage/index.d.ts +0 -1
  205. package/dist/migrate/storage/index.js +0 -1
  206. package/dist/migrate/storage/jsonStorage.d.ts +0 -1
  207. package/dist/migrate/storage/jsonStorage.js +0 -1
  208. package/dist/mongo/index.d.ts +0 -1
  209. package/dist/mongo/index.js +0 -1
  210. package/dist/mongo/mongoDialect.d.ts +93 -5
  211. package/dist/mongo/mongoDialect.js +315 -83
  212. package/dist/mongo/mongodbNativeDialect.d.ts +0 -1
  213. package/dist/mongo/mongodbNativeDialect.js +0 -1
  214. package/dist/mongo/mongodbQuerier.d.ts +5 -1
  215. package/dist/mongo/mongodbQuerier.js +61 -19
  216. package/dist/mongo/mongodbQuerierPool.d.ts +0 -1
  217. package/dist/mongo/mongodbQuerierPool.js +0 -1
  218. package/dist/mysql/index.d.ts +0 -1
  219. package/dist/mysql/index.js +0 -1
  220. package/dist/mysql/mysql2Dialect.d.ts +0 -1
  221. package/dist/mysql/mysql2Dialect.js +0 -1
  222. package/dist/mysql/mysql2Querier.d.ts +0 -1
  223. package/dist/mysql/mysql2Querier.js +0 -1
  224. package/dist/mysql/mysql2QuerierPool.d.ts +0 -1
  225. package/dist/mysql/mysql2QuerierPool.js +0 -1
  226. package/dist/mysql/mysqlDialect.d.ts +8 -1
  227. package/dist/mysql/mysqlDialect.js +13 -1
  228. package/dist/namingStrategy/defaultNamingStrategy.d.ts +0 -1
  229. package/dist/namingStrategy/defaultNamingStrategy.js +0 -1
  230. package/dist/namingStrategy/index.d.ts +0 -1
  231. package/dist/namingStrategy/index.js +0 -1
  232. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +0 -1
  233. package/dist/namingStrategy/snakeCaseNamingStrategy.js +0 -1
  234. package/dist/neon/index.d.ts +0 -1
  235. package/dist/neon/index.js +0 -1
  236. package/dist/neon/neonDialect.d.ts +0 -1
  237. package/dist/neon/neonDialect.js +0 -1
  238. package/dist/neon/neonQuerier.d.ts +0 -1
  239. package/dist/neon/neonQuerier.js +0 -1
  240. package/dist/neon/neonQuerierPool.d.ts +0 -1
  241. package/dist/neon/neonQuerierPool.js +0 -1
  242. package/dist/nestjs/index.d.ts +0 -1
  243. package/dist/nestjs/index.js +0 -1
  244. package/dist/nestjs/uqlContextInterceptor.d.ts +0 -1
  245. package/dist/nestjs/uqlContextInterceptor.js +9 -2
  246. package/dist/nestjs/uqlModule.d.ts +0 -1
  247. package/dist/nestjs/uqlModule.js +12 -2
  248. package/dist/options.d.ts +0 -1
  249. package/dist/options.js +0 -1
  250. package/dist/postgres/abstractPgQuerier.d.ts +0 -1
  251. package/dist/postgres/abstractPgQuerier.js +0 -1
  252. package/dist/postgres/abstractPgQuerierPool.d.ts +0 -1
  253. package/dist/postgres/abstractPgQuerierPool.js +0 -1
  254. package/dist/postgres/index.d.ts +0 -1
  255. package/dist/postgres/index.js +0 -1
  256. package/dist/postgres/pgDialect.d.ts +0 -1
  257. package/dist/postgres/pgDialect.js +0 -1
  258. package/dist/postgres/pgQuerier.d.ts +0 -1
  259. package/dist/postgres/pgQuerier.js +0 -1
  260. package/dist/postgres/pgQuerierPool.d.ts +0 -1
  261. package/dist/postgres/pgQuerierPool.js +0 -1
  262. package/dist/postgres/postgresDialect.d.ts +0 -1
  263. package/dist/postgres/postgresDialect.js +0 -1
  264. package/dist/postgres/postgresWireDriverCapabilities.d.ts +0 -1
  265. package/dist/postgres/postgresWireDriverCapabilities.js +0 -1
  266. package/dist/querier/abstractPoolQuerier.d.ts +0 -1
  267. package/dist/querier/abstractPoolQuerier.js +0 -1
  268. package/dist/querier/abstractQuerier.d.ts +0 -1
  269. package/dist/querier/abstractQuerier.js +9 -2
  270. package/dist/querier/abstractQuerierPool.d.ts +0 -1
  271. package/dist/querier/abstractQuerierPool.js +0 -1
  272. package/dist/querier/abstractSqlQuerier.d.ts +0 -1
  273. package/dist/querier/abstractSqlQuerier.js +9 -2
  274. package/dist/querier/abstractSqlQuerierPool.d.ts +0 -1
  275. package/dist/querier/abstractSqlQuerierPool.js +0 -1
  276. package/dist/querier/decorator/index.d.ts +0 -1
  277. package/dist/querier/decorator/index.js +0 -1
  278. package/dist/querier/decorator/injectQuerier.d.ts +0 -1
  279. package/dist/querier/decorator/injectQuerier.js +0 -1
  280. package/dist/querier/decorator/log.d.ts +0 -1
  281. package/dist/querier/decorator/log.js +0 -1
  282. package/dist/querier/decorator/serialized.d.ts +0 -1
  283. package/dist/querier/decorator/serialized.js +0 -1
  284. package/dist/querier/decorator/transactional.d.ts +0 -1
  285. package/dist/querier/decorator/transactional.js +0 -1
  286. package/dist/querier/index.d.ts +0 -1
  287. package/dist/querier/index.js +0 -1
  288. package/dist/schema/canonicalType.d.ts +14 -13
  289. package/dist/schema/canonicalType.js +41 -44
  290. package/dist/schema/index.d.ts +1 -2
  291. package/dist/schema/index.js +0 -1
  292. package/dist/schema/schemaAST.d.ts +0 -1
  293. package/dist/schema/schemaAST.js +0 -1
  294. package/dist/schema/schemaASTBuilder.d.ts +8 -2
  295. package/dist/schema/schemaASTBuilder.js +56 -48
  296. package/dist/schema/schemaASTDiffer.d.ts +0 -1
  297. package/dist/schema/schemaASTDiffer.js +0 -1
  298. package/dist/schema/types.d.ts +10 -38
  299. package/dist/schema/types.js +0 -1
  300. package/dist/sqlite/abstractSqliteQuerier.d.ts +39 -1
  301. package/dist/sqlite/abstractSqliteQuerier.js +44 -1
  302. package/dist/sqlite/bunSqliteAdapter.bun.d.ts +26 -0
  303. package/dist/sqlite/bunSqliteAdapter.bun.js +25 -0
  304. package/dist/sqlite/hranaQuerier.d.ts +54 -0
  305. package/dist/sqlite/hranaQuerier.js +90 -0
  306. package/dist/sqlite/hranaQuerierPool.d.ts +21 -0
  307. package/dist/sqlite/hranaQuerierPool.js +25 -0
  308. package/dist/sqlite/index.d.ts +2 -2
  309. package/dist/sqlite/index.js +2 -2
  310. package/dist/sqlite/sqliteDialect.d.ts +18 -5
  311. package/dist/sqlite/sqliteDialect.js +24 -25
  312. package/dist/sqlite/sqliteQuerier.d.ts +16 -10
  313. package/dist/sqlite/sqliteQuerier.js +4 -28
  314. package/dist/sqlite/sqliteQuerierPool.d.ts +14 -5
  315. package/dist/sqlite/sqliteQuerierPool.js +16 -6
  316. package/dist/turso/index.d.ts +3 -0
  317. package/dist/turso/index.js +3 -0
  318. package/dist/turso/local.d.ts +3 -0
  319. package/dist/turso/local.js +3 -0
  320. package/dist/turso/tursoDialect.d.ts +15 -0
  321. package/dist/turso/tursoDialect.js +18 -0
  322. package/dist/turso/tursoLocalQuerier.d.ts +25 -0
  323. package/dist/turso/tursoLocalQuerier.js +20 -0
  324. package/dist/turso/tursoLocalQuerierPool.d.ts +32 -0
  325. package/dist/turso/tursoLocalQuerierPool.js +39 -0
  326. package/dist/turso/tursoQuerier.d.ts +10 -0
  327. package/dist/turso/tursoQuerier.js +10 -0
  328. package/dist/turso/tursoQuerierPool.d.ts +39 -0
  329. package/dist/turso/tursoQuerierPool.js +38 -0
  330. package/dist/type/config.d.ts +0 -7
  331. package/dist/type/config.js +0 -1
  332. package/dist/type/dialect.d.ts +12 -5
  333. package/dist/type/dialect.js +7 -2
  334. package/dist/type/entity.d.ts +66 -6
  335. package/dist/type/entity.js +0 -1
  336. package/dist/type/index.d.ts +0 -1
  337. package/dist/type/index.js +0 -1
  338. package/dist/type/logger.d.ts +0 -1
  339. package/dist/type/logger.js +0 -1
  340. package/dist/type/migration.d.ts +32 -24
  341. package/dist/type/migration.js +0 -1
  342. package/dist/type/migratorDialect.d.ts +0 -1
  343. package/dist/type/migratorDialect.js +0 -1
  344. package/dist/type/namingStrategy.d.ts +0 -1
  345. package/dist/type/namingStrategy.js +0 -1
  346. package/dist/type/querier.d.ts +0 -1
  347. package/dist/type/querier.js +0 -1
  348. package/dist/type/querierPool.d.ts +0 -1
  349. package/dist/type/querierPool.js +0 -1
  350. package/dist/type/query.d.ts +0 -1
  351. package/dist/type/query.js +0 -1
  352. package/dist/type/queryAggregate.d.ts +0 -1
  353. package/dist/type/queryAggregate.js +0 -1
  354. package/dist/type/queryRaw.d.ts +0 -1
  355. package/dist/type/queryRaw.js +0 -1
  356. package/dist/type/queryWhere.d.ts +0 -1
  357. package/dist/type/queryWhere.js +0 -1
  358. package/dist/type/universalQuerier.d.ts +0 -1
  359. package/dist/type/universalQuerier.js +0 -1
  360. package/dist/type/utility.d.ts +0 -1
  361. package/dist/type/utility.js +0 -1
  362. package/dist/type/vector.d.ts +5 -3
  363. package/dist/type/vector.js +0 -1
  364. package/dist/util/dialect.util.d.ts +8 -2
  365. package/dist/util/dialect.util.js +16 -1
  366. package/dist/util/field.util.d.ts +0 -1
  367. package/dist/util/field.util.js +0 -1
  368. package/dist/util/filters.util.d.ts +0 -1
  369. package/dist/util/filters.util.js +0 -1
  370. package/dist/util/hook.util.d.ts +0 -1
  371. package/dist/util/hook.util.js +0 -1
  372. package/dist/util/index.d.ts +1 -1
  373. package/dist/util/index.js +1 -1
  374. package/dist/util/indexColumn.util.d.ts +6 -0
  375. package/dist/util/indexColumn.util.js +26 -0
  376. package/dist/util/logger.d.ts +0 -1
  377. package/dist/util/logger.js +0 -1
  378. package/dist/util/object.util.d.ts +0 -1
  379. package/dist/util/object.util.js +0 -1
  380. package/dist/util/raw.d.ts +0 -1
  381. package/dist/util/raw.js +0 -1
  382. package/dist/util/relationQuery.util.d.ts +0 -1
  383. package/dist/util/relationQuery.util.js +0 -1
  384. package/dist/util/sql.util.d.ts +0 -1
  385. package/dist/util/sql.util.js +0 -1
  386. package/dist/util/sqlLiteral.d.ts +19 -0
  387. package/dist/util/sqlLiteral.js +108 -0
  388. package/dist/util/string.util.d.ts +0 -1
  389. package/dist/util/string.util.js +0 -1
  390. package/package.json +57 -27
  391. package/CHANGELOG.md +0 -1359
  392. package/dist/browser/http/bus.d.ts.map +0 -1
  393. package/dist/browser/http/bus.js.map +0 -1
  394. package/dist/browser/http/http.d.ts.map +0 -1
  395. package/dist/browser/http/http.js.map +0 -1
  396. package/dist/browser/http/index.d.ts.map +0 -1
  397. package/dist/browser/http/index.js.map +0 -1
  398. package/dist/browser/index.d.ts.map +0 -1
  399. package/dist/browser/index.js.map +0 -1
  400. package/dist/browser/options.d.ts.map +0 -1
  401. package/dist/browser/options.js.map +0 -1
  402. package/dist/browser/querier/httpQuerier.d.ts.map +0 -1
  403. package/dist/browser/querier/httpQuerier.js.map +0 -1
  404. package/dist/browser/querier/index.d.ts.map +0 -1
  405. package/dist/browser/querier/index.js.map +0 -1
  406. package/dist/browser/type/clientQuerier.d.ts.map +0 -1
  407. package/dist/browser/type/clientQuerier.js.map +0 -1
  408. package/dist/browser/type/clientQuerierPool.d.ts.map +0 -1
  409. package/dist/browser/type/clientQuerierPool.js.map +0 -1
  410. package/dist/browser/type/index.d.ts.map +0 -1
  411. package/dist/browser/type/index.js.map +0 -1
  412. package/dist/browser/type/request.d.ts.map +0 -1
  413. package/dist/browser/type/request.js.map +0 -1
  414. package/dist/bunSql/bunSql.util.d.ts.map +0 -1
  415. package/dist/bunSql/bunSql.util.js.map +0 -1
  416. package/dist/bunSql/bunSqlCockroachDialect.d.ts.map +0 -1
  417. package/dist/bunSql/bunSqlCockroachDialect.js.map +0 -1
  418. package/dist/bunSql/bunSqlPostgresDialect.d.ts.map +0 -1
  419. package/dist/bunSql/bunSqlPostgresDialect.js.map +0 -1
  420. package/dist/bunSql/bunSqlQuerier.d.ts.map +0 -1
  421. package/dist/bunSql/bunSqlQuerier.js.map +0 -1
  422. package/dist/bunSql/bunSqlQuerierPool.d.ts.map +0 -1
  423. package/dist/bunSql/bunSqlQuerierPool.js.map +0 -1
  424. package/dist/bunSql/bunSqliteDialect.d.ts.map +0 -1
  425. package/dist/bunSql/bunSqliteDialect.js.map +0 -1
  426. package/dist/bunSql/index.d.ts.map +0 -1
  427. package/dist/bunSql/index.js.map +0 -1
  428. package/dist/cockroachdb/cockroachDialect.d.ts.map +0 -1
  429. package/dist/cockroachdb/cockroachDialect.js.map +0 -1
  430. package/dist/cockroachdb/crdbQuerier.d.ts.map +0 -1
  431. package/dist/cockroachdb/crdbQuerier.js.map +0 -1
  432. package/dist/cockroachdb/crdbQuerierPool.d.ts.map +0 -1
  433. package/dist/cockroachdb/crdbQuerierPool.js.map +0 -1
  434. package/dist/cockroachdb/index.d.ts.map +0 -1
  435. package/dist/cockroachdb/index.js.map +0 -1
  436. package/dist/context/context.browser.d.ts.map +0 -1
  437. package/dist/context/context.browser.js.map +0 -1
  438. package/dist/context/context.d.ts.map +0 -1
  439. package/dist/context/context.js.map +0 -1
  440. package/dist/context/securityError.d.ts.map +0 -1
  441. package/dist/context/securityError.js.map +0 -1
  442. package/dist/d1/d1Querier.d.ts.map +0 -1
  443. package/dist/d1/d1Querier.js.map +0 -1
  444. package/dist/d1/d1QuerierPool.d.ts.map +0 -1
  445. package/dist/d1/d1QuerierPool.js.map +0 -1
  446. package/dist/d1/d1SqliteDialect.d.ts.map +0 -1
  447. package/dist/d1/d1SqliteDialect.js.map +0 -1
  448. package/dist/d1/index.d.ts.map +0 -1
  449. package/dist/d1/index.js.map +0 -1
  450. package/dist/dialect/abstractDialect.d.ts.map +0 -1
  451. package/dist/dialect/abstractDialect.js.map +0 -1
  452. package/dist/dialect/abstractSqlDialect.d.ts.map +0 -1
  453. package/dist/dialect/abstractSqlDialect.js.map +0 -1
  454. package/dist/dialect/index.d.ts.map +0 -1
  455. package/dist/dialect/index.js.map +0 -1
  456. package/dist/dialect/jsonArrayElemMatchUtils.d.ts.map +0 -1
  457. package/dist/dialect/jsonArrayElemMatchUtils.js.map +0 -1
  458. package/dist/dialect/jsonSql.d.ts.map +0 -1
  459. package/dist/dialect/jsonSql.js.map +0 -1
  460. package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +0 -1
  461. package/dist/dialect/mysqlLikeSqlDialect.js.map +0 -1
  462. package/dist/dialect/pgLikeSqlDialect.d.ts.map +0 -1
  463. package/dist/dialect/pgLikeSqlDialect.js.map +0 -1
  464. package/dist/dialect/queryContext.d.ts.map +0 -1
  465. package/dist/dialect/queryContext.js.map +0 -1
  466. package/dist/dialect/vectorSqlDialect.d.ts.map +0 -1
  467. package/dist/dialect/vectorSqlDialect.js.map +0 -1
  468. package/dist/entity/decorator/entity.d.ts.map +0 -1
  469. package/dist/entity/decorator/entity.js.map +0 -1
  470. package/dist/entity/decorator/field.d.ts.map +0 -1
  471. package/dist/entity/decorator/field.js.map +0 -1
  472. package/dist/entity/decorator/filter.d.ts.map +0 -1
  473. package/dist/entity/decorator/filter.js.map +0 -1
  474. package/dist/entity/decorator/hook.d.ts.map +0 -1
  475. package/dist/entity/decorator/hook.js.map +0 -1
  476. package/dist/entity/decorator/id.d.ts.map +0 -1
  477. package/dist/entity/decorator/id.js.map +0 -1
  478. package/dist/entity/decorator/index-decorator.d.ts.map +0 -1
  479. package/dist/entity/decorator/index-decorator.js.map +0 -1
  480. package/dist/entity/decorator/index.d.ts.map +0 -1
  481. package/dist/entity/decorator/index.js.map +0 -1
  482. package/dist/entity/decorator/relation.d.ts.map +0 -1
  483. package/dist/entity/decorator/relation.js.map +0 -1
  484. package/dist/entity/index.d.ts.map +0 -1
  485. package/dist/entity/index.js.map +0 -1
  486. package/dist/entity/metadata/definition.d.ts.map +0 -1
  487. package/dist/entity/metadata/definition.js.map +0 -1
  488. package/dist/entity/test-helpers.d.ts +0 -4
  489. package/dist/entity/test-helpers.d.ts.map +0 -1
  490. package/dist/entity/test-helpers.js +0 -16
  491. package/dist/entity/test-helpers.js.map +0 -1
  492. package/dist/express/index.d.ts.map +0 -1
  493. package/dist/express/index.js.map +0 -1
  494. package/dist/express/querierMiddleware.d.ts.map +0 -1
  495. package/dist/express/querierMiddleware.js.map +0 -1
  496. package/dist/http/contract.d.ts.map +0 -1
  497. package/dist/http/contract.js.map +0 -1
  498. package/dist/http/fetchHandler.d.ts.map +0 -1
  499. package/dist/http/fetchHandler.js.map +0 -1
  500. package/dist/http/handler.d.ts.map +0 -1
  501. package/dist/http/handler.js.map +0 -1
  502. package/dist/http/index.d.ts.map +0 -1
  503. package/dist/http/index.js.map +0 -1
  504. package/dist/http/query.d.ts.map +0 -1
  505. package/dist/http/query.js.map +0 -1
  506. package/dist/index.d.ts.map +0 -1
  507. package/dist/index.js.map +0 -1
  508. package/dist/libsql/index.d.ts.map +0 -1
  509. package/dist/libsql/index.js.map +0 -1
  510. package/dist/libsql/libsqlDialect.d.ts.map +0 -1
  511. package/dist/libsql/libsqlDialect.js.map +0 -1
  512. package/dist/libsql/libsqlQuerier.d.ts.map +0 -1
  513. package/dist/libsql/libsqlQuerier.js.map +0 -1
  514. package/dist/libsql/libsqlQuerierPool.d.ts.map +0 -1
  515. package/dist/libsql/libsqlQuerierPool.js.map +0 -1
  516. package/dist/maria/index.d.ts.map +0 -1
  517. package/dist/maria/index.js.map +0 -1
  518. package/dist/maria/mariaDialect.d.ts.map +0 -1
  519. package/dist/maria/mariaDialect.js.map +0 -1
  520. package/dist/maria/mariadbQuerier.d.ts.map +0 -1
  521. package/dist/maria/mariadbQuerier.js.map +0 -1
  522. package/dist/maria/mariadbQuerierPool.d.ts.map +0 -1
  523. package/dist/maria/mariadbQuerierPool.js.map +0 -1
  524. package/dist/migrate/acquireQuerierForMigrations.d.ts.map +0 -1
  525. package/dist/migrate/acquireQuerierForMigrations.js.map +0 -1
  526. package/dist/migrate/assertCliConfig.d.ts.map +0 -1
  527. package/dist/migrate/assertCliConfig.js.map +0 -1
  528. package/dist/migrate/bin.d.ts.map +0 -1
  529. package/dist/migrate/bin.js.map +0 -1
  530. package/dist/migrate/builder/columnBuilder.d.ts.map +0 -1
  531. package/dist/migrate/builder/columnBuilder.js.map +0 -1
  532. package/dist/migrate/builder/expressions.d.ts.map +0 -1
  533. package/dist/migrate/builder/expressions.js.map +0 -1
  534. package/dist/migrate/builder/index.d.ts.map +0 -1
  535. package/dist/migrate/builder/index.js.map +0 -1
  536. package/dist/migrate/builder/migrationBuilder.d.ts.map +0 -1
  537. package/dist/migrate/builder/migrationBuilder.js.map +0 -1
  538. package/dist/migrate/builder/splitSqlStatements.d.ts.map +0 -1
  539. package/dist/migrate/builder/splitSqlStatements.js.map +0 -1
  540. package/dist/migrate/builder/tableBuilder.d.ts.map +0 -1
  541. package/dist/migrate/builder/tableBuilder.js.map +0 -1
  542. package/dist/migrate/builder/types.d.ts.map +0 -1
  543. package/dist/migrate/builder/types.js.map +0 -1
  544. package/dist/migrate/cli-config.d.ts.map +0 -1
  545. package/dist/migrate/cli-config.js.map +0 -1
  546. package/dist/migrate/cli.d.ts.map +0 -1
  547. package/dist/migrate/cli.js.map +0 -1
  548. package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +0 -1
  549. package/dist/migrate/codegen/entityCodeGenerator.js.map +0 -1
  550. package/dist/migrate/codegen/entityMerger.d.ts +0 -115
  551. package/dist/migrate/codegen/entityMerger.d.ts.map +0 -1
  552. package/dist/migrate/codegen/entityMerger.js +0 -294
  553. package/dist/migrate/codegen/entityMerger.js.map +0 -1
  554. package/dist/migrate/codegen/index.d.ts.map +0 -1
  555. package/dist/migrate/codegen/index.js.map +0 -1
  556. package/dist/migrate/codegen/migrationCodeGenerator.d.ts +0 -62
  557. package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +0 -1
  558. package/dist/migrate/codegen/migrationCodeGenerator.js +0 -356
  559. package/dist/migrate/codegen/migrationCodeGenerator.js.map +0 -1
  560. package/dist/migrate/codegen/migrationFile.d.ts.map +0 -1
  561. package/dist/migrate/codegen/migrationFile.js.map +0 -1
  562. package/dist/migrate/codegen/smartRelationDetector.d.ts.map +0 -1
  563. package/dist/migrate/codegen/smartRelationDetector.js.map +0 -1
  564. package/dist/migrate/drift/driftDetector.d.ts.map +0 -1
  565. package/dist/migrate/drift/driftDetector.js.map +0 -1
  566. package/dist/migrate/drift/index.d.ts.map +0 -1
  567. package/dist/migrate/drift/index.js.map +0 -1
  568. package/dist/migrate/generator/index.d.ts +0 -3
  569. package/dist/migrate/generator/index.d.ts.map +0 -1
  570. package/dist/migrate/generator/index.js +0 -3
  571. package/dist/migrate/generator/index.js.map +0 -1
  572. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +0 -1
  573. package/dist/migrate/generator/mongoSchemaGenerator.js.map +0 -1
  574. package/dist/migrate/index.d.ts.map +0 -1
  575. package/dist/migrate/index.js.map +0 -1
  576. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +0 -1
  577. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +0 -1
  578. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +0 -1
  579. package/dist/migrate/introspection/baseSqlIntrospector.js.map +0 -1
  580. package/dist/migrate/introspection/index.d.ts.map +0 -1
  581. package/dist/migrate/introspection/index.js.map +0 -1
  582. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +0 -1
  583. package/dist/migrate/introspection/mongoIntrospector.js.map +0 -1
  584. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +0 -1
  585. package/dist/migrate/introspection/mysqlIntrospector.js.map +0 -1
  586. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +0 -1
  587. package/dist/migrate/introspection/postgresIntrospector.js.map +0 -1
  588. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +0 -1
  589. package/dist/migrate/introspection/sqliteIntrospector.js.map +0 -1
  590. package/dist/migrate/migrator.d.ts.map +0 -1
  591. package/dist/migrate/migrator.js.map +0 -1
  592. package/dist/migrate/schemaGenerator.d.ts.map +0 -1
  593. package/dist/migrate/schemaGenerator.js.map +0 -1
  594. package/dist/migrate/schemaGeneratorAsync.d.ts.map +0 -1
  595. package/dist/migrate/schemaGeneratorAsync.js.map +0 -1
  596. package/dist/migrate/storage/databaseStorage.d.ts.map +0 -1
  597. package/dist/migrate/storage/databaseStorage.js.map +0 -1
  598. package/dist/migrate/storage/index.d.ts.map +0 -1
  599. package/dist/migrate/storage/index.js.map +0 -1
  600. package/dist/migrate/storage/jsonStorage.d.ts.map +0 -1
  601. package/dist/migrate/storage/jsonStorage.js.map +0 -1
  602. package/dist/migrate/sync/index.d.ts +0 -7
  603. package/dist/migrate/sync/index.d.ts.map +0 -1
  604. package/dist/migrate/sync/index.js +0 -7
  605. package/dist/migrate/sync/index.js.map +0 -1
  606. package/dist/migrate/sync/schemaSync.d.ts +0 -132
  607. package/dist/migrate/sync/schemaSync.d.ts.map +0 -1
  608. package/dist/migrate/sync/schemaSync.js +0 -260
  609. package/dist/migrate/sync/schemaSync.js.map +0 -1
  610. package/dist/mongo/index.d.ts.map +0 -1
  611. package/dist/mongo/index.js.map +0 -1
  612. package/dist/mongo/mongoDialect.d.ts.map +0 -1
  613. package/dist/mongo/mongoDialect.js.map +0 -1
  614. package/dist/mongo/mongodbNativeDialect.d.ts.map +0 -1
  615. package/dist/mongo/mongodbNativeDialect.js.map +0 -1
  616. package/dist/mongo/mongodbQuerier.d.ts.map +0 -1
  617. package/dist/mongo/mongodbQuerier.js.map +0 -1
  618. package/dist/mongo/mongodbQuerierPool.d.ts.map +0 -1
  619. package/dist/mongo/mongodbQuerierPool.js.map +0 -1
  620. package/dist/mysql/index.d.ts.map +0 -1
  621. package/dist/mysql/index.js.map +0 -1
  622. package/dist/mysql/mysql2Dialect.d.ts.map +0 -1
  623. package/dist/mysql/mysql2Dialect.js.map +0 -1
  624. package/dist/mysql/mysql2Querier.d.ts.map +0 -1
  625. package/dist/mysql/mysql2Querier.js.map +0 -1
  626. package/dist/mysql/mysql2QuerierPool.d.ts.map +0 -1
  627. package/dist/mysql/mysql2QuerierPool.js.map +0 -1
  628. package/dist/mysql/mysqlDialect.d.ts.map +0 -1
  629. package/dist/mysql/mysqlDialect.js.map +0 -1
  630. package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +0 -1
  631. package/dist/namingStrategy/defaultNamingStrategy.js.map +0 -1
  632. package/dist/namingStrategy/index.d.ts.map +0 -1
  633. package/dist/namingStrategy/index.js.map +0 -1
  634. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +0 -1
  635. package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +0 -1
  636. package/dist/neon/index.d.ts.map +0 -1
  637. package/dist/neon/index.js.map +0 -1
  638. package/dist/neon/neonDialect.d.ts.map +0 -1
  639. package/dist/neon/neonDialect.js.map +0 -1
  640. package/dist/neon/neonQuerier.d.ts.map +0 -1
  641. package/dist/neon/neonQuerier.js.map +0 -1
  642. package/dist/neon/neonQuerierPool.d.ts.map +0 -1
  643. package/dist/neon/neonQuerierPool.js.map +0 -1
  644. package/dist/nestjs/index.d.ts.map +0 -1
  645. package/dist/nestjs/index.js.map +0 -1
  646. package/dist/nestjs/uqlContextInterceptor.d.ts.map +0 -1
  647. package/dist/nestjs/uqlContextInterceptor.js.map +0 -1
  648. package/dist/nestjs/uqlModule.d.ts.map +0 -1
  649. package/dist/nestjs/uqlModule.js.map +0 -1
  650. package/dist/options.d.ts.map +0 -1
  651. package/dist/options.js.map +0 -1
  652. package/dist/postgres/abstractPgQuerier.d.ts.map +0 -1
  653. package/dist/postgres/abstractPgQuerier.js.map +0 -1
  654. package/dist/postgres/abstractPgQuerierPool.d.ts.map +0 -1
  655. package/dist/postgres/abstractPgQuerierPool.js.map +0 -1
  656. package/dist/postgres/index.d.ts.map +0 -1
  657. package/dist/postgres/index.js.map +0 -1
  658. package/dist/postgres/pgDialect.d.ts.map +0 -1
  659. package/dist/postgres/pgDialect.js.map +0 -1
  660. package/dist/postgres/pgQuerier.d.ts.map +0 -1
  661. package/dist/postgres/pgQuerier.js.map +0 -1
  662. package/dist/postgres/pgQuerierPool.d.ts.map +0 -1
  663. package/dist/postgres/pgQuerierPool.js.map +0 -1
  664. package/dist/postgres/postgresDialect.d.ts.map +0 -1
  665. package/dist/postgres/postgresDialect.js.map +0 -1
  666. package/dist/postgres/postgresWireDriverCapabilities.d.ts.map +0 -1
  667. package/dist/postgres/postgresWireDriverCapabilities.js.map +0 -1
  668. package/dist/querier/abstractPoolQuerier.d.ts.map +0 -1
  669. package/dist/querier/abstractPoolQuerier.js.map +0 -1
  670. package/dist/querier/abstractQuerier.d.ts.map +0 -1
  671. package/dist/querier/abstractQuerier.js.map +0 -1
  672. package/dist/querier/abstractQuerierPool.d.ts.map +0 -1
  673. package/dist/querier/abstractQuerierPool.js.map +0 -1
  674. package/dist/querier/abstractSqlQuerier.d.ts.map +0 -1
  675. package/dist/querier/abstractSqlQuerier.js.map +0 -1
  676. package/dist/querier/abstractSqlQuerierPool.d.ts.map +0 -1
  677. package/dist/querier/abstractSqlQuerierPool.js.map +0 -1
  678. package/dist/querier/decorator/index.d.ts.map +0 -1
  679. package/dist/querier/decorator/index.js.map +0 -1
  680. package/dist/querier/decorator/injectQuerier.d.ts.map +0 -1
  681. package/dist/querier/decorator/injectQuerier.js.map +0 -1
  682. package/dist/querier/decorator/log.d.ts.map +0 -1
  683. package/dist/querier/decorator/log.js.map +0 -1
  684. package/dist/querier/decorator/serialized.d.ts.map +0 -1
  685. package/dist/querier/decorator/serialized.js.map +0 -1
  686. package/dist/querier/decorator/transactional.d.ts.map +0 -1
  687. package/dist/querier/decorator/transactional.js.map +0 -1
  688. package/dist/querier/index.d.ts.map +0 -1
  689. package/dist/querier/index.js.map +0 -1
  690. package/dist/schema/canonicalType.d.ts.map +0 -1
  691. package/dist/schema/canonicalType.js.map +0 -1
  692. package/dist/schema/index.d.ts.map +0 -1
  693. package/dist/schema/index.js.map +0 -1
  694. package/dist/schema/schemaAST.d.ts.map +0 -1
  695. package/dist/schema/schemaAST.js.map +0 -1
  696. package/dist/schema/schemaASTBuilder.d.ts.map +0 -1
  697. package/dist/schema/schemaASTBuilder.js.map +0 -1
  698. package/dist/schema/schemaASTDiffer.d.ts.map +0 -1
  699. package/dist/schema/schemaASTDiffer.js.map +0 -1
  700. package/dist/schema/types.d.ts.map +0 -1
  701. package/dist/schema/types.js.map +0 -1
  702. package/dist/sqlite/abstractSqliteQuerier.d.ts.map +0 -1
  703. package/dist/sqlite/abstractSqliteQuerier.js.map +0 -1
  704. package/dist/sqlite/betterSqlite3Dialect.d.ts +0 -10
  705. package/dist/sqlite/betterSqlite3Dialect.d.ts.map +0 -1
  706. package/dist/sqlite/betterSqlite3Dialect.js +0 -10
  707. package/dist/sqlite/betterSqlite3Dialect.js.map +0 -1
  708. package/dist/sqlite/index.d.ts.map +0 -1
  709. package/dist/sqlite/index.js.map +0 -1
  710. package/dist/sqlite/sqliteDialect.d.ts.map +0 -1
  711. package/dist/sqlite/sqliteDialect.js.map +0 -1
  712. package/dist/sqlite/sqliteQuerier.d.ts.map +0 -1
  713. package/dist/sqlite/sqliteQuerier.js.map +0 -1
  714. package/dist/sqlite/sqliteQuerierPool.d.ts.map +0 -1
  715. package/dist/sqlite/sqliteQuerierPool.js.map +0 -1
  716. package/dist/type/config.d.ts.map +0 -1
  717. package/dist/type/config.js.map +0 -1
  718. package/dist/type/dialect.d.ts.map +0 -1
  719. package/dist/type/dialect.js.map +0 -1
  720. package/dist/type/entity.d.ts.map +0 -1
  721. package/dist/type/entity.js.map +0 -1
  722. package/dist/type/index.d.ts.map +0 -1
  723. package/dist/type/index.js.map +0 -1
  724. package/dist/type/logger.d.ts.map +0 -1
  725. package/dist/type/logger.js.map +0 -1
  726. package/dist/type/migration.d.ts.map +0 -1
  727. package/dist/type/migration.js.map +0 -1
  728. package/dist/type/migratorDialect.d.ts.map +0 -1
  729. package/dist/type/migratorDialect.js.map +0 -1
  730. package/dist/type/namingStrategy.d.ts.map +0 -1
  731. package/dist/type/namingStrategy.js.map +0 -1
  732. package/dist/type/querier.d.ts.map +0 -1
  733. package/dist/type/querier.js.map +0 -1
  734. package/dist/type/querierPool.d.ts.map +0 -1
  735. package/dist/type/querierPool.js.map +0 -1
  736. package/dist/type/query.d.ts.map +0 -1
  737. package/dist/type/query.js.map +0 -1
  738. package/dist/type/queryAggregate.d.ts.map +0 -1
  739. package/dist/type/queryAggregate.js.map +0 -1
  740. package/dist/type/queryRaw.d.ts.map +0 -1
  741. package/dist/type/queryRaw.js.map +0 -1
  742. package/dist/type/queryWhere.d.ts.map +0 -1
  743. package/dist/type/queryWhere.js.map +0 -1
  744. package/dist/type/universalQuerier.d.ts.map +0 -1
  745. package/dist/type/universalQuerier.js.map +0 -1
  746. package/dist/type/utility.d.ts.map +0 -1
  747. package/dist/type/utility.js.map +0 -1
  748. package/dist/type/vector.d.ts.map +0 -1
  749. package/dist/type/vector.js.map +0 -1
  750. package/dist/util/ansiSqlLiteral.d.ts +0 -23
  751. package/dist/util/ansiSqlLiteral.d.ts.map +0 -1
  752. package/dist/util/ansiSqlLiteral.js +0 -105
  753. package/dist/util/ansiSqlLiteral.js.map +0 -1
  754. package/dist/util/dialect.util.d.ts.map +0 -1
  755. package/dist/util/dialect.util.js.map +0 -1
  756. package/dist/util/field.util.d.ts.map +0 -1
  757. package/dist/util/field.util.js.map +0 -1
  758. package/dist/util/filters.util.d.ts.map +0 -1
  759. package/dist/util/filters.util.js.map +0 -1
  760. package/dist/util/hook.util.d.ts.map +0 -1
  761. package/dist/util/hook.util.js.map +0 -1
  762. package/dist/util/index.d.ts.map +0 -1
  763. package/dist/util/index.js.map +0 -1
  764. package/dist/util/logger.d.ts.map +0 -1
  765. package/dist/util/logger.js.map +0 -1
  766. package/dist/util/object.util.d.ts.map +0 -1
  767. package/dist/util/object.util.js.map +0 -1
  768. package/dist/util/raw.d.ts.map +0 -1
  769. package/dist/util/raw.js.map +0 -1
  770. package/dist/util/relationQuery.util.d.ts.map +0 -1
  771. package/dist/util/relationQuery.util.js.map +0 -1
  772. package/dist/util/sql.util.d.ts.map +0 -1
  773. package/dist/util/sql.util.js.map +0 -1
  774. package/dist/util/string.util.d.ts.map +0 -1
  775. package/dist/util/string.util.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Presents a `bun:sqlite` handle as a {@link SqliteDatabase}.
3
+ *
4
+ * @remarks Its statements expose no `reader`, so without deriving one every `RETURNING` statement
5
+ * would take the `run()` path, which discards returned rows, and inserts would report no ids.
6
+ * `columnNames` is non-empty for exactly the statements better-sqlite3 marks as readers.
7
+ *
8
+ * Lives in a `.bun.ts` file because it only ever executes under Bun: the Node coverage run cannot
9
+ * reach it, and `sqliteQuerier.bun.test.ts` covers it under `test:bun` instead.
10
+ */
11
+ export function adaptBunSqlite(db) {
12
+ return {
13
+ prepare: (sql) => {
14
+ const stmt = db.prepare(sql);
15
+ return {
16
+ reader: stmt.columnNames.length > 0,
17
+ all: (...values) => stmt.all(...values),
18
+ run: (...values) => stmt.run(...values),
19
+ iterate: (...values) => stmt.iterate(...values),
20
+ };
21
+ },
22
+ loadExtension: (path) => db.loadExtension(path),
23
+ close: () => db.close(),
24
+ };
25
+ }
@@ -0,0 +1,54 @@
1
+ import type { ExtraOptions, TransactionOptions } from '../type/index.js';
2
+ import { AbstractSqliteQuerier, type SqliteBindValue } from './abstractSqliteQuerier.js';
3
+ import type { SqliteDialect } from './sqliteDialect.js';
4
+ /**
5
+ * Structural subset of the Hrana client API, the wire protocol shared by `@libsql/client` and
6
+ * `@tursodatabase/serverless/compat`. Declared here rather than imported so a querier works with
7
+ * any client of this shape (including `@libsql/client/web` and `@libsql/client-wasm`) without
8
+ * depending on vendor types.
9
+ */
10
+ export type HranaInValue = SqliteBindValue | ArrayBuffer | Date;
11
+ export type HranaResultSet = {
12
+ rows: unknown[];
13
+ rowsAffected: number;
14
+ lastInsertRowid?: bigint;
15
+ };
16
+ export type HranaExecutor = {
17
+ execute(stmt: {
18
+ sql: string;
19
+ args?: HranaInValue[];
20
+ }): Promise<HranaResultSet>;
21
+ };
22
+ export type HranaTransaction = HranaExecutor & {
23
+ commit(): Promise<void>;
24
+ rollback(): Promise<void>;
25
+ };
26
+ export type HranaClient = HranaExecutor & {
27
+ transaction(mode?: 'write' | 'read' | 'deferred'): Promise<HranaTransaction>;
28
+ close(): void;
29
+ };
30
+ /** Connection lifecycle for a {@link HranaQuerier} (separate from {@link ExtraOptions}). */
31
+ export type HranaQuerierConnectionOptions = {
32
+ /** When set, {@link release} closes {@link HranaQuerier.client} (one-shot migration connections). */
33
+ closeClientOnRelease?: boolean;
34
+ };
35
+ /**
36
+ * Querier for SQLite databases reached through a Hrana client.
37
+ *
38
+ * @remarks Transactions use the client's own session handle rather than `BEGIN`/`COMMIT` statements,
39
+ * because over plain HTTP consecutive requests need not share a connection.
40
+ */
41
+ export declare class HranaQuerier extends AbstractSqliteQuerier {
42
+ readonly client: HranaClient;
43
+ readonly extra?: ExtraOptions | undefined;
44
+ private tx?;
45
+ private readonly closeClientOnRelease;
46
+ constructor(client: HranaClient, dialect: SqliteDialect, extra?: ExtraOptions | undefined, connection?: HranaQuerierConnectionOptions);
47
+ internalAll<T>(query: string, values?: unknown[]): Promise<T[]>;
48
+ internalRun(query: string, values?: unknown[]): Promise<import("../type/query.js").QueryUpdateResult>;
49
+ get hasOpenTransaction(): boolean;
50
+ beginTransaction(_opts?: TransactionOptions): Promise<void>;
51
+ commitTransaction(): Promise<void>;
52
+ rollbackTransaction(): Promise<void>;
53
+ internalRelease(): Promise<void>;
54
+ }
@@ -0,0 +1,90 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Serialized } from '../querier/decorator/index.js';
11
+ import { throwNoPendingTransaction, throwPendingTransaction } from '../util/index.js';
12
+ import { AbstractSqliteQuerier } from './abstractSqliteQuerier.js';
13
+ /**
14
+ * Querier for SQLite databases reached through a Hrana client.
15
+ *
16
+ * @remarks Transactions use the client's own session handle rather than `BEGIN`/`COMMIT` statements,
17
+ * because over plain HTTP consecutive requests need not share a connection.
18
+ */
19
+ export class HranaQuerier extends AbstractSqliteQuerier {
20
+ client;
21
+ extra;
22
+ tx;
23
+ closeClientOnRelease;
24
+ constructor(client, dialect, extra, connection) {
25
+ super(dialect, extra);
26
+ this.client = client;
27
+ this.extra = extra;
28
+ this.closeClientOnRelease = connection?.closeClientOnRelease ?? false;
29
+ }
30
+ async internalAll(query, values) {
31
+ const target = this.tx || this.client;
32
+ const res = await target.execute({ sql: query, args: values });
33
+ return res.rows;
34
+ }
35
+ async internalRun(query, values) {
36
+ const target = this.tx || this.client;
37
+ const res = await target.execute({ sql: query, args: values });
38
+ const rows = res.rows;
39
+ // `rowsAffected` is unreliably 0 whenever the statement has a RETURNING clause, so prefer
40
+ // the actual row count when rows were returned.
41
+ return this.buildUpdateResult({ rows, changes: rows.length || res.rowsAffected, id: res.lastInsertRowid });
42
+ }
43
+ get hasOpenTransaction() {
44
+ return !!this.tx;
45
+ }
46
+ async beginTransaction(_opts) {
47
+ if (this.tx) {
48
+ throwPendingTransaction();
49
+ }
50
+ this.tx = await this.client.transaction('write');
51
+ }
52
+ async commitTransaction() {
53
+ if (!this.tx) {
54
+ throwNoPendingTransaction();
55
+ }
56
+ await this.tx.commit();
57
+ this.tx = undefined;
58
+ }
59
+ async rollbackTransaction() {
60
+ if (!this.tx) {
61
+ throwNoPendingTransaction();
62
+ }
63
+ await this.tx.rollback();
64
+ this.tx = undefined;
65
+ }
66
+ async internalRelease() {
67
+ await super.internalRelease();
68
+ if (this.closeClientOnRelease) {
69
+ this.client.close();
70
+ }
71
+ }
72
+ }
73
+ __decorate([
74
+ Serialized(),
75
+ __metadata("design:type", Function),
76
+ __metadata("design:paramtypes", [Object]),
77
+ __metadata("design:returntype", Promise)
78
+ ], HranaQuerier.prototype, "beginTransaction", null);
79
+ __decorate([
80
+ Serialized(),
81
+ __metadata("design:type", Function),
82
+ __metadata("design:paramtypes", []),
83
+ __metadata("design:returntype", Promise)
84
+ ], HranaQuerier.prototype, "commitTransaction", null);
85
+ __decorate([
86
+ Serialized(),
87
+ __metadata("design:type", Function),
88
+ __metadata("design:paramtypes", []),
89
+ __metadata("design:returntype", Promise)
90
+ ], HranaQuerier.prototype, "rollbackTransaction", null);
@@ -0,0 +1,21 @@
1
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
2
+ import type { HranaClient, HranaQuerier, HranaQuerierConnectionOptions } from './hranaQuerier.js';
3
+ import type { SqliteDialect } from './sqliteDialect.js';
4
+ /**
5
+ * Pool for SQLite databases reached over the Hrana wire protocol (`@libsql/client`,
6
+ * `@tursodatabase/serverless/compat`).
7
+ *
8
+ * @remarks The client is shared by every querier, since Hrana keeps no per-connection state: a
9
+ * transaction takes its own session handle. It is resolved on first use rather than in the
10
+ * constructor, so building a pool never throws when the optional driver peer is absent, which is what
11
+ * lets a Workers bundle construct one at module scope.
12
+ */
13
+ export declare abstract class AbstractHranaQuerierPool<Q extends HranaQuerier, D extends SqliteDialect> extends AbstractSqlQuerierPool<Q, D> {
14
+ private client?;
15
+ /** False when the caller injected their own client, in which case they own its lifecycle. */
16
+ protected readonly ownsClient: boolean;
17
+ protected abstract openClient(): Promise<HranaClient>;
18
+ protected abstract buildQuerier(client: HranaClient, connection?: HranaQuerierConnectionOptions): Q;
19
+ getQuerier(): Promise<Q>;
20
+ end(): Promise<void>;
21
+ }
@@ -0,0 +1,25 @@
1
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
2
+ /**
3
+ * Pool for SQLite databases reached over the Hrana wire protocol (`@libsql/client`,
4
+ * `@tursodatabase/serverless/compat`).
5
+ *
6
+ * @remarks The client is shared by every querier, since Hrana keeps no per-connection state: a
7
+ * transaction takes its own session handle. It is resolved on first use rather than in the
8
+ * constructor, so building a pool never throws when the optional driver peer is absent, which is what
9
+ * lets a Workers bundle construct one at module scope.
10
+ */
11
+ export class AbstractHranaQuerierPool extends AbstractSqlQuerierPool {
12
+ client;
13
+ /** False when the caller injected their own client, in which case they own its lifecycle. */
14
+ ownsClient = true;
15
+ async getQuerier() {
16
+ this.client ??= await this.openClient();
17
+ return this.buildQuerier(this.client);
18
+ }
19
+ async end() {
20
+ if (this.ownsClient) {
21
+ this.client?.close();
22
+ }
23
+ this.client = undefined;
24
+ }
25
+ }
@@ -1,6 +1,6 @@
1
1
  export * from './abstractSqliteQuerier.js';
2
- export * from './betterSqlite3Dialect.js';
2
+ export * from './hranaQuerier.js';
3
+ export * from './hranaQuerierPool.js';
3
4
  export * from './sqliteDialect.js';
4
5
  export * from './sqliteQuerier.js';
5
6
  export * from './sqliteQuerierPool.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  export * from './abstractSqliteQuerier.js';
2
- export * from './betterSqlite3Dialect.js';
2
+ export * from './hranaQuerier.js';
3
+ export * from './hranaQuerierPool.js';
3
4
  export * from './sqliteDialect.js';
4
5
  export * from './sqliteQuerier.js';
5
6
  export * from './sqliteQuerierPool.js';
6
- //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import { AbstractSqlDialect } from '../dialect/abstractSqlDialect.js';
2
- import type { DialectFeatures, FieldOptions, QueryComparisonOptions, QueryConflictPaths, QueryContext, QueryOptions, QuerySizeComparisonOps, Type, VectorDistance } from '../type/index.js';
2
+ import type { DialectFeatures, EntityMeta, FieldOptions, QueryConflictPaths, QueryContext, QuerySizeComparisonOps, QueryTextSearchOptions, Type, VectorDistance } from '../type/index.js';
3
3
  export declare class SqliteDialect extends AbstractSqlDialect {
4
4
  /** Default {@link DialectFeatures} for SQLite and SQLite-derived dialects. */
5
5
  protected readonly featureDefaults: DialectFeatures;
@@ -14,6 +14,11 @@ export declare class SqliteDialect extends AbstractSqlDialect {
14
14
  readonly alterColumnSyntax = "none";
15
15
  readonly booleanLiteral = "integer";
16
16
  readonly insertIdSource = "returning";
17
+ /**
18
+ * The [sqlite-vec](https://github.com/asg017/sqlite-vec) functions, which need that extension
19
+ * loaded on the connection (see `Sqlite3QuerierPool`'s `extensions` option). libSQL and Turso ship
20
+ * their own vector functions instead, so `LibsqlDialect` overrides this.
21
+ */
17
22
  protected readonly vectorDistanceFns: ReadonlyMap<VectorDistance, string>;
18
23
  /**
19
24
  * SQLite does not support the `DEFAULT` keyword inside `VALUES`. Inline the metadata default
@@ -23,7 +28,11 @@ export declare class SqliteDialect extends AbstractSqlDialect {
23
28
  protected ilikeExpr(f: string, ph: string): string;
24
29
  protected get neOp(): string;
25
30
  normalizeValue(value: unknown): unknown;
26
- compare<E>(ctx: QueryContext, entity: Type<E>, key: string, val: unknown, opts?: QueryComparisonOptions): void;
31
+ /**
32
+ * FTS5 matches the table itself rather than its columns, so this only works when the table *is* an
33
+ * FTS5 virtual table (UQL does not create those; declare it outside your entities).
34
+ */
35
+ protected appendTextSearch<E>(ctx: QueryContext, entity: Type<E>, meta: EntityMeta<E>, search: QueryTextSearchOptions<E>): void;
27
36
  /**
28
37
  * SQLite compares an exploded element as whole JSON text, so containment cannot express "this
29
38
  * element includes these keys" - `$elemMatch` always expands to per-field conditions.
@@ -43,7 +52,6 @@ export declare class SqliteDialect extends AbstractSqlDialect {
43
52
  protected jsonElemRef(alias: string, field?: string, asJson?: boolean): string;
44
53
  protected getJsonPathScalarExpr(escapedColumn: string, jsonPathStr: string): string;
45
54
  protected numericCast(expr: string): string;
46
- insert<E>(ctx: QueryContext, entity: Type<E>, payload: E | E[], opts?: QueryOptions): void;
47
55
  upsert<E>(ctx: QueryContext, entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E | E[]): void;
48
56
  protected jsonCast(operand: string): string;
49
57
  /**
@@ -53,8 +61,13 @@ export declare class SqliteDialect extends AbstractSqlDialect {
53
61
  */
54
62
  protected jsonPullKey(ctx: QueryContext, expr: string, escapedCol: string, key: string, value: unknown): string;
55
63
  protected jsonSet(ctx: QueryContext, expr: string, set: Record<string, unknown>, field?: FieldOptions): string;
56
- /** `[#]` appends, creating the array when the key is absent. */
64
+ /**
65
+ * `[#]` appends, creating the array when the key is absent.
66
+ *
67
+ * @remarks `json_set` rather than `json_insert`: the two are equivalent here because `[#]` always
68
+ * resolves past the end of the array, and Turso's engine implements `json_insert` as create-only,
69
+ * so it silently drops the element when the array already exists.
70
+ */
57
71
  protected jsonPush(ctx: QueryContext, expr: string, push: Record<string, unknown>): string;
58
72
  protected jsonUnset(_ctx: QueryContext, expr: string, unset: readonly string[]): string;
59
73
  }
60
- //# sourceMappingURL=sqliteDialect.d.ts.map
@@ -13,7 +13,7 @@ export class SqliteDialect extends AbstractSqlDialect {
13
13
  renameColumn: true,
14
14
  foreignKeyAlter: false, // SQLite does not support adding FKs to existing tables
15
15
  columnComment: false, // SQLite does not support column comments
16
- vectorIndexStyle: 'create',
16
+ inlineVectorIndex: false,
17
17
  vectorSupportsLength: false,
18
18
  supportsTimestamptz: false,
19
19
  defaultStringAsText: true,
@@ -30,10 +30,15 @@ export class SqliteDialect extends AbstractSqlDialect {
30
30
  booleanLiteral = 'integer';
31
31
  // SQLite supports `RETURNING` (including on `INSERT ... ON CONFLICT`), so IDs are exact per row.
32
32
  insertIdSource = 'returning';
33
+ /**
34
+ * The [sqlite-vec](https://github.com/asg017/sqlite-vec) functions, which need that extension
35
+ * loaded on the connection (see `Sqlite3QuerierPool`'s `extensions` option). libSQL and Turso ship
36
+ * their own vector functions instead, so `LibsqlDialect` overrides this.
37
+ */
33
38
  vectorDistanceFns = new Map([
34
39
  ['cosine', 'vec_distance_cosine'],
35
40
  ['l2', 'vec_distance_L2'],
36
- ['hamming', 'vec_distance_hamming'],
41
+ ['l1', 'vec_distance_L1'],
37
42
  ]);
38
43
  /**
39
44
  * SQLite does not support the `DEFAULT` keyword inside `VALUES`. Inline the metadata default
@@ -58,21 +63,14 @@ export class SqliteDialect extends AbstractSqlDialect {
58
63
  return value.getTime();
59
64
  return super.normalizeValue(value);
60
65
  }
61
- compare(ctx, entity, key, val, opts) {
62
- if (key === '$text') {
63
- const meta = getMeta(entity);
64
- const search = val;
65
- const fields = search.$fields.map((fKey) => {
66
- const field = meta.fields[fKey];
67
- const columnName = this.resolveColumnName(fKey, field);
68
- return this.escapeId(columnName);
69
- });
70
- const tableName = this.resolveTableName(entity, meta);
71
- ctx.append(`${this.escapeId(tableName)} MATCH {${fields.join(' ')}} : `);
72
- ctx.addValue(search.$value);
73
- return;
74
- }
75
- super.compare(ctx, entity, key, val, opts);
66
+ /**
67
+ * FTS5 matches the table itself rather than its columns, so this only works when the table *is* an
68
+ * FTS5 virtual table (UQL does not create those; declare it outside your entities).
69
+ */
70
+ appendTextSearch(ctx, entity, meta, search) {
71
+ const columns = search.$fields.map((key) => this.escapeId(this.resolveColumnName(key, meta.fields[key])));
72
+ ctx.append(`${this.escapeId(this.resolveTableName(entity, meta))} MATCH {${columns.join(' ')}} : `);
73
+ ctx.addValue(search.$value);
76
74
  }
77
75
  /**
78
76
  * SQLite compares an exploded element as whole JSON text, so containment cannot express "this
@@ -111,10 +109,6 @@ export class SqliteDialect extends AbstractSqlDialect {
111
109
  numericCast(expr) {
112
110
  return `CAST(${expr} AS REAL)`;
113
111
  }
114
- insert(ctx, entity, payload, opts) {
115
- super.insert(ctx, entity, payload, opts);
116
- ctx.append(' ' + this.returningId(entity));
117
- }
118
112
  upsert(ctx, entity, conflictPaths, payload) {
119
113
  const meta = getMeta(entity);
120
114
  const updateCtx = this.createContext();
@@ -123,7 +117,7 @@ export class SqliteDialect extends AbstractSqlDialect {
123
117
  const onConflict = update ? `DO UPDATE SET ${update}` : 'DO NOTHING';
124
118
  // Use the base (non-RETURNING) insert here: the appended RETURNING below would otherwise
125
119
  // be doubled by `this.insert`'s own.
126
- super.insert(ctx, entity, payload);
120
+ this.appendInsertValues(ctx, entity, payload);
127
121
  ctx.append(` ON CONFLICT (${keysStr}) ${onConflict} ${this.returningId(entity)}`);
128
122
  ctx.pushValue(...updateCtx.values);
129
123
  }
@@ -144,12 +138,17 @@ export class SqliteDialect extends AbstractSqlDialect {
144
138
  jsonSet(ctx, expr, set, field) {
145
139
  return jsonAssignCall((value) => this.jsonScalarParam(ctx, value), 'json_set', jsonSetTarget(expr, field, `'{}'`), set);
146
140
  }
147
- /** `[#]` appends, creating the array when the key is absent. */
141
+ /**
142
+ * `[#]` appends, creating the array when the key is absent.
143
+ *
144
+ * @remarks `json_set` rather than `json_insert`: the two are equivalent here because `[#]` always
145
+ * resolves past the end of the array, and Turso's engine implements `json_insert` as create-only,
146
+ * so it silently drops the element when the array already exists.
147
+ */
148
148
  jsonPush(ctx, expr, push) {
149
- return jsonAssignCall((value) => this.jsonScalarParam(ctx, value), 'json_insert', expr, push, '[#]');
149
+ return jsonAssignCall((value) => this.jsonScalarParam(ctx, value), 'json_set', expr, push, '[#]');
150
150
  }
151
151
  jsonUnset(_ctx, expr, unset) {
152
152
  return jsonRemoveCall('json_remove', expr, unset);
153
153
  }
154
154
  }
155
- //# sourceMappingURL=sqliteDialect.js.map
@@ -1,14 +1,20 @@
1
- import type { Database } from 'better-sqlite3';
2
1
  import type { ExtraOptions } from '../type/index.js';
3
- import { AbstractSqliteQuerier } from './abstractSqliteQuerier.js';
2
+ import { PreparedSqliteQuerier, type SqlitePreparedStatement } from './abstractSqliteQuerier.js';
4
3
  import type { SqliteDialect } from './sqliteDialect.js';
5
- export declare class SqliteQuerier extends AbstractSqliteQuerier {
6
- readonly db: Database;
4
+ /**
5
+ * Structural subset of a synchronous better-sqlite3-compatible driver, declared locally so this
6
+ * querier carries no vendor type. A real `better-sqlite3` `Database` satisfies it directly;
7
+ * `bun:sqlite` is adapted to it by {@link Sqlite3QuerierPool}.
8
+ */
9
+ export type SqliteDatabase = {
10
+ prepare(sql: string): SqlitePreparedStatement;
11
+ /** Installs a loadable extension (`sqlite-vec`, ...) into this connection. */
12
+ loadExtension(path: string): void;
13
+ close(): unknown;
14
+ };
15
+ export declare class SqliteQuerier extends PreparedSqliteQuerier {
16
+ readonly db: SqliteDatabase;
7
17
  readonly extra?: ExtraOptions | undefined;
8
- constructor(db: Database, dialect: SqliteDialect, extra?: ExtraOptions | undefined);
9
- internalAll<T>(query: string, values?: unknown[]): Promise<T[]>;
10
- internalStream<T>(query: string, values?: unknown[]): AsyncGenerator<Awaited<T>, void, unknown>;
11
- internalRun(query: string, values?: unknown[]): Promise<import("../type/query.js").QueryUpdateResult>;
12
- internalRelease(): Promise<void>;
18
+ constructor(db: SqliteDatabase, dialect: SqliteDialect, extra?: ExtraOptions | undefined);
19
+ protected prepare(query: string): SqlitePreparedStatement;
13
20
  }
14
- //# sourceMappingURL=sqliteQuerier.d.ts.map
@@ -1,6 +1,5 @@
1
- import { throwPendingTransaction } from '../util/index.js';
2
- import { AbstractSqliteQuerier } from './abstractSqliteQuerier.js';
3
- export class SqliteQuerier extends AbstractSqliteQuerier {
1
+ import { PreparedSqliteQuerier } from './abstractSqliteQuerier.js';
2
+ export class SqliteQuerier extends PreparedSqliteQuerier {
4
3
  db;
5
4
  extra;
6
5
  constructor(db, dialect, extra) {
@@ -8,30 +7,7 @@ export class SqliteQuerier extends AbstractSqliteQuerier {
8
7
  this.db = db;
9
8
  this.extra = extra;
10
9
  }
11
- async internalAll(query, values) {
12
- return this.db.prepare(query).all(values || []);
13
- }
14
- async *internalStream(query, values) {
15
- for (const row of this.db.prepare(query).iterate(values || [])) {
16
- yield row;
17
- }
18
- }
19
- async internalRun(query, values) {
20
- const stmt = this.db.prepare(query);
21
- // `reader` is true for any statement with a RETURNING clause; `.run()` silently discards
22
- // returned rows, so those statements must go through `.all()` instead.
23
- if (stmt.reader) {
24
- const rows = stmt.all(values || []);
25
- return this.buildUpdateResult({ rows });
26
- }
27
- const { changes, lastInsertRowid } = stmt.run(values || []);
28
- return this.buildUpdateResult({ changes, id: lastInsertRowid });
29
- }
30
- async internalRelease() {
31
- if (this.hasOpenTransaction) {
32
- throwPendingTransaction();
33
- }
34
- // no-op
10
+ prepare(query) {
11
+ return this.db.prepare(query);
35
12
  }
36
13
  }
37
- //# sourceMappingURL=sqliteQuerier.js.map
@@ -1,19 +1,28 @@
1
1
  import type { Options } from 'better-sqlite3';
2
2
  import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import type { ExtraOptions } from '../type/index.js';
4
- import { BetterSqlite3Dialect } from './betterSqlite3Dialect.js';
4
+ import { SqliteDialect } from './sqliteDialect.js';
5
5
  import { SqliteQuerier } from './sqliteQuerier.js';
6
- export declare class Sqlite3QuerierPool extends AbstractSqlQuerierPool<SqliteQuerier, BetterSqlite3Dialect> {
6
+ /** Driver options, plus the loadable extensions to install on the connection. */
7
+ export type Sqlite3PoolOptions = Options & {
8
+ /**
9
+ * Paths of loadable extensions to install when the connection opens - e.g. what `sqlite-vec`'s
10
+ * `getLoadablePath()` returns, which vector search needs because SQLite itself has no vector
11
+ * functions.
12
+ */
13
+ extensions?: readonly string[];
14
+ };
15
+ export declare class Sqlite3QuerierPool extends AbstractSqlQuerierPool<SqliteQuerier, SqliteDialect> {
7
16
  readonly filename: string | Buffer;
8
- readonly opts?: Options | undefined;
17
+ readonly opts?: Sqlite3PoolOptions | undefined;
9
18
  private db?;
10
- constructor(filename?: string | Buffer, opts?: Options | undefined, extra?: ExtraOptions);
19
+ constructor(filename?: string | Buffer, opts?: Sqlite3PoolOptions | undefined, extra?: ExtraOptions);
11
20
  /**
12
21
  * The database handle is shared (single connection), but each acquisition gets its own querier
13
22
  * so transaction state stays per unit of work.
14
23
  */
15
24
  getQuerier(): Promise<SqliteQuerier>;
16
25
  private openDb;
26
+ private openDriverDb;
17
27
  end(): Promise<void>;
18
28
  }
19
- //# sourceMappingURL=sqliteQuerierPool.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import { AbstractSqlQuerierPool } from '../querier/index.js';
2
- import { BetterSqlite3Dialect } from './betterSqlite3Dialect.js';
2
+ import { SqliteDialect } from './sqliteDialect.js';
3
3
  import { SqliteQuerier } from './sqliteQuerier.js';
4
4
  export class Sqlite3QuerierPool extends AbstractSqlQuerierPool {
5
5
  filename;
6
6
  opts;
7
7
  db;
8
8
  constructor(filename = ':memory:', opts, extra) {
9
- super(new BetterSqlite3Dialect({ namingStrategy: extra?.namingStrategy }), extra);
9
+ super(new SqliteDialect({ namingStrategy: extra?.namingStrategy }), extra);
10
10
  this.filename = filename;
11
11
  this.opts = opts;
12
12
  }
@@ -19,14 +19,25 @@ export class Sqlite3QuerierPool extends AbstractSqlQuerierPool {
19
19
  return new SqliteQuerier(this.db, this.dialect, this.extra);
20
20
  }
21
21
  async openDb() {
22
+ // `bun:sqlite` rejects option keys it does not know, and rejects an options object carrying no
23
+ // open flags, so `extensions` is stripped out and what remains of it collapses back to nothing.
24
+ const { extensions, ...driverOpts } = this.opts ?? {};
25
+ const db = await this.openDriverDb(Object.keys(driverOpts).length > 0 ? driverOpts : undefined);
26
+ for (const extension of extensions ?? []) {
27
+ db.loadExtension(extension);
28
+ }
29
+ return db;
30
+ }
31
+ async openDriverDb(opts) {
22
32
  if (typeof Bun !== 'undefined') {
23
33
  const { Database: BunDatabase } = await import('bun:sqlite');
24
- const bunDb = new BunDatabase(this.filename, this.opts);
34
+ const { adaptBunSqlite } = await import('./bunSqliteAdapter.bun.js');
35
+ const bunDb = new BunDatabase(this.filename, opts);
25
36
  bunDb.run('PRAGMA journal_mode = WAL');
26
- return bunDb;
37
+ return adaptBunSqlite(bunDb);
27
38
  }
28
39
  const { default: BetterSqlite3 } = await import('better-sqlite3');
29
- const db = new BetterSqlite3(this.filename, this.opts);
40
+ const db = new BetterSqlite3(this.filename, opts);
30
41
  db.pragma('journal_mode = WAL');
31
42
  return db;
32
43
  }
@@ -35,4 +46,3 @@ export class Sqlite3QuerierPool extends AbstractSqlQuerierPool {
35
46
  this.db = undefined;
36
47
  }
37
48
  }
38
- //# sourceMappingURL=sqliteQuerierPool.js.map
@@ -0,0 +1,3 @@
1
+ export * from './tursoDialect.js';
2
+ export * from './tursoQuerier.js';
3
+ export * from './tursoQuerierPool.js';
@@ -0,0 +1,3 @@
1
+ export * from './tursoDialect.js';
2
+ export * from './tursoQuerier.js';
3
+ export * from './tursoQuerierPool.js';
@@ -0,0 +1,3 @@
1
+ export * from './tursoDialect.js';
2
+ export * from './tursoLocalQuerier.js';
3
+ export * from './tursoLocalQuerierPool.js';
@@ -0,0 +1,3 @@
1
+ export * from './tursoDialect.js';
2
+ export * from './tursoLocalQuerier.js';
3
+ export * from './tursoLocalQuerierPool.js';
@@ -0,0 +1,15 @@
1
+ import { LibsqlDialect } from '../libsql/libsqlDialect.js';
2
+ import type { VectorDistance } from '../type/index.js';
3
+ /**
4
+ * SQLite Dialect specialization for Turso Database.
5
+ *
6
+ * @remarks Shared by `TursoQuerierPool` (remote, `@tursodatabase/serverless`) and
7
+ * `TursoLocalQuerierPool` (embedded, `@tursodatabase/database`). Built on `LibsqlDialect` because
8
+ * Turso is that engine's successor and keeps its SQL surface, vector functions included. Imports
9
+ * nothing vendor-specific, so the embedded entry point cannot pull native code into an edge bundle
10
+ * through it.
11
+ */
12
+ export declare class TursoDialect extends LibsqlDialect {
13
+ /** The Rust engine adds a dot-product distance to libSQL's cosine and L2. */
14
+ protected readonly vectorDistanceFns: ReadonlyMap<VectorDistance, string>;
15
+ }
@@ -0,0 +1,18 @@
1
+ import { LibsqlDialect } from '../libsql/libsqlDialect.js';
2
+ /**
3
+ * SQLite Dialect specialization for Turso Database.
4
+ *
5
+ * @remarks Shared by `TursoQuerierPool` (remote, `@tursodatabase/serverless`) and
6
+ * `TursoLocalQuerierPool` (embedded, `@tursodatabase/database`). Built on `LibsqlDialect` because
7
+ * Turso is that engine's successor and keeps its SQL surface, vector functions included. Imports
8
+ * nothing vendor-specific, so the embedded entry point cannot pull native code into an edge bundle
9
+ * through it.
10
+ */
11
+ export class TursoDialect extends LibsqlDialect {
12
+ /** The Rust engine adds a dot-product distance to libSQL's cosine and L2. */
13
+ vectorDistanceFns = new Map([
14
+ ['cosine', 'vector_distance_cos'],
15
+ ['l2', 'vector_distance_l2'],
16
+ ['inner', 'vector_distance_dot'],
17
+ ]);
18
+ }
@@ -0,0 +1,25 @@
1
+ import { PreparedSqliteQuerier, type SqlitePreparedStatement } from '../sqlite/abstractSqliteQuerier.js';
2
+ import type { SqliteDialect } from '../sqlite/sqliteDialect.js';
3
+ import type { ExtraOptions } from '../type/index.js';
4
+ /**
5
+ * Structural subset of the `@tursodatabase/database` API actually used here, declared locally so
6
+ * this package does not couple its published types to a pre-1.0 dependency.
7
+ */
8
+ export type TursoDatabase = {
9
+ prepare(sql: string): Promise<SqlitePreparedStatement>;
10
+ pragma(source: string, options?: unknown): Promise<unknown[]>;
11
+ close(): Promise<void>;
12
+ };
13
+ /**
14
+ * Querier for the embedded Turso engine.
15
+ *
16
+ * @remarks The engine exposes better-sqlite3 semantics (`reader`, `{changes, lastInsertRowid}`,
17
+ * array-bound values) over an async API, so all it supplies is the awaited `prepare`.
18
+ * `BEGIN`/`COMMIT` work as plain statements, leaving transactions to the base class.
19
+ */
20
+ export declare class TursoLocalQuerier extends PreparedSqliteQuerier {
21
+ readonly db: TursoDatabase;
22
+ readonly extra?: ExtraOptions | undefined;
23
+ constructor(db: TursoDatabase, dialect: SqliteDialect, extra?: ExtraOptions | undefined);
24
+ protected prepare(query: string): Promise<SqlitePreparedStatement>;
25
+ }