@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,584 +0,0 @@
1
- import { expect } from 'bun:test';
2
- import { getEntities } from '../entity/index.js';
3
- import {
4
- Company,
5
- InventoryAdjustment,
6
- Item,
7
- ItemAdjustment,
8
- LedgerAccount,
9
- MeasureUnit,
10
- type Spec,
11
- Tag,
12
- TaxCategory,
13
- User,
14
- } from '../test/index.js';
15
- import type { Querier, QuerierPool } from '../type/index.js';
16
-
17
- export abstract class AbstractQuerierIt<Q extends Querier> implements Spec {
18
- querier: Q;
19
-
20
- constructor(protected pool: QuerierPool<Q>) {}
21
-
22
- async beforeAll() {
23
- const querier = await this.pool.getQuerier();
24
- try {
25
- this.querier = querier;
26
- await this.dropTables();
27
- await this.createTables();
28
- } finally {
29
- await querier.release();
30
- this.querier = undefined;
31
- }
32
- }
33
-
34
- async beforeEach() {
35
- this.querier = await this.pool.getQuerier();
36
- await this.clearTables();
37
- }
38
-
39
- async afterEach() {
40
- await this.querier.release();
41
- }
42
-
43
- async afterAll() {
44
- await this.pool.end();
45
- }
46
-
47
- shouldGetRepository() {
48
- const repository = this.querier.getRepository(User);
49
- expect(repository).toBeDefined();
50
- }
51
-
52
- async shouldInsertMany() {
53
- const ids = await this.querier.insertMany(User, [
54
- {
55
- name: 'Some Name A',
56
- email: 'someemaila@example.com',
57
- password: '123456789a!',
58
- },
59
- {
60
- name: 'Some Name B',
61
- email: 'someemailb@example.com',
62
- password: '123456789b!',
63
- },
64
- ]);
65
- expect(ids).toHaveLength(2);
66
- for (const id of ids) {
67
- expect(id).toBeDefined();
68
- }
69
- }
70
-
71
- async shouldInsertManyEmpty() {
72
- const ids = await this.querier.insertMany(User, []);
73
- expect(ids).toEqual([]);
74
- }
75
-
76
- async shouldInsertOne() {
77
- const creatorId = await this.querier.insertOne(User, {
78
- name: 'Some Name C',
79
- email: 'someemailc@example.com',
80
- password: '123456789z!',
81
- });
82
- expect(creatorId).toBeDefined();
83
-
84
- const companyId = await this.querier.insertOne(Company, {
85
- name: 'Some Name C',
86
- creatorId,
87
- });
88
- expect(companyId).toBeDefined();
89
-
90
- const taxCategoryId = await this.querier.insertOne(TaxCategory, {
91
- name: 'Some Name C',
92
- description: 'Some Description Z',
93
- creatorId,
94
- companyId,
95
- });
96
- expect(taxCategoryId).toBeDefined();
97
- }
98
-
99
- async shouldInsertOneWithOnInsertId() {
100
- const id1 = await this.querier.insertOne(TaxCategory, {
101
- name: 'Some Name',
102
- });
103
- const id2 = await this.querier.insertOne(TaxCategory, {
104
- pk: '123',
105
- name: 'Some Name',
106
- });
107
- expect(id1).toBeDefined();
108
- expect(id2).toBeDefined();
109
- }
110
-
111
- async shouldInsertManyWithSpecifiedIdsAndOnInsertIdAsDefault() {
112
- const ids = await this.querier.insertMany(TaxCategory, [
113
- {
114
- name: 'Some Name A',
115
- },
116
- {
117
- pk: '50',
118
- name: 'Some Name B',
119
- },
120
- {
121
- name: 'Some Name C',
122
- },
123
- {
124
- pk: '70',
125
- name: 'Some Name D',
126
- },
127
- ]);
128
- expect(ids).toHaveLength(4);
129
- for (const id of ids) {
130
- expect(id).toBeDefined();
131
- }
132
- }
133
-
134
- async shouldInsertManyWithAutoIncrementIdAsDefault() {
135
- const ids = await this.querier.insertMany(LedgerAccount, [
136
- {
137
- name: 'Some Name A',
138
- },
139
- {
140
- name: 'Some Name B',
141
- },
142
- {
143
- name: 'Some Name C',
144
- },
145
- ]);
146
- expect(ids).toHaveLength(3);
147
- for (const id of ids) {
148
- expect(id).toBeDefined();
149
- }
150
- const founds = await this.querier.findMany(LedgerAccount, {});
151
- expect(founds.map(({ id }) => id)).toEqual(ids);
152
- }
153
-
154
- async shouldInsertOneAndCascadeOneToOne() {
155
- const payload = {
156
- name: 'Some Name D',
157
- createdAt: 123,
158
- profile: { picture: 'abc', createdAt: 123 },
159
- } satisfies User;
160
- const id = await this.querier.insertOne(User, payload);
161
- expect(id).toBeDefined();
162
- const found = await this.querier.findOneById(User, id, { $select: { profile: true } });
163
- expect(found).toMatchObject({ id, profile: payload.profile });
164
- }
165
-
166
- async shouldInsertOneAndCascadeManyToOne() {
167
- const payload = {
168
- name: 'Centimeter',
169
- createdAt: 123,
170
- category: { name: 'Metric', createdAt: 123 },
171
- } satisfies MeasureUnit;
172
-
173
- const id = await this.querier.insertOne(MeasureUnit, payload);
174
-
175
- expect(id).toBeDefined();
176
-
177
- const found = await this.querier.findOneById(MeasureUnit, id, { $select: { category: true } });
178
-
179
- expect(found).toMatchObject({ id, category: payload.category });
180
- }
181
-
182
- async shouldInsertSpecialChars() {
183
- const payload: MeasureUnit = {
184
- name: `I'm Cielo! How are you doing today? It's been a while since we last talked`,
185
- createdAt: 123,
186
- };
187
-
188
- const id = await this.querier.insertOne(MeasureUnit, payload);
189
-
190
- expect(id).toBeDefined();
191
-
192
- const found = await this.querier.findOneById(MeasureUnit, id);
193
-
194
- expect(found).toMatchObject(payload);
195
- }
196
-
197
- async shouldInsertOneAndCascadeOneToMany() {
198
- const itemAdjustments: ItemAdjustment[] = [{ buyPrice: 50 }, { buyPrice: 300 }];
199
-
200
- const date = new Date();
201
-
202
- const inventoryAdjustmentId = await this.querier.insertOne(InventoryAdjustment, {
203
- description: 'some description',
204
- date,
205
- itemAdjustments,
206
- });
207
-
208
- expect(inventoryAdjustmentId).toBeDefined();
209
-
210
- const inventoryAdjustmentFound = await this.querier.findOneById(InventoryAdjustment, inventoryAdjustmentId, {
211
- $select: { itemAdjustments: true },
212
- });
213
-
214
- expect(inventoryAdjustmentFound).toMatchObject({
215
- id: inventoryAdjustmentId,
216
- itemAdjustments,
217
- });
218
-
219
- const itemAdjustmentsFound = await this.querier.findMany(ItemAdjustment, { $where: { inventoryAdjustmentId } });
220
-
221
- expect(itemAdjustmentsFound).toMatchObject(itemAdjustments);
222
- }
223
-
224
- async shouldInsertOneAndCascadeOneToManyWithSpecificFields() {
225
- const itemAdjustments: ItemAdjustment[] = [{ buyPrice: 50 }, { buyPrice: 300 }];
226
-
227
- const inventoryAdjustmentId = await this.querier.insertOne(InventoryAdjustment, {
228
- description: 'some description',
229
- itemAdjustments: itemAdjustments.slice(),
230
- });
231
-
232
- expect(inventoryAdjustmentId).toBeDefined();
233
-
234
- const inventoryAdjustmentFound = await this.querier.findOneById(InventoryAdjustment, inventoryAdjustmentId, {
235
- $select: { itemAdjustments: ['buyPrice'] },
236
- });
237
-
238
- expect(inventoryAdjustmentFound).toMatchObject({
239
- id: inventoryAdjustmentId,
240
- itemAdjustments,
241
- });
242
-
243
- const itemAdjustmentsFound = await this.querier.findMany(ItemAdjustment, { $where: { inventoryAdjustmentId } });
244
-
245
- expect(itemAdjustmentsFound).toMatchObject(itemAdjustments);
246
- }
247
-
248
- async shouldUpdateOneAndCascadeOneToMany() {
249
- const itemAdjustments: ItemAdjustment[] = [{ buyPrice: 50 }, { buyPrice: 300 }];
250
-
251
- const inventoryAdjustmentId = await this.querier.insertOne(InventoryAdjustment, {
252
- description: 'some description',
253
- });
254
-
255
- expect(inventoryAdjustmentId).toBeDefined();
256
-
257
- const changes = await this.querier.updateOneById(InventoryAdjustment, inventoryAdjustmentId, {
258
- itemAdjustments,
259
- });
260
-
261
- expect(changes).toBe(1);
262
-
263
- const inventoryAdjustmentFound = await this.querier.findOneById(InventoryAdjustment, inventoryAdjustmentId, {
264
- $select: { itemAdjustments: ['buyPrice'] },
265
- });
266
-
267
- expect(inventoryAdjustmentFound).toMatchObject({
268
- id: inventoryAdjustmentId,
269
- itemAdjustments,
270
- });
271
-
272
- const itemAdjustmentsFound = await this.querier.findMany(ItemAdjustment, { $where: { inventoryAdjustmentId } });
273
-
274
- expect(itemAdjustmentsFound).toMatchObject(itemAdjustments);
275
- }
276
-
277
- async shouldUpdateOneByIdAndCascadeOneToManyNull() {
278
- const id = await this.querier.insertOne(InventoryAdjustment, { itemAdjustments: [{}, {}] });
279
-
280
- await expect(this.querier.count(ItemAdjustment, {})).resolves.toBe(2);
281
-
282
- await this.querier.updateOneById(InventoryAdjustment, id, {
283
- itemAdjustments: null,
284
- });
285
-
286
- await expect(this.querier.count(ItemAdjustment, {})).resolves.toBe(0);
287
- }
288
-
289
- async shouldUpdateManyAndCascadeOneToManyNull() {
290
- await this.querier.insertOne(InventoryAdjustment, { itemAdjustments: [{}, {}] });
291
-
292
- await expect(this.querier.count(ItemAdjustment, {})).resolves.toBe(2);
293
-
294
- await this.querier.updateMany(
295
- InventoryAdjustment,
296
- { $where: {} },
297
- {
298
- itemAdjustments: null,
299
- },
300
- );
301
-
302
- await expect(this.querier.count(ItemAdjustment, {})).resolves.toBe(0);
303
- }
304
-
305
- async shouldInsertOneAndCascadeManyToMany() {
306
- const payload: Item = {
307
- name: 'item one',
308
- createdAt: 1,
309
- tags: [
310
- {
311
- name: 'tag one',
312
- createdAt: 1,
313
- },
314
- {
315
- name: 'tag two',
316
- createdAt: 1,
317
- },
318
- ],
319
- };
320
-
321
- const id = await this.querier.insertOne(Item, payload);
322
-
323
- expect(id).toBeDefined();
324
-
325
- const foundItem = await this.querier.findOneById(Item, id, {
326
- $select: { name: true, createdAt: true, tags: ['name', 'createdAt'] },
327
- });
328
-
329
- expect(foundItem).toMatchObject({
330
- id,
331
- ...payload,
332
- });
333
-
334
- const foundTags = await this.querier.findMany(Tag, {
335
- $select: { name: true, createdAt: true, items: ['name', 'createdAt'] },
336
- });
337
-
338
- delete foundItem.tags;
339
-
340
- expect(foundTags).toMatchObject(payload.tags.map((tag) => ({ ...tag, items: [foundItem] })));
341
- }
342
-
343
- async shouldUpdateOneAndCascadeManyToMany() {
344
- const id = await this.querier.insertOne(Item, { createdAt: 1 });
345
- const payload: Item = {
346
- name: 'item one',
347
- updatedAt: 1,
348
- tags: [
349
- {
350
- name: 'tag one',
351
- createdAt: 1,
352
- },
353
- {
354
- name: 'tag two',
355
- createdAt: 1,
356
- },
357
- ],
358
- };
359
-
360
- await this.querier.updateOneById(Item, id, payload);
361
-
362
- const found = await this.querier.findOneById(Item, id, {
363
- $select: { name: true, updatedAt: true, tags: true },
364
- });
365
-
366
- expect(found).toMatchObject({
367
- id,
368
- ...payload,
369
- });
370
- }
371
-
372
- async shouldUpsertOne() {
373
- const pk = '507f1f77bcf86cd799439011';
374
- const record1 = await this.querier.findOne(TaxCategory, {
375
- $select: ['name'],
376
- $where: { pk },
377
- });
378
- expect(record1).toBeUndefined();
379
- await this.querier.upsertOne(
380
- TaxCategory,
381
- { pk: true },
382
- {
383
- pk,
384
- name: 'Some Name C',
385
- },
386
- );
387
- const record2 = await this.querier.findOne(TaxCategory, {
388
- $select: ['name'],
389
- $where: { pk },
390
- });
391
- expect(record2).toMatchObject({
392
- name: 'Some Name C',
393
- });
394
- await this.querier.upsertOne(
395
- TaxCategory,
396
- { pk: true },
397
- {
398
- pk,
399
- name: 'Some Name D',
400
- },
401
- );
402
- const record3 = await this.querier.findOne(TaxCategory, {
403
- $select: ['name'],
404
- $where: { pk },
405
- });
406
- expect(record3).toMatchObject({
407
- name: 'Some Name D',
408
- });
409
- }
410
-
411
- async shouldFindOne() {
412
- await Promise.all([this.shouldInsertMany(), this.shouldInsertOne()]);
413
-
414
- const found = await this.querier.findOne(User, {
415
- $select: ['id', 'name', 'email', 'password'],
416
- $where: {
417
- email: 'someemaila@example.com',
418
- },
419
- });
420
-
421
- expect(found).toMatchObject({
422
- name: 'Some Name A',
423
- email: 'someemaila@example.com',
424
- password: '123456789a!',
425
- });
426
-
427
- const notFound = await this.querier.findOne(User, {
428
- $where: {
429
- name: 'some name',
430
- },
431
- });
432
-
433
- expect(notFound).toBeUndefined();
434
- }
435
-
436
- async shouldCount() {
437
- await expect(this.querier.count(User, {})).resolves.toBe(0);
438
-
439
- await Promise.all([this.shouldInsertMany(), this.shouldInsertOne()]);
440
-
441
- await expect(this.querier.count(User, {})).resolves.toBe(3);
442
- await expect(this.querier.count(User, { $where: { companyId: null } })).resolves.toBe(3);
443
- await expect(this.querier.count(User, { $where: { companyId: 1 } })).resolves.toBe(0);
444
- }
445
-
446
- async shouldUpdateMany() {
447
- await Promise.all([this.shouldInsertMany(), this.shouldInsertOne()]);
448
-
449
- await expect(this.querier.updateMany(User, { $where: { companyId: 1 } }, { companyId: null })).resolves.toBe(0);
450
- await expect(this.querier.updateMany(User, { $where: { companyId: null } }, { companyId: 1 })).resolves.toBe(3);
451
- await expect(this.querier.updateMany(User, { $where: { companyId: 1 } }, { companyId: null })).resolves.toBe(3);
452
- }
453
-
454
- async shouldThrowIfUnknownComparisonOperator() {
455
- await expect(
456
- this.querier.findMany(User, {
457
- $where: { name: { $someInvalidOperator: 'some' } as any },
458
- }),
459
- ).rejects.toThrow('unknown operator: $someInvalidOperator');
460
- }
461
-
462
- async shouldThrowWhenRollbackTransactionWithoutBeginTransaction() {
463
- await expect(this.querier.rollbackTransaction()).rejects.toThrow('not a pending transaction');
464
- }
465
-
466
- async shouldCommit() {
467
- await expect(this.querier.count(User, {})).resolves.toBe(0);
468
- await this.querier.beginTransaction();
469
- await this.querier.insertOne(User, {});
470
- await expect(this.querier.count(User, {})).resolves.toBe(1);
471
- await this.querier.commitTransaction();
472
- await expect(this.querier.count(User, {})).resolves.toBe(1);
473
- await this.querier.release();
474
- }
475
-
476
- async shouldRollback() {
477
- await expect(this.querier.count(User, {})).resolves.toBe(0);
478
- await this.querier.beginTransaction();
479
- await this.querier.insertOne(User, {});
480
- await expect(this.querier.count(User, {})).resolves.toBe(1);
481
- await this.querier.rollbackTransaction();
482
- await expect(this.querier.count(User, {})).resolves.toBe(0);
483
- await this.querier.release();
484
- }
485
-
486
- async shouldThrowWhenBeginTransactionAfterBeginTransaction() {
487
- expect(this.querier.hasOpenTransaction).toBeFalsy();
488
- await this.querier.beginTransaction();
489
- expect(this.querier.hasOpenTransaction).toBe(true);
490
- await expect(this.querier.beginTransaction()).rejects.toThrow('pending transaction');
491
- await expect(this.querier.release()).rejects.toThrow('pending transaction');
492
- await this.querier.rollbackTransaction();
493
- await this.querier.release();
494
- }
495
-
496
- async shouldReturnTransactionValue() {
497
- const affectedRows = await this.querier.transaction(async () => {
498
- await this.shouldInsertMany();
499
- const count = await this.querier.count(User, {});
500
- await this.querier.deleteMany(User, {});
501
- return count;
502
- });
503
- expect(affectedRows).toBe(2);
504
- }
505
-
506
- async shouldThrowWhenCommitTransactionWithoutBeginTransaction() {
507
- await expect(this.querier.commitTransaction()).rejects.toThrow('not a pending transaction');
508
- }
509
-
510
- async shouldSelectOneToManyEmpty() {
511
- const inventoryAdjustment = await this.querier.findOneById(InventoryAdjustment, -1, {
512
- $select: { itemAdjustments: true, creator: true },
513
- });
514
- expect(inventoryAdjustment).toBeUndefined();
515
-
516
- const inventoryAdjustments = await this.querier.findMany(InventoryAdjustment, {
517
- $select: { itemAdjustments: true },
518
- });
519
- expect(inventoryAdjustments).toHaveLength(0);
520
- }
521
-
522
- async shouldSelectOneToMany() {
523
- await this.shouldInsertOne();
524
-
525
- const [user, company] = await Promise.all([
526
- this.querier.findOne(User, { $select: ['id'] }),
527
- this.querier.findOne(Company, { $select: ['id'] }),
528
- ]);
529
-
530
- const [firstItemId, secondItemId] = await this.querier.insertMany(Item, [
531
- {
532
- name: 'some item name a',
533
- creatorId: user.id,
534
- companyId: company.id,
535
- },
536
- {
537
- name: 'some item name b',
538
- creatorId: user.id,
539
- companyId: company.id,
540
- },
541
- ]);
542
-
543
- const inventoryAdjustmentId = await this.querier.insertOne(InventoryAdjustment, {
544
- description: 'some inventory adjustment',
545
- creatorId: user.id,
546
- companyId: company.id,
547
- itemAdjustments: [
548
- { buyPrice: 1000, itemId: firstItemId },
549
- { buyPrice: 2000, itemId: secondItemId },
550
- ],
551
- });
552
-
553
- const inventoryAdjustmentFound = await this.querier.findOneById(InventoryAdjustment, inventoryAdjustmentId, {
554
- $select: { itemAdjustments: true, creator: true },
555
- });
556
-
557
- expect(inventoryAdjustmentFound).toMatchObject({
558
- id: inventoryAdjustmentId,
559
- itemAdjustments: [
560
- { buyPrice: 1000, itemId: firstItemId },
561
- { buyPrice: 2000, itemId: secondItemId },
562
- ],
563
- creator: {
564
- email: 'someemailc@example.com',
565
- name: 'Some Name C',
566
- },
567
- });
568
- }
569
-
570
- async shouldDeleteMany() {
571
- await Promise.all([this.shouldInsertMany(), this.shouldInsertOne()]);
572
- await expect(this.querier.deleteMany(User, { $where: { companyId: 1 } })).resolves.toBe(0);
573
- await expect(this.querier.deleteMany(User, { $where: { companyId: null } })).resolves.toBe(3);
574
- }
575
-
576
- async clearTables() {
577
- const entities = getEntities();
578
- await Promise.all(entities.map((entity) => this.querier.deleteMany(entity, {})));
579
- }
580
-
581
- abstract createTables(): Promise<void>;
582
-
583
- abstract dropTables(): Promise<void>;
584
- }