@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,375 +0,0 @@
1
- import { randomUUID } from 'node:crypto';
2
- import { Entity, Field, Id, ManyToMany, ManyToOne, OneToMany, OneToOne } from '../entity/index.js';
3
- import { idKey, type Relation } from '../type/index.js';
4
- import { raw } from '../util/index.js';
5
-
6
- /**
7
- * an `abstract` class can (optionally) be used as the base "template" for the entities
8
- * (so common fields' declaration is easily reused).
9
- */
10
- export abstract class BaseEntity {
11
- /**
12
- * auto-generated primary-key (when the `onInsert` property is omitted).
13
- */
14
- @Id()
15
- id?: number;
16
-
17
- /**
18
- * foreign-keys are really simple to specify with the `reference` property.
19
- */
20
- @Field({ reference: () => Company })
21
- companyId?: number;
22
-
23
- /**
24
- * The `Relation` wrapper type can be used in ESM projects for the relations to
25
- * avoid circular dependency issues.
26
- */
27
- @ManyToOne({ entity: () => Company })
28
- company?: Relation<Company>;
29
-
30
- @Field({ reference: () => User })
31
- creatorId?: number;
32
-
33
- @ManyToOne({ entity: () => User })
34
- creator?: Relation<User>;
35
-
36
- /**
37
- * 'onInsert' property can be used to specify a custom mechanism for
38
- * obtaining the value of a field when inserting:
39
- */
40
- @Field({ onInsert: Date.now })
41
- createdAt?: number;
42
-
43
- /**
44
- * 'onUpdate' property can be used to specify a custom mechanism for
45
- * obtaining the value of a field when updating:
46
- */
47
- @Field({ onUpdate: Date.now })
48
- updatedAt?: number;
49
- }
50
-
51
- export type CompanyKindKey = 'public' | 'private';
52
-
53
- export type CompanyKind = { [k in CompanyKindKey]?: 0 | 1 };
54
-
55
- /**
56
- * `Company` will inherit all the fields (including the `Id`) declared in `BaseEntity`.
57
- */
58
- @Entity()
59
- export class Company extends BaseEntity {
60
- @Field()
61
- name?: string;
62
-
63
- @Field()
64
- description?: string;
65
-
66
- @Field({ type: 'jsonb' })
67
- kind?: CompanyKind;
68
- }
69
-
70
- /**
71
- * and entity can specify the table name.
72
- */
73
- @Entity({ name: 'user_profile' })
74
- export class Profile extends BaseEntity {
75
- /**
76
- * an entity can specify its own ID Field and still inherit the others
77
- * columns/relations from its parent entity.
78
- */
79
- @Id()
80
- pk?: number;
81
-
82
- @Field({ name: 'image' })
83
- picture?: string;
84
-
85
- @OneToOne({ entity: () => User })
86
- declare creator?: Relation<User>;
87
- }
88
-
89
- @Entity()
90
- export class User extends BaseEntity {
91
- @Field()
92
- name?: string;
93
-
94
- @Field({ updatable: false })
95
- email?: string;
96
-
97
- @Field({ eager: false })
98
- password?: string;
99
-
100
- /**
101
- * `mappedBy` property can be a callback or a string (callback is useful for auto-refactoring).
102
- */
103
- @OneToOne({ entity: () => Profile, mappedBy: (profile) => profile.creator, cascade: true })
104
- profile?: Profile;
105
-
106
- @OneToMany({ entity: () => User, mappedBy: 'creator' })
107
- users?: User[];
108
- }
109
-
110
- @Entity()
111
- export class UserWithNonUpdatableId {
112
- @Id({ updatable: false })
113
- id: number;
114
-
115
- @Field()
116
- name: string;
117
- }
118
-
119
- @Entity()
120
- export class LedgerAccount extends BaseEntity {
121
- @Field()
122
- name?: string;
123
-
124
- @Field()
125
- description?: string;
126
-
127
- @Field({ reference: () => LedgerAccount })
128
- parentLedgerId?: number;
129
-
130
- @ManyToOne()
131
- parentLedger?: LedgerAccount;
132
- }
133
-
134
- @Entity()
135
- export class TaxCategory extends BaseEntity {
136
- /**
137
- * `idKey` symbol can be used to specify the name of the identifier property,
138
- * so the type of the identifier can always be type-safe
139
- * (the identifiers named as `id` or `_id` are auto-inferred).
140
- */
141
- [idKey]?: 'pk';
142
-
143
- /**
144
- * an entity can override the ID Field and still inherit the others
145
- * columns/relations from its parent entity.
146
- * 'onInsert' property can be used to specify a custom mechanism for
147
- * auto-generating the primary-key's value when inserting.
148
- */
149
- @Id({ onInsert: randomUUID })
150
- pk?: string;
151
-
152
- @Field()
153
- name?: string;
154
-
155
- @Field()
156
- description?: string;
157
- }
158
-
159
- @Entity()
160
- export class Tax extends BaseEntity {
161
- @Field()
162
- name?: string;
163
-
164
- @Field()
165
- percentage?: number;
166
-
167
- @Field({ reference: () => TaxCategory })
168
- categoryId?: string;
169
-
170
- @ManyToOne()
171
- category?: TaxCategory;
172
-
173
- @Field()
174
- description?: string;
175
- }
176
-
177
- /**
178
- * `softDelete` will make the entity "soft deletable".
179
- */
180
- @Entity({ softDelete: true })
181
- export class MeasureUnitCategory extends BaseEntity {
182
- @Field()
183
- name?: string;
184
-
185
- @OneToMany({ entity: () => MeasureUnit, mappedBy: (measureUnit) => measureUnit.categoryId })
186
- measureUnits?: MeasureUnit[];
187
-
188
- /**
189
- * `onDelete` callback allows to specify which field will be used when deleting/querying this entity.
190
- */
191
- @Field({ onDelete: Date.now })
192
- deletedAt?: number;
193
- }
194
-
195
- @Entity({ softDelete: true })
196
- export class MeasureUnit extends BaseEntity {
197
- @Field()
198
- name?: string;
199
-
200
- @Field({ reference: () => MeasureUnitCategory })
201
- categoryId?: number;
202
-
203
- @ManyToOne({ cascade: 'persist' })
204
- category?: MeasureUnitCategory;
205
-
206
- @Field({ onDelete: Date.now })
207
- deletedAt?: number;
208
- }
209
-
210
- @Entity()
211
- export class Storehouse extends BaseEntity {
212
- @Field()
213
- name?: string;
214
-
215
- @Field()
216
- address?: string;
217
-
218
- @Field()
219
- description?: string;
220
- }
221
-
222
- @Entity()
223
- export class Item extends BaseEntity {
224
- @Field()
225
- name?: string;
226
-
227
- @Field()
228
- description?: string;
229
-
230
- @Field()
231
- code?: string;
232
-
233
- @Field({ reference: () => LedgerAccount })
234
- buyLedgerAccountId?: number;
235
-
236
- @ManyToOne()
237
- buyLedgerAccount?: LedgerAccount;
238
-
239
- @Field({ reference: () => LedgerAccount })
240
- saleLedgerAccountId?: number;
241
-
242
- @ManyToOne()
243
- saleLedgerAccount?: LedgerAccount;
244
-
245
- @Field({ reference: () => Tax })
246
- taxId?: number;
247
-
248
- @ManyToOne()
249
- tax?: Tax;
250
-
251
- @Field({ reference: () => MeasureUnit })
252
- measureUnitId?: number;
253
-
254
- @ManyToOne()
255
- measureUnit?: MeasureUnit;
256
-
257
- @Field()
258
- salePrice?: number;
259
-
260
- @Field()
261
- inventoryable?: boolean;
262
-
263
- @ManyToMany({ entity: () => Tag, through: () => ItemTag, cascade: true })
264
- tags?: Tag[];
265
-
266
- @Field({
267
- /**
268
- * `virtual` property allows defining the value for a non-persistent field,
269
- * such value might be a scalar or a (`raw`) function. Virtual-fields can
270
- * be used in `$select` and `$where` as a common field whose value is
271
- * replaced is replaced at runtime.
272
- */
273
- virtual: raw(({ ctx, escapedPrefix, dialect }) => {
274
- ctx.append('(');
275
- dialect.count(
276
- ctx,
277
- ItemTag,
278
- {
279
- $where: {
280
- itemId: raw(({ ctx }) => {
281
- ctx.append(escapedPrefix + dialect.escapeId('id'));
282
- }),
283
- },
284
- },
285
- { autoPrefix: true },
286
- );
287
- ctx.append(')');
288
- }),
289
- })
290
- tagsCount?: number;
291
- }
292
-
293
- @Entity()
294
- export class Tag extends BaseEntity {
295
- @Field()
296
- name?: string;
297
-
298
- @ManyToMany({ entity: () => Item, mappedBy: (item) => item.tags })
299
- items?: Item[];
300
-
301
- @Field({
302
- virtual: raw(({ ctx, escapedPrefix, dialect }) => {
303
- ctx.append('(');
304
- dialect.count(
305
- ctx,
306
- ItemTag,
307
- {
308
- $where: {
309
- tagId: raw(({ ctx }) => {
310
- ctx.append(escapedPrefix + dialect.escapeId('id'));
311
- }),
312
- },
313
- },
314
- { autoPrefix: true },
315
- );
316
- ctx.append(')');
317
- }),
318
- })
319
- itemsCount?: number;
320
- }
321
-
322
- @Entity()
323
- export class ItemTag {
324
- @Id()
325
- id?: number;
326
-
327
- @Field({ reference: () => Item })
328
- itemId?: number;
329
-
330
- @Field({ reference: () => Tag })
331
- tagId?: number;
332
- }
333
-
334
- @Entity()
335
- export class InventoryAdjustment extends BaseEntity {
336
- @OneToMany({
337
- entity: () => ItemAdjustment,
338
- mappedBy: (rel) => rel.inventoryAdjustment,
339
- cascade: true,
340
- })
341
- itemAdjustments?: ItemAdjustment[];
342
-
343
- @Field()
344
- date?: Date;
345
-
346
- @Field()
347
- description?: string;
348
- }
349
-
350
- @Entity()
351
- export class ItemAdjustment extends BaseEntity {
352
- @Field({ reference: () => Item })
353
- itemId?: number;
354
-
355
- @ManyToOne()
356
- item?: Item;
357
-
358
- @Field()
359
- number?: number;
360
-
361
- @Field()
362
- buyPrice?: number;
363
-
364
- @Field({ reference: () => Storehouse })
365
- storehouseId?: number;
366
-
367
- @ManyToOne()
368
- storehouse?: Storehouse;
369
-
370
- @Field({ reference: () => InventoryAdjustment })
371
- inventoryAdjustmentId?: number;
372
-
373
- @ManyToOne()
374
- inventoryAdjustment?: InventoryAdjustment;
375
- }
package/src/test/index.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from './entityMock.js';
2
- export * from './it.util.js';
3
- export * from './spec.util.js';
@@ -1,69 +0,0 @@
1
- import { getEntities, getMeta } from '../entity/decorator/index.js';
2
- import type { AbstractSqlQuerier } from '../querier/index.js';
3
- import type { Type } from '../type/index.js';
4
- import { getKeys } from '../util/index.js';
5
-
6
- export async function createTables(querier: AbstractSqlQuerier, primaryKeyType: string) {
7
- const entities = getEntities();
8
- await Promise.all(
9
- entities.map((entity) => {
10
- const sql = getDdlForTable(entity, querier, primaryKeyType);
11
- return querier.run(sql);
12
- }),
13
- );
14
- }
15
-
16
- export async function dropTables(querier: AbstractSqlQuerier) {
17
- const entities = getEntities();
18
- await Promise.all(
19
- entities.map((entity) => {
20
- const meta = getMeta(entity);
21
- const sql = `DROP TABLE IF EXISTS ${querier.dialect.escapeId(meta.name)}`;
22
- return querier.run(sql);
23
- }),
24
- );
25
- }
26
-
27
- export async function clearTables(querier: AbstractSqlQuerier) {
28
- const entities = getEntities();
29
- await Promise.all(
30
- entities.map((entity) => {
31
- const ctx = querier.dialect.createContext();
32
- querier.dialect.delete(ctx, entity, {});
33
- return querier.run(ctx.sql, ctx.values);
34
- }),
35
- );
36
- }
37
-
38
- function getDdlForTable<E>(entity: Type<E>, querier: AbstractSqlQuerier, primaryKeyType: string) {
39
- const meta = getMeta(entity);
40
-
41
- let sql = `CREATE TABLE ${querier.dialect.escapeId(meta.name)} (\n\t`;
42
-
43
- const insertableIdType = 'VARCHAR(36)';
44
- const defaultType = 'VARCHAR(255)';
45
-
46
- const columns = getKeys(meta.fields).map((key) => {
47
- const field = meta.fields[key];
48
- let propSql = querier.dialect.escapeId(field.name) + ' ';
49
- if (field.isId) {
50
- propSql += field.onInsert ? `${insertableIdType} PRIMARY KEY` : primaryKeyType;
51
- } else {
52
- if (field.type === Number) {
53
- propSql += 'BIGINT';
54
- } else if (field.type === Date) {
55
- propSql += 'TIMESTAMP';
56
- } else {
57
- propSql += defaultType;
58
- }
59
- }
60
- return propSql;
61
- });
62
-
63
- sql += columns.join(',\n\t');
64
- sql += `\n);`;
65
-
66
- // log('sql', sql);
67
-
68
- return sql;
69
- }
@@ -1,57 +0,0 @@
1
- import { afterAll, afterEach, beforeAll, beforeEach, describe, it } from 'bun:test';
2
-
3
- export function createSpec<T extends Spec>(spec: T) {
4
- const proto: FunctionConstructor = Object.getPrototypeOf(spec);
5
- let describeFn: typeof describe;
6
- const specName = proto.constructor.name;
7
-
8
- if (specName.startsWith('fff')) {
9
- describeFn = describe.only;
10
- } else if (specName.startsWith('xxx')) {
11
- describeFn = describe.skip;
12
- } else {
13
- describeFn = describe;
14
- }
15
-
16
- describeFn(specName, () => createTestCases(spec));
17
- }
18
-
19
- function createTestCases(spec: object) {
20
- let proto: FunctionConstructor = Object.getPrototypeOf(spec);
21
-
22
- const processedMethodsMap: { [k: string]: true } = {};
23
-
24
- while (proto.constructor !== Object) {
25
- for (const key of Object.getOwnPropertyNames(proto)) {
26
- const isProcessed = processedMethodsMap[key];
27
- processedMethodsMap[key] = true;
28
- if (isProcessed || key === 'constructor' || typeof spec[key] !== 'function') {
29
- continue;
30
- }
31
- const callback: () => void | Promise<void> = spec[key].bind(spec);
32
- if (hooks[key]) {
33
- hooks[key](callback);
34
- } else if (key.startsWith('should')) {
35
- it(key, callback);
36
- } else if (key.startsWith('fffShould')) {
37
- it.only(key, callback);
38
- } else if (key.startsWith('xxxShould')) {
39
- it.skip(key, callback);
40
- }
41
- }
42
- proto = Object.getPrototypeOf(proto);
43
- }
44
- }
45
-
46
- const hooks = {
47
- beforeAll,
48
- beforeEach,
49
- afterEach,
50
- afterAll,
51
- } as const;
52
-
53
- type SpecHooks = Partial<typeof hooks>;
54
-
55
- export type Spec = SpecHooks & {
56
- readonly [k: string]: (() => void | Promise<void>) | any;
57
- };
@@ -1,218 +0,0 @@
1
- import type { QueryRaw } from './query.js';
2
- import type { Scalar, Type } from './utility.js';
3
-
4
- /**
5
- * Allow to customize the name of the property that identifies an entity
6
- */
7
- export const idKey = Symbol('idKey');
8
-
9
- /**
10
- * Infers the key names of an entity
11
- */
12
- export type Key<E> = keyof E & string;
13
-
14
- /**
15
- * Infers the field names of an entity
16
- */
17
- export type FieldKey<E> = {
18
- readonly [K in keyof E]: E[K] extends Scalar ? K : never;
19
- }[Key<E>];
20
-
21
- /**
22
- * Infers the relation names of an entity
23
- */
24
- export type RelationKey<E> = {
25
- readonly [K in keyof E]: E[K] extends Scalar ? never : K;
26
- }[Key<E>];
27
-
28
- /**
29
- * Infers the field values of an entity
30
- */
31
- export type FieldValue<E> = E[FieldKey<E>];
32
-
33
- /**
34
- * Infers the name of the key identifier on an entity
35
- */
36
- export type IdKey<E> = E extends { [idKey]?: infer K }
37
- ? K & FieldKey<E>
38
- : E extends { _id?: unknown }
39
- ? '_id' & FieldKey<E>
40
- : E extends { id?: unknown }
41
- ? 'id' & FieldKey<E>
42
- : E extends { uuid?: unknown }
43
- ? 'uuid' & FieldKey<E>
44
- : FieldKey<E>;
45
-
46
- /**
47
- * Infers the value of the key identifier on an entity
48
- */
49
- export type IdValue<E> = E[IdKey<E>];
50
-
51
- /**
52
- * Infers the values of the relations on an entity
53
- */
54
- export type RelationValue<E> = E[RelationKey<E>];
55
-
56
- /**
57
- * Configurable options for an entity
58
- */
59
- export type EntityOptions = {
60
- readonly name?: string;
61
- readonly softDelete?: boolean;
62
- };
63
-
64
- /**
65
- * SQL column types supported by uql migrations
66
- */
67
- export type ColumnType =
68
- | 'int'
69
- | 'smallint'
70
- | 'bigint'
71
- | 'float'
72
- | 'double'
73
- | 'decimal'
74
- | 'numeric'
75
- | 'real'
76
- | 'boolean'
77
- | 'char'
78
- | 'varchar'
79
- | 'text'
80
- | 'uuid'
81
- | 'date'
82
- | 'time'
83
- | 'timestamp'
84
- | 'timestamptz'
85
- | 'json'
86
- | 'jsonb'
87
- | 'blob'
88
- | 'bytea'
89
- | 'vector'
90
- | 'serial'
91
- | 'bigserial';
92
-
93
- /**
94
- * Configurable options for a field
95
- */
96
- export type FieldOptions = {
97
- readonly name?: string;
98
- readonly isId?: true;
99
- readonly type?: any;
100
- readonly reference?: EntityGetter;
101
- readonly virtual?: QueryRaw;
102
- readonly updatable?: boolean;
103
- readonly eager?: boolean;
104
- readonly onInsert?: OnFieldCallback;
105
- readonly onUpdate?: OnFieldCallback;
106
- readonly onDelete?: OnFieldCallback;
107
-
108
- // Schema/migration properties
109
- /**
110
- * SQL column type for migrations. If not specified, inferred from TypeScript type.
111
- */
112
- readonly columnType?: ColumnType;
113
- /**
114
- * Column length (e.g., VARCHAR(100)). Defaults to 255 for varchar.
115
- */
116
- readonly length?: number;
117
- /**
118
- * Precision for decimal/numeric types.
119
- */
120
- readonly precision?: number;
121
- /**
122
- * Scale for decimal/numeric types.
123
- */
124
- readonly scale?: number;
125
- /**
126
- * Whether the column allows NULL values. Defaults to true except for ID fields.
127
- */
128
- readonly nullable?: boolean;
129
- /**
130
- * Whether the column has a UNIQUE constraint.
131
- */
132
- readonly unique?: boolean;
133
- /**
134
- * Default value for the column.
135
- */
136
- readonly defaultValue?: Scalar | null;
137
- /**
138
- * Whether the column is auto-incrementing (for integer IDs).
139
- */
140
- readonly autoIncrement?: boolean;
141
- /**
142
- * Index configuration. true for simple index, string for named index.
143
- */
144
- readonly index?: boolean | string;
145
- /**
146
- * Column comment/description for database documentation.
147
- */
148
- readonly comment?: string;
149
- };
150
-
151
- export type OnFieldCallback = Scalar | QueryRaw | (() => Scalar | QueryRaw);
152
-
153
- export type EntityGetter<E = any> = () => Type<E>;
154
-
155
- export type CascadeType = 'persist' | 'delete';
156
-
157
- export type RelationOptions<E = any> = {
158
- entity?: EntityGetter<E>;
159
- cardinality: RelationCardinality;
160
- readonly cascade?: boolean | CascadeType;
161
- mappedBy?: RelationMappedBy<E>;
162
- through?: EntityGetter<RelationValue<E>>;
163
- references?: RelationReferences;
164
- };
165
- type RelationOptionsOwner<E> = Pick<RelationOptions<E>, 'entity' | 'references' | 'cascade'>;
166
- type RelationOptionsInverseSide<E> = Required<Pick<RelationOptions<E>, 'entity' | 'mappedBy'>> &
167
- Pick<RelationOptions<E>, 'cascade'>;
168
- type RelationOptionsThroughOwner<E> = Required<Pick<RelationOptions<E>, 'entity'>> &
169
- Pick<RelationOptions<E>, 'through' | 'references' | 'cascade'>;
170
-
171
- export type RelationKeyMap<E> = { readonly [K in keyof E]: K };
172
-
173
- export type RelationKeyMapper<E> = (keyMap: RelationKeyMap<E>) => Key<E>;
174
-
175
- export type RelationReferences = { readonly local: string; readonly foreign: string }[];
176
-
177
- export type RelationMappedBy<E> = Key<E> | RelationKeyMapper<E>;
178
-
179
- export type RelationCardinality = '11' | 'm1' | '1m' | 'mm';
180
-
181
- export type RelationOneToOneOptions<E> = RelationOptionsOwner<E> | RelationOptionsInverseSide<E>;
182
-
183
- export type RelationOneToManyOptions<E> = RelationOptionsInverseSide<E> | RelationOptionsThroughOwner<E>;
184
-
185
- export type RelationManyToOneOptions<E> = RelationOptionsOwner<E>;
186
-
187
- export type RelationManyToManyOptions<E> = RelationOptionsThroughOwner<E> | RelationOptionsInverseSide<E>;
188
-
189
- /**
190
- * Wrapper type for relation type definitions in entities.
191
- * Used to circumvent ESM modules circular dependency issue caused by reflection metadata saving the type of the property.
192
- *
193
- * Usage example:
194
- * @Entity()
195
- * export default class User {
196
- *
197
- * @OneToOne(() => Profile, profile => profile.user)
198
- * profile: Relation<Profile>;
199
- *
200
- * }
201
- */
202
- export type Relation<T> = T;
203
-
204
- export type EntityMeta<E> = {
205
- readonly entity: Type<E>;
206
- name?: string;
207
- id?: IdKey<E>;
208
- softDelete?: FieldKey<E>;
209
- fields: {
210
- [K in FieldKey<E>]?: FieldOptions;
211
- };
212
- relations: {
213
- [K in RelationKey<E>]?: RelationOptions;
214
- };
215
- processed?: boolean;
216
- };
217
-
218
- export type Primitive = string | number | symbol;