@uql/core 3.1.1 → 3.1.3

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 (599) hide show
  1. package/CHANGELOG.md +136 -185
  2. package/{dist/README.md → README.md} +22 -27
  3. package/dist/browser/cc-BEf4wTUm.js +535 -0
  4. package/dist/browser/cc-BEf4wTUm.js.map +1 -0
  5. package/dist/browser/http/bus.d.ts +1 -0
  6. package/dist/browser/http/bus.d.ts.map +1 -0
  7. package/dist/browser/http/bus.js +1 -1
  8. package/dist/browser/http/bus.js.map +1 -0
  9. package/dist/browser/http/http.d.ts +1 -0
  10. package/dist/browser/http/http.d.ts.map +1 -0
  11. package/dist/browser/http/http.js +1 -1
  12. package/dist/browser/http/http.js.map +1 -0
  13. package/dist/browser/http/index.d.ts +1 -0
  14. package/dist/browser/http/index.d.ts.map +1 -0
  15. package/dist/browser/http/index.js +1 -1
  16. package/dist/browser/http/index.js.map +1 -0
  17. package/dist/browser/index.d.ts +1 -0
  18. package/dist/browser/index.d.ts.map +1 -0
  19. package/dist/browser/index.js +1 -1
  20. package/dist/browser/index.js.map +1 -0
  21. package/dist/browser/options.d.ts +1 -0
  22. package/dist/browser/options.d.ts.map +1 -0
  23. package/dist/browser/options.js +1 -1
  24. package/dist/browser/options.js.map +1 -0
  25. package/dist/browser/querier/genericClientRepository.d.ts +1 -0
  26. package/dist/browser/querier/genericClientRepository.d.ts.map +1 -0
  27. package/dist/browser/querier/genericClientRepository.js +1 -1
  28. package/dist/browser/querier/genericClientRepository.js.map +1 -0
  29. package/dist/browser/querier/httpQuerier.d.ts +1 -0
  30. package/dist/browser/querier/httpQuerier.d.ts.map +1 -0
  31. package/dist/browser/querier/httpQuerier.js +1 -1
  32. package/dist/browser/querier/httpQuerier.js.map +1 -0
  33. package/dist/browser/querier/index.d.ts +1 -0
  34. package/dist/browser/querier/index.d.ts.map +1 -0
  35. package/dist/browser/querier/index.js +1 -1
  36. package/dist/browser/querier/index.js.map +1 -0
  37. package/dist/browser/querier/querier.util.d.ts +1 -0
  38. package/dist/browser/querier/querier.util.d.ts.map +1 -0
  39. package/dist/browser/querier/querier.util.js +1 -1
  40. package/dist/browser/querier/querier.util.js.map +1 -0
  41. package/dist/browser/type/clientQuerier.d.ts +1 -0
  42. package/dist/browser/type/clientQuerier.d.ts.map +1 -0
  43. package/dist/browser/type/clientQuerier.js +1 -1
  44. package/dist/browser/type/clientQuerier.js.map +1 -0
  45. package/dist/browser/type/clientQuerierPool.d.ts +1 -0
  46. package/dist/browser/type/clientQuerierPool.d.ts.map +1 -0
  47. package/dist/browser/type/clientQuerierPool.js +1 -1
  48. package/dist/browser/type/clientQuerierPool.js.map +1 -0
  49. package/dist/browser/type/clientRepository.d.ts +1 -0
  50. package/dist/browser/type/clientRepository.d.ts.map +1 -0
  51. package/dist/browser/type/clientRepository.js +1 -1
  52. package/dist/browser/type/clientRepository.js.map +1 -0
  53. package/dist/browser/type/index.d.ts +1 -0
  54. package/dist/browser/type/index.d.ts.map +1 -0
  55. package/dist/browser/type/index.js +1 -1
  56. package/dist/browser/type/index.js.map +1 -0
  57. package/dist/browser/type/request.d.ts +1 -0
  58. package/dist/browser/type/request.d.ts.map +1 -0
  59. package/dist/browser/type/request.js +1 -1
  60. package/dist/browser/type/request.js.map +1 -0
  61. package/dist/dialect/abstractDialect.d.ts +1 -0
  62. package/dist/dialect/abstractDialect.d.ts.map +1 -0
  63. package/dist/dialect/abstractDialect.js +1 -1
  64. package/dist/dialect/abstractDialect.js.map +1 -0
  65. package/dist/dialect/abstractSqlDialect.d.ts +1 -0
  66. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -0
  67. package/dist/dialect/abstractSqlDialect.js +1 -1
  68. package/dist/dialect/abstractSqlDialect.js.map +1 -0
  69. package/dist/dialect/index.d.ts +1 -0
  70. package/dist/dialect/index.d.ts.map +1 -0
  71. package/dist/dialect/index.js +1 -1
  72. package/dist/dialect/index.js.map +1 -0
  73. package/dist/dialect/queryContext.d.ts +1 -0
  74. package/dist/dialect/queryContext.d.ts.map +1 -0
  75. package/dist/dialect/queryContext.js +1 -1
  76. package/dist/dialect/queryContext.js.map +1 -0
  77. package/dist/entity/decorator/definition.d.ts +1 -0
  78. package/dist/entity/decorator/definition.d.ts.map +1 -0
  79. package/dist/entity/decorator/definition.js +1 -2
  80. package/dist/entity/decorator/definition.js.map +1 -0
  81. package/dist/entity/decorator/entity.d.ts +1 -0
  82. package/dist/entity/decorator/entity.d.ts.map +1 -0
  83. package/dist/entity/decorator/entity.js +1 -1
  84. package/dist/entity/decorator/entity.js.map +1 -0
  85. package/dist/entity/decorator/field.d.ts +1 -0
  86. package/dist/entity/decorator/field.d.ts.map +1 -0
  87. package/dist/entity/decorator/field.js +1 -1
  88. package/dist/entity/decorator/field.js.map +1 -0
  89. package/dist/entity/decorator/id.d.ts +1 -0
  90. package/dist/entity/decorator/id.d.ts.map +1 -0
  91. package/dist/entity/decorator/id.js +1 -1
  92. package/dist/entity/decorator/id.js.map +1 -0
  93. package/dist/entity/decorator/index.d.ts +1 -0
  94. package/dist/entity/decorator/index.d.ts.map +1 -0
  95. package/dist/entity/decorator/index.js +1 -1
  96. package/dist/entity/decorator/index.js.map +1 -0
  97. package/dist/entity/decorator/relation.d.ts +1 -0
  98. package/dist/entity/decorator/relation.d.ts.map +1 -0
  99. package/dist/entity/decorator/relation.js +1 -1
  100. package/dist/entity/decorator/relation.js.map +1 -0
  101. package/dist/entity/index.d.ts +1 -0
  102. package/dist/entity/index.d.ts.map +1 -0
  103. package/dist/entity/index.js +1 -1
  104. package/dist/entity/index.js.map +1 -0
  105. package/dist/express/index.d.ts +1 -0
  106. package/dist/express/index.d.ts.map +1 -0
  107. package/dist/express/index.js +1 -1
  108. package/dist/express/index.js.map +1 -0
  109. package/dist/express/querierMiddleware.d.ts +1 -0
  110. package/dist/express/querierMiddleware.d.ts.map +1 -0
  111. package/dist/express/querierMiddleware.js +1 -1
  112. package/dist/express/querierMiddleware.js.map +1 -0
  113. package/dist/express/query.util.d.ts +1 -0
  114. package/dist/express/query.util.d.ts.map +1 -0
  115. package/dist/express/query.util.js +1 -1
  116. package/dist/express/query.util.js.map +1 -0
  117. package/dist/index.d.ts +1 -1
  118. package/dist/index.d.ts.map +1 -0
  119. package/dist/index.js +1 -2
  120. package/dist/index.js.map +1 -0
  121. package/dist/maria/index.d.ts +1 -0
  122. package/dist/maria/index.d.ts.map +1 -0
  123. package/dist/maria/index.js +1 -1
  124. package/dist/maria/index.js.map +1 -0
  125. package/dist/maria/mariaDialect.d.ts +1 -0
  126. package/dist/maria/mariaDialect.d.ts.map +1 -0
  127. package/dist/maria/mariaDialect.js +1 -1
  128. package/dist/maria/mariaDialect.js.map +1 -0
  129. package/dist/maria/mariadbQuerier.d.ts +1 -0
  130. package/dist/maria/mariadbQuerier.d.ts.map +1 -0
  131. package/dist/maria/mariadbQuerier.js +1 -1
  132. package/dist/maria/mariadbQuerier.js.map +1 -0
  133. package/dist/maria/mariadbQuerierPool.d.ts +1 -0
  134. package/dist/maria/mariadbQuerierPool.d.ts.map +1 -0
  135. package/dist/maria/mariadbQuerierPool.js +1 -1
  136. package/dist/maria/mariadbQuerierPool.js.map +1 -0
  137. package/dist/migrate/cli.d.ts +1 -0
  138. package/dist/migrate/cli.d.ts.map +1 -0
  139. package/dist/migrate/cli.js +3 -3
  140. package/dist/migrate/cli.js.map +1 -0
  141. package/dist/migrate/generator/index.d.ts +1 -0
  142. package/dist/migrate/generator/index.d.ts.map +1 -0
  143. package/dist/migrate/generator/index.js +1 -1
  144. package/dist/migrate/generator/index.js.map +1 -0
  145. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +1 -0
  146. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -0
  147. package/dist/migrate/generator/mongoSchemaGenerator.js +1 -1
  148. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -0
  149. package/dist/migrate/generator/mysqlSchemaGenerator.d.ts +1 -0
  150. package/dist/migrate/generator/mysqlSchemaGenerator.d.ts.map +1 -0
  151. package/dist/migrate/generator/mysqlSchemaGenerator.js +1 -1
  152. package/dist/migrate/generator/mysqlSchemaGenerator.js.map +1 -0
  153. package/dist/migrate/generator/postgresSchemaGenerator.d.ts +1 -0
  154. package/dist/migrate/generator/postgresSchemaGenerator.d.ts.map +1 -0
  155. package/dist/migrate/generator/postgresSchemaGenerator.js +1 -1
  156. package/dist/migrate/generator/postgresSchemaGenerator.js.map +1 -0
  157. package/dist/migrate/generator/sqliteSchemaGenerator.d.ts +1 -0
  158. package/dist/migrate/generator/sqliteSchemaGenerator.d.ts.map +1 -0
  159. package/dist/migrate/generator/sqliteSchemaGenerator.js +1 -1
  160. package/dist/migrate/generator/sqliteSchemaGenerator.js.map +1 -0
  161. package/dist/migrate/index.d.ts +1 -0
  162. package/dist/migrate/index.d.ts.map +1 -0
  163. package/dist/migrate/index.js +1 -1
  164. package/dist/migrate/index.js.map +1 -0
  165. package/dist/migrate/introspection/index.d.ts +1 -0
  166. package/dist/migrate/introspection/index.d.ts.map +1 -0
  167. package/dist/migrate/introspection/index.js +1 -1
  168. package/dist/migrate/introspection/index.js.map +1 -0
  169. package/dist/migrate/introspection/mongoIntrospector.d.ts +1 -0
  170. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -0
  171. package/dist/migrate/introspection/mongoIntrospector.js +1 -1
  172. package/dist/migrate/introspection/mongoIntrospector.js.map +1 -0
  173. package/dist/migrate/introspection/mysqlIntrospector.d.ts +1 -0
  174. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -0
  175. package/dist/migrate/introspection/mysqlIntrospector.js +1 -1
  176. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -0
  177. package/dist/migrate/introspection/postgresIntrospector.d.ts +1 -0
  178. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -0
  179. package/dist/migrate/introspection/postgresIntrospector.js +1 -1
  180. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -0
  181. package/dist/migrate/introspection/sqliteIntrospector.d.ts +1 -0
  182. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -0
  183. package/dist/migrate/introspection/sqliteIntrospector.js +1 -1
  184. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -0
  185. package/dist/migrate/migrator.d.ts +1 -0
  186. package/dist/migrate/migrator.d.ts.map +1 -0
  187. package/dist/migrate/migrator.js +1 -1
  188. package/dist/migrate/migrator.js.map +1 -0
  189. package/dist/migrate/schemaGenerator.d.ts +1 -0
  190. package/dist/migrate/schemaGenerator.d.ts.map +1 -0
  191. package/dist/migrate/schemaGenerator.js +1 -1
  192. package/dist/migrate/schemaGenerator.js.map +1 -0
  193. package/dist/migrate/storage/databaseStorage.d.ts +1 -0
  194. package/dist/migrate/storage/databaseStorage.d.ts.map +1 -0
  195. package/dist/migrate/storage/databaseStorage.js +1 -1
  196. package/dist/migrate/storage/databaseStorage.js.map +1 -0
  197. package/dist/migrate/storage/index.d.ts +1 -0
  198. package/dist/migrate/storage/index.d.ts.map +1 -0
  199. package/dist/migrate/storage/index.js +1 -1
  200. package/dist/migrate/storage/index.js.map +1 -0
  201. package/dist/migrate/storage/jsonStorage.d.ts +1 -0
  202. package/dist/migrate/storage/jsonStorage.d.ts.map +1 -0
  203. package/dist/migrate/storage/jsonStorage.js +1 -1
  204. package/dist/migrate/storage/jsonStorage.js.map +1 -0
  205. package/dist/migrate/type.d.ts +1 -0
  206. package/dist/migrate/type.d.ts.map +1 -0
  207. package/dist/migrate/type.js +1 -1
  208. package/dist/migrate/type.js.map +1 -0
  209. package/dist/mongo/index.d.ts +1 -0
  210. package/dist/mongo/index.d.ts.map +1 -0
  211. package/dist/mongo/index.js +1 -1
  212. package/dist/mongo/index.js.map +1 -0
  213. package/dist/mongo/mongoDialect.d.ts +1 -0
  214. package/dist/mongo/mongoDialect.d.ts.map +1 -0
  215. package/dist/mongo/mongoDialect.js +1 -1
  216. package/dist/mongo/mongoDialect.js.map +1 -0
  217. package/dist/mongo/mongodbQuerier.d.ts +1 -0
  218. package/dist/mongo/mongodbQuerier.d.ts.map +1 -0
  219. package/dist/mongo/mongodbQuerier.js +1 -1
  220. package/dist/mongo/mongodbQuerier.js.map +1 -0
  221. package/dist/mongo/mongodbQuerierPool.d.ts +1 -0
  222. package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -0
  223. package/dist/mongo/mongodbQuerierPool.js +1 -1
  224. package/dist/mongo/mongodbQuerierPool.js.map +1 -0
  225. package/dist/mysql/index.d.ts +1 -0
  226. package/dist/mysql/index.d.ts.map +1 -0
  227. package/dist/mysql/index.js +1 -1
  228. package/dist/mysql/index.js.map +1 -0
  229. package/dist/mysql/mysql2Querier.d.ts +1 -0
  230. package/dist/mysql/mysql2Querier.d.ts.map +1 -0
  231. package/dist/mysql/mysql2Querier.js +1 -1
  232. package/dist/mysql/mysql2Querier.js.map +1 -0
  233. package/dist/mysql/mysql2QuerierPool.d.ts +1 -0
  234. package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -0
  235. package/dist/mysql/mysql2QuerierPool.js +1 -1
  236. package/dist/mysql/mysql2QuerierPool.js.map +1 -0
  237. package/dist/mysql/mysqlDialect.d.ts +1 -0
  238. package/dist/mysql/mysqlDialect.d.ts.map +1 -0
  239. package/dist/mysql/mysqlDialect.js +1 -1
  240. package/dist/mysql/mysqlDialect.js.map +1 -0
  241. package/dist/namingStrategy/defaultNamingStrategy.d.ts +1 -0
  242. package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +1 -0
  243. package/dist/namingStrategy/defaultNamingStrategy.js +1 -1
  244. package/dist/namingStrategy/defaultNamingStrategy.js.map +1 -0
  245. package/dist/namingStrategy/index.d.ts +1 -0
  246. package/dist/namingStrategy/index.d.ts.map +1 -0
  247. package/dist/namingStrategy/index.js +1 -1
  248. package/dist/namingStrategy/index.js.map +1 -0
  249. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +1 -0
  250. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +1 -0
  251. package/dist/namingStrategy/snakeCaseNamingStrategy.js +1 -1
  252. package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +1 -0
  253. package/dist/options.d.ts +1 -0
  254. package/dist/options.d.ts.map +1 -0
  255. package/dist/options.js +1 -1
  256. package/dist/options.js.map +1 -0
  257. package/dist/postgres/index.d.ts +1 -0
  258. package/dist/postgres/index.d.ts.map +1 -0
  259. package/dist/postgres/index.js +1 -1
  260. package/dist/postgres/index.js.map +1 -0
  261. package/dist/postgres/pgQuerier.d.ts +1 -0
  262. package/dist/postgres/pgQuerier.d.ts.map +1 -0
  263. package/dist/postgres/pgQuerier.js +1 -1
  264. package/dist/postgres/pgQuerier.js.map +1 -0
  265. package/dist/postgres/pgQuerierPool.d.ts +1 -0
  266. package/dist/postgres/pgQuerierPool.d.ts.map +1 -0
  267. package/dist/postgres/pgQuerierPool.js +1 -1
  268. package/dist/postgres/pgQuerierPool.js.map +1 -0
  269. package/dist/postgres/postgresDialect.d.ts +1 -0
  270. package/dist/postgres/postgresDialect.d.ts.map +1 -0
  271. package/dist/postgres/postgresDialect.js +1 -1
  272. package/dist/postgres/postgresDialect.js.map +1 -0
  273. package/dist/querier/abstractQuerier.d.ts +1 -0
  274. package/dist/querier/abstractQuerier.d.ts.map +1 -0
  275. package/dist/querier/abstractQuerier.js +1 -1
  276. package/dist/querier/abstractQuerier.js.map +1 -0
  277. package/dist/querier/abstractQuerierPool.d.ts +1 -0
  278. package/dist/querier/abstractQuerierPool.d.ts.map +1 -0
  279. package/dist/querier/abstractQuerierPool.js +1 -1
  280. package/dist/querier/abstractQuerierPool.js.map +1 -0
  281. package/dist/querier/abstractSqlQuerier.d.ts +1 -0
  282. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -0
  283. package/dist/querier/abstractSqlQuerier.js +1 -1
  284. package/dist/querier/abstractSqlQuerier.js.map +1 -0
  285. package/dist/querier/decorator/index.d.ts +1 -0
  286. package/dist/querier/decorator/index.d.ts.map +1 -0
  287. package/dist/querier/decorator/index.js +1 -1
  288. package/dist/querier/decorator/index.js.map +1 -0
  289. package/dist/querier/decorator/injectQuerier.d.ts +1 -0
  290. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -0
  291. package/dist/querier/decorator/injectQuerier.js +1 -1
  292. package/dist/querier/decorator/injectQuerier.js.map +1 -0
  293. package/dist/querier/decorator/serialized.d.ts +1 -0
  294. package/dist/querier/decorator/serialized.d.ts.map +1 -0
  295. package/dist/querier/decorator/serialized.js +1 -1
  296. package/dist/querier/decorator/serialized.js.map +1 -0
  297. package/dist/querier/decorator/transactional.d.ts +1 -0
  298. package/dist/querier/decorator/transactional.d.ts.map +1 -0
  299. package/dist/querier/decorator/transactional.js +1 -1
  300. package/dist/querier/decorator/transactional.js.map +1 -0
  301. package/dist/querier/index.d.ts +1 -0
  302. package/dist/querier/index.d.ts.map +1 -0
  303. package/dist/querier/index.js +1 -1
  304. package/dist/querier/index.js.map +1 -0
  305. package/dist/repository/genericRepository.d.ts +1 -0
  306. package/dist/repository/genericRepository.d.ts.map +1 -0
  307. package/dist/repository/genericRepository.js +1 -1
  308. package/dist/repository/genericRepository.js.map +1 -0
  309. package/dist/repository/index.d.ts +1 -0
  310. package/dist/repository/index.d.ts.map +1 -0
  311. package/dist/repository/index.js +1 -1
  312. package/dist/repository/index.js.map +1 -0
  313. package/dist/sqlite/index.d.ts +1 -0
  314. package/dist/sqlite/index.d.ts.map +1 -0
  315. package/dist/sqlite/index.js +1 -1
  316. package/dist/sqlite/index.js.map +1 -0
  317. package/dist/sqlite/sqliteDialect.d.ts +1 -0
  318. package/dist/sqlite/sqliteDialect.d.ts.map +1 -0
  319. package/dist/sqlite/sqliteDialect.js +1 -1
  320. package/dist/sqlite/sqliteDialect.js.map +1 -0
  321. package/dist/sqlite/sqliteQuerier.d.ts +1 -0
  322. package/dist/sqlite/sqliteQuerier.d.ts.map +1 -0
  323. package/dist/sqlite/sqliteQuerier.js +1 -1
  324. package/dist/sqlite/sqliteQuerier.js.map +1 -0
  325. package/dist/sqlite/sqliteQuerierPool.d.ts +1 -0
  326. package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -0
  327. package/dist/sqlite/sqliteQuerierPool.js +1 -1
  328. package/dist/sqlite/sqliteQuerierPool.js.map +1 -0
  329. package/dist/type/entity.d.ts +1 -0
  330. package/dist/type/entity.d.ts.map +1 -0
  331. package/dist/type/entity.js +1 -1
  332. package/dist/type/entity.js.map +1 -0
  333. package/dist/type/index.d.ts +1 -0
  334. package/dist/type/index.d.ts.map +1 -0
  335. package/dist/type/index.js +1 -1
  336. package/dist/type/index.js.map +1 -0
  337. package/dist/type/migration.d.ts +1 -0
  338. package/dist/type/migration.d.ts.map +1 -0
  339. package/dist/type/migration.js +1 -1
  340. package/dist/type/migration.js.map +1 -0
  341. package/dist/type/namingStrategy.d.ts +1 -0
  342. package/dist/type/namingStrategy.d.ts.map +1 -0
  343. package/dist/type/namingStrategy.js +1 -1
  344. package/dist/type/namingStrategy.js.map +1 -0
  345. package/dist/type/querier.d.ts +1 -0
  346. package/dist/type/querier.d.ts.map +1 -0
  347. package/dist/type/querier.js +1 -1
  348. package/dist/type/querier.js.map +1 -0
  349. package/dist/type/querierPool.d.ts +1 -0
  350. package/dist/type/querierPool.d.ts.map +1 -0
  351. package/dist/type/querierPool.js +1 -1
  352. package/dist/type/querierPool.js.map +1 -0
  353. package/dist/type/query.d.ts +1 -0
  354. package/dist/type/query.d.ts.map +1 -0
  355. package/dist/type/query.js +1 -1
  356. package/dist/type/query.js.map +1 -0
  357. package/dist/type/repository.d.ts +1 -0
  358. package/dist/type/repository.d.ts.map +1 -0
  359. package/dist/type/repository.js +1 -1
  360. package/dist/type/repository.js.map +1 -0
  361. package/dist/type/universalQuerier.d.ts +1 -0
  362. package/dist/type/universalQuerier.d.ts.map +1 -0
  363. package/dist/type/universalQuerier.js +1 -1
  364. package/dist/type/universalQuerier.js.map +1 -0
  365. package/dist/type/utility.d.ts +1 -0
  366. package/dist/type/utility.d.ts.map +1 -0
  367. package/dist/type/utility.js +1 -1
  368. package/dist/type/utility.js.map +1 -0
  369. package/dist/util/dialect.util.d.ts +1 -0
  370. package/dist/util/dialect.util.d.ts.map +1 -0
  371. package/dist/util/dialect.util.js +1 -1
  372. package/dist/util/dialect.util.js.map +1 -0
  373. package/dist/util/index.d.ts +1 -0
  374. package/dist/util/index.d.ts.map +1 -0
  375. package/dist/util/index.js +1 -1
  376. package/dist/util/index.js.map +1 -0
  377. package/dist/util/object.util.d.ts +1 -0
  378. package/dist/util/object.util.d.ts.map +1 -0
  379. package/dist/util/object.util.js +1 -1
  380. package/dist/util/object.util.js.map +1 -0
  381. package/dist/util/raw.d.ts +1 -0
  382. package/dist/util/raw.d.ts.map +1 -0
  383. package/dist/util/raw.js +1 -1
  384. package/dist/util/raw.js.map +1 -0
  385. package/dist/util/sql.util.d.ts +1 -0
  386. package/dist/util/sql.util.d.ts.map +1 -0
  387. package/dist/util/sql.util.js +1 -1
  388. package/dist/util/sql.util.js.map +1 -0
  389. package/dist/util/string.util.d.ts +1 -0
  390. package/dist/util/string.util.d.ts.map +1 -0
  391. package/dist/util/string.util.js +1 -1
  392. package/dist/util/string.util.js.map +1 -0
  393. package/package.json +32 -26
  394. package/dist/CHANGELOG.md +0 -186
  395. package/dist/maria/mariaQuerierPool.test.d.ts +0 -5
  396. package/dist/maria/mariaQuerierPool.test.js +0 -19
  397. package/dist/maria/mariadbQuerier.test.d.ts +0 -4
  398. package/dist/maria/mariadbQuerier.test.js +0 -19
  399. package/dist/migrate/migrator-mongo.test.d.ts +0 -1
  400. package/dist/migrate/migrator-mongo.test.js +0 -54
  401. package/dist/migrate/migrator.test.d.ts +0 -1
  402. package/dist/migrate/migrator.test.js +0 -106
  403. package/dist/mongo/mongodbQuerier.test.d.ts +0 -1
  404. package/dist/mongo/mongodbQuerier.test.js +0 -36
  405. package/dist/mongo/mongodbQuerierPool.test.d.ts +0 -1
  406. package/dist/mongo/mongodbQuerierPool.test.js +0 -21
  407. package/dist/mysql/mysql2Querier.test.d.ts +0 -4
  408. package/dist/mysql/mysql2Querier.test.js +0 -16
  409. package/dist/mysql/mysql2QuerierPool.test.d.ts +0 -5
  410. package/dist/mysql/mysql2QuerierPool.test.js +0 -16
  411. package/dist/package.json +0 -131
  412. package/dist/postgres/pgQuerier.test.d.ts +0 -4
  413. package/dist/postgres/pgQuerier.test.js +0 -20
  414. package/dist/postgres/pgQuerierPool.test.d.ts +0 -5
  415. package/dist/postgres/pgQuerierPool.test.js +0 -23
  416. package/dist/querier/abstractQuerier-test.d.ts +0 -45
  417. package/dist/querier/abstractQuerier-test.js +0 -461
  418. package/dist/querier/abstractQuerierPool-test.d.ts +0 -9
  419. package/dist/querier/abstractQuerierPool-test.js +0 -18
  420. package/dist/querier/abstractSqlQuerier-test.d.ts +0 -9
  421. package/dist/querier/abstractSqlQuerier-test.js +0 -16
  422. package/dist/sqlite/sqliteQuerier.test.d.ts +0 -5
  423. package/dist/sqlite/sqliteQuerier.test.js +0 -19
  424. package/dist/sqlite/sqliteQuerierPool.test.d.ts +0 -5
  425. package/dist/sqlite/sqliteQuerierPool.test.js +0 -10
  426. package/dist/test/entityMock.d.ts +0 -164
  427. package/dist/test/entityMock.js +0 -554
  428. package/dist/test/index.d.ts +0 -3
  429. package/dist/test/index.js +0 -4
  430. package/dist/test/it.util.d.ts +0 -4
  431. package/dist/test/it.util.js +0 -55
  432. package/dist/test/spec.util.d.ts +0 -14
  433. package/dist/test/spec.util.js +0 -50
  434. package/src/@types/index.d.ts +0 -1
  435. package/src/@types/jest.d.ts +0 -6
  436. package/src/browser/http/bus.spec.ts +0 -22
  437. package/src/browser/http/bus.ts +0 -17
  438. package/src/browser/http/http.spec.ts +0 -70
  439. package/src/browser/http/http.ts +0 -55
  440. package/src/browser/http/index.ts +0 -2
  441. package/src/browser/index.ts +0 -4
  442. package/src/browser/options.spec.ts +0 -37
  443. package/src/browser/options.ts +0 -18
  444. package/src/browser/querier/genericClientRepository.spec.ts +0 -105
  445. package/src/browser/querier/genericClientRepository.ts +0 -49
  446. package/src/browser/querier/httpQuerier.ts +0 -82
  447. package/src/browser/querier/index.ts +0 -3
  448. package/src/browser/querier/querier.util.spec.ts +0 -35
  449. package/src/browser/querier/querier.util.ts +0 -18
  450. package/src/browser/type/clientQuerier.ts +0 -45
  451. package/src/browser/type/clientQuerierPool.ts +0 -5
  452. package/src/browser/type/clientRepository.ts +0 -22
  453. package/src/browser/type/index.ts +0 -4
  454. package/src/browser/type/request.ts +0 -25
  455. package/src/dialect/abstractDialect.ts +0 -28
  456. package/src/dialect/abstractSqlDialect-spec.ts +0 -1309
  457. package/src/dialect/abstractSqlDialect.ts +0 -805
  458. package/src/dialect/index.ts +0 -3
  459. package/src/dialect/namingStrategy.spec.ts +0 -52
  460. package/src/dialect/queryContext.ts +0 -69
  461. package/src/entity/decorator/definition.spec.ts +0 -736
  462. package/src/entity/decorator/definition.ts +0 -265
  463. package/src/entity/decorator/entity.ts +0 -8
  464. package/src/entity/decorator/field.ts +0 -9
  465. package/src/entity/decorator/id.ts +0 -9
  466. package/src/entity/decorator/index.ts +0 -5
  467. package/src/entity/decorator/relation.spec.ts +0 -41
  468. package/src/entity/decorator/relation.ts +0 -34
  469. package/src/entity/index.ts +0 -1
  470. package/src/express/@types/express.d.ts +0 -8
  471. package/src/express/@types/index.d.ts +0 -1
  472. package/src/express/index.ts +0 -2
  473. package/src/express/querierMiddleware.ts +0 -217
  474. package/src/express/query.util.spec.ts +0 -40
  475. package/src/express/query.util.ts +0 -21
  476. package/src/index.ts +0 -9
  477. package/src/maria/index.ts +0 -3
  478. package/src/maria/mariaDialect.spec.ts +0 -207
  479. package/src/maria/mariaDialect.ts +0 -42
  480. package/src/maria/mariaQuerierPool.test.ts +0 -23
  481. package/src/maria/mariadbQuerier.test.ts +0 -23
  482. package/src/maria/mariadbQuerier.ts +0 -45
  483. package/src/maria/mariadbQuerierPool.ts +0 -21
  484. package/src/migrate/cli.ts +0 -301
  485. package/src/migrate/generator/index.ts +0 -4
  486. package/src/migrate/generator/mongoSchemaGenerator.spec.ts +0 -112
  487. package/src/migrate/generator/mongoSchemaGenerator.ts +0 -115
  488. package/src/migrate/generator/mysqlSchemaGenerator.spec.ts +0 -34
  489. package/src/migrate/generator/mysqlSchemaGenerator.ts +0 -92
  490. package/src/migrate/generator/postgresSchemaGenerator.spec.ts +0 -44
  491. package/src/migrate/generator/postgresSchemaGenerator.ts +0 -127
  492. package/src/migrate/generator/sqliteSchemaGenerator.spec.ts +0 -33
  493. package/src/migrate/generator/sqliteSchemaGenerator.ts +0 -81
  494. package/src/migrate/index.ts +0 -41
  495. package/src/migrate/introspection/index.ts +0 -4
  496. package/src/migrate/introspection/mongoIntrospector.spec.ts +0 -75
  497. package/src/migrate/introspection/mongoIntrospector.ts +0 -47
  498. package/src/migrate/introspection/mysqlIntrospector.spec.ts +0 -113
  499. package/src/migrate/introspection/mysqlIntrospector.ts +0 -278
  500. package/src/migrate/introspection/postgresIntrospector.spec.ts +0 -112
  501. package/src/migrate/introspection/postgresIntrospector.ts +0 -329
  502. package/src/migrate/introspection/sqliteIntrospector.spec.ts +0 -112
  503. package/src/migrate/introspection/sqliteIntrospector.ts +0 -296
  504. package/src/migrate/migrator-mongo.test.ts +0 -54
  505. package/src/migrate/migrator.spec.ts +0 -255
  506. package/src/migrate/migrator.test.ts +0 -94
  507. package/src/migrate/migrator.ts +0 -719
  508. package/src/migrate/namingStrategy.spec.ts +0 -22
  509. package/src/migrate/schemaGenerator-advanced.spec.ts +0 -138
  510. package/src/migrate/schemaGenerator.spec.ts +0 -190
  511. package/src/migrate/schemaGenerator.ts +0 -478
  512. package/src/migrate/storage/databaseStorage.spec.ts +0 -69
  513. package/src/migrate/storage/databaseStorage.ts +0 -100
  514. package/src/migrate/storage/index.ts +0 -2
  515. package/src/migrate/storage/jsonStorage.ts +0 -58
  516. package/src/migrate/type.ts +0 -1
  517. package/src/mongo/index.ts +0 -3
  518. package/src/mongo/mongoDialect.spec.ts +0 -251
  519. package/src/mongo/mongoDialect.ts +0 -238
  520. package/src/mongo/mongodbQuerier.test.ts +0 -45
  521. package/src/mongo/mongodbQuerier.ts +0 -256
  522. package/src/mongo/mongodbQuerierPool.test.ts +0 -25
  523. package/src/mongo/mongodbQuerierPool.ts +0 -24
  524. package/src/mysql/index.ts +0 -3
  525. package/src/mysql/mysql2Querier.test.ts +0 -20
  526. package/src/mysql/mysql2Querier.ts +0 -49
  527. package/src/mysql/mysql2QuerierPool.test.ts +0 -20
  528. package/src/mysql/mysql2QuerierPool.ts +0 -21
  529. package/src/mysql/mysqlDialect.spec.ts +0 -20
  530. package/src/mysql/mysqlDialect.ts +0 -16
  531. package/src/namingStrategy/defaultNamingStrategy.ts +0 -18
  532. package/src/namingStrategy/index.spec.ts +0 -36
  533. package/src/namingStrategy/index.ts +0 -2
  534. package/src/namingStrategy/snakeCaseNamingStrategy.ts +0 -15
  535. package/src/options.spec.ts +0 -41
  536. package/src/options.ts +0 -18
  537. package/src/postgres/index.ts +0 -3
  538. package/src/postgres/manual-types.d.ts +0 -4
  539. package/src/postgres/pgQuerier.test.ts +0 -25
  540. package/src/postgres/pgQuerier.ts +0 -45
  541. package/src/postgres/pgQuerierPool.test.ts +0 -28
  542. package/src/postgres/pgQuerierPool.ts +0 -21
  543. package/src/postgres/postgresDialect.spec.ts +0 -428
  544. package/src/postgres/postgresDialect.ts +0 -144
  545. package/src/querier/abstractQuerier-test.ts +0 -584
  546. package/src/querier/abstractQuerier.ts +0 -353
  547. package/src/querier/abstractQuerierPool-test.ts +0 -20
  548. package/src/querier/abstractQuerierPool.ts +0 -18
  549. package/src/querier/abstractSqlQuerier-spec.ts +0 -979
  550. package/src/querier/abstractSqlQuerier-test.ts +0 -21
  551. package/src/querier/abstractSqlQuerier.ts +0 -138
  552. package/src/querier/decorator/index.ts +0 -3
  553. package/src/querier/decorator/injectQuerier.spec.ts +0 -74
  554. package/src/querier/decorator/injectQuerier.ts +0 -45
  555. package/src/querier/decorator/serialized.spec.ts +0 -98
  556. package/src/querier/decorator/serialized.ts +0 -13
  557. package/src/querier/decorator/transactional.spec.ts +0 -240
  558. package/src/querier/decorator/transactional.ts +0 -56
  559. package/src/querier/index.ts +0 -4
  560. package/src/repository/genericRepository.spec.ts +0 -111
  561. package/src/repository/genericRepository.ts +0 -74
  562. package/src/repository/index.ts +0 -1
  563. package/src/sqlite/index.ts +0 -3
  564. package/src/sqlite/manual-types.d.ts +0 -4
  565. package/src/sqlite/sqliteDialect.spec.ts +0 -155
  566. package/src/sqlite/sqliteDialect.ts +0 -76
  567. package/src/sqlite/sqliteQuerier.spec.ts +0 -36
  568. package/src/sqlite/sqliteQuerier.test.ts +0 -21
  569. package/src/sqlite/sqliteQuerier.ts +0 -37
  570. package/src/sqlite/sqliteQuerierPool.test.ts +0 -12
  571. package/src/sqlite/sqliteQuerierPool.ts +0 -38
  572. package/src/test/entityMock.ts +0 -375
  573. package/src/test/index.ts +0 -3
  574. package/src/test/it.util.ts +0 -69
  575. package/src/test/spec.util.ts +0 -57
  576. package/src/type/entity.ts +0 -218
  577. package/src/type/index.ts +0 -9
  578. package/src/type/migration.ts +0 -241
  579. package/src/type/namingStrategy.ts +0 -17
  580. package/src/type/querier.ts +0 -143
  581. package/src/type/querierPool.ts +0 -26
  582. package/src/type/query.ts +0 -506
  583. package/src/type/repository.ts +0 -142
  584. package/src/type/universalQuerier.ts +0 -133
  585. package/src/type/utility.ts +0 -21
  586. package/src/util/dialect.util-extra.spec.ts +0 -96
  587. package/src/util/dialect.util.spec.ts +0 -23
  588. package/src/util/dialect.util.ts +0 -134
  589. package/src/util/index.ts +0 -5
  590. package/src/util/object.util.spec.ts +0 -29
  591. package/src/util/object.util.ts +0 -27
  592. package/src/util/raw.ts +0 -11
  593. package/src/util/sql.util-extra.spec.ts +0 -17
  594. package/src/util/sql.util.spec.ts +0 -208
  595. package/src/util/sql.util.ts +0 -104
  596. package/src/util/string.util.spec.ts +0 -46
  597. package/src/util/string.util.ts +0 -35
  598. package/tsconfig.build.json +0 -5
  599. package/tsconfig.json +0 -8
