@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,28 +0,0 @@
1
- import { types } from 'pg';
2
- import { AbstractQuerierPoolIt } from '../querier/abstractQuerierPool-test.js';
3
- import { createSpec } from '../test/index.js';
4
- import type { PgQuerier } from './pgQuerier.js';
5
- import { PgQuerierPool } from './pgQuerierPool.js';
6
-
7
- types.setTypeParser(types.builtins.INT8, (value: string) => Number.parseInt(value, 10));
8
- types.setTypeParser(types.builtins.FLOAT8, (value: string) => Number.parseFloat(value));
9
- types.setTypeParser(types.builtins.NUMERIC, (value: string) => Number.parseFloat(value));
10
- types.setTypeParser(types.builtins.INT8, (value: string) => Number.parseInt(value, 10));
11
- types.setTypeParser(types.builtins.FLOAT8, (value: string) => Number.parseFloat(value));
12
- types.setTypeParser(types.builtins.NUMERIC, (value: string) => Number.parseFloat(value));
13
-
14
- export class PostgresQuerierPoolIt extends AbstractQuerierPoolIt<PgQuerier> {
15
- constructor() {
16
- super(
17
- new PgQuerierPool({
18
- host: '0.0.0.0',
19
- port: 5442,
20
- user: 'test',
21
- password: 'test',
22
- database: 'test',
23
- }),
24
- );
25
- }
26
- }
27
-
28
- createSpec(new PostgresQuerierPoolIt());
@@ -1,21 +0,0 @@
1
- import pg from 'pg';
2
- import { AbstractQuerierPool } from '../querier/index.js';
3
- import type { ExtraOptions } from '../type/index.js';
4
- import { PgQuerier } from './pgQuerier.js';
5
-
6
- export class PgQuerierPool extends AbstractQuerierPool<PgQuerier> {
7
- readonly pool: pg.Pool;
8
-
9
- constructor(opts: pg.PoolConfig, extra?: ExtraOptions) {
10
- super('postgres', extra);
11
- this.pool = new pg.Pool(opts);
12
- }
13
-
14
- async getQuerier() {
15
- return new PgQuerier(() => this.pool.connect(), this.extra);
16
- }
17
-
18
- async end() {
19
- await this.pool.end();
20
- }
21
- }
@@ -1,428 +0,0 @@
1
- import { expect } from 'bun:test';
2
- import {
3
- Company,
4
- createSpec,
5
- Item,
6
- ItemTag,
7
- Profile,
8
- TaxCategory,
9
- User,
10
- UserWithNonUpdatableId,
11
- } from '../test/index.js';
12
- import { raw } from '../util/index.js';
13
- import { PostgresDialect } from './postgresDialect.js';
14
-
15
- class PostgresDialectSpec {
16
- readonly dialect = new PostgresDialect();
17
-
18
- protected exec(fn: (ctx: any) => void): { sql: string; values: unknown[] } {
19
- const ctx = this.dialect.createContext();
20
- fn(ctx);
21
- return { sql: ctx.sql, values: ctx.values };
22
- }
23
-
24
- shouldBeValidEscapeCharacter() {
25
- expect(this.dialect.escapeIdChar).toBe('"');
26
- }
27
-
28
- shouldBeginTransaction() {
29
- expect(this.dialect.beginTransactionCommand).toBe('BEGIN TRANSACTION');
30
- }
31
-
32
- shouldInsertMany() {
33
- const { sql, values } = this.exec((ctx) =>
34
- this.dialect.insert(ctx, User, [
35
- {
36
- name: 'Some name 1',
37
- email: 'someemail1@example.com',
38
- createdAt: 123,
39
- },
40
- {
41
- name: 'Some name 2',
42
- email: 'someemail2@example.com',
43
- createdAt: 456,
44
- },
45
- {
46
- name: 'Some name 3',
47
- email: 'someemail3@example.com',
48
- createdAt: 789,
49
- },
50
- ]),
51
- );
52
- expect(sql).toBe(
53
- 'INSERT INTO "User" ("name", "email", "createdAt") VALUES' +
54
- ' ($1, $2, $3), ($4, $5, $6), ($7, $8, $9)' +
55
- ' RETURNING "id" "id"',
56
- );
57
- expect(values).toEqual([
58
- 'Some name 1',
59
- 'someemail1@example.com',
60
- 123,
61
- 'Some name 2',
62
- 'someemail2@example.com',
63
- 456,
64
- 'Some name 3',
65
- 'someemail3@example.com',
66
- 789,
67
- ]);
68
- }
69
-
70
- shouldInsertOne() {
71
- const { sql, values } = this.exec((ctx) =>
72
- this.dialect.insert(ctx, User, {
73
- name: 'Some Name',
74
- email: 'someemail@example.com',
75
- createdAt: 123,
76
- }),
77
- );
78
- expect(sql).toBe('INSERT INTO "User" ("name", "email", "createdAt") VALUES ($1, $2, $3) RETURNING "id" "id"');
79
- expect(values).toEqual(['Some Name', 'someemail@example.com', 123]);
80
- }
81
-
82
- shouldInsertWithOnInsertId() {
83
- const { sql, values } = this.exec((ctx) =>
84
- this.dialect.insert(ctx, TaxCategory, {
85
- name: 'Some Name',
86
- createdAt: 123,
87
- }),
88
- );
89
- expect(sql).toMatch(
90
- /^INSERT INTO "TaxCategory" \("name", "createdAt", "pk"\) VALUES \(\$1, \$2, \$3\) RETURNING "pk" "id"$/,
91
- );
92
- expect(values[0]).toBe('Some Name');
93
- expect(values[1]).toBe(123);
94
- expect(values[2]).toMatch(/.+/);
95
- }
96
-
97
- shouldUpsert() {
98
- const { sql, values } = this.exec((ctx) =>
99
- this.dialect.upsert(
100
- ctx,
101
- User,
102
- { id: true },
103
- {
104
- id: 1,
105
- name: 'Some Name',
106
- createdAt: 123,
107
- },
108
- ),
109
- );
110
- expect(sql).toMatch(
111
- /^INSERT INTO "User" \("id", "name", "createdAt", "updatedAt"\) VALUES \(\$1, \$2, \$3, \$4\) ON CONFLICT \("id"\) DO UPDATE SET "name" = EXCLUDED."name", "createdAt" = EXCLUDED."createdAt", "updatedAt" = EXCLUDED."updatedAt" RETURNING "id" "id"$/,
112
- );
113
- expect(values).toEqual([1, 'Some Name', 123, expect.any(Number)]);
114
- }
115
-
116
- shouldUpsertWithDifferentColumnNames() {
117
- const { sql, values } = this.exec((ctx) =>
118
- this.dialect.upsert(
119
- ctx,
120
- Profile,
121
- { pk: true },
122
- {
123
- pk: 1,
124
- picture: 'image.jpg',
125
- },
126
- ),
127
- );
128
- expect(sql).toMatch(
129
- /^INSERT INTO "user_profile" \("pk", "image", "updatedAt", "createdAt"\) VALUES \(\$1, \$2, \$3, \$4\) ON CONFLICT \("pk"\) DO UPDATE SET "image" = EXCLUDED."image", "updatedAt" = EXCLUDED."updatedAt" RETURNING "pk" "id"$/,
130
- );
131
- expect(values).toEqual([1, 'image.jpg', expect.any(Number), expect.any(Number)]);
132
- }
133
-
134
- shouldUpsertWithNonUpdatableFields() {
135
- const { sql, values } = this.exec((ctx) =>
136
- this.dialect.upsert(
137
- ctx,
138
- User,
139
- { id: true },
140
- {
141
- id: 1,
142
- email: 'a@b.com',
143
- },
144
- ),
145
- );
146
- expect(sql).toMatch(
147
- /^INSERT INTO "User" \("id", "email", "updatedAt", "createdAt"\) VALUES \(\$1, \$2, \$3, \$4\) ON CONFLICT \("id"\) DO UPDATE SET "updatedAt" = EXCLUDED."updatedAt" RETURNING "id" "id"$/,
148
- );
149
- expect(values).toEqual([1, 'a@b.com', expect.any(Number), expect.any(Number)]);
150
- }
151
-
152
- shouldUpsertWithNonUpdatableId() {
153
- const { sql, values } = this.exec((ctx) =>
154
- this.dialect.upsert(
155
- ctx,
156
- UserWithNonUpdatableId,
157
- { id: true },
158
- {
159
- id: 1,
160
- name: 'Some Name',
161
- },
162
- ),
163
- );
164
- expect(sql).toBe(
165
- 'INSERT INTO "UserWithNonUpdatableId" ("id", "name") VALUES ($1, $2) ON CONFLICT ("id") DO UPDATE SET "name" = EXCLUDED."name" RETURNING "id" "id"',
166
- );
167
- expect(values).toEqual([1, 'Some Name']);
168
- }
169
-
170
- shouldUpsertWithDoNothing() {
171
- const { sql, values } = this.exec((ctx) =>
172
- this.dialect.upsert(
173
- ctx,
174
- ItemTag,
175
- { id: true },
176
- {
177
- id: 1,
178
- },
179
- ),
180
- );
181
- expect(sql).toBe('INSERT INTO "ItemTag" ("id") VALUES ($1) ON CONFLICT ("id") DO NOTHING RETURNING "id" "id"');
182
- expect(values).toEqual([1]);
183
- }
184
-
185
- shouldUpsertWithCompositeKeys() {
186
- const { sql, values } = this.exec((ctx) =>
187
- this.dialect.upsert(
188
- ctx,
189
- ItemTag,
190
- { itemId: true, tagId: true },
191
- {
192
- itemId: 1,
193
- tagId: 2,
194
- },
195
- ),
196
- );
197
- expect(sql).toBe(
198
- 'INSERT INTO "ItemTag" ("itemId", "tagId") VALUES ($1, $2) ON CONFLICT ("itemId", "tagId") DO NOTHING RETURNING "id" "id"',
199
- );
200
- expect(values).toEqual([1, 2]);
201
- }
202
-
203
- shouldUpsertWithOnUpdateField() {
204
- const { sql, values } = this.exec((ctx) =>
205
- this.dialect.upsert(
206
- ctx,
207
- User,
208
- { id: true },
209
- {
210
- id: 1,
211
- name: 'Some Name',
212
- },
213
- ),
214
- );
215
- expect(sql).toMatch(
216
- /^INSERT INTO "User" \(.*"id".*"name".*"updatedAt".*"createdAt".*\) VALUES \(.*\$1, \$2, \$3, \$4.*\) ON CONFLICT \("id"\) DO UPDATE SET .*"name" = EXCLUDED."name".*"updatedAt" = EXCLUDED."updatedAt".*$/,
217
- );
218
- expect(values).toEqual([1, 'Some Name', expect.any(Number), expect.any(Number)]);
219
- }
220
-
221
- shouldUpsertWithVirtualField() {
222
- const { sql, values } = this.exec((ctx) =>
223
- this.dialect.upsert(
224
- ctx,
225
- Item,
226
- { id: true },
227
- {
228
- id: 1,
229
- name: 'Some Item',
230
- tagsCount: 5,
231
- },
232
- ),
233
- );
234
- expect(sql).toMatch(
235
- /^INSERT INTO "Item" \("id", "name", "updatedAt", "createdAt"\) VALUES \(\$1, \$2, \$3, \$4\) ON CONFLICT \("id"\) DO UPDATE SET "name" = EXCLUDED."name", "updatedAt" = EXCLUDED."updatedAt" RETURNING "id" "id"$/,
236
- );
237
- expect(values).toEqual([1, 'Some Item', expect.any(Number), expect.any(Number)]);
238
- }
239
-
240
- shouldFind$istartsWith() {
241
- let res = this.exec((ctx) =>
242
- this.dialect.find(ctx, User, {
243
- $select: ['id'],
244
- $where: { name: { $istartsWith: 'Some' } },
245
- $sort: { name: 1, id: -1 },
246
- $skip: 0,
247
- $limit: 50,
248
- }),
249
- );
250
- expect(res.sql).toBe('SELECT "id" FROM "User" WHERE "name" ILIKE $1 ORDER BY "name", "id" DESC LIMIT 50 OFFSET 0');
251
- expect(res.values).toEqual(['Some%']);
252
-
253
- res = this.exec((ctx) =>
254
- this.dialect.find(ctx, User, {
255
- $select: { id: true },
256
- $where: { name: { $istartsWith: 'Some', $ne: 'Something' } },
257
- $sort: { name: 1, id: -1 },
258
- $skip: 0,
259
- $limit: 50,
260
- }),
261
- );
262
- expect(res.sql).toBe(
263
- 'SELECT "id" FROM "User" WHERE ("name" ILIKE $1 AND "name" <> $2) ORDER BY "name", "id" DESC LIMIT 50 OFFSET 0',
264
- );
265
- expect(res.values).toEqual(['Some%', 'Something']);
266
- }
267
-
268
- shouldFind$iendsWith() {
269
- let res = this.exec((ctx) =>
270
- this.dialect.find(ctx, User, {
271
- $select: ['id'],
272
- $where: { name: { $iendsWith: 'Some' } },
273
- $sort: { name: 1, id: -1 },
274
- $skip: 0,
275
- $limit: 50,
276
- }),
277
- );
278
- expect(res.sql).toBe('SELECT "id" FROM "User" WHERE "name" ILIKE $1 ORDER BY "name", "id" DESC LIMIT 50 OFFSET 0');
279
- expect(res.values).toEqual(['%Some']);
280
-
281
- res = this.exec((ctx) =>
282
- this.dialect.find(ctx, User, {
283
- $select: { id: true },
284
- $where: { name: { $iendsWith: 'Some', $ne: 'Something' } },
285
- $sort: { name: 1, id: -1 },
286
- $skip: 0,
287
- $limit: 50,
288
- }),
289
- );
290
- expect(res.sql).toBe(
291
- 'SELECT "id" FROM "User" WHERE ("name" ILIKE $1 AND "name" <> $2) ORDER BY "name", "id" DESC LIMIT 50 OFFSET 0',
292
- );
293
- expect(res.values).toEqual(['%Some', 'Something']);
294
- }
295
-
296
- shouldFind$iincludes() {
297
- let res = this.exec((ctx) =>
298
- this.dialect.find(ctx, User, {
299
- $select: ['id'],
300
- $where: { name: { $iincludes: 'Some' } },
301
- $sort: { name: 1, id: -1 },
302
- $skip: 0,
303
- $limit: 50,
304
- }),
305
- );
306
- expect(res.sql).toBe('SELECT "id" FROM "User" WHERE "name" ILIKE $1 ORDER BY "name", "id" DESC LIMIT 50 OFFSET 0');
307
- expect(res.values).toEqual(['%Some%']);
308
-
309
- res = this.exec((ctx) =>
310
- this.dialect.find(ctx, User, {
311
- $select: { id: true },
312
- $where: { name: { $iincludes: 'Some', $ne: 'Something' } },
313
- $sort: { name: 1, id: -1 },
314
- $skip: 0,
315
- $limit: 50,
316
- }),
317
- );
318
- expect(res.sql).toBe(
319
- 'SELECT "id" FROM "User" WHERE ("name" ILIKE $1 AND "name" <> $2) ORDER BY "name", "id" DESC LIMIT 50 OFFSET 0',
320
- );
321
- expect(res.values).toEqual(['%Some%', 'Something']);
322
- }
323
-
324
- shouldFind$ilike() {
325
- let res = this.exec((ctx) =>
326
- this.dialect.find(ctx, User, {
327
- $select: ['id'],
328
- $where: { name: { $ilike: 'Some' } },
329
- $sort: { name: 1, id: -1 },
330
- $skip: 0,
331
- $limit: 50,
332
- }),
333
- );
334
- expect(res.sql).toBe('SELECT "id" FROM "User" WHERE "name" ILIKE $1 ORDER BY "name", "id" DESC LIMIT 50 OFFSET 0');
335
- expect(res.values).toEqual(['Some']);
336
-
337
- res = this.exec((ctx) =>
338
- this.dialect.find(ctx, User, {
339
- $select: { id: true },
340
- $where: { name: { $ilike: 'Some', $ne: 'Something' } },
341
- $sort: { name: 1, id: -1 },
342
- $skip: 0,
343
- $limit: 50,
344
- }),
345
- );
346
- expect(res.sql).toBe(
347
- 'SELECT "id" FROM "User" WHERE ("name" ILIKE $1 AND "name" <> $2) ORDER BY "name", "id" DESC LIMIT 50 OFFSET 0',
348
- );
349
- expect(res.values).toEqual(['Some', 'Something']);
350
- }
351
-
352
- shouldFind$regex() {
353
- const { sql, values } = this.exec((ctx) =>
354
- this.dialect.find(ctx, User, {
355
- $select: { id: true },
356
- $where: { name: { $regex: '^some' } },
357
- }),
358
- );
359
- expect(sql).toBe('SELECT "id" FROM "User" WHERE "name" ~ $1');
360
- expect(values).toEqual(['^some']);
361
- }
362
-
363
- shouldFind$text() {
364
- let res = this.exec((ctx) =>
365
- this.dialect.find(ctx, Item, {
366
- $select: { id: true },
367
- $where: { $text: { $fields: ['name', 'description'], $value: 'some text' }, code: '1' },
368
- $limit: 30,
369
- }),
370
- );
371
- expect(res.sql).toBe(
372
- 'SELECT "id" FROM "Item" WHERE to_tsvector("name" || \' \' || "description") @@ to_tsquery($1) AND "code" = $2 LIMIT 30',
373
- );
374
- expect(res.values).toEqual(['some text', '1']);
375
-
376
- res = this.exec((ctx) =>
377
- this.dialect.find(ctx, User, {
378
- $select: { id: true },
379
- $where: {
380
- $text: { $fields: ['name'], $value: 'something' },
381
- name: { $ne: 'other unwanted' },
382
- creatorId: 1,
383
- },
384
- $limit: 10,
385
- }),
386
- );
387
- expect(res.sql).toBe(
388
- 'SELECT "id" FROM "User" WHERE to_tsvector("name") @@ to_tsquery($1) AND "name" <> $2 AND "creatorId" = $3 LIMIT 10',
389
- );
390
- expect(res.values).toEqual(['something', 'other unwanted', 1]);
391
- }
392
-
393
- shouldUpdateWithRawString() {
394
- const { sql, values } = this.exec((ctx) =>
395
- this.dialect.update(
396
- ctx,
397
- Company,
398
- { $where: { id: 1 } },
399
- {
400
- kind: raw("jsonb_set(kind, '{open}', to_jsonb(1))"),
401
- updatedAt: 123,
402
- },
403
- ),
404
- );
405
- expect(sql).toBe(
406
- 'UPDATE "Company" SET "kind" = jsonb_set(kind, \'{open}\', to_jsonb(1)), "updatedAt" = $1 WHERE "id" = $2',
407
- );
408
- expect(values).toEqual([123, 1]);
409
- }
410
-
411
- shouldUpdateWithJsonbField() {
412
- const { sql, values } = this.exec((ctx) =>
413
- this.dialect.update(
414
- ctx,
415
- Company,
416
- { $where: { id: 1 } },
417
- {
418
- kind: { private: 1 },
419
- updatedAt: 123,
420
- },
421
- ),
422
- );
423
- expect(sql).toBe('UPDATE "Company" SET "kind" = $1::jsonb, "updatedAt" = $2 WHERE "id" = $3');
424
- expect(values).toEqual(['{"private":1}', 123, 1]);
425
- }
426
- }
427
-
428
- createSpec(new PostgresDialectSpec());
@@ -1,144 +0,0 @@
1
- import sqlstring from 'sqlstring-sqlite';
2
- import { AbstractSqlDialect } from '../dialect/index.js';
3
- import { getMeta } from '../entity/index.js';
4
- import {
5
- type FieldKey,
6
- type FieldOptions,
7
- type NamingStrategy,
8
- type QueryComparisonOptions,
9
- type QueryConflictPaths,
10
- type QueryContext,
11
- type QueryOptions,
12
- QueryRaw,
13
- type QueryTextSearchOptions,
14
- type QueryWhereFieldOperatorMap,
15
- type QueryWhereMap,
16
- type Type,
17
- } from '../type/index.js';
18
-
19
- export class PostgresDialect extends AbstractSqlDialect {
20
- constructor(namingStrategy?: NamingStrategy) {
21
- super(namingStrategy, '"', 'BEGIN TRANSACTION');
22
- }
23
-
24
- override addValue(values: unknown[], value: unknown): string {
25
- values.push(value);
26
- return this.placeholder(values.length);
27
- }
28
-
29
- override placeholder(index: number): string {
30
- return `$${index}`;
31
- }
32
-
33
- override insert<E>(ctx: QueryContext, entity: Type<E>, payload: E | E[], opts?: QueryOptions): void {
34
- super.insert(ctx, entity, payload, opts);
35
- ctx.append(' ' + this.returningId(entity));
36
- }
37
-
38
- override upsert<E>(ctx: QueryContext, entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E): void {
39
- const meta = getMeta(entity);
40
- const update = this.getUpsertUpdateAssignments(ctx, meta, conflictPaths, payload, (name) => `EXCLUDED.${name}`);
41
- const keysStr = this.getUpsertConflictPathsStr(meta, conflictPaths);
42
- const onConflict = update ? `DO UPDATE SET ${update}` : 'DO NOTHING';
43
- super.insert(ctx, entity, payload);
44
- ctx.append(` ON CONFLICT (${keysStr}) ${onConflict} ${this.returningId(entity)}`);
45
- }
46
-
47
- override compare<E, K extends keyof QueryWhereMap<E>>(
48
- ctx: QueryContext,
49
- entity: Type<E>,
50
- key: K,
51
- val: QueryWhereMap<E>[K],
52
- opts: QueryComparisonOptions = {},
53
- ): void {
54
- if (key === '$text') {
55
- const meta = getMeta(entity);
56
- const search = val as QueryTextSearchOptions<E>;
57
- const fields = search.$fields
58
- .map((fKey) => {
59
- const field = meta.fields[fKey];
60
- const columnName = this.resolveColumnName(fKey as string, field);
61
- return this.escapeId(columnName);
62
- })
63
- .join(` || ' ' || `);
64
- ctx.append(`to_tsvector(${fields}) @@ to_tsquery(`);
65
- ctx.addValue(search.$value);
66
- ctx.append(')');
67
- return;
68
- }
69
- super.compare(ctx, entity, key, val, opts);
70
- }
71
-
72
- override compareFieldOperator<E, K extends keyof QueryWhereFieldOperatorMap<E>>(
73
- ctx: QueryContext,
74
- entity: Type<E>,
75
- key: FieldKey<E>,
76
- op: K,
77
- val: QueryWhereFieldOperatorMap<E>[K],
78
- opts: QueryOptions = {},
79
- ): void {
80
- switch (op) {
81
- case '$istartsWith':
82
- this.getComparisonKey(ctx, entity, key, opts);
83
- ctx.append(' ILIKE ');
84
- ctx.addValue(`${val}%`);
85
- break;
86
- case '$iendsWith':
87
- this.getComparisonKey(ctx, entity, key, opts);
88
- ctx.append(' ILIKE ');
89
- ctx.addValue(`%${val}`);
90
- break;
91
- case '$iincludes':
92
- this.getComparisonKey(ctx, entity, key, opts);
93
- ctx.append(' ILIKE ');
94
- ctx.addValue(`%${val}%`);
95
- break;
96
- case '$ilike':
97
- this.getComparisonKey(ctx, entity, key, opts);
98
- ctx.append(' ILIKE ');
99
- ctx.addValue(val);
100
- break;
101
- case '$in':
102
- this.getComparisonKey(ctx, entity, key, opts);
103
- ctx.append(' = ANY(');
104
- ctx.addValue(val);
105
- ctx.append(')');
106
- break;
107
- case '$nin':
108
- this.getComparisonKey(ctx, entity, key, opts);
109
- ctx.append(' <> ALL(');
110
- ctx.addValue(val);
111
- ctx.append(')');
112
- break;
113
- case '$regex':
114
- this.getComparisonKey(ctx, entity, key, opts);
115
- ctx.append(' ~ ');
116
- ctx.addValue(val);
117
- break;
118
- default:
119
- super.compareFieldOperator(ctx, entity, key, op, val, opts);
120
- }
121
- }
122
-
123
- protected override formatPersistableValue<E>(ctx: QueryContext, field: FieldOptions, value: unknown): void {
124
- if (value instanceof QueryRaw) {
125
- super.formatPersistableValue(ctx, field, value);
126
- return;
127
- }
128
- if (field.type === 'json' || field.type === 'jsonb') {
129
- ctx.addValue(value ? JSON.stringify(value) : null);
130
- ctx.append(`::${field.type}`);
131
- return;
132
- }
133
- if (field.type === 'vector' && Array.isArray(value)) {
134
- ctx.addValue(`[${value.join(',')}]`);
135
- ctx.append('::vector');
136
- return;
137
- }
138
- super.formatPersistableValue(ctx, field, value);
139
- }
140
-
141
- override escape(value: unknown): string {
142
- return sqlstring.escape(value);
143
- }
144
- }