uql-orm 0.9.3 → 0.9.5

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 (657) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +62 -683
  3. package/dist/browser/uql-browser.min.js +4791 -2940
  4. package/dist/browser/uql-browser.min.js.map +1 -1
  5. package/package.json +4 -4
  6. package/dist/browser/http/bus.d.ts +0 -4
  7. package/dist/browser/http/bus.d.ts.map +0 -1
  8. package/dist/browser/http/bus.js +0 -14
  9. package/dist/browser/http/bus.js.map +0 -1
  10. package/dist/browser/http/http.d.ts +0 -7
  11. package/dist/browser/http/http.d.ts.map +0 -1
  12. package/dist/browser/http/http.js +0 -45
  13. package/dist/browser/http/http.js.map +0 -1
  14. package/dist/browser/http/index.d.ts +0 -3
  15. package/dist/browser/http/index.d.ts.map +0 -1
  16. package/dist/browser/http/index.js +0 -3
  17. package/dist/browser/http/index.js.map +0 -1
  18. package/dist/browser/index.d.ts +0 -5
  19. package/dist/browser/index.d.ts.map +0 -1
  20. package/dist/browser/index.js +0 -5
  21. package/dist/browser/index.js.map +0 -1
  22. package/dist/browser/options.d.ts +0 -5
  23. package/dist/browser/options.d.ts.map +0 -1
  24. package/dist/browser/options.js +0 -14
  25. package/dist/browser/options.js.map +0 -1
  26. package/dist/browser/querier/httpQuerier.d.ts +0 -20
  27. package/dist/browser/querier/httpQuerier.d.ts.map +0 -1
  28. package/dist/browser/querier/httpQuerier.js +0 -68
  29. package/dist/browser/querier/httpQuerier.js.map +0 -1
  30. package/dist/browser/querier/index.d.ts +0 -3
  31. package/dist/browser/querier/index.d.ts.map +0 -1
  32. package/dist/browser/querier/index.js +0 -3
  33. package/dist/browser/querier/index.js.map +0 -1
  34. package/dist/browser/querier/querier.util.d.ts +0 -3
  35. package/dist/browser/querier/querier.util.d.ts.map +0 -1
  36. package/dist/browser/querier/querier.util.js +0 -17
  37. package/dist/browser/querier/querier.util.js.map +0 -1
  38. package/dist/browser/type/clientQuerier.d.ts +0 -24
  39. package/dist/browser/type/clientQuerier.d.ts.map +0 -1
  40. package/dist/browser/type/clientQuerier.js +0 -2
  41. package/dist/browser/type/clientQuerier.js.map +0 -1
  42. package/dist/browser/type/clientQuerierPool.d.ts +0 -5
  43. package/dist/browser/type/clientQuerierPool.d.ts.map +0 -1
  44. package/dist/browser/type/clientQuerierPool.js +0 -2
  45. package/dist/browser/type/clientQuerierPool.js.map +0 -1
  46. package/dist/browser/type/index.d.ts +0 -4
  47. package/dist/browser/type/index.d.ts.map +0 -1
  48. package/dist/browser/type/index.js +0 -4
  49. package/dist/browser/type/index.js.map +0 -1
  50. package/dist/browser/type/request.d.ts +0 -29
  51. package/dist/browser/type/request.d.ts.map +0 -1
  52. package/dist/browser/type/request.js +0 -2
  53. package/dist/browser/type/request.js.map +0 -1
  54. package/dist/bunSql/bunSql.util.d.ts +0 -30
  55. package/dist/bunSql/bunSql.util.d.ts.map +0 -1
  56. package/dist/bunSql/bunSql.util.js +0 -101
  57. package/dist/bunSql/bunSql.util.js.map +0 -1
  58. package/dist/bunSql/bunSqlPostgresDialect.d.ts +0 -12
  59. package/dist/bunSql/bunSqlPostgresDialect.d.ts.map +0 -1
  60. package/dist/bunSql/bunSqlPostgresDialect.js +0 -21
  61. package/dist/bunSql/bunSqlPostgresDialect.js.map +0 -1
  62. package/dist/bunSql/bunSqlQuerier.d.ts +0 -14
  63. package/dist/bunSql/bunSqlQuerier.d.ts.map +0 -1
  64. package/dist/bunSql/bunSqlQuerier.js +0 -37
  65. package/dist/bunSql/bunSqlQuerier.js.map +0 -1
  66. package/dist/bunSql/bunSqlQuerierPool.d.ts +0 -19
  67. package/dist/bunSql/bunSqlQuerierPool.d.ts.map +0 -1
  68. package/dist/bunSql/bunSqlQuerierPool.js +0 -58
  69. package/dist/bunSql/bunSqlQuerierPool.js.map +0 -1
  70. package/dist/bunSql/bunSqliteDialect.d.ts +0 -7
  71. package/dist/bunSql/bunSqliteDialect.d.ts.map +0 -1
  72. package/dist/bunSql/bunSqliteDialect.js +0 -7
  73. package/dist/bunSql/bunSqliteDialect.js.map +0 -1
  74. package/dist/bunSql/index.d.ts +0 -5
  75. package/dist/bunSql/index.d.ts.map +0 -1
  76. package/dist/bunSql/index.js +0 -5
  77. package/dist/bunSql/index.js.map +0 -1
  78. package/dist/cockroachdb/cockroachDialect.d.ts +0 -15
  79. package/dist/cockroachdb/cockroachDialect.d.ts.map +0 -1
  80. package/dist/cockroachdb/cockroachDialect.js +0 -14
  81. package/dist/cockroachdb/cockroachDialect.js.map +0 -1
  82. package/dist/cockroachdb/crdbQuerier.d.ts +0 -9
  83. package/dist/cockroachdb/crdbQuerier.d.ts.map +0 -1
  84. package/dist/cockroachdb/crdbQuerier.js +0 -7
  85. package/dist/cockroachdb/crdbQuerier.js.map +0 -1
  86. package/dist/cockroachdb/crdbQuerierPool.d.ts +0 -14
  87. package/dist/cockroachdb/crdbQuerierPool.d.ts.map +0 -1
  88. package/dist/cockroachdb/crdbQuerierPool.js +0 -18
  89. package/dist/cockroachdb/crdbQuerierPool.js.map +0 -1
  90. package/dist/cockroachdb/index.d.ts +0 -4
  91. package/dist/cockroachdb/index.d.ts.map +0 -1
  92. package/dist/cockroachdb/index.js +0 -4
  93. package/dist/cockroachdb/index.js.map +0 -1
  94. package/dist/d1/d1Querier.d.ts +0 -46
  95. package/dist/d1/d1Querier.d.ts.map +0 -1
  96. package/dist/d1/d1Querier.js +0 -30
  97. package/dist/d1/d1Querier.js.map +0 -1
  98. package/dist/d1/d1QuerierPool.d.ts +0 -11
  99. package/dist/d1/d1QuerierPool.d.ts.map +0 -1
  100. package/dist/d1/d1QuerierPool.js +0 -17
  101. package/dist/d1/d1QuerierPool.js.map +0 -1
  102. package/dist/d1/d1SqliteDialect.d.ts +0 -10
  103. package/dist/d1/d1SqliteDialect.d.ts.map +0 -1
  104. package/dist/d1/d1SqliteDialect.js +0 -10
  105. package/dist/d1/d1SqliteDialect.js.map +0 -1
  106. package/dist/d1/index.d.ts +0 -4
  107. package/dist/d1/index.d.ts.map +0 -1
  108. package/dist/d1/index.js +0 -4
  109. package/dist/d1/index.js.map +0 -1
  110. package/dist/dialect/abstractDialect.d.ts +0 -32
  111. package/dist/dialect/abstractDialect.d.ts.map +0 -1
  112. package/dist/dialect/abstractDialect.js +0 -39
  113. package/dist/dialect/abstractDialect.js.map +0 -1
  114. package/dist/dialect/abstractSqlDialect.d.ts +0 -233
  115. package/dist/dialect/abstractSqlDialect.d.ts.map +0 -1
  116. package/dist/dialect/abstractSqlDialect.js +0 -1332
  117. package/dist/dialect/abstractSqlDialect.js.map +0 -1
  118. package/dist/dialect/index.d.ts +0 -9
  119. package/dist/dialect/index.d.ts.map +0 -1
  120. package/dist/dialect/index.js +0 -9
  121. package/dist/dialect/index.js.map +0 -1
  122. package/dist/dialect/jsonArrayElemMatchUtils.d.ts +0 -10
  123. package/dist/dialect/jsonArrayElemMatchUtils.d.ts.map +0 -1
  124. package/dist/dialect/jsonArrayElemMatchUtils.js +0 -24
  125. package/dist/dialect/jsonArrayElemMatchUtils.js.map +0 -1
  126. package/dist/dialect/mysqlLikeSqlDialect.d.ts +0 -36
  127. package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +0 -1
  128. package/dist/dialect/mysqlLikeSqlDialect.js +0 -84
  129. package/dist/dialect/mysqlLikeSqlDialect.js.map +0 -1
  130. package/dist/dialect/queryContext.d.ts +0 -49
  131. package/dist/dialect/queryContext.d.ts.map +0 -1
  132. package/dist/dialect/queryContext.js +0 -65
  133. package/dist/dialect/queryContext.js.map +0 -1
  134. package/dist/entity/decorator/entity.d.ts +0 -3
  135. package/dist/entity/decorator/entity.d.ts.map +0 -1
  136. package/dist/entity/decorator/entity.js +0 -7
  137. package/dist/entity/decorator/entity.js.map +0 -1
  138. package/dist/entity/decorator/field.d.ts +0 -3
  139. package/dist/entity/decorator/field.d.ts.map +0 -1
  140. package/dist/entity/decorator/field.js +0 -8
  141. package/dist/entity/decorator/field.js.map +0 -1
  142. package/dist/entity/decorator/hook.d.ts +0 -8
  143. package/dist/entity/decorator/hook.d.ts.map +0 -1
  144. package/dist/entity/decorator/hook.js +0 -15
  145. package/dist/entity/decorator/hook.js.map +0 -1
  146. package/dist/entity/decorator/id.d.ts +0 -3
  147. package/dist/entity/decorator/id.d.ts.map +0 -1
  148. package/dist/entity/decorator/id.js +0 -8
  149. package/dist/entity/decorator/id.js.map +0 -1
  150. package/dist/entity/decorator/index-decorator.d.ts +0 -37
  151. package/dist/entity/decorator/index-decorator.d.ts.map +0 -1
  152. package/dist/entity/decorator/index-decorator.js +0 -27
  153. package/dist/entity/decorator/index-decorator.js.map +0 -1
  154. package/dist/entity/decorator/index.d.ts +0 -8
  155. package/dist/entity/decorator/index.d.ts.map +0 -1
  156. package/dist/entity/decorator/index.js +0 -8
  157. package/dist/entity/decorator/index.js.map +0 -1
  158. package/dist/entity/decorator/relation.d.ts +0 -9
  159. package/dist/entity/decorator/relation.d.ts.map +0 -1
  160. package/dist/entity/decorator/relation.js +0 -20
  161. package/dist/entity/decorator/relation.js.map +0 -1
  162. package/dist/entity/index.d.ts +0 -2
  163. package/dist/entity/index.d.ts.map +0 -1
  164. package/dist/entity/index.js +0 -2
  165. package/dist/entity/index.js.map +0 -1
  166. package/dist/entity/metadata/definition.d.ts +0 -16
  167. package/dist/entity/metadata/definition.d.ts.map +0 -1
  168. package/dist/entity/metadata/definition.js +0 -309
  169. package/dist/entity/metadata/definition.js.map +0 -1
  170. package/dist/entity/test-helpers.d.ts +0 -4
  171. package/dist/entity/test-helpers.d.ts.map +0 -1
  172. package/dist/entity/test-helpers.js +0 -15
  173. package/dist/entity/test-helpers.js.map +0 -1
  174. package/dist/express/index.d.ts +0 -3
  175. package/dist/express/index.d.ts.map +0 -1
  176. package/dist/express/index.js +0 -3
  177. package/dist/express/index.js.map +0 -1
  178. package/dist/express/querierMiddleware.d.ts +0 -26
  179. package/dist/express/querierMiddleware.d.ts.map +0 -1
  180. package/dist/express/querierMiddleware.js +0 -143
  181. package/dist/express/querierMiddleware.js.map +0 -1
  182. package/dist/express/query.util.d.ts +0 -7
  183. package/dist/express/query.util.d.ts.map +0 -1
  184. package/dist/express/query.util.js +0 -27
  185. package/dist/express/query.util.js.map +0 -1
  186. package/dist/index.d.ts +0 -8
  187. package/dist/index.d.ts.map +0 -1
  188. package/dist/index.js +0 -8
  189. package/dist/index.js.map +0 -1
  190. package/dist/libsql/index.d.ts +0 -4
  191. package/dist/libsql/index.d.ts.map +0 -1
  192. package/dist/libsql/index.js +0 -4
  193. package/dist/libsql/index.js.map +0 -1
  194. package/dist/libsql/libsqlDialect.d.ts +0 -10
  195. package/dist/libsql/libsqlDialect.d.ts.map +0 -1
  196. package/dist/libsql/libsqlDialect.js +0 -10
  197. package/dist/libsql/libsqlDialect.js.map +0 -1
  198. package/dist/libsql/libsqlQuerier.d.ts +0 -24
  199. package/dist/libsql/libsqlQuerier.d.ts.map +0 -1
  200. package/dist/libsql/libsqlQuerier.js +0 -76
  201. package/dist/libsql/libsqlQuerier.js.map +0 -1
  202. package/dist/libsql/libsqlQuerierPool.d.ts +0 -20
  203. package/dist/libsql/libsqlQuerierPool.d.ts.map +0 -1
  204. package/dist/libsql/libsqlQuerierPool.js +0 -40
  205. package/dist/libsql/libsqlQuerierPool.js.map +0 -1
  206. package/dist/maria/index.d.ts +0 -4
  207. package/dist/maria/index.d.ts.map +0 -1
  208. package/dist/maria/index.js +0 -4
  209. package/dist/maria/index.js.map +0 -1
  210. package/dist/maria/mariaDialect.d.ts +0 -16
  211. package/dist/maria/mariaDialect.d.ts.map +0 -1
  212. package/dist/maria/mariaDialect.js +0 -56
  213. package/dist/maria/mariaDialect.js.map +0 -1
  214. package/dist/maria/mariadbQuerier.d.ts +0 -12
  215. package/dist/maria/mariadbQuerier.d.ts.map +0 -1
  216. package/dist/maria/mariadbQuerier.js +0 -31
  217. package/dist/maria/mariadbQuerier.js.map +0 -1
  218. package/dist/maria/mariadbQuerierPool.d.ts +0 -14
  219. package/dist/maria/mariadbQuerierPool.d.ts.map +0 -1
  220. package/dist/maria/mariadbQuerierPool.js +0 -18
  221. package/dist/maria/mariadbQuerierPool.js.map +0 -1
  222. package/dist/migrate/acquireQuerierForMigrations.d.ts +0 -9
  223. package/dist/migrate/acquireQuerierForMigrations.d.ts.map +0 -1
  224. package/dist/migrate/acquireQuerierForMigrations.js +0 -10
  225. package/dist/migrate/acquireQuerierForMigrations.js.map +0 -1
  226. package/dist/migrate/assertCliConfig.d.ts +0 -6
  227. package/dist/migrate/assertCliConfig.d.ts.map +0 -1
  228. package/dist/migrate/assertCliConfig.js +0 -31
  229. package/dist/migrate/assertCliConfig.js.map +0 -1
  230. package/dist/migrate/bin.d.ts +0 -3
  231. package/dist/migrate/bin.d.ts.map +0 -1
  232. package/dist/migrate/bin.js +0 -7
  233. package/dist/migrate/bin.js.map +0 -1
  234. package/dist/migrate/builder/columnBuilder.d.ts +0 -79
  235. package/dist/migrate/builder/columnBuilder.d.ts.map +0 -1
  236. package/dist/migrate/builder/columnBuilder.js +0 -159
  237. package/dist/migrate/builder/columnBuilder.js.map +0 -1
  238. package/dist/migrate/builder/expressions.d.ts +0 -87
  239. package/dist/migrate/builder/expressions.d.ts.map +0 -1
  240. package/dist/migrate/builder/expressions.js +0 -150
  241. package/dist/migrate/builder/expressions.js.map +0 -1
  242. package/dist/migrate/builder/index.d.ts +0 -6
  243. package/dist/migrate/builder/index.d.ts.map +0 -1
  244. package/dist/migrate/builder/index.js +0 -6
  245. package/dist/migrate/builder/index.js.map +0 -1
  246. package/dist/migrate/builder/migrationBuilder.d.ts +0 -110
  247. package/dist/migrate/builder/migrationBuilder.d.ts.map +0 -1
  248. package/dist/migrate/builder/migrationBuilder.js +0 -470
  249. package/dist/migrate/builder/migrationBuilder.js.map +0 -1
  250. package/dist/migrate/builder/splitSqlStatements.d.ts +0 -18
  251. package/dist/migrate/builder/splitSqlStatements.d.ts.map +0 -1
  252. package/dist/migrate/builder/splitSqlStatements.js +0 -44
  253. package/dist/migrate/builder/splitSqlStatements.js.map +0 -1
  254. package/dist/migrate/builder/tableBuilder.d.ts +0 -51
  255. package/dist/migrate/builder/tableBuilder.d.ts.map +0 -1
  256. package/dist/migrate/builder/tableBuilder.js +0 -291
  257. package/dist/migrate/builder/tableBuilder.js.map +0 -1
  258. package/dist/migrate/builder/types.d.ts +0 -466
  259. package/dist/migrate/builder/types.d.ts.map +0 -1
  260. package/dist/migrate/builder/types.js +0 -8
  261. package/dist/migrate/builder/types.js.map +0 -1
  262. package/dist/migrate/cli-config.d.ts +0 -3
  263. package/dist/migrate/cli-config.d.ts.map +0 -1
  264. package/dist/migrate/cli-config.js +0 -35
  265. package/dist/migrate/cli-config.js.map +0 -1
  266. package/dist/migrate/cli.d.ts +0 -20
  267. package/dist/migrate/cli.d.ts.map +0 -1
  268. package/dist/migrate/cli.js +0 -398
  269. package/dist/migrate/cli.js.map +0 -1
  270. package/dist/migrate/codegen/entityCodeGenerator.d.ts +0 -137
  271. package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +0 -1
  272. package/dist/migrate/codegen/entityCodeGenerator.js +0 -405
  273. package/dist/migrate/codegen/entityCodeGenerator.js.map +0 -1
  274. package/dist/migrate/codegen/entityMerger.d.ts +0 -115
  275. package/dist/migrate/codegen/entityMerger.d.ts.map +0 -1
  276. package/dist/migrate/codegen/entityMerger.js +0 -294
  277. package/dist/migrate/codegen/entityMerger.js.map +0 -1
  278. package/dist/migrate/codegen/index.d.ts +0 -11
  279. package/dist/migrate/codegen/index.d.ts.map +0 -1
  280. package/dist/migrate/codegen/index.js +0 -15
  281. package/dist/migrate/codegen/index.js.map +0 -1
  282. package/dist/migrate/codegen/migrationCodeGenerator.d.ts +0 -62
  283. package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +0 -1
  284. package/dist/migrate/codegen/migrationCodeGenerator.js +0 -356
  285. package/dist/migrate/codegen/migrationCodeGenerator.js.map +0 -1
  286. package/dist/migrate/codegen/migrationFile.d.ts +0 -29
  287. package/dist/migrate/codegen/migrationFile.d.ts.map +0 -1
  288. package/dist/migrate/codegen/migrationFile.js +0 -48
  289. package/dist/migrate/codegen/migrationFile.js.map +0 -1
  290. package/dist/migrate/codegen/smartRelationDetector.d.ts +0 -48
  291. package/dist/migrate/codegen/smartRelationDetector.d.ts.map +0 -1
  292. package/dist/migrate/codegen/smartRelationDetector.js +0 -135
  293. package/dist/migrate/codegen/smartRelationDetector.js.map +0 -1
  294. package/dist/migrate/drift/driftDetector.d.ts +0 -80
  295. package/dist/migrate/drift/driftDetector.d.ts.map +0 -1
  296. package/dist/migrate/drift/driftDetector.js +0 -247
  297. package/dist/migrate/drift/driftDetector.js.map +0 -1
  298. package/dist/migrate/drift/index.d.ts +0 -7
  299. package/dist/migrate/drift/index.d.ts.map +0 -1
  300. package/dist/migrate/drift/index.js +0 -7
  301. package/dist/migrate/drift/index.js.map +0 -1
  302. package/dist/migrate/generator/index.d.ts +0 -3
  303. package/dist/migrate/generator/index.d.ts.map +0 -1
  304. package/dist/migrate/generator/index.js +0 -3
  305. package/dist/migrate/generator/index.js.map +0 -1
  306. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +0 -48
  307. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +0 -1
  308. package/dist/migrate/generator/mongoSchemaGenerator.js +0 -188
  309. package/dist/migrate/generator/mongoSchemaGenerator.js.map +0 -1
  310. package/dist/migrate/index.d.ts +0 -16
  311. package/dist/migrate/index.d.ts.map +0 -1
  312. package/dist/migrate/index.js +0 -23
  313. package/dist/migrate/index.js.map +0 -1
  314. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +0 -77
  315. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +0 -1
  316. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +0 -156
  317. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +0 -1
  318. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +0 -26
  319. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +0 -1
  320. package/dist/migrate/introspection/baseSqlIntrospector.js +0 -132
  321. package/dist/migrate/introspection/baseSqlIntrospector.js.map +0 -1
  322. package/dist/migrate/introspection/index.d.ts +0 -6
  323. package/dist/migrate/introspection/index.d.ts.map +0 -1
  324. package/dist/migrate/introspection/index.js +0 -6
  325. package/dist/migrate/introspection/index.js.map +0 -1
  326. package/dist/migrate/introspection/mongoIntrospector.d.ts +0 -15
  327. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +0 -1
  328. package/dist/migrate/introspection/mongoIntrospector.js +0 -100
  329. package/dist/migrate/introspection/mongoIntrospector.js.map +0 -1
  330. package/dist/migrate/introspection/mysqlIntrospector.d.ts +0 -59
  331. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +0 -1
  332. package/dist/migrate/introspection/mysqlIntrospector.js +0 -175
  333. package/dist/migrate/introspection/mysqlIntrospector.js.map +0 -1
  334. package/dist/migrate/introspection/postgresIntrospector.d.ts +0 -55
  335. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +0 -1
  336. package/dist/migrate/introspection/postgresIntrospector.js +0 -226
  337. package/dist/migrate/introspection/postgresIntrospector.js.map +0 -1
  338. package/dist/migrate/introspection/sqliteIntrospector.d.ts +0 -60
  339. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +0 -1
  340. package/dist/migrate/introspection/sqliteIntrospector.js +0 -188
  341. package/dist/migrate/introspection/sqliteIntrospector.js.map +0 -1
  342. package/dist/migrate/migrator.d.ts +0 -168
  343. package/dist/migrate/migrator.d.ts.map +0 -1
  344. package/dist/migrate/migrator.js +0 -614
  345. package/dist/migrate/migrator.js.map +0 -1
  346. package/dist/migrate/schemaGenerator.d.ts +0 -142
  347. package/dist/migrate/schemaGenerator.d.ts.map +0 -1
  348. package/dist/migrate/schemaGenerator.js +0 -693
  349. package/dist/migrate/schemaGenerator.js.map +0 -1
  350. package/dist/migrate/schemaGeneratorAsync.d.ts +0 -9
  351. package/dist/migrate/schemaGeneratorAsync.d.ts.map +0 -1
  352. package/dist/migrate/schemaGeneratorAsync.js +0 -13
  353. package/dist/migrate/schemaGeneratorAsync.js.map +0 -1
  354. package/dist/migrate/storage/databaseStorage.d.ts +0 -25
  355. package/dist/migrate/storage/databaseStorage.d.ts.map +0 -1
  356. package/dist/migrate/storage/databaseStorage.js +0 -78
  357. package/dist/migrate/storage/databaseStorage.js.map +0 -1
  358. package/dist/migrate/storage/index.d.ts +0 -3
  359. package/dist/migrate/storage/index.d.ts.map +0 -1
  360. package/dist/migrate/storage/index.js +0 -3
  361. package/dist/migrate/storage/index.js.map +0 -1
  362. package/dist/migrate/storage/jsonStorage.d.ts +0 -16
  363. package/dist/migrate/storage/jsonStorage.d.ts.map +0 -1
  364. package/dist/migrate/storage/jsonStorage.js +0 -43
  365. package/dist/migrate/storage/jsonStorage.js.map +0 -1
  366. package/dist/migrate/sync/index.d.ts +0 -7
  367. package/dist/migrate/sync/index.d.ts.map +0 -1
  368. package/dist/migrate/sync/index.js +0 -7
  369. package/dist/migrate/sync/index.js.map +0 -1
  370. package/dist/migrate/sync/schemaSync.d.ts +0 -132
  371. package/dist/migrate/sync/schemaSync.d.ts.map +0 -1
  372. package/dist/migrate/sync/schemaSync.js +0 -260
  373. package/dist/migrate/sync/schemaSync.js.map +0 -1
  374. package/dist/mongo/index.d.ts +0 -6
  375. package/dist/mongo/index.d.ts.map +0 -1
  376. package/dist/mongo/index.js +0 -6
  377. package/dist/mongo/index.js.map +0 -1
  378. package/dist/mongo/mongoDialect.d.ts +0 -83
  379. package/dist/mongo/mongoDialect.d.ts.map +0 -1
  380. package/dist/mongo/mongoDialect.js +0 -418
  381. package/dist/mongo/mongoDialect.js.map +0 -1
  382. package/dist/mongo/mongodbNativeDialect.d.ts +0 -10
  383. package/dist/mongo/mongodbNativeDialect.d.ts.map +0 -1
  384. package/dist/mongo/mongodbNativeDialect.js +0 -10
  385. package/dist/mongo/mongodbNativeDialect.js.map +0 -1
  386. package/dist/mongo/mongodbQuerier.d.ts +0 -46
  387. package/dist/mongo/mongodbQuerier.d.ts.map +0 -1
  388. package/dist/mongo/mongodbQuerier.js +0 -344
  389. package/dist/mongo/mongodbQuerier.js.map +0 -1
  390. package/dist/mongo/mongodbQuerierPool.d.ts +0 -12
  391. package/dist/mongo/mongodbQuerierPool.d.ts.map +0 -1
  392. package/dist/mongo/mongodbQuerierPool.js +0 -19
  393. package/dist/mongo/mongodbQuerierPool.js.map +0 -1
  394. package/dist/mysql/index.d.ts +0 -5
  395. package/dist/mysql/index.d.ts.map +0 -1
  396. package/dist/mysql/index.js +0 -5
  397. package/dist/mysql/index.js.map +0 -1
  398. package/dist/mysql/mysql2Dialect.d.ts +0 -10
  399. package/dist/mysql/mysql2Dialect.d.ts.map +0 -1
  400. package/dist/mysql/mysql2Dialect.js +0 -10
  401. package/dist/mysql/mysql2Dialect.js.map +0 -1
  402. package/dist/mysql/mysql2Querier.d.ts +0 -12
  403. package/dist/mysql/mysql2Querier.d.ts.map +0 -1
  404. package/dist/mysql/mysql2Querier.js +0 -34
  405. package/dist/mysql/mysql2Querier.js.map +0 -1
  406. package/dist/mysql/mysql2QuerierPool.d.ts +0 -12
  407. package/dist/mysql/mysql2QuerierPool.d.ts.map +0 -1
  408. package/dist/mysql/mysql2QuerierPool.js +0 -18
  409. package/dist/mysql/mysql2QuerierPool.js.map +0 -1
  410. package/dist/mysql/mysqlDialect.d.ts +0 -6
  411. package/dist/mysql/mysqlDialect.d.ts.map +0 -1
  412. package/dist/mysql/mysqlDialect.js +0 -6
  413. package/dist/mysql/mysqlDialect.js.map +0 -1
  414. package/dist/namingStrategy/defaultNamingStrategy.d.ts +0 -10
  415. package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +0 -1
  416. package/dist/namingStrategy/defaultNamingStrategy.js +0 -15
  417. package/dist/namingStrategy/defaultNamingStrategy.js.map +0 -1
  418. package/dist/namingStrategy/index.d.ts +0 -3
  419. package/dist/namingStrategy/index.d.ts.map +0 -1
  420. package/dist/namingStrategy/index.js +0 -3
  421. package/dist/namingStrategy/index.js.map +0 -1
  422. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +0 -9
  423. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +0 -1
  424. package/dist/namingStrategy/snakeCaseNamingStrategy.js +0 -14
  425. package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +0 -1
  426. package/dist/neon/index.d.ts +0 -4
  427. package/dist/neon/index.d.ts.map +0 -1
  428. package/dist/neon/index.js +0 -4
  429. package/dist/neon/index.js.map +0 -1
  430. package/dist/neon/neonDialect.d.ts +0 -11
  431. package/dist/neon/neonDialect.d.ts.map +0 -1
  432. package/dist/neon/neonDialect.js +0 -11
  433. package/dist/neon/neonDialect.js.map +0 -1
  434. package/dist/neon/neonQuerier.d.ts +0 -6
  435. package/dist/neon/neonQuerier.d.ts.map +0 -1
  436. package/dist/neon/neonQuerier.js +0 -4
  437. package/dist/neon/neonQuerier.js.map +0 -1
  438. package/dist/neon/neonQuerierPool.d.ts +0 -11
  439. package/dist/neon/neonQuerierPool.d.ts.map +0 -1
  440. package/dist/neon/neonQuerierPool.js +0 -15
  441. package/dist/neon/neonQuerierPool.js.map +0 -1
  442. package/dist/options.d.ts +0 -5
  443. package/dist/options.d.ts.map +0 -1
  444. package/dist/options.js +0 -14
  445. package/dist/options.js.map +0 -1
  446. package/dist/postgres/abstractPgQuerier.d.ts +0 -24
  447. package/dist/postgres/abstractPgQuerier.d.ts.map +0 -1
  448. package/dist/postgres/abstractPgQuerier.js +0 -33
  449. package/dist/postgres/abstractPgQuerier.js.map +0 -1
  450. package/dist/postgres/abstractPgQuerierPool.d.ts +0 -15
  451. package/dist/postgres/abstractPgQuerierPool.d.ts.map +0 -1
  452. package/dist/postgres/abstractPgQuerierPool.js +0 -10
  453. package/dist/postgres/abstractPgQuerierPool.js.map +0 -1
  454. package/dist/postgres/index.d.ts +0 -6
  455. package/dist/postgres/index.d.ts.map +0 -1
  456. package/dist/postgres/index.js +0 -6
  457. package/dist/postgres/index.js.map +0 -1
  458. package/dist/postgres/pgDialect.d.ts +0 -13
  459. package/dist/postgres/pgDialect.d.ts.map +0 -1
  460. package/dist/postgres/pgDialect.js +0 -14
  461. package/dist/postgres/pgDialect.js.map +0 -1
  462. package/dist/postgres/pgQuerier.d.ts +0 -6
  463. package/dist/postgres/pgQuerier.d.ts.map +0 -1
  464. package/dist/postgres/pgQuerier.js +0 -4
  465. package/dist/postgres/pgQuerier.js.map +0 -1
  466. package/dist/postgres/pgQuerierPool.d.ts +0 -11
  467. package/dist/postgres/pgQuerierPool.d.ts.map +0 -1
  468. package/dist/postgres/pgQuerierPool.js +0 -15
  469. package/dist/postgres/pgQuerierPool.js.map +0 -1
  470. package/dist/postgres/postgresDialect.d.ts +0 -48
  471. package/dist/postgres/postgresDialect.d.ts.map +0 -1
  472. package/dist/postgres/postgresDialect.js +0 -222
  473. package/dist/postgres/postgresDialect.js.map +0 -1
  474. package/dist/postgres/postgresWireDriverCapabilities.d.ts +0 -15
  475. package/dist/postgres/postgresWireDriverCapabilities.d.ts.map +0 -1
  476. package/dist/postgres/postgresWireDriverCapabilities.js +0 -15
  477. package/dist/postgres/postgresWireDriverCapabilities.js.map +0 -1
  478. package/dist/querier/abstractPoolQuerier.d.ts +0 -14
  479. package/dist/querier/abstractPoolQuerier.d.ts.map +0 -1
  480. package/dist/querier/abstractPoolQuerier.js +0 -31
  481. package/dist/querier/abstractPoolQuerier.js.map +0 -1
  482. package/dist/querier/abstractQuerier.d.ts +0 -141
  483. package/dist/querier/abstractQuerier.d.ts.map +0 -1
  484. package/dist/querier/abstractQuerier.js +0 -431
  485. package/dist/querier/abstractQuerier.js.map +0 -1
  486. package/dist/querier/abstractQuerierPool.d.ts +0 -27
  487. package/dist/querier/abstractQuerierPool.d.ts.map +0 -1
  488. package/dist/querier/abstractQuerierPool.js +0 -31
  489. package/dist/querier/abstractQuerierPool.js.map +0 -1
  490. package/dist/querier/abstractSqlQuerier.d.ts +0 -53
  491. package/dist/querier/abstractSqlQuerier.d.ts.map +0 -1
  492. package/dist/querier/abstractSqlQuerier.js +0 -256
  493. package/dist/querier/abstractSqlQuerier.js.map +0 -1
  494. package/dist/querier/decorator/index.d.ts +0 -5
  495. package/dist/querier/decorator/index.d.ts.map +0 -1
  496. package/dist/querier/decorator/index.js +0 -5
  497. package/dist/querier/decorator/index.js.map +0 -1
  498. package/dist/querier/decorator/injectQuerier.d.ts +0 -4
  499. package/dist/querier/decorator/injectQuerier.d.ts.map +0 -1
  500. package/dist/querier/decorator/injectQuerier.js +0 -34
  501. package/dist/querier/decorator/injectQuerier.js.map +0 -1
  502. package/dist/querier/decorator/log.d.ts +0 -7
  503. package/dist/querier/decorator/log.d.ts.map +0 -1
  504. package/dist/querier/decorator/log.js +0 -27
  505. package/dist/querier/decorator/log.js.map +0 -1
  506. package/dist/querier/decorator/serialized.d.ts +0 -7
  507. package/dist/querier/decorator/serialized.d.ts.map +0 -1
  508. package/dist/querier/decorator/serialized.js +0 -14
  509. package/dist/querier/decorator/serialized.js.map +0 -1
  510. package/dist/querier/decorator/transactional.d.ts +0 -7
  511. package/dist/querier/decorator/transactional.d.ts.map +0 -1
  512. package/dist/querier/decorator/transactional.js +0 -49
  513. package/dist/querier/decorator/transactional.js.map +0 -1
  514. package/dist/querier/index.d.ts +0 -5
  515. package/dist/querier/index.d.ts.map +0 -1
  516. package/dist/querier/index.js +0 -5
  517. package/dist/querier/index.js.map +0 -1
  518. package/dist/schema/canonicalType.d.ts +0 -54
  519. package/dist/schema/canonicalType.d.ts.map +0 -1
  520. package/dist/schema/canonicalType.js +0 -571
  521. package/dist/schema/canonicalType.js.map +0 -1
  522. package/dist/schema/index.d.ts +0 -26
  523. package/dist/schema/index.d.ts.map +0 -1
  524. package/dist/schema/index.js +0 -27
  525. package/dist/schema/index.js.map +0 -1
  526. package/dist/schema/schemaAST.d.ts +0 -155
  527. package/dist/schema/schemaAST.d.ts.map +0 -1
  528. package/dist/schema/schemaAST.js +0 -496
  529. package/dist/schema/schemaAST.js.map +0 -1
  530. package/dist/schema/schemaASTBuilder.d.ts +0 -58
  531. package/dist/schema/schemaASTBuilder.d.ts.map +0 -1
  532. package/dist/schema/schemaASTBuilder.js +0 -228
  533. package/dist/schema/schemaASTBuilder.js.map +0 -1
  534. package/dist/schema/schemaASTDiffer.d.ts +0 -84
  535. package/dist/schema/schemaASTDiffer.d.ts.map +0 -1
  536. package/dist/schema/schemaASTDiffer.js +0 -431
  537. package/dist/schema/schemaASTDiffer.js.map +0 -1
  538. package/dist/schema/types.d.ts +0 -348
  539. package/dist/schema/types.d.ts.map +0 -1
  540. package/dist/schema/types.js +0 -11
  541. package/dist/schema/types.js.map +0 -1
  542. package/dist/sqlite/abstractSqliteQuerier.d.ts +0 -4
  543. package/dist/sqlite/abstractSqliteQuerier.d.ts.map +0 -1
  544. package/dist/sqlite/abstractSqliteQuerier.js +0 -4
  545. package/dist/sqlite/abstractSqliteQuerier.js.map +0 -1
  546. package/dist/sqlite/betterSqlite3Dialect.d.ts +0 -10
  547. package/dist/sqlite/betterSqlite3Dialect.d.ts.map +0 -1
  548. package/dist/sqlite/betterSqlite3Dialect.js +0 -10
  549. package/dist/sqlite/betterSqlite3Dialect.js.map +0 -1
  550. package/dist/sqlite/index.d.ts +0 -6
  551. package/dist/sqlite/index.d.ts.map +0 -1
  552. package/dist/sqlite/index.js +0 -6
  553. package/dist/sqlite/index.js.map +0 -1
  554. package/dist/sqlite/sqliteDialect.d.ts +0 -36
  555. package/dist/sqlite/sqliteDialect.d.ts.map +0 -1
  556. package/dist/sqlite/sqliteDialect.js +0 -155
  557. package/dist/sqlite/sqliteDialect.js.map +0 -1
  558. package/dist/sqlite/sqliteQuerier.d.ts +0 -14
  559. package/dist/sqlite/sqliteQuerier.d.ts.map +0 -1
  560. package/dist/sqlite/sqliteQuerier.js +0 -30
  561. package/dist/sqlite/sqliteQuerier.js.map +0 -1
  562. package/dist/sqlite/sqliteQuerierPool.d.ts +0 -14
  563. package/dist/sqlite/sqliteQuerierPool.d.ts.map +0 -1
  564. package/dist/sqlite/sqliteQuerierPool.js +0 -36
  565. package/dist/sqlite/sqliteQuerierPool.js.map +0 -1
  566. package/dist/type/config.d.ts +0 -43
  567. package/dist/type/config.d.ts.map +0 -1
  568. package/dist/type/config.js +0 -2
  569. package/dist/type/config.js.map +0 -1
  570. package/dist/type/entity.d.ts +0 -332
  571. package/dist/type/entity.d.ts.map +0 -1
  572. package/dist/type/entity.js +0 -5
  573. package/dist/type/entity.js.map +0 -1
  574. package/dist/type/index.d.ts +0 -12
  575. package/dist/type/index.d.ts.map +0 -1
  576. package/dist/type/index.js +0 -12
  577. package/dist/type/index.js.map +0 -1
  578. package/dist/type/logger.d.ts +0 -61
  579. package/dist/type/logger.d.ts.map +0 -1
  580. package/dist/type/logger.js +0 -2
  581. package/dist/type/logger.js.map +0 -1
  582. package/dist/type/migration.d.ts +0 -267
  583. package/dist/type/migration.d.ts.map +0 -1
  584. package/dist/type/migration.js +0 -2
  585. package/dist/type/migration.js.map +0 -1
  586. package/dist/type/migratorDialect.d.ts +0 -10
  587. package/dist/type/migratorDialect.d.ts.map +0 -1
  588. package/dist/type/migratorDialect.js +0 -16
  589. package/dist/type/migratorDialect.js.map +0 -1
  590. package/dist/type/namingStrategy.d.ts +0 -18
  591. package/dist/type/namingStrategy.d.ts.map +0 -1
  592. package/dist/type/namingStrategy.js +0 -2
  593. package/dist/type/namingStrategy.js.map +0 -1
  594. package/dist/type/querier.d.ts +0 -167
  595. package/dist/type/querier.d.ts.map +0 -1
  596. package/dist/type/querier.js +0 -11
  597. package/dist/type/querier.js.map +0 -1
  598. package/dist/type/querierPool.d.ts +0 -62
  599. package/dist/type/querierPool.d.ts.map +0 -1
  600. package/dist/type/querierPool.js +0 -2
  601. package/dist/type/querierPool.js.map +0 -1
  602. package/dist/type/query.d.ts +0 -703
  603. package/dist/type/query.d.ts.map +0 -1
  604. package/dist/type/query.js +0 -11
  605. package/dist/type/query.js.map +0 -1
  606. package/dist/type/universalQuerier.d.ts +0 -136
  607. package/dist/type/universalQuerier.d.ts.map +0 -1
  608. package/dist/type/universalQuerier.js +0 -2
  609. package/dist/type/universalQuerier.js.map +0 -1
  610. package/dist/type/utility.d.ts +0 -37
  611. package/dist/type/utility.d.ts.map +0 -1
  612. package/dist/type/utility.js +0 -2
  613. package/dist/type/utility.js.map +0 -1
  614. package/dist/util/ansiSqlLiteral.d.ts +0 -21
  615. package/dist/util/ansiSqlLiteral.d.ts.map +0 -1
  616. package/dist/util/ansiSqlLiteral.js +0 -101
  617. package/dist/util/ansiSqlLiteral.js.map +0 -1
  618. package/dist/util/dialect.util.d.ts +0 -31
  619. package/dist/util/dialect.util.d.ts.map +0 -1
  620. package/dist/util/dialect.util.js +0 -113
  621. package/dist/util/dialect.util.js.map +0 -1
  622. package/dist/util/field.util.d.ts +0 -14
  623. package/dist/util/field.util.d.ts.map +0 -1
  624. package/dist/util/field.util.js +0 -57
  625. package/dist/util/field.util.js.map +0 -1
  626. package/dist/util/hook.util.d.ts +0 -15
  627. package/dist/util/hook.util.d.ts.map +0 -1
  628. package/dist/util/hook.util.js +0 -20
  629. package/dist/util/hook.util.js.map +0 -1
  630. package/dist/util/index.d.ts +0 -10
  631. package/dist/util/index.d.ts.map +0 -1
  632. package/dist/util/index.js +0 -10
  633. package/dist/util/index.js.map +0 -1
  634. package/dist/util/logger.d.ts +0 -34
  635. package/dist/util/logger.d.ts.map +0 -1
  636. package/dist/util/logger.js +0 -129
  637. package/dist/util/logger.js.map +0 -1
  638. package/dist/util/object.util.d.ts +0 -10
  639. package/dist/util/object.util.d.ts.map +0 -1
  640. package/dist/util/object.util.js +0 -29
  641. package/dist/util/object.util.js.map +0 -1
  642. package/dist/util/raw.d.ts +0 -18
  643. package/dist/util/raw.d.ts.map +0 -1
  644. package/dist/util/raw.js +0 -20
  645. package/dist/util/raw.js.map +0 -1
  646. package/dist/util/relationQuery.util.d.ts +0 -25
  647. package/dist/util/relationQuery.util.d.ts.map +0 -1
  648. package/dist/util/relationQuery.util.js +0 -101
  649. package/dist/util/relationQuery.util.js.map +0 -1
  650. package/dist/util/sql.util.d.ts +0 -50
  651. package/dist/util/sql.util.d.ts.map +0 -1
  652. package/dist/util/sql.util.js +0 -141
  653. package/dist/util/sql.util.js.map +0 -1
  654. package/dist/util/string.util.d.ts +0 -29
  655. package/dist/util/string.util.d.ts.map +0 -1
  656. package/dist/util/string.util.js +0 -93
  657. package/dist/util/string.util.js.map +0 -1
@@ -1,431 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { getMeta } from '../entity/decorator/index.js';
3
- import { augmentWhere, clone, filterPersistableRelationKeys, forEachRequestedRelation, getKeys, getRelationRequestSummary, LoggerWrapper, parseRelationAtKey, parseRelationQueryValue, runHooks, } from '../util/index.js';
4
- import { Serialized } from './decorator/index.js';
5
- /**
6
- * Base class for all database queriers.
7
- * It provides a standardized way to execute tasks serially to prevent race conditions on database connections.
8
- */
9
- export class AbstractQuerier {
10
- extra;
11
- static emittedWarnings = new Set();
12
- /** Clears process-wide warning deduplication. For tests only. */
13
- static clearEmittedWarningsForTests() {
14
- AbstractQuerier.emittedWarnings.clear();
15
- }
16
- /**
17
- * Internal promise used to queue database operations.
18
- * This ensures that each operation is executed serially, preventing race conditions
19
- * and ensuring that the database connection is used safely across concurrent calls.
20
- */
21
- taskQueue = Promise.resolve();
22
- logger;
23
- constructor(extra) {
24
- this.extra = extra;
25
- this.logger = new LoggerWrapper(extra?.logger, extra?.slowQuery);
26
- }
27
- validateProjectionQuery(entity, q) {
28
- this.validateProjectionQueryRecursive(entity, q, getMeta(entity).name ?? entity.name);
29
- }
30
- validateProjectionQueryRecursive(entity, q, path) {
31
- const meta = getMeta(entity);
32
- if (q.$select && q.$exclude) {
33
- for (const [key, value] of Object.entries(q.$select)) {
34
- if (key in meta.fields && value) {
35
- throw new TypeError(`Cannot combine $select and $exclude when $select includes positive scalar fields (${key}) at ${path}. Use either $select (whitelist) or $exclude (subtractive) in a single query.`);
36
- }
37
- }
38
- }
39
- forEachRequestedRelation(meta, q.$populate, (relKey, relValue) => {
40
- const relOpts = meta.relations[relKey];
41
- if (!relOpts?.entity)
42
- return;
43
- const relEntity = relOpts.entity();
44
- const parsed = parseRelationQueryValue(relValue);
45
- if (parsed.nested) {
46
- this.validateProjectionQueryRecursive(relEntity, parsed.query, `${path}.${relKey}`);
47
- }
48
- });
49
- }
50
- /**
51
- * Resolves entity from either a separate argument or from $entity field in query.
52
- * @param entityOrQuery - Entity class or query object with $entity
53
- * @param maybeQuery - Query object if entity was passed separately
54
- * @returns Tuple of [entity, query]
55
- */
56
- resolveEntityAndQuery(entityOrQuery, maybeQuery) {
57
- // Check if first argument is a class (function with prototype)
58
- if (typeof entityOrQuery === 'function' && entityOrQuery.prototype) {
59
- return [entityOrQuery, maybeQuery ?? {}];
60
- }
61
- // Otherwise it's a query object with $entity
62
- const q = entityOrQuery;
63
- if (!q.$entity) {
64
- throw new TypeError('$entity is required when using query-object syntax');
65
- }
66
- const { $entity, ...query } = q;
67
- return [$entity, query];
68
- }
69
- findOneById(entity, id, q = {}) {
70
- const meta = getMeta(entity);
71
- q.$where = augmentWhere(meta, q.$where, id);
72
- return this.findOne(entity, q);
73
- }
74
- async findOne(entityOrQuery, maybeQuery) {
75
- const [entity, q] = this.resolveEntityAndQuery(entityOrQuery, maybeQuery);
76
- const rows = await this.findMany(entity, { ...q, $limit: 1 });
77
- return rows[0];
78
- }
79
- async findMany(entityOrQuery, maybeQuery) {
80
- const [entity, q] = this.resolveEntityAndQuery(entityOrQuery, maybeQuery);
81
- this.validateProjectionQuery(entity, q);
82
- const founds = await this.internalFindMany(entity, q);
83
- await this.emitHook(entity, 'afterLoad', founds);
84
- return founds;
85
- }
86
- findManyStream(entityOrQuery, maybeQuery) {
87
- const [entity, q] = this.resolveEntityAndQuery(entityOrQuery, maybeQuery);
88
- this.validateProjectionQuery(entity, q);
89
- return this.internalFindManyStream(entity, q);
90
- }
91
- async findManyAndCount(entityOrQuery, maybeQuery) {
92
- const [entity, q] = this.resolveEntityAndQuery(entityOrQuery, maybeQuery);
93
- this.validateProjectionQuery(entity, q);
94
- const { $sort: _, $limit: _l, $skip: _s, ...qCount } = q;
95
- const [founds, count] = await Promise.all([this.internalFindMany(entity, q), this.internalCount(entity, qCount)]);
96
- await this.emitHook(entity, 'afterLoad', founds);
97
- return [founds, count];
98
- }
99
- count(entityOrQuery, maybeQuery) {
100
- const [entity, q] = this.resolveEntityAndQuery(entityOrQuery, maybeQuery);
101
- return this.internalCount(entity, q);
102
- }
103
- /**
104
- * Run an aggregate query.
105
- */
106
- aggregate(entity, q) {
107
- return this.internalAggregate(entity, q);
108
- }
109
- async insertOne(entity, payload) {
110
- const [id] = await this.insertMany(entity, [payload]);
111
- return id;
112
- }
113
- async insertMany(entity, payload) {
114
- await this.emitHook(entity, 'beforeInsert', payload);
115
- const ids = await this.internalInsertMany(entity, payload);
116
- await this.emitHook(entity, 'afterInsert', payload);
117
- return ids;
118
- }
119
- updateOneById(entity, id, payload) {
120
- return this.updateMany(entity, { $where: id }, payload);
121
- }
122
- async updateMany(entity, q, payload) {
123
- await this.emitHook(entity, 'beforeUpdate', [payload]);
124
- const changes = await this.internalUpdateMany(entity, q, payload);
125
- await this.emitHook(entity, 'afterUpdate', [payload]);
126
- return changes;
127
- }
128
- deleteOneById(entity, id, opts) {
129
- return this.deleteMany(entity, { $where: id }, opts);
130
- }
131
- async deleteMany(entityOrQuery, qOrOpts, maybeOpts) {
132
- let entity;
133
- let q;
134
- let opts;
135
- if (typeof entityOrQuery === 'function' && entityOrQuery.prototype) {
136
- entity = entityOrQuery;
137
- q = qOrOpts;
138
- opts = maybeOpts;
139
- }
140
- else {
141
- const { $entity, ...rest } = entityOrQuery;
142
- entity = $entity;
143
- q = rest;
144
- opts = qOrOpts;
145
- }
146
- await this.emitHook(entity, 'beforeDelete', []);
147
- const changes = await this.internalDeleteMany(entity, q, opts);
148
- await this.emitHook(entity, 'afterDelete', []);
149
- return changes;
150
- }
151
- async saveOne(entity, payload) {
152
- const [id] = await this.saveMany(entity, [payload]);
153
- return id;
154
- }
155
- async saveMany(entity, payload) {
156
- const meta = getMeta(entity);
157
- const toInsert = [];
158
- const toUpdate = [];
159
- const existingIds = [];
160
- const idKey = (meta.id ?? 'id');
161
- for (const it of payload) {
162
- const id = it[idKey];
163
- if (!id) {
164
- toInsert.push(it);
165
- }
166
- else if (Object.keys(it).length === 1) {
167
- existingIds.push(id);
168
- }
169
- else {
170
- toUpdate.push(it);
171
- }
172
- }
173
- const [insertedIds, updatedIds] = await Promise.all([
174
- toInsert.length ? this.insertMany(entity, toInsert) : [],
175
- Promise.all(toUpdate.map(async (it) => {
176
- const id = it[idKey];
177
- const data = { ...it };
178
- delete data[idKey];
179
- await this.updateOneById(entity, id, data);
180
- return id;
181
- })),
182
- ]);
183
- return [...existingIds, ...insertedIds, ...updatedIds];
184
- }
185
- async fillToManyRelations(entity, payload, populate) {
186
- if (!payload.length) {
187
- return;
188
- }
189
- const meta = getMeta(entity);
190
- const relKeys = getRelationRequestSummary(meta, populate).toManyKeys;
191
- for (const relKey of relKeys) {
192
- const relOpts = meta.relations[relKey];
193
- if (!relOpts)
194
- continue;
195
- const relEntity = relOpts.entity();
196
- const relationQuery = clone(parseRelationAtKey(relKey, populate).query);
197
- if (relOpts.through) {
198
- await this.fillToManyThroughRelation(payload, meta, relKey, relOpts, relationQuery);
199
- }
200
- else if (relOpts.cardinality === '1m') {
201
- await this.fillToManyOneToMany(payload, meta, relKey, relOpts, relationQuery, relEntity);
202
- }
203
- }
204
- }
205
- async fillToManyThroughRelation(payload, meta, relKey, relOpts, relationQuery) {
206
- const localField = relOpts.references[0].local;
207
- const throughEntity = relOpts.through();
208
- const throughMeta = getMeta(throughEntity);
209
- const targetRelKey = getKeys(throughMeta.relations).find((key) => throughMeta.relations[key].references.some(({ local }) => local === relOpts.references[1].local));
210
- const ids = payload.map((it) => it[meta.id]);
211
- const throughFounds = await this.findMany(throughEntity, {
212
- ...relationQuery,
213
- $select: {
214
- [localField]: true,
215
- },
216
- $populate: {
217
- [targetRelKey]: {
218
- ...relationQuery,
219
- $required: true,
220
- },
221
- },
222
- $where: {
223
- ...relationQuery.$where,
224
- [localField]: ids,
225
- },
226
- });
227
- const founds = throughFounds.map((it) => ({
228
- ...it[targetRelKey],
229
- [localField]: it[localField],
230
- }));
231
- this.putChildrenInParents(payload, founds, meta.id, localField, relKey);
232
- }
233
- async fillToManyOneToMany(payload, meta, relKey, relOpts, relationQuery, relEntity) {
234
- const foreignField = relOpts.references[0].foreign;
235
- if (relationQuery.$select) {
236
- if (!relationQuery.$select[foreignField]) {
237
- relationQuery.$select[foreignField] = true;
238
- }
239
- }
240
- const ids = payload.map((it) => it[meta.id]);
241
- relationQuery.$where = { ...relationQuery.$where, [foreignField]: ids };
242
- const founds = await this.findMany(relEntity, relationQuery);
243
- this.putChildrenInParents(payload, founds, meta.id, foreignField, relKey);
244
- }
245
- putChildrenInParents(parents, children, parentIdKey, referenceKey, relKey) {
246
- const childrenByParentId = {};
247
- for (const child of children) {
248
- const parentId = String(child[referenceKey]);
249
- if (!childrenByParentId[parentId])
250
- childrenByParentId[parentId] = [];
251
- childrenByParentId[parentId].push(child);
252
- }
253
- for (const parent of parents) {
254
- parent[relKey] = childrenByParentId[String(parent[parentIdKey])];
255
- }
256
- }
257
- async insertRelations(entity, payload) {
258
- const meta = getMeta(entity);
259
- const entries = payload.reduce((acc, it) => {
260
- const relKeys = filterPersistableRelationKeys(meta, it, 'persist');
261
- if (relKeys.length > 0)
262
- acc.push({ it, relKeys });
263
- return acc;
264
- }, []);
265
- if (!entries.length)
266
- return;
267
- await Promise.all(entries.map(({ it, relKeys }) => Promise.all(relKeys.map((relKey) => this.saveRelation(entity, it, relKey)))));
268
- }
269
- async updateRelations(entity, q, payload) {
270
- const meta = getMeta(entity);
271
- const relKeys = filterPersistableRelationKeys(meta, payload, 'persist');
272
- if (!relKeys.length) {
273
- return;
274
- }
275
- const founds = await this.findMany(entity, { ...q, $select: { [meta.id]: true } });
276
- const ids = founds.map((found) => found[meta.id]);
277
- await Promise.all(ids.map((id) => Promise.all(relKeys.map((relKey) => this.saveRelation(entity, { ...payload, [meta.id]: id }, relKey, true)))));
278
- }
279
- async deleteRelations(entity, ids, opts) {
280
- const meta = getMeta(entity);
281
- const relKeys = filterPersistableRelationKeys(meta, meta.relations, 'delete');
282
- for (const relKey of relKeys) {
283
- const relOpts = meta.relations[relKey];
284
- if (!relOpts)
285
- continue;
286
- const relEntity = relOpts.entity();
287
- const localField = relOpts.references[0].local;
288
- if (relOpts.through) {
289
- const throughEntity = relOpts.through();
290
- await this.deleteMany(throughEntity, { $where: { [localField]: ids } }, opts);
291
- }
292
- else {
293
- const foreignField = relOpts.references[0].foreign;
294
- await this.deleteMany(relEntity, { $where: { [foreignField]: ids } }, opts);
295
- }
296
- }
297
- }
298
- async saveRelation(entity, payload, relKey, isUpdate) {
299
- const meta = getMeta(entity);
300
- const id = payload[meta.id];
301
- const relOpts = meta.relations[relKey];
302
- if (!relOpts)
303
- return;
304
- const relEntity = relOpts.entity();
305
- const relPayload = payload[relKey];
306
- switch (relOpts.cardinality) {
307
- case '1m':
308
- case 'mm':
309
- return this.saveToMany(relOpts, relEntity, id, relPayload, isUpdate);
310
- case '11':
311
- return this.saveOneToOne(relEntity, relOpts, id, relPayload);
312
- case 'm1':
313
- if (relPayload)
314
- return this.saveManyToOne(entity, relEntity, relOpts, id, relPayload);
315
- }
316
- }
317
- async saveToMany(relOpts, relEntity, id, relPayload, isUpdate) {
318
- const { references, through } = relOpts;
319
- if (through) {
320
- const localField = references[0].local;
321
- const throughEntity = through();
322
- if (isUpdate) {
323
- await this.deleteMany(throughEntity, { $where: { [localField]: id } });
324
- }
325
- if (relPayload) {
326
- const savedIds = await this.saveMany(relEntity, relPayload);
327
- const throughBodies = savedIds.map((relId) => ({
328
- [references[0].local]: id,
329
- [references[1].local]: relId,
330
- }));
331
- await this.insertMany(throughEntity, throughBodies);
332
- }
333
- return;
334
- }
335
- const foreignField = references[0].foreign;
336
- if (isUpdate) {
337
- await this.deleteMany(relEntity, { $where: { [foreignField]: id } });
338
- }
339
- if (relPayload) {
340
- for (const it of relPayload) {
341
- it[foreignField] = id;
342
- }
343
- await this.saveMany(relEntity, relPayload);
344
- }
345
- }
346
- async saveOneToOne(relEntity, relOpts, id, relPayload) {
347
- const foreignField = relOpts.references[0].foreign;
348
- if (relPayload === null) {
349
- await this.deleteMany(relEntity, { $where: { [foreignField]: id } });
350
- return;
351
- }
352
- await this.saveOne(relEntity, { ...relPayload, [foreignField]: id });
353
- }
354
- async saveManyToOne(entity, relEntity, relOpts, id, relPayload) {
355
- const localField = relOpts.references[0].local;
356
- const referenceId = await this.insertOne(relEntity, relPayload);
357
- await this.updateOneById(entity, id, { [localField]: referenceId });
358
- }
359
- async transaction(callback, opts) {
360
- if (this.hasOpenTransaction) {
361
- return callback();
362
- }
363
- try {
364
- await this.beginTransaction(opts);
365
- const res = await callback();
366
- await this.commitTransaction();
367
- return res;
368
- }
369
- catch (err) {
370
- await this.rollbackTransaction();
371
- throw err;
372
- }
373
- finally {
374
- await this.release();
375
- }
376
- }
377
- /**
378
- * Emit a lifecycle hook event for the given entity.
379
- * Fires global listeners first, then entity-level hooks.
380
- */
381
- async emitHook(entity, event, payloads) {
382
- const listeners = this.extra?.listeners;
383
- const meta = getMeta(entity);
384
- const registrations = meta.hooks?.[event];
385
- // Fast bail-out: skip if no listeners and no entity hooks
386
- if (!listeners?.length && !registrations?.length)
387
- return;
388
- // Fire global listeners first
389
- if (listeners?.length) {
390
- for (const listener of listeners) {
391
- const fn = listener[event];
392
- if (fn) {
393
- const result = fn({ entity, querier: this, payloads, event });
394
- if (result instanceof Promise)
395
- await result;
396
- }
397
- }
398
- }
399
- // Fire entity-level hooks
400
- if (registrations?.length) {
401
- await runHooks(entity, event, payloads, { querier: this });
402
- }
403
- }
404
- async releaseIfFree() {
405
- if (!this.hasOpenTransaction) {
406
- await this.internalRelease();
407
- }
408
- }
409
- /**
410
- * Schedules a task to be executed serially in the querier instance.
411
- * This is used by the @Serialized decorator to protect database-level operations.
412
- *
413
- * @param task - The async task to execute.
414
- * @returns A promise that resolves with the task's result.
415
- */
416
- async serialize(task) {
417
- const res = this.taskQueue.then(task);
418
- this.taskQueue = res.catch(() => { });
419
- return res;
420
- }
421
- async release() {
422
- return this.internalRelease();
423
- }
424
- }
425
- __decorate([
426
- Serialized(),
427
- __metadata("design:type", Function),
428
- __metadata("design:paramtypes", []),
429
- __metadata("design:returntype", Promise)
430
- ], AbstractQuerier.prototype, "release", null);
431
- //# sourceMappingURL=abstractQuerier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstractQuerier.js","sourceRoot":"","sources":["../../src/querier/abstractQuerier.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { AbstractDialect } from '../dialect/index.js';
2
- import type { ExtraOptions, Querier, QuerierPool, TransactionOptions } from '../type/index.js';
3
- /**
4
- * Base pool: dialect id and behavior come only from the `dialect` instance (see {@link QuerierPool}).
5
- */
6
- export declare abstract class AbstractQuerierPool<D extends AbstractDialect, Q extends Querier> implements QuerierPool<Q, D> {
7
- readonly dialect: D;
8
- readonly extra?: ExtraOptions | undefined;
9
- constructor(dialect: D, extra?: ExtraOptions | undefined);
10
- /**
11
- * get a querier from the pool.
12
- */
13
- abstract getQuerier(): Promise<Q>;
14
- /**
15
- * get a querier from the pool and run the given callback inside a transaction.
16
- */
17
- transaction<T>(callback: (querier: Q) => Promise<T>, opts?: TransactionOptions): Promise<T>;
18
- /**
19
- * get a querier from the pool, run the given callback, and release the querier.
20
- */
21
- withQuerier<T>(callback: (querier: Q) => Promise<T>): Promise<T>;
22
- /**
23
- * end the pool.
24
- */
25
- abstract end(): Promise<void>;
26
- }
27
- //# sourceMappingURL=abstractQuerierPool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstractQuerierPool.d.ts","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/F;;GAEG;AACH,8BAAsB,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAE,YAAW,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhH,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY;gBADpB,OAAO,EAAE,CAAC,EACV,KAAK,CAAC,EAAE,YAAY,YAAA;IAG/B;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;IAEjC;;OAEG;IACG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKjG;;OAEG;IACG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAStE;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAC9B"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Base pool: dialect id and behavior come only from the `dialect` instance (see {@link QuerierPool}).
3
- */
4
- export class AbstractQuerierPool {
5
- dialect;
6
- extra;
7
- constructor(dialect, extra) {
8
- this.dialect = dialect;
9
- this.extra = extra;
10
- }
11
- /**
12
- * get a querier from the pool and run the given callback inside a transaction.
13
- */
14
- async transaction(callback, opts) {
15
- const querier = await this.getQuerier();
16
- return querier.transaction(() => callback(querier), opts);
17
- }
18
- /**
19
- * get a querier from the pool, run the given callback, and release the querier.
20
- */
21
- async withQuerier(callback) {
22
- const querier = await this.getQuerier();
23
- try {
24
- return await callback(querier);
25
- }
26
- finally {
27
- await querier.release();
28
- }
29
- }
30
- }
31
- //# sourceMappingURL=abstractQuerierPool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstractQuerierPool.js","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAgB,mBAAmB;IAE5B;IACA;IAFX,YACW,OAAU,EACV,KAAoB;QADpB,YAAO,GAAP,OAAO,CAAG;QACV,UAAK,GAAL,KAAK,CAAe;IAC5B,CAAC;IAOJ;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,QAAoC,EAAE,IAAyB;QAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,QAAoC;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;CAMF"}
@@ -1,53 +0,0 @@
1
- import type { AbstractSqlDialect } from '../dialect/index.js';
2
- import type { ExtraOptions, IdValue, Query, QueryAggregate, QueryAggregateResult, QueryConflictPaths, QueryOptions, QuerySearch, QueryUpdateResult, SqlQuerier, TransactionOptions, Type, UpdatePayload } from '../type/index.js';
3
- import type { BuildUpdateResultPayload } from '../util/sql.util.js';
4
- import { AbstractQuerier } from './abstractQuerier.js';
5
- export declare abstract class AbstractSqlQuerier extends AbstractQuerier implements SqlQuerier {
6
- readonly dialect: AbstractSqlDialect;
7
- readonly extra?: ExtraOptions | undefined;
8
- private hasPendingTransaction?;
9
- constructor(dialect: AbstractSqlDialect, extra?: ExtraOptions | undefined);
10
- /**
11
- * internal read query.
12
- */
13
- protected abstract internalAll<T>(query: string, values?: unknown[]): Promise<T[]>;
14
- /**
15
- * internal insert/update/delete/ddl query.
16
- */
17
- protected abstract internalRun(query: string, values?: unknown[]): Promise<QueryUpdateResult>;
18
- /**
19
- * Build a QueryUpdateResult with affected changes and calculated IDs.
20
- */
21
- protected buildUpdateResult(payload: BuildUpdateResultPayload): QueryUpdateResult;
22
- /**
23
- * Hook for subclasses (e.g. pool queriers) to establish a connection.
24
- * Called before every query but outside the `@Log()` timer.
25
- */
26
- protected lazyConnect(): Promise<void>;
27
- all<T>(query: string, values?: unknown[]): Promise<T[]>;
28
- private timedAll;
29
- run(query: string, values?: unknown[]): Promise<QueryUpdateResult>;
30
- private timedRun;
31
- protected internalFindMany<E extends object>(entity: Type<E>, q: Query<E>): Promise<E[]>;
32
- protected internalFindManyStream<E extends object>(entity: Type<E>, q: Query<E>): AsyncGenerator<Awaited<E>, void, unknown>;
33
- /**
34
- * Internal streaming query — returns an async iterable of raw rows.
35
- * Default implementation falls back to `internalAll()` then yields each row.
36
- * Drivers with native cursor/streaming APIs (SQLite, Pg) should override this.
37
- */
38
- protected internalStream<T>(query: string, values?: unknown[]): AsyncIterable<T>;
39
- private hydrateJsonFields;
40
- private hydrateJsonFieldsRecursive;
41
- protected internalCount<E extends object>(entity: Type<E>, q?: QuerySearch<E>): Promise<number>;
42
- protected internalAggregate<E extends object, Q extends QueryAggregate<E>>(entity: Type<E>, q: Q): Promise<QueryAggregateResult<E, Q['$group']>[]>;
43
- internalInsertMany<E extends object>(entity: Type<E>, payload: E[]): Promise<IdValue<E>[]>;
44
- internalUpdateMany<E extends object>(entity: Type<E>, q: QuerySearch<E>, payload: UpdatePayload<E>): Promise<number>;
45
- upsertOne<E extends object>(entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E): Promise<QueryUpdateResult>;
46
- upsertMany<E extends object>(entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E[]): Promise<QueryUpdateResult>;
47
- protected internalDeleteMany<E extends object>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): Promise<number>;
48
- get hasOpenTransaction(): boolean;
49
- beginTransaction(opts?: TransactionOptions): Promise<void>;
50
- commitTransaction(): Promise<void>;
51
- rollbackTransaction(): Promise<void>;
52
- }
53
- //# sourceMappingURL=abstractSqlQuerier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstractSqlQuerier.d.ts","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerier.ts"],"names":[],"mappings":"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"}