@@ -1,256 +0,0 @@
1
- import type { ClientSession, Document, MongoClient, OptionalUnlessRequiredId, UpdateFilter } from 'mongodb';
2
- import { getMeta } from '../entity/index.js';
3
- import { AbstractQuerier, Serialized } from '../querier/index.js';
4
- import type {
5
- ExtraOptions,
6
- IdValue,
7
- Query,
8
- QueryConflictPaths,
9
- QueryOptions,
10
- QuerySearch,
11
- QueryWhere,
12
- Type,
13
- } from '../type/index.js';
14
- import { clone, getFieldCallbackValue, getKeys, hasKeys, isSelectingRelations } from '../util/index.js';
15
-
16
- import type { MongoDialect } from './mongoDialect.js';
17
-
18
- export class MongodbQuerier extends AbstractQuerier {
19
- private session: ClientSession;
20
-
21
- constructor(
22
- readonly dialect: MongoDialect,
23
- readonly conn: MongoClient,
24
- readonly extra?: ExtraOptions,
25
- ) {
26
- super();
27
- }
28
-
29
- @Serialized()
30
- private async execute<T>(task: (session: ClientSession) => Promise<T>): Promise<T> {
31
- return task(this.session);
32
- }
33
-
34
- override async findMany<E extends Document>(entity: Type<E>, q: Query<E>) {
35
- const meta = getMeta(entity);
36
-
37
- let documents: E[];
38
- const hasSelectedRelations = isSelectingRelations(meta, q.$select);
39
-
40
- if (hasSelectedRelations) {
41
- const pipeline = this.dialect.aggregationPipeline(entity, q);
42
- this.extra?.logger('findMany', entity.name, JSON.stringify(pipeline, null, 2));
43
- documents = await this.execute((session) =>
44
- this.collection(entity).aggregate<E>(pipeline, { session }).toArray(),
45
- );
46
- documents = this.dialect.normalizeIds(meta, documents) as E[];
47
- await this.fillToManyRelations(entity, documents, q.$select);
48
- } else {
49
- const cursor = this.collection(entity).find<E>({}, { session: this.session });
50
-
51
- const filter = this.dialect.where(entity, q.$where);
52
- if (hasKeys(filter)) {
53
- cursor.filter(filter);
54
- }
55
- const select = this.dialect.select(entity, q.$select);
56
- if (hasKeys(select)) {
57
- cursor.project(select);
58
- }
59
- const sort = this.dialect.sort(entity, q.$sort);
60
- if (hasKeys(sort)) {
61
- cursor.sort(sort);
62
- }
63
- if (q.$skip) {
64
- cursor.skip(q.$skip);
65
- }
66
- if (q.$limit) {
67
- cursor.limit(q.$limit);
68
- }
69
-
70
- this.extra?.logger?.('findMany', entity.name, q);
71
-
72
- documents = await this.execute(() => cursor.toArray() as Promise<E[]>);
73
- documents = this.dialect.normalizeIds(meta, documents) as E[];
74
- }
75
-
76
- return documents;
77
- }
78
-
79
- override count<E extends Document>(entity: Type<E>, qm: QuerySearch<E> = {}) {
80
- const filter = this.dialect.where(entity, qm.$where);
81
- this.extra?.logger?.('count', entity.name, filter);
82
- return this.execute((session) =>
83
- this.collection(entity).countDocuments(filter, {
84
- session,
85
- }),
86
- );
87
- }
88
-
89
- override async insertMany<E extends Document>(entity: Type<E>, payloads: E[]) {
90
- if (!payloads?.length) {
91
- return [];
92
- }
93
-
94
- payloads = clone(payloads);
95
-
96
- const meta = getMeta(entity);
97
- const persistables = this.dialect.getPersistables(meta, payloads, 'onInsert') as OptionalUnlessRequiredId<E>[];
98
-
99
- this.extra?.logger?.('insertMany', entity.name, persistables);
100
-
101
- const { insertedIds } = await this.execute((session) =>
102
- this.collection(entity).insertMany(persistables, { session }),
103
- );
104
-
105
- const ids = Object.values(insertedIds) as unknown as IdValue<E>[];
106
-
107
- for (const [index, it] of payloads.entries()) {
108
- it[meta.id] = ids[index];
109
- }
110
-
111
- await this.insertRelations(entity, payloads);
112
-
113
- return ids;
114
- }
115
-
116
- override async updateMany<E extends Document>(entity: Type<E>, qm: QuerySearch<E>, payload: E) {
117
- payload = clone(payload);
118
- const meta = getMeta(entity);
119
- const persistable = this.dialect.getPersistable(meta, payload, 'onUpdate');
120
- const where = this.dialect.where(entity, qm.$where);
121
- const update = { $set: persistable } satisfies UpdateFilter<E>;
122
-
123
- this.extra?.logger?.('updateMany', entity.name, where, update);
124
-
125
- const { matchedCount } = await this.execute((session) =>
126
- this.collection(entity).updateMany(where, update, {
127
- session,
128
- }),
129
- );
130
-
131
- await this.updateRelations(entity, qm, payload);
132
-
133
- return matchedCount;
134
- }
135
-
136
- override async upsertOne<E extends Document>(entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E) {
137
- payload = clone(payload);
138
-
139
- const meta = getMeta(entity);
140
- const persistable = this.dialect.getPersistable(meta, payload, 'onInsert') as OptionalUnlessRequiredId<E>;
141
-
142
- this.extra?.logger?.('upsertOne', entity.name, persistable);
143
-
144
- const where = getKeys(conflictPaths).reduce(
145
- (acc, key) => {
146
- acc[key] = payload[key];
147
- return acc;
148
- },
149
- {} as QueryWhere<E>,
150
- );
151
-
152
- const filter = this.dialect.where(entity, where);
153
-
154
- const update = { $set: persistable } as UpdateFilter<E>;
155
-
156
- const res = await this.execute((session) =>
157
- this.collection(entity).findOneAndUpdate(filter, update, {
158
- upsert: true,
159
- session,
160
- }),
161
- );
162
-
163
- const firstId = res?._id as unknown as string;
164
-
165
- return { firstId, changes: firstId ? 1 : 0 };
166
- }
167
-
168
- override async deleteMany<E extends Document>(entity: Type<E>, qm: QuerySearch<E>, opts: QueryOptions = {}) {
169
- const meta = getMeta(entity);
170
- const where = this.dialect.where(entity, qm.$where);
171
- this.extra?.logger?.('deleteMany', entity.name, where, opts);
172
- const founds = await this.execute((session) =>
173
- this.collection(entity)
174
- .find(where, {
175
- projection: { _id: true },
176
- session,
177
- })
178
- .toArray(),
179
- );
180
- if (!founds.length) {
181
- return 0;
182
- }
183
- const ids = this.dialect.normalizeIds(meta, founds as unknown as E[]).map((found) => found[meta.id]);
184
- let changes: number;
185
- if (meta.softDelete && !opts.softDelete) {
186
- const onDeleteValue = getFieldCallbackValue(meta.fields[meta.softDelete].onDelete);
187
- const updateResult = await this.execute((session) =>
188
- this.collection(entity).updateMany(
189
- { _id: { $in: ids } },
190
- { $set: { [meta.softDelete]: onDeleteValue } } as UpdateFilter<E>,
191
- {
192
- session,
193
- },
194
- ),
195
- );
196
- changes = updateResult.matchedCount;
197
- } else {
198
- const deleteResult = await this.execute((session) =>
199
- this.collection(entity).deleteMany({ _id: { $in: ids } }, { session }),
200
- );
201
- changes = deleteResult.deletedCount;
202
- }
203
- await this.deleteRelations(entity, ids, opts);
204
- return changes;
205
- }
206
-
207
- override get hasOpenTransaction() {
208
- return this.session?.inTransaction();
209
- }
210
-
211
- collection<E extends Document>(entity: Type<E>) {
212
- const { name } = getMeta(entity);
213
- return this.db.collection<E>(name);
214
- }
215
-
216
- get db() {
217
- return this.conn.db();
218
- }
219
-
220
- @Serialized()
221
- override async beginTransaction() {
222
- if (this.hasOpenTransaction) {
223
- throw TypeError('pending transaction');
224
- }
225
- this.extra?.logger?.('beginTransaction');
226
- await this.session?.endSession();
227
- this.session = this.conn.startSession();
228
- this.session.startTransaction();
229
- }
230
-
231
- @Serialized()
232
- override async commitTransaction() {
233
- if (!this.hasOpenTransaction) {
234
- throw TypeError('not a pending transaction');
235
- }
236
- this.extra?.logger?.('commitTransaction');
237
- await this.session.commitTransaction();
238
- }
239
-
240
- @Serialized()
241
- override async rollbackTransaction() {
242
- if (!this.hasOpenTransaction) {
243
- throw TypeError('not a pending transaction');
244
- }
245
- this.extra?.logger?.('rollbackTransaction');
246
- await this.session.abortTransaction();
247
- }
248
-
249
- override async internalRelease() {
250
- if (this.hasOpenTransaction) {
251
- throw TypeError('pending transaction');
252
- }
253
- await this.session?.endSession();
254
- this.session = undefined;
255
- }
256
- }
@@ -1,25 +0,0 @@
1
- import { MongoMemoryReplSet } from 'mongodb-memory-server';
2
- import { AbstractQuerierPoolIt } from '../querier/abstractQuerierPool-test.js';
3
- import { createSpec } from '../test/index.js';
4
- import type { MongodbQuerier } from './mongodbQuerier.js';
5
- import { MongodbQuerierPool } from './mongodbQuerierPool.js';
6
-
7
- class MongodbQuerierPoolIt extends AbstractQuerierPoolIt<MongodbQuerier> {
8
- static replSet: MongoMemoryReplSet;
9
-
10
- async beforeAll() {
11
- MongodbQuerierPoolIt.replSet = await MongoMemoryReplSet.create({
12
- replSet: { count: 1, storageEngine: 'wiredTiger' },
13
- });
14
- const uri = MongodbQuerierPoolIt.replSet.getUri();
15
- this.pool = new MongodbQuerierPool(uri);
16
- }
17
-
18
- override async afterAll() {
19
- await super.afterAll();
20
- await this.pool.end();
21
- await MongodbQuerierPoolIt.replSet.stop();
22
- }
23
- }
24
-
25
- createSpec(new MongodbQuerierPoolIt(new MongodbQuerierPool('mongodb://127.0.0.1:27017/test')));
@@ -1,24 +0,0 @@
1
- import { MongoClient, type MongoClientOptions } from 'mongodb';
2
- import { AbstractQuerierPool } from '../querier/index.js';
3
- import type { ExtraOptions } from '../type/index.js';
4
- import { MongoDialect } from './mongoDialect.js';
5
- import { MongodbQuerier } from './mongodbQuerier.js';
6
-
7
- export class MongodbQuerierPool extends AbstractQuerierPool<MongodbQuerier> {
8
- private readonly client: MongoClient;
9
-
10
- constructor(uri: string, opts?: MongoClientOptions, extra?: ExtraOptions) {
11
- super('mongodb', extra);
12
- this.client = new MongoClient(uri, opts);
13
- }
14
-
15
- async getQuerier() {
16
- const conn = await this.client.connect();
17
- const querier = new MongodbQuerier(new MongoDialect(), conn, this.extra);
18
- return querier;
19
- }
20
-
21
- async end() {
22
- await this.client.close();
23
- }
24
- }
@@ -1,3 +0,0 @@
1
- export * from './mysql2Querier.js';
2
- export * from './mysql2QuerierPool.js';
3
- export * from './mysqlDialect.js';
@@ -1,20 +0,0 @@
1
- import { AbstractSqlQuerierIt } from '../querier/abstractSqlQuerier-test.js';
2
- import { createSpec } from '../test/index.js';
3
- import { MySql2QuerierPool } from './mysql2QuerierPool.js';
4
-
5
- export class MySql2QuerierIt extends AbstractSqlQuerierIt {
6
- constructor() {
7
- super(
8
- new MySql2QuerierPool({
9
- host: '0.0.0.0',
10
- port: 3316,
11
- user: 'test',
12
- password: 'test',
13
- database: 'test',
14
- }),
15
- 'INT AUTO_INCREMENT PRIMARY KEY',
16
- );
17
- }
18
- }
19
-
20
- createSpec(new MySql2QuerierIt());
@@ -1,49 +0,0 @@
1
- import type { PoolConnection } from 'mysql2/promise';
2
- import { AbstractSqlQuerier } from '../querier/index.js';
3
- import type { ExtraOptions, QueryUpdateResult } from '../type/index.js';
4
- import { MySqlDialect } from './mysqlDialect.js';
5
-
6
- export class MySql2Querier extends AbstractSqlQuerier {
7
- conn: PoolConnection;
8
-
9
- constructor(
10
- readonly connect: () => Promise<PoolConnection>,
11
- readonly extra?: ExtraOptions,
12
- ) {
13
- super(new MySqlDialect(extra?.namingStrategy));
14
- }
15
-
16
- override async internalAll<T>(query: string, values?: unknown[]) {
17
- this.extra?.logger?.(query, values);
18
- await this.lazyConnect();
19
- const [res] = await this.conn.query(query, values);
20
- return res as T[];
21
- }
22
-
23
- override async internalRun(query: string, values?: unknown[]) {
24
- this.extra?.logger?.(query, values);
25
- await this.lazyConnect();
26
- const [res]: any = await this.conn.query(query, values);
27
- const ids = res.insertId
28
- ? Array(res.affectedRows)
29
- .fill(res.insertId)
30
- .map((i, index) => i + index)
31
- : [];
32
- return { changes: res.affectedRows, ids, firstId: ids[0] } satisfies QueryUpdateResult;
33
- }
34
-
35
- async lazyConnect() {
36
- this.conn ??= await this.connect();
37
- }
38
-
39
- override async internalRelease() {
40
- if (this.hasOpenTransaction) {
41
- throw TypeError('pending transaction');
42
- }
43
- if (!this.conn) {
44
- return;
45
- }
46
- await this.conn.release();
47
- this.conn = undefined;
48
- }
49
- }
@@ -1,20 +0,0 @@
1
- import { AbstractQuerierPoolIt } from '../querier/abstractQuerierPool-test.js';
2
- import { createSpec } from '../test/index.js';
3
- import type { MySql2Querier } from './mysql2Querier.js';
4
- import { MySql2QuerierPool } from './mysql2QuerierPool.js';
5
-
6
- export class MySql2QuerierPoolIt extends AbstractQuerierPoolIt<MySql2Querier> {
7
- constructor() {
8
- super(
9
- new MySql2QuerierPool({
10
- host: '0.0.0.0',
11
- port: 3316,
12
- user: 'test',
13
- password: 'test',
14
- database: 'test',
15
- }),
16
- );
17
- }
18
- }
19
-
20
- createSpec(new MySql2QuerierPoolIt());
@@ -1,21 +0,0 @@
1
- import { createPool, type Pool, type PoolOptions } from 'mysql2/promise';
2
- import { AbstractQuerierPool } from '../querier/index.js';
3
- import type { ExtraOptions } from '../type/index.js';
4
- import { MySql2Querier } from './mysql2Querier.js';
5
-
6
- export class MySql2QuerierPool extends AbstractQuerierPool<MySql2Querier> {
7
- readonly pool: Pool;
8
-
9
- constructor(opts: PoolOptions, extra?: ExtraOptions) {
10
- super('mysql', extra);
11
- this.pool = createPool(opts);
12
- }
13
-
14
- async getQuerier() {
15
- return new MySql2Querier(() => this.pool.getConnection(), this.extra);
16
- }
17
-
18
- async end() {
19
- await this.pool.end();
20
- }
21
- }
@@ -1,20 +0,0 @@
1
- import { expect } from 'bun:test';
2
- import { AbstractSqlDialectSpec } from '../dialect/abstractSqlDialect-spec.js';
3
- import { createSpec } from '../test/index.js';
4
- import { MySqlDialect } from './mysqlDialect.js';
5
-
6
- export class MySqlDialectSpec extends AbstractSqlDialectSpec {
7
- constructor() {
8
- super(new MySqlDialect());
9
- }
10
-
11
- shouldHandleDate() {
12
- const dialect = new MySqlDialect();
13
- const values: unknown[] = [];
14
- expect(dialect.addValue(values, new Date())).toBe('?');
15
- expect(values).toHaveLength(1);
16
- expect(values[0]).toBeInstanceOf(Date);
17
- }
18
- }
19
-
20
- createSpec(new MySqlDialectSpec());
@@ -1,16 +0,0 @@
1
- import SqlString from 'sqlstring';
2
- import { AbstractSqlDialect } from '../dialect/index.js';
3
-
4
- export class MySqlDialect extends AbstractSqlDialect {
5
- override addValue(values: unknown[], value: unknown): string {
6
- if (value instanceof Date) {
7
- values.push(value);
8
- return '?';
9
- }
10
- return super.addValue(values, value);
11
- }
12
-
13
- override escape(value: unknown): string {
14
- return SqlString.escape(value);
15
- }
16
- }
@@ -1,18 +0,0 @@
1
- import type { NamingStrategy } from '../type/index.js';
2
-
3
- /**
4
- * Default naming strategy that returns identifiers as-is.
5
- */
6
- export class DefaultNamingStrategy implements NamingStrategy {
7
- tableName(className: string): string {
8
- return className;
9
- }
10
-
11
- columnName(propertyName: string): string {
12
- return propertyName;
13
- }
14
-
15
- joinTableName(source: string, target: string, _propertyName?: string): string {
16
- return `${source}_${target}`;
17
- }
18
- }
@@ -1,36 +0,0 @@
1
- import { describe, expect, it } from 'bun:test';
2
- import { DefaultNamingStrategy, SnakeCaseNamingStrategy } from './index.js';
3
-
4
- describe('NamingStrategy', () => {
5
- describe('DefaultNamingStrategy', () => {
6
- const strategy = new DefaultNamingStrategy();
7
-
8
- it('tableName', () => {
9
- expect(strategy.tableName('UserProfile')).toBe('UserProfile');
10
- });
11
-
12
- it('columnName', () => {
13
- expect(strategy.columnName('firstName')).toBe('firstName');
14
- });
15
-
16
- it('joinTableName', () => {
17
- expect(strategy.joinTableName('User', 'Role')).toBe('User_Role');
18
- });
19
- });
20
-
21
- describe('SnakeCaseNamingStrategy', () => {
22
- const strategy = new SnakeCaseNamingStrategy();
23
-
24
- it('tableName', () => {
25
- expect(strategy.tableName('UserProfile')).toBe('user_profile');
26
- });
27
-
28
- it('columnName', () => {
29
- expect(strategy.columnName('firstName')).toBe('first_name');
30
- });
31
-
32
- it('joinTableName', () => {
33
- expect(strategy.joinTableName('User', 'Role')).toBe('User_Role'); // Base implementation
34
- });
35
- });
36
- });
@@ -1,2 +0,0 @@
1
- export * from './defaultNamingStrategy.js';
2
- export * from './snakeCaseNamingStrategy.js';
@@ -1,15 +0,0 @@
1
- import { snakeCase } from '../util/index.js';
2
- import { DefaultNamingStrategy } from './defaultNamingStrategy.js';
3
-
4
- /**
5
- * Naming strategy that converts identifiers to snake_case.
6
- */
7
- export class SnakeCaseNamingStrategy extends DefaultNamingStrategy {
8
- override tableName(className: string): string {
9
- return snakeCase(className);
10
- }
11
-
12
- override columnName(propertyName: string): string {
13
- return snakeCase(propertyName);
14
- }
15
- }
@@ -1,41 +0,0 @@
1
- import { beforeEach, describe, expect, it, jest } from 'bun:test';
2
- import { getQuerier, getQuerierPool, setQuerierPool } from './options.js';
3
- import { User } from './test/index.js';
4
- import type { Querier, Repository } from './type/index.js';
5
-
6
- describe('options', () => {
7
- beforeEach(() => {
8
- jest.spyOn(console, 'log');
9
- });
10
-
11
- it('getQuerierPool unset', () => {
12
- expect(() => getQuerierPool()).toThrow('A default querier-pool has to be set first');
13
- });
14
-
15
- it('getQuerier', async () => {
16
- const repositoryMock = {} as Repository<User>;
17
-
18
- const querierMock = {
19
- getRepository<T>(entity: T) {
20
- return repositoryMock;
21
- },
22
- } as Querier;
23
-
24
- setQuerierPool({
25
- getQuerier: async () => querierMock,
26
- end: async () => {},
27
- dialect: 'postgres',
28
- });
29
-
30
- const querier1 = await getQuerierPool().getQuerier();
31
- expect(querier1).toBe(querierMock);
32
-
33
- const querier2 = await getQuerier();
34
- expect(querier2).toBe(querierMock);
35
-
36
- const repository1 = await querier2.getRepository(User);
37
- expect(repository1).toBe(repositoryMock);
38
-
39
- expect(getQuerierPool()).toBe(getQuerierPool());
40
- });
41
- });
package/src/options.ts DELETED
@@ -1,18 +0,0 @@
1
- import type { Querier, QuerierPool } from './type/index.js';
2
-
3
- let defaultPool: QuerierPool;
4
-
5
- export function setQuerierPool<T extends QuerierPool = QuerierPool>(pool: T): void {
6
- defaultPool = pool;
7
- }
8
-
9
- export function getQuerierPool(): QuerierPool {
10
- if (!defaultPool) {
11
- throw new TypeError('A default querier-pool has to be set first');
12
- }
13
- return defaultPool;
14
- }
15
-
16
- export function getQuerier(): Promise<Querier> {
17
- return defaultPool.getQuerier();
18
- }
@@ -1,3 +0,0 @@
1
- export * from './pgQuerier.js';
2
- export * from './pgQuerierPool.js';
3
- export * from './postgresDialect.js';
@@ -1,4 +0,0 @@
1
- declare module 'sqlstring-sqlite' {
2
- // biome-ignore lint/suspicious/noShadowRestrictedNames: exported by third-party
3
- export function escape(value: unknown): string;
4
- }
@@ -1,25 +0,0 @@
1
- import { types } from 'pg';
2
- import { AbstractSqlQuerierIt } from '../querier/abstractSqlQuerier-test.js';
3
- import { createSpec } from '../test/index.js';
4
- import { PgQuerierPool } from './pgQuerierPool.js';
5
-
6
- types.setTypeParser(types.builtins.INT8, (value: string) => Number.parseInt(value, 10));
7
- types.setTypeParser(types.builtins.FLOAT8, (value: string) => Number.parseFloat(value));
8
- types.setTypeParser(types.builtins.NUMERIC, (value: string) => Number.parseFloat(value));
9
-
10
- export class PostgresQuerierIt extends AbstractSqlQuerierIt {
11
- constructor() {
12
- super(
13
- new PgQuerierPool({
14
- host: '0.0.0.0',
15
- port: 5442,
16
- user: 'test',
17
- password: 'test',
18
- database: 'test',
19
- }),
20
- 'SERIAL PRIMARY KEY',
21
- );
22
- }
23
- }
24
-
25
- createSpec(new PostgresQuerierIt());
@@ -1,45 +0,0 @@
1
- import type { PoolClient } from 'pg';
2
- import { AbstractSqlQuerier } from '../querier/index.js';
3
- import type { ExtraOptions, QueryUpdateResult } from '../type/index.js';
4
- import { PostgresDialect } from './postgresDialect.js';
5
-
6
- export class PgQuerier extends AbstractSqlQuerier {
7
- conn: PoolClient;
8
-
9
- constructor(
10
- readonly connect: () => Promise<PoolClient>,
11
- readonly extra?: ExtraOptions,
12
- ) {
13
- super(new PostgresDialect(extra?.namingStrategy));
14
- }
15
-
16
- override async internalAll<T>(query: string, values?: unknown[]) {
17
- this.extra?.logger?.(query, values);
18
- await this.lazyConnect();
19
- const res = await this.conn.query<T>(query, values);
20
- return res.rows;
21
- }
22
-
23
- override async internalRun(query: string, values?: unknown[]) {
24
- this.extra?.logger?.(query, values);
25
- await this.lazyConnect();
26
- const { rowCount: changes, rows = [] }: any = await this.conn.query(query, values);
27
- const ids = rows.map((r: any) => r.id);
28
- return { changes, ids, firstId: ids[0] } satisfies QueryUpdateResult;
29
- }
30
-
31
- async lazyConnect() {
32
- this.conn ??= await this.connect();
33
- }
34
-
35
- override async internalRelease() {
36
- if (this.hasOpenTransaction) {
37
- throw TypeError('pending transaction');
38
- }
39
- if (!this.conn) {
40
- return;
41
- }
42
- await this.conn.release();
43
- this.conn = undefined;
44
- }
45
- }