uql-orm 0.9.5 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (681) hide show
  1. package/CHANGELOG.md +36 -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 +18 -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 +309 -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 +18 -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 +15 -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 +15 -0
  470. package/dist/postgres/abstractPgQuerierPool.d.ts.map +1 -0
  471. package/dist/postgres/abstractPgQuerierPool.js +10 -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 +58 -0
  550. package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
  551. package/dist/schema/schemaASTBuilder.js +228 -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 +332 -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 +34 -0
  654. package/dist/util/logger.d.ts.map +1 -0
  655. package/dist/util/logger.js +129 -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
@@ -1,735 +0,0 @@
1
- import { getMeta } from '../entity/index.js';
2
- import { ObjectId } from 'mongodb';
3
- import { buildQueryWhereAsMap, normalizeScalarFieldSelection, buildSortMap, hasKeys, getRelationRequestSummary, getKeys, fillOnFields, filterFieldKeys, parseGroupMap, isVectorSearch } from '../util/index.js';
4
-
5
- /**
6
- * Merge dialect capability defaults with optional overrides from {@link DialectOptions.driverCapabilities}.
7
- */ function mergeDialectFeatures(defaults, patch) {
8
- return patch ? {
9
- ...defaults,
10
- ...patch
11
- } : defaults;
12
- }
13
- /**
14
- * Base abstract class for all database dialects (SQL and NoSQL).
15
- */ class AbstractDialect {
16
- constructor(featureDefaults, options = {}){
17
- this.options = options;
18
- this.namingStrategy = options.namingStrategy;
19
- this.features = mergeDialectFeatures(featureDefaults, options.driverCapabilities);
20
- }
21
- /**
22
- * Resolve the table name for an entity, applying naming strategy if necessary.
23
- */ resolveTableName(entity, meta) {
24
- const name = meta.name ?? entity.name;
25
- if (name !== entity.name || !this.namingStrategy) {
26
- return name;
27
- }
28
- return this.namingStrategy.tableName(name);
29
- }
30
- /**
31
- * Resolve the column/field name for a property, applying naming strategy if necessary.
32
- */ resolveColumnName(key, field) {
33
- if (!field || field.name !== key || !this.namingStrategy) {
34
- return field?.name ?? key;
35
- }
36
- return this.namingStrategy.columnName(field.name);
37
- }
38
- }
39
-
40
- class MongoDialect extends AbstractDialect {
41
- static{
42
- /** Default {@link DialectFeatures} for MongoDB; shared by {@link MongoSchemaGenerator}. */ this.defaultDialectFeatures = {
43
- explicitJsonCast: false,
44
- nativeArrays: false,
45
- supportsJsonb: false,
46
- returning: false,
47
- ifNotExists: false,
48
- indexIfNotExists: false,
49
- dropTableCascade: false,
50
- renameColumn: false,
51
- foreignKeyAlter: false,
52
- columnComment: false,
53
- vectorIndexStyle: 'create',
54
- vectorSupportsLength: false,
55
- supportsTimestamptz: false,
56
- defaultStringAsText: false
57
- };
58
- }
59
- constructor(options = {}){
60
- super(MongoDialect.defaultDialectFeatures, options), this.dialectName = 'mongodb', this.insertIdStrategy = 'last';
61
- }
62
- static{
63
- this.ID_KEY = '_id';
64
- }
65
- static{
66
- this.VECTOR_INDEX_TYPES = new Set([
67
- 'vectorSearch',
68
- 'hnsw',
69
- 'ivfflat',
70
- 'vector'
71
- ]);
72
- }
73
- static{
74
- this.AGGREGATE_OP_MAP = {
75
- $count: '$sum',
76
- $sum: '$sum',
77
- $avg: '$avg',
78
- $min: '$min',
79
- $max: '$max'
80
- };
81
- }
82
- where(entity, where = {}, { softDelete } = {}) {
83
- const meta = getMeta(entity);
84
- const whereMap = buildQueryWhereAsMap(meta, where);
85
- if (meta.softDelete && (softDelete || softDelete === undefined) && !whereMap[meta.softDelete]) {
86
- const field = meta.fields[meta.softDelete];
87
- whereMap[this.resolveColumnName(meta.softDelete, field)] = null;
88
- }
89
- const filter = {};
90
- for (const [rawKey, rawVal] of Object.entries(whereMap)){
91
- let key = rawKey;
92
- let val = rawVal;
93
- if (key === '$and' || key === '$or') {
94
- filter[key] = val.map((filterIt)=>this.where(entity, filterIt));
95
- } else {
96
- const field = meta.fields[key];
97
- if (key === MongoDialect.ID_KEY || key === meta.id) {
98
- key = MongoDialect.ID_KEY;
99
- val = this.getIdValue(val);
100
- } else if (field) {
101
- key = this.resolveColumnName(key, field);
102
- }
103
- if (val && typeof val === 'object' && !Array.isArray(val) && this.hasOperatorKeys(val)) {
104
- val = this.transformOperators(val);
105
- } else if (Array.isArray(val)) {
106
- val = {
107
- $in: val
108
- };
109
- }
110
- filter[key] = val;
111
- }
112
- }
113
- return filter;
114
- }
115
- /**
116
- * Check if an object has operator keys (keys starting with $).
117
- */ hasOperatorKeys(obj) {
118
- return Object.keys(obj).some((key)=>key.startsWith('$'));
119
- }
120
- mapTableNameRow(row) {
121
- return row.table_name;
122
- }
123
- static{
124
- /** String operators → { pattern: (v) => regex, caseInsensitive } */ this.REGEX_OP_MAP = {
125
- $startsWith: {
126
- wrap: (v)=>`^${v}`,
127
- ci: false
128
- },
129
- $istartsWith: {
130
- wrap: (v)=>`^${v}`,
131
- ci: true
132
- },
133
- $endsWith: {
134
- wrap: (v)=>`${v}$`,
135
- ci: false
136
- },
137
- $iendsWith: {
138
- wrap: (v)=>`${v}$`,
139
- ci: true
140
- },
141
- $includes: {
142
- wrap: (v)=>String(v),
143
- ci: false
144
- },
145
- $iincludes: {
146
- wrap: (v)=>String(v),
147
- ci: true
148
- },
149
- $like: {
150
- wrap: (v)=>String(v).replace(/%/g, '.*').replace(/_/g, '.'),
151
- ci: false
152
- },
153
- $ilike: {
154
- wrap: (v)=>String(v).replace(/%/g, '.*').replace(/_/g, '.'),
155
- ci: true
156
- }
157
- };
158
- }
159
- static{
160
- /** MongoDB native operators — pass through as-is. */ this.NATIVE_OPS = new Set([
161
- '$all',
162
- '$size',
163
- '$elemMatch',
164
- '$eq',
165
- '$ne',
166
- '$lt',
167
- '$lte',
168
- '$gt',
169
- '$gte',
170
- '$in',
171
- '$nin',
172
- '$regex',
173
- '$not'
174
- ]);
175
- }
176
- /**
177
- * Transform UQL operators to MongoDB operators.
178
- */ transformOperators(ops) {
179
- const result = {};
180
- for (const [op, val] of Object.entries(ops)){
181
- // Native MongoDB operators — pass through directly
182
- if (MongoDialect.NATIVE_OPS.has(op)) {
183
- result[op] = val;
184
- continue;
185
- }
186
- // String/pattern → regex operators (8 variants including $like/$ilike)
187
- const regexEntry = MongoDialect.REGEX_OP_MAP[op];
188
- if (regexEntry) {
189
- result['$regex'] = regexEntry.wrap(val);
190
- if (regexEntry.ci) result['$options'] = 'i';
191
- continue;
192
- }
193
- // Structural transforms
194
- switch(op){
195
- case '$between':
196
- {
197
- const [min, max] = val;
198
- result['$gte'] = min;
199
- result['$lte'] = max;
200
- break;
201
- }
202
- case '$isNull':
203
- result[val ? '$eq' : '$ne'] = null;
204
- break;
205
- case '$isNotNull':
206
- result[val ? '$ne' : '$eq'] = null;
207
- break;
208
- case '$text':
209
- result['$text'] = {
210
- $search: val
211
- };
212
- break;
213
- default:
214
- result[op] = val;
215
- break;
216
- }
217
- }
218
- return result;
219
- }
220
- select(entity, select, exclude) {
221
- const meta = getMeta(entity);
222
- if (!select && !exclude) {
223
- return {};
224
- }
225
- const selectedFields = normalizeScalarFieldSelection(meta, select, exclude);
226
- return selectedFields.reduce((acc, key)=>{
227
- acc[key] = 1;
228
- return acc;
229
- }, {});
230
- }
231
- sort(entity, sort) {
232
- const raw = buildSortMap(sort);
233
- const normalized = {};
234
- for (const [key, dir] of Object.entries(raw)){
235
- normalized[key] = dir === 'desc' || dir === -1 ? -1 : 1;
236
- }
237
- return normalized;
238
- }
239
- aggregationPipeline(entity, q, relationSummary) {
240
- const meta = getMeta(entity);
241
- const where = this.where(entity, q.$where);
242
- const sort = this.sort(entity, q.$sort);
243
- const firstPipelineEntry = {};
244
- if (hasKeys(where)) {
245
- firstPipelineEntry.$match = where;
246
- }
247
- if (hasKeys(sort)) {
248
- firstPipelineEntry.$sort = sort;
249
- }
250
- const pipeline = [];
251
- if (hasKeys(firstPipelineEntry)) {
252
- pipeline.push(firstPipelineEntry);
253
- }
254
- const relKeys = (relationSummary ?? getRelationRequestSummary(meta, q.$populate)).joinableKeys;
255
- for (const relKey of relKeys){
256
- const relOpts = meta.relations[relKey];
257
- if (!relOpts) continue;
258
- if (relOpts.cardinality === '1m' || relOpts.cardinality === 'mm') {
259
- continue;
260
- }
261
- const relEntity = relOpts.entity();
262
- const relMeta = getMeta(relEntity);
263
- if (relOpts.cardinality === 'm1') {
264
- const localField = meta.fields[relOpts.references[0].local];
265
- pipeline.push({
266
- $lookup: {
267
- from: this.resolveTableName(relEntity, relMeta),
268
- localField: this.resolveColumnName(relOpts.references[0].local, localField),
269
- foreignField: '_id',
270
- as: relKey
271
- }
272
- });
273
- } else {
274
- const foreignField = relMeta.fields[relOpts.references[0].foreign];
275
- const foreignFieldName = this.resolveColumnName(relOpts.references[0].foreign, foreignField);
276
- const referenceWhere = this.where(relEntity, where);
277
- const referenceSort = this.sort(relEntity, q.$sort);
278
- const _id = MongoDialect.ID_KEY;
279
- const referencePipelineEntry = {
280
- $match: {
281
- [foreignFieldName]: referenceWhere[_id]
282
- }
283
- };
284
- if (hasKeys(referenceSort)) {
285
- referencePipelineEntry.$sort = referenceSort;
286
- }
287
- pipeline.push({
288
- $lookup: {
289
- from: this.resolveTableName(relEntity, relMeta),
290
- pipeline: [
291
- referencePipelineEntry
292
- ],
293
- as: relKey
294
- }
295
- });
296
- }
297
- pipeline.push({
298
- $unwind: {
299
- path: `$${relKey}`,
300
- preserveNullAndEmptyArrays: true
301
- }
302
- });
303
- }
304
- return pipeline;
305
- }
306
- normalizeIds(meta, docs) {
307
- return docs?.map((doc)=>this.normalizeId(meta, doc));
308
- }
309
- normalizeId(meta, doc) {
310
- if (!doc) {
311
- return doc;
312
- }
313
- const res = doc;
314
- const _id = MongoDialect.ID_KEY;
315
- if (res[_id]) {
316
- res[meta.id] = res[_id];
317
- if (meta.id !== _id) {
318
- delete res[_id];
319
- }
320
- }
321
- for (const key of getKeys(meta.fields)){
322
- const field = meta.fields[key];
323
- const dbName = this.resolveColumnName(key, field);
324
- if (dbName !== key && res[dbName] !== undefined) {
325
- res[key] = res[dbName];
326
- delete res[dbName];
327
- }
328
- }
329
- const relKeys = getKeys(meta.relations).filter((key)=>res[key]);
330
- for (const relKey of relKeys){
331
- const relOpts = meta.relations[relKey];
332
- if (!relOpts) continue;
333
- const relMeta = getMeta(relOpts.entity());
334
- res[relKey] = Array.isArray(res[relKey]) ? this.normalizeIds(relMeta, res[relKey]) : this.normalizeId(relMeta, res[relKey]);
335
- }
336
- return res;
337
- }
338
- getIdValue(value) {
339
- if (value instanceof ObjectId) {
340
- return value;
341
- }
342
- try {
343
- return new ObjectId(value);
344
- } catch (e) {
345
- return value;
346
- }
347
- }
348
- getPersistable(meta, payload, callbackKey) {
349
- return this.getPersistables(meta, payload, callbackKey)[0];
350
- }
351
- getPersistables(meta, payload, callbackKey) {
352
- const payloads = fillOnFields(meta, payload, callbackKey);
353
- const persistableKeys = filterFieldKeys(meta, payloads[0], callbackKey);
354
- return payloads.map((it)=>persistableKeys.reduce((acc, key)=>{
355
- const field = meta.fields[key];
356
- acc[this.resolveColumnName(key, field)] = it[key];
357
- return acc;
358
- }, {}));
359
- }
360
- /**
361
- * Build MongoDB aggregation pipeline stages from a QueryAggregate.
362
- */ buildAggregateStages(entity, q) {
363
- const pipeline = [];
364
- // $match stage (WHERE equivalent — before grouping)
365
- if (q.$where) {
366
- const filter = this.where(entity, q.$where);
367
- if (hasKeys(filter)) {
368
- pipeline.push({
369
- $match: filter
370
- });
371
- }
372
- }
373
- // $group stage
374
- const groupId = {};
375
- const groupAccumulators = {};
376
- for (const entry of parseGroupMap(q.$group)){
377
- if (entry.kind === 'key') {
378
- groupId[entry.alias] = `$${entry.alias}`;
379
- } else {
380
- const mongoOp = MongoDialect.AGGREGATE_OP_MAP[entry.op];
381
- groupAccumulators[entry.alias] = entry.op === '$count' ? {
382
- [mongoOp]: 1
383
- } : {
384
- [mongoOp]: `$${entry.fieldRef}`
385
- };
386
- }
387
- }
388
- pipeline.push({
389
- $group: {
390
- _id: hasKeys(groupId) ? groupId : null,
391
- ...groupAccumulators
392
- }
393
- });
394
- // Project stage — rename _id fields back to their original names
395
- if (hasKeys(groupId)) {
396
- const project = {
397
- _id: 0
398
- };
399
- for (const alias of Object.keys(groupId)){
400
- project[alias] = `$_id.${alias}`;
401
- }
402
- for (const alias of Object.keys(groupAccumulators)){
403
- project[alias] = 1;
404
- }
405
- pipeline.push({
406
- $project: project
407
- });
408
- }
409
- // $match stage for HAVING (post-group filtering)
410
- if (q.$having) {
411
- const havingFilter = this.buildHavingFilter(q.$having);
412
- if (hasKeys(havingFilter)) {
413
- pipeline.push({
414
- $match: havingFilter
415
- });
416
- }
417
- }
418
- // $sort stage
419
- if (q.$sort) {
420
- const sort = this.sort(entity, q.$sort);
421
- if (hasKeys(sort)) {
422
- pipeline.push({
423
- $sort: sort
424
- });
425
- }
426
- }
427
- // $skip and $limit stages
428
- if (q.$skip !== undefined) {
429
- pipeline.push({
430
- $skip: q.$skip
431
- });
432
- }
433
- if (q.$limit !== undefined) {
434
- pipeline.push({
435
- $limit: q.$limit
436
- });
437
- }
438
- return pipeline;
439
- }
440
- buildHavingFilter(having) {
441
- const filter = {};
442
- for (const [alias, condition] of Object.entries(having)){
443
- if (condition === undefined) continue;
444
- if (typeof condition === 'number') {
445
- filter[alias] = condition;
446
- } else if (typeof condition === 'object' && condition !== null) {
447
- filter[alias] = this.transformOperators(condition);
448
- }
449
- }
450
- return filter;
451
- }
452
- /**
453
- * Separate vector sort entries from regular sort entries.
454
- * Returns `undefined` if no vector sort is present.
455
- */ extractVectorSort(sort) {
456
- if (!sort) return undefined;
457
- const raw = buildSortMap(sort);
458
- let vectorKey;
459
- let vectorSearch;
460
- const regularSort = {};
461
- for (const [key, value] of Object.entries(raw)){
462
- if (isVectorSearch(value)) {
463
- vectorKey = key;
464
- vectorSearch = value;
465
- } else {
466
- regularSort[key] = value;
467
- }
468
- }
469
- if (!vectorKey || !vectorSearch) return undefined;
470
- return {
471
- vectorKey,
472
- vectorSearch,
473
- regularSort
474
- };
475
- }
476
- /**
477
- * Build a `$vectorSearch` aggregation pipeline stage.
478
- * Merges `$where` into `$vectorSearch.filter` for optimal pre-filtering.
479
- */ buildVectorSearchStage(entity, meta, key, search, where, limit) {
480
- const field = meta.fields[key];
481
- if (!field) {
482
- throw new TypeError(`Field '${key}' not found in entity '${meta.name}'`);
483
- }
484
- const colName = this.resolveColumnName(key, field);
485
- // Resolve index name from @Index metadata, or fall back to convention
486
- const indexMeta = meta.indexes?.find((idx)=>idx.columns.includes(key) && MongoDialect.VECTOR_INDEX_TYPES.has(idx.type));
487
- const indexName = indexMeta?.name ?? `${colName}_index`;
488
- const stage = {
489
- index: indexName,
490
- path: colName,
491
- queryVector: [
492
- ...search.$vector
493
- ],
494
- numCandidates: limit * 10,
495
- limit
496
- };
497
- // Pre-filter: merge $where into $vectorSearch.filter
498
- if (where) {
499
- const filter = this.where(entity, where);
500
- if (hasKeys(filter)) {
501
- stage['filter'] = filter;
502
- }
503
- }
504
- return {
505
- $vectorSearch: stage
506
- };
507
- }
508
- }
509
-
510
- class MongoSchemaGenerator extends AbstractDialect {
511
- constructor(namingStrategy, defaultForeignKeyAction){
512
- super(MongoDialect.defaultDialectFeatures, {
513
- namingStrategy
514
- }), this.defaultForeignKeyAction = defaultForeignKeyAction, this.dialectName = 'mongodb', this.insertIdStrategy = 'last';
515
- }
516
- generateCreateTable(entity, _options) {
517
- const meta = getMeta(entity);
518
- const collectionName = this.resolveTableName(entity, meta);
519
- const indexes = [];
520
- for (const key of getKeys(meta.fields)){
521
- const field = meta.fields[key];
522
- if (field?.index) {
523
- const columnName = this.resolveColumnName(key, field);
524
- const indexName = typeof field.index === 'string' ? field.index : `idx_${collectionName}_${columnName}`;
525
- indexes.push({
526
- name: indexName,
527
- columns: [
528
- columnName
529
- ],
530
- unique: !!field.unique
531
- });
532
- }
533
- }
534
- return [
535
- JSON.stringify({
536
- action: 'createCollection',
537
- name: collectionName,
538
- indexes
539
- })
540
- ];
541
- }
542
- generateDropTable(entity) {
543
- const meta = getMeta(entity);
544
- const collectionName = this.resolveTableName(entity, meta);
545
- return JSON.stringify({
546
- action: 'dropCollection',
547
- name: collectionName
548
- });
549
- }
550
- generateAlterTable(diff) {
551
- const statements = [];
552
- if (diff.indexesToAdd?.length) {
553
- for (const index of diff.indexesToAdd){
554
- statements.push(this.generateCreateIndex(diff.tableName, index));
555
- }
556
- }
557
- return statements;
558
- }
559
- generateAlterTableDown(diff) {
560
- const statements = [];
561
- if (diff.indexesToAdd?.length) {
562
- for (const index of diff.indexesToAdd){
563
- statements.push(this.generateDropIndex(diff.tableName, index.name));
564
- }
565
- }
566
- return statements;
567
- }
568
- generateCreateIndex(tableName, index) {
569
- const key = {};
570
- for (const col of index.columns){
571
- key[col] = 1;
572
- }
573
- return JSON.stringify({
574
- action: 'createIndex',
575
- collection: tableName,
576
- name: index.name,
577
- key,
578
- options: {
579
- unique: index.unique,
580
- name: index.name
581
- }
582
- });
583
- }
584
- generateDropIndex(tableName, indexName) {
585
- return JSON.stringify({
586
- action: 'dropIndex',
587
- collection: tableName,
588
- name: indexName
589
- });
590
- }
591
- getSqlType(fieldOptions, fieldType) {
592
- return '';
593
- }
594
- getBooleanType() {
595
- return '';
596
- }
597
- generateColumnDefinitions() {
598
- return [];
599
- }
600
- generateColumnDefinition() {
601
- return '';
602
- }
603
- generateColumnDefinitionFromSchema() {
604
- return '';
605
- }
606
- generateTableConstraints() {
607
- return [];
608
- }
609
- generateAlterColumnStatements() {
610
- return [];
611
- }
612
- getTableOptions() {
613
- return '';
614
- }
615
- generateColumnComment() {
616
- return '';
617
- }
618
- formatDefaultValue() {
619
- return '';
620
- }
621
- generateCreateTableFromNode(table, _options) {
622
- return [
623
- JSON.stringify({
624
- action: 'createCollection',
625
- name: table.name
626
- })
627
- ];
628
- }
629
- generateCreateIndexFromNode(index) {
630
- const key = {};
631
- for (const col of index.columns){
632
- key[col.name] = 1;
633
- }
634
- return JSON.stringify({
635
- action: 'createIndex',
636
- collection: index.table.name,
637
- name: index.name,
638
- key,
639
- options: {
640
- unique: index.unique,
641
- name: index.name
642
- }
643
- });
644
- }
645
- generateDropTableFromNode(table) {
646
- return JSON.stringify({
647
- action: 'dropCollection',
648
- name: table.name
649
- });
650
- }
651
- generateCreateTableFromDefinition(table, _options) {
652
- return [
653
- JSON.stringify({
654
- action: 'createCollection',
655
- name: table.name
656
- })
657
- ];
658
- }
659
- generateDropTableSql(tableName) {
660
- return JSON.stringify({
661
- action: 'dropCollection',
662
- name: tableName
663
- });
664
- }
665
- generateRenameTableSql(oldName, newName) {
666
- return JSON.stringify({
667
- action: 'renameCollection',
668
- from: oldName,
669
- to: newName
670
- });
671
- }
672
- generateAddColumnSql() {
673
- return '';
674
- }
675
- generateDropColumnSql() {
676
- return '';
677
- }
678
- generateRenameColumnSql() {
679
- return '';
680
- }
681
- generateAlterColumnSql() {
682
- return '';
683
- }
684
- generateCreateIndexSql(tableName, index) {
685
- return this.generateCreateIndex(tableName, index);
686
- }
687
- generateDropIndexSql(tableName, indexName) {
688
- return this.generateDropIndex(tableName, indexName);
689
- }
690
- generateAddForeignKeySql() {
691
- return '';
692
- }
693
- generateDropForeignKeySql() {
694
- return '';
695
- }
696
- diffSchema(entity, currentTable) {
697
- const meta = getMeta(entity);
698
- const collectionName = this.resolveTableName(entity, meta);
699
- if (!currentTable) {
700
- return {
701
- tableName: collectionName,
702
- type: 'create'
703
- };
704
- }
705
- const indexesToAdd = [];
706
- const existingIndexes = new Set(currentTable.indexes?.map((i)=>i.name) ?? []);
707
- for (const key of getKeys(meta.fields)){
708
- const field = meta.fields[key];
709
- if (field?.index) {
710
- const columnName = this.resolveColumnName(key, field);
711
- const indexName = typeof field.index === 'string' ? field.index : `idx_${collectionName}_${columnName}`;
712
- if (!existingIndexes.has(indexName)) {
713
- indexesToAdd.push({
714
- name: indexName,
715
- columns: [
716
- columnName
717
- ],
718
- unique: !!field.unique
719
- });
720
- }
721
- }
722
- }
723
- if (indexesToAdd.length === 0) {
724
- return undefined;
725
- }
726
- return {
727
- tableName: collectionName,
728
- type: 'alter',
729
- indexesToAdd
730
- };
731
- }
732
- }
733
-
734
- export { MongoSchemaGenerator };
735
- //# sourceMappingURL=mongoSchemaGenerator-BT2_u1wI.js.map