uql-orm 0.1.0

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 (540) hide show
  1. package/CHANGELOG.md +521 -0
  2. package/LICENSE.md +22 -0
  3. package/README.md +560 -0
  4. package/dist/browser/cc-BEf4wTUm.js +535 -0
  5. package/dist/browser/cc-BEf4wTUm.js.map +1 -0
  6. package/dist/browser/http/bus.d.ts +4 -0
  7. package/dist/browser/http/bus.d.ts.map +1 -0
  8. package/dist/browser/http/bus.js +14 -0
  9. package/dist/browser/http/bus.js.map +1 -0
  10. package/dist/browser/http/http.d.ts +7 -0
  11. package/dist/browser/http/http.d.ts.map +1 -0
  12. package/dist/browser/http/http.js +45 -0
  13. package/dist/browser/http/http.js.map +1 -0
  14. package/dist/browser/http/index.d.ts +3 -0
  15. package/dist/browser/http/index.d.ts.map +1 -0
  16. package/dist/browser/http/index.js +3 -0
  17. package/dist/browser/http/index.js.map +1 -0
  18. package/dist/browser/index.d.ts +5 -0
  19. package/dist/browser/index.d.ts.map +1 -0
  20. package/dist/browser/index.js +5 -0
  21. package/dist/browser/index.js.map +1 -0
  22. package/dist/browser/options.d.ts +5 -0
  23. package/dist/browser/options.d.ts.map +1 -0
  24. package/dist/browser/options.js +14 -0
  25. package/dist/browser/options.js.map +1 -0
  26. package/dist/browser/querier/httpQuerier.d.ts +20 -0
  27. package/dist/browser/querier/httpQuerier.d.ts.map +1 -0
  28. package/dist/browser/querier/httpQuerier.js +68 -0
  29. package/dist/browser/querier/httpQuerier.js.map +1 -0
  30. package/dist/browser/querier/index.d.ts +3 -0
  31. package/dist/browser/querier/index.d.ts.map +1 -0
  32. package/dist/browser/querier/index.js +3 -0
  33. package/dist/browser/querier/index.js.map +1 -0
  34. package/dist/browser/querier/querier.util.d.ts +3 -0
  35. package/dist/browser/querier/querier.util.d.ts.map +1 -0
  36. package/dist/browser/querier/querier.util.js +17 -0
  37. package/dist/browser/querier/querier.util.js.map +1 -0
  38. package/dist/browser/type/clientQuerier.d.ts +24 -0
  39. package/dist/browser/type/clientQuerier.d.ts.map +1 -0
  40. package/dist/browser/type/clientQuerier.js +2 -0
  41. package/dist/browser/type/clientQuerier.js.map +1 -0
  42. package/dist/browser/type/clientQuerierPool.d.ts +5 -0
  43. package/dist/browser/type/clientQuerierPool.d.ts.map +1 -0
  44. package/dist/browser/type/clientQuerierPool.js +2 -0
  45. package/dist/browser/type/clientQuerierPool.js.map +1 -0
  46. package/dist/browser/type/index.d.ts +4 -0
  47. package/dist/browser/type/index.d.ts.map +1 -0
  48. package/dist/browser/type/index.js +4 -0
  49. package/dist/browser/type/index.js.map +1 -0
  50. package/dist/browser/type/request.d.ts +29 -0
  51. package/dist/browser/type/request.d.ts.map +1 -0
  52. package/dist/browser/type/request.js +2 -0
  53. package/dist/browser/type/request.js.map +1 -0
  54. package/dist/browser/uql-browser.min.js +4818 -0
  55. package/dist/browser/uql-browser.min.js.map +1 -0
  56. package/dist/d1/d1Querier.d.ts +45 -0
  57. package/dist/d1/d1Querier.d.ts.map +1 -0
  58. package/dist/d1/d1Querier.js +31 -0
  59. package/dist/d1/d1Querier.js.map +1 -0
  60. package/dist/d1/d1QuerierPool.d.ts +10 -0
  61. package/dist/d1/d1QuerierPool.d.ts.map +1 -0
  62. package/dist/d1/d1QuerierPool.js +16 -0
  63. package/dist/d1/d1QuerierPool.js.map +1 -0
  64. package/dist/d1/index.d.ts +3 -0
  65. package/dist/d1/index.d.ts.map +1 -0
  66. package/dist/d1/index.js +3 -0
  67. package/dist/d1/index.js.map +1 -0
  68. package/dist/dialect/abstractDialect.d.ts +22 -0
  69. package/dist/dialect/abstractDialect.d.ts.map +1 -0
  70. package/dist/dialect/abstractDialect.js +37 -0
  71. package/dist/dialect/abstractDialect.js.map +1 -0
  72. package/dist/dialect/abstractSqlDialect.d.ts +140 -0
  73. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -0
  74. package/dist/dialect/abstractSqlDialect.js +957 -0
  75. package/dist/dialect/abstractSqlDialect.js.map +1 -0
  76. package/dist/dialect/dialectConfig.d.ts +23 -0
  77. package/dist/dialect/dialectConfig.d.ts.map +1 -0
  78. package/dist/dialect/dialectConfig.js +96 -0
  79. package/dist/dialect/dialectConfig.js.map +1 -0
  80. package/dist/dialect/index.d.ts +5 -0
  81. package/dist/dialect/index.d.ts.map +1 -0
  82. package/dist/dialect/index.js +5 -0
  83. package/dist/dialect/index.js.map +1 -0
  84. package/dist/dialect/queryContext.d.ts +49 -0
  85. package/dist/dialect/queryContext.d.ts.map +1 -0
  86. package/dist/dialect/queryContext.js +65 -0
  87. package/dist/dialect/queryContext.js.map +1 -0
  88. package/dist/entity/decorator/definition.d.ts +11 -0
  89. package/dist/entity/decorator/definition.d.ts.map +1 -0
  90. package/dist/entity/decorator/definition.js +247 -0
  91. package/dist/entity/decorator/definition.js.map +1 -0
  92. package/dist/entity/decorator/entity.d.ts +3 -0
  93. package/dist/entity/decorator/entity.d.ts.map +1 -0
  94. package/dist/entity/decorator/entity.js +7 -0
  95. package/dist/entity/decorator/entity.js.map +1 -0
  96. package/dist/entity/decorator/field.d.ts +3 -0
  97. package/dist/entity/decorator/field.d.ts.map +1 -0
  98. package/dist/entity/decorator/field.js +8 -0
  99. package/dist/entity/decorator/field.js.map +1 -0
  100. package/dist/entity/decorator/hook.d.ts +8 -0
  101. package/dist/entity/decorator/hook.d.ts.map +1 -0
  102. package/dist/entity/decorator/hook.js +15 -0
  103. package/dist/entity/decorator/hook.js.map +1 -0
  104. package/dist/entity/decorator/id.d.ts +3 -0
  105. package/dist/entity/decorator/id.d.ts.map +1 -0
  106. package/dist/entity/decorator/id.js +8 -0
  107. package/dist/entity/decorator/id.js.map +1 -0
  108. package/dist/entity/decorator/index-decorator.d.ts +36 -0
  109. package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
  110. package/dist/entity/decorator/index-decorator.js +52 -0
  111. package/dist/entity/decorator/index-decorator.js.map +1 -0
  112. package/dist/entity/decorator/index.d.ts +8 -0
  113. package/dist/entity/decorator/index.d.ts.map +1 -0
  114. package/dist/entity/decorator/index.js +8 -0
  115. package/dist/entity/decorator/index.js.map +1 -0
  116. package/dist/entity/decorator/relation.d.ts +9 -0
  117. package/dist/entity/decorator/relation.d.ts.map +1 -0
  118. package/dist/entity/decorator/relation.js +20 -0
  119. package/dist/entity/decorator/relation.js.map +1 -0
  120. package/dist/entity/index.d.ts +2 -0
  121. package/dist/entity/index.d.ts.map +1 -0
  122. package/dist/entity/index.js +2 -0
  123. package/dist/entity/index.js.map +1 -0
  124. package/dist/express/index.d.ts +3 -0
  125. package/dist/express/index.d.ts.map +1 -0
  126. package/dist/express/index.js +3 -0
  127. package/dist/express/index.js.map +1 -0
  128. package/dist/express/querierMiddleware.d.ts +26 -0
  129. package/dist/express/querierMiddleware.d.ts.map +1 -0
  130. package/dist/express/querierMiddleware.js +149 -0
  131. package/dist/express/querierMiddleware.js.map +1 -0
  132. package/dist/express/query.util.d.ts +7 -0
  133. package/dist/express/query.util.d.ts.map +1 -0
  134. package/dist/express/query.util.js +28 -0
  135. package/dist/express/query.util.js.map +1 -0
  136. package/dist/index.d.ts +8 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +8 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/libsql/index.d.ts +3 -0
  141. package/dist/libsql/index.d.ts.map +1 -0
  142. package/dist/libsql/index.js +3 -0
  143. package/dist/libsql/index.js.map +1 -0
  144. package/dist/libsql/libsqlQuerier.d.ts +17 -0
  145. package/dist/libsql/libsqlQuerier.d.ts.map +1 -0
  146. package/dist/libsql/libsqlQuerier.js +71 -0
  147. package/dist/libsql/libsqlQuerier.js.map +1 -0
  148. package/dist/libsql/libsqlQuerierPool.d.ts +12 -0
  149. package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -0
  150. package/dist/libsql/libsqlQuerierPool.js +19 -0
  151. package/dist/libsql/libsqlQuerierPool.js.map +1 -0
  152. package/dist/maria/index.d.ts +4 -0
  153. package/dist/maria/index.d.ts.map +1 -0
  154. package/dist/maria/index.js +4 -0
  155. package/dist/maria/index.js.map +1 -0
  156. package/dist/maria/mariaDialect.d.ts +10 -0
  157. package/dist/maria/mariaDialect.d.ts.map +1 -0
  158. package/dist/maria/mariaDialect.js +41 -0
  159. package/dist/maria/mariaDialect.js.map +1 -0
  160. package/dist/maria/mariadbQuerier.d.ts +10 -0
  161. package/dist/maria/mariadbQuerier.d.ts.map +1 -0
  162. package/dist/maria/mariadbQuerier.js +20 -0
  163. package/dist/maria/mariadbQuerier.js.map +1 -0
  164. package/dist/maria/mariadbQuerierPool.d.ts +11 -0
  165. package/dist/maria/mariadbQuerierPool.d.ts.map +1 -0
  166. package/dist/maria/mariadbQuerierPool.js +17 -0
  167. package/dist/maria/mariadbQuerierPool.js.map +1 -0
  168. package/dist/migrate/bin.d.ts +3 -0
  169. package/dist/migrate/bin.d.ts.map +1 -0
  170. package/dist/migrate/bin.js +7 -0
  171. package/dist/migrate/bin.js.map +1 -0
  172. package/dist/migrate/builder/columnBuilder.d.ts +79 -0
  173. package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
  174. package/dist/migrate/builder/columnBuilder.js +159 -0
  175. package/dist/migrate/builder/columnBuilder.js.map +1 -0
  176. package/dist/migrate/builder/expressions.d.ts +87 -0
  177. package/dist/migrate/builder/expressions.d.ts.map +1 -0
  178. package/dist/migrate/builder/expressions.js +150 -0
  179. package/dist/migrate/builder/expressions.js.map +1 -0
  180. package/dist/migrate/builder/index.d.ts +6 -0
  181. package/dist/migrate/builder/index.d.ts.map +1 -0
  182. package/dist/migrate/builder/index.js +6 -0
  183. package/dist/migrate/builder/index.js.map +1 -0
  184. package/dist/migrate/builder/migrationBuilder.d.ts +109 -0
  185. package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
  186. package/dist/migrate/builder/migrationBuilder.js +463 -0
  187. package/dist/migrate/builder/migrationBuilder.js.map +1 -0
  188. package/dist/migrate/builder/tableBuilder.d.ts +51 -0
  189. package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
  190. package/dist/migrate/builder/tableBuilder.js +291 -0
  191. package/dist/migrate/builder/tableBuilder.js.map +1 -0
  192. package/dist/migrate/builder/types.d.ts +466 -0
  193. package/dist/migrate/builder/types.d.ts.map +1 -0
  194. package/dist/migrate/builder/types.js +8 -0
  195. package/dist/migrate/builder/types.js.map +1 -0
  196. package/dist/migrate/cli-config.d.ts +3 -0
  197. package/dist/migrate/cli-config.d.ts.map +1 -0
  198. package/dist/migrate/cli-config.js +35 -0
  199. package/dist/migrate/cli-config.js.map +1 -0
  200. package/dist/migrate/cli.d.ts +16 -0
  201. package/dist/migrate/cli.d.ts.map +1 -0
  202. package/dist/migrate/cli.js +394 -0
  203. package/dist/migrate/cli.js.map +1 -0
  204. package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
  205. package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
  206. package/dist/migrate/codegen/entityCodeGenerator.js +405 -0
  207. package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
  208. package/dist/migrate/codegen/entityMerger.d.ts +115 -0
  209. package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
  210. package/dist/migrate/codegen/entityMerger.js +294 -0
  211. package/dist/migrate/codegen/entityMerger.js.map +1 -0
  212. package/dist/migrate/codegen/index.d.ts +10 -0
  213. package/dist/migrate/codegen/index.d.ts.map +1 -0
  214. package/dist/migrate/codegen/index.js +14 -0
  215. package/dist/migrate/codegen/index.js.map +1 -0
  216. package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
  217. package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
  218. package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
  219. package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
  220. package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
  221. package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
  222. package/dist/migrate/codegen/smartRelationDetector.js +135 -0
  223. package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
  224. package/dist/migrate/drift/driftDetector.d.ts +81 -0
  225. package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
  226. package/dist/migrate/drift/driftDetector.js +248 -0
  227. package/dist/migrate/drift/driftDetector.js.map +1 -0
  228. package/dist/migrate/drift/index.d.ts +7 -0
  229. package/dist/migrate/drift/index.d.ts.map +1 -0
  230. package/dist/migrate/drift/index.js +7 -0
  231. package/dist/migrate/drift/index.js.map +1 -0
  232. package/dist/migrate/generator/index.d.ts +3 -0
  233. package/dist/migrate/generator/index.d.ts.map +1 -0
  234. package/dist/migrate/generator/index.js +3 -0
  235. package/dist/migrate/generator/index.js.map +1 -0
  236. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +39 -0
  237. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -0
  238. package/dist/migrate/generator/mongoSchemaGenerator.js +183 -0
  239. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -0
  240. package/dist/migrate/index.d.ts +13 -0
  241. package/dist/migrate/index.d.ts.map +1 -0
  242. package/dist/migrate/index.js +20 -0
  243. package/dist/migrate/index.js.map +1 -0
  244. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +77 -0
  245. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +1 -0
  246. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +156 -0
  247. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +1 -0
  248. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +28 -0
  249. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
  250. package/dist/migrate/introspection/baseSqlIntrospector.js +135 -0
  251. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
  252. package/dist/migrate/introspection/index.d.ts +6 -0
  253. package/dist/migrate/introspection/index.d.ts.map +1 -0
  254. package/dist/migrate/introspection/index.js +6 -0
  255. package/dist/migrate/introspection/index.js.map +1 -0
  256. package/dist/migrate/introspection/mongoIntrospector.d.ts +15 -0
  257. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -0
  258. package/dist/migrate/introspection/mongoIntrospector.js +100 -0
  259. package/dist/migrate/introspection/mongoIntrospector.js.map +1 -0
  260. package/dist/migrate/introspection/mysqlIntrospector.d.ts +59 -0
  261. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -0
  262. package/dist/migrate/introspection/mysqlIntrospector.js +175 -0
  263. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -0
  264. package/dist/migrate/introspection/postgresIntrospector.d.ts +55 -0
  265. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -0
  266. package/dist/migrate/introspection/postgresIntrospector.js +226 -0
  267. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -0
  268. package/dist/migrate/introspection/sqliteIntrospector.d.ts +60 -0
  269. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -0
  270. package/dist/migrate/introspection/sqliteIntrospector.js +180 -0
  271. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -0
  272. package/dist/migrate/migrator.d.ts +176 -0
  273. package/dist/migrate/migrator.d.ts.map +1 -0
  274. package/dist/migrate/migrator.js +624 -0
  275. package/dist/migrate/migrator.js.map +1 -0
  276. package/dist/migrate/schemaGenerator.d.ts +132 -0
  277. package/dist/migrate/schemaGenerator.d.ts.map +1 -0
  278. package/dist/migrate/schemaGenerator.js +628 -0
  279. package/dist/migrate/schemaGenerator.js.map +1 -0
  280. package/dist/migrate/storage/databaseStorage.d.ts +25 -0
  281. package/dist/migrate/storage/databaseStorage.d.ts.map +1 -0
  282. package/dist/migrate/storage/databaseStorage.js +77 -0
  283. package/dist/migrate/storage/databaseStorage.js.map +1 -0
  284. package/dist/migrate/storage/index.d.ts +3 -0
  285. package/dist/migrate/storage/index.d.ts.map +1 -0
  286. package/dist/migrate/storage/index.js +3 -0
  287. package/dist/migrate/storage/index.js.map +1 -0
  288. package/dist/migrate/storage/jsonStorage.d.ts +16 -0
  289. package/dist/migrate/storage/jsonStorage.d.ts.map +1 -0
  290. package/dist/migrate/storage/jsonStorage.js +43 -0
  291. package/dist/migrate/storage/jsonStorage.js.map +1 -0
  292. package/dist/migrate/sync/index.d.ts +7 -0
  293. package/dist/migrate/sync/index.d.ts.map +1 -0
  294. package/dist/migrate/sync/index.js +7 -0
  295. package/dist/migrate/sync/index.js.map +1 -0
  296. package/dist/migrate/sync/schemaSync.d.ts +132 -0
  297. package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
  298. package/dist/migrate/sync/schemaSync.js +260 -0
  299. package/dist/migrate/sync/schemaSync.js.map +1 -0
  300. package/dist/mongo/index.d.ts +4 -0
  301. package/dist/mongo/index.d.ts.map +1 -0
  302. package/dist/mongo/index.js +4 -0
  303. package/dist/mongo/index.js.map +1 -0
  304. package/dist/mongo/mongoDialect.d.ts +47 -0
  305. package/dist/mongo/mongoDialect.d.ts.map +1 -0
  306. package/dist/mongo/mongoDialect.js +299 -0
  307. package/dist/mongo/mongoDialect.js.map +1 -0
  308. package/dist/mongo/mongodbQuerier.d.ts +32 -0
  309. package/dist/mongo/mongodbQuerier.d.ts.map +1 -0
  310. package/dist/mongo/mongodbQuerier.js +267 -0
  311. package/dist/mongo/mongodbQuerier.js.map +1 -0
  312. package/dist/mongo/mongodbQuerierPool.d.ts +11 -0
  313. package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -0
  314. package/dist/mongo/mongodbQuerierPool.js +20 -0
  315. package/dist/mongo/mongodbQuerierPool.js.map +1 -0
  316. package/dist/mysql/index.d.ts +4 -0
  317. package/dist/mysql/index.d.ts.map +1 -0
  318. package/dist/mysql/index.js +4 -0
  319. package/dist/mysql/index.js.map +1 -0
  320. package/dist/mysql/mysql2Querier.d.ts +14 -0
  321. package/dist/mysql/mysql2Querier.d.ts.map +1 -0
  322. package/dist/mysql/mysql2Querier.js +25 -0
  323. package/dist/mysql/mysql2Querier.js.map +1 -0
  324. package/dist/mysql/mysql2QuerierPool.d.ts +11 -0
  325. package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -0
  326. package/dist/mysql/mysql2QuerierPool.js +17 -0
  327. package/dist/mysql/mysql2QuerierPool.js.map +1 -0
  328. package/dist/mysql/mysqlDialect.d.ts +19 -0
  329. package/dist/mysql/mysqlDialect.d.ts.map +1 -0
  330. package/dist/mysql/mysqlDialect.js +97 -0
  331. package/dist/mysql/mysqlDialect.js.map +1 -0
  332. package/dist/namingStrategy/defaultNamingStrategy.d.ts +10 -0
  333. package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +1 -0
  334. package/dist/namingStrategy/defaultNamingStrategy.js +15 -0
  335. package/dist/namingStrategy/defaultNamingStrategy.js.map +1 -0
  336. package/dist/namingStrategy/index.d.ts +3 -0
  337. package/dist/namingStrategy/index.d.ts.map +1 -0
  338. package/dist/namingStrategy/index.js +3 -0
  339. package/dist/namingStrategy/index.js.map +1 -0
  340. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +9 -0
  341. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +1 -0
  342. package/dist/namingStrategy/snakeCaseNamingStrategy.js +14 -0
  343. package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +1 -0
  344. package/dist/neon/index.d.ts +3 -0
  345. package/dist/neon/index.d.ts.map +1 -0
  346. package/dist/neon/index.js +3 -0
  347. package/dist/neon/index.js.map +1 -0
  348. package/dist/neon/neonQuerier.d.ts +10 -0
  349. package/dist/neon/neonQuerier.d.ts.map +1 -0
  350. package/dist/neon/neonQuerier.js +20 -0
  351. package/dist/neon/neonQuerier.js.map +1 -0
  352. package/dist/neon/neonQuerierPool.d.ts +11 -0
  353. package/dist/neon/neonQuerierPool.d.ts.map +1 -0
  354. package/dist/neon/neonQuerierPool.js +17 -0
  355. package/dist/neon/neonQuerierPool.js.map +1 -0
  356. package/dist/options.d.ts +5 -0
  357. package/dist/options.d.ts.map +1 -0
  358. package/dist/options.js +14 -0
  359. package/dist/options.js.map +1 -0
  360. package/dist/postgres/index.d.ts +4 -0
  361. package/dist/postgres/index.d.ts.map +1 -0
  362. package/dist/postgres/index.js +4 -0
  363. package/dist/postgres/index.js.map +1 -0
  364. package/dist/postgres/pgQuerier.d.ts +10 -0
  365. package/dist/postgres/pgQuerier.d.ts.map +1 -0
  366. package/dist/postgres/pgQuerier.js +20 -0
  367. package/dist/postgres/pgQuerier.js.map +1 -0
  368. package/dist/postgres/pgQuerierPool.d.ts +11 -0
  369. package/dist/postgres/pgQuerierPool.d.ts.map +1 -0
  370. package/dist/postgres/pgQuerierPool.js +17 -0
  371. package/dist/postgres/pgQuerierPool.js.map +1 -0
  372. package/dist/postgres/postgresDialect.d.ts +36 -0
  373. package/dist/postgres/postgresDialect.d.ts.map +1 -0
  374. package/dist/postgres/postgresDialect.js +201 -0
  375. package/dist/postgres/postgresDialect.js.map +1 -0
  376. package/dist/querier/abstractPoolQuerier.d.ts +13 -0
  377. package/dist/querier/abstractPoolQuerier.d.ts.map +1 -0
  378. package/dist/querier/abstractPoolQuerier.js +25 -0
  379. package/dist/querier/abstractPoolQuerier.js.map +1 -0
  380. package/dist/querier/abstractQuerier.d.ts +109 -0
  381. package/dist/querier/abstractQuerier.d.ts.map +1 -0
  382. package/dist/querier/abstractQuerier.js +378 -0
  383. package/dist/querier/abstractQuerier.js.map +1 -0
  384. package/dist/querier/abstractQuerierPool.d.ts +23 -0
  385. package/dist/querier/abstractQuerierPool.d.ts.map +1 -0
  386. package/dist/querier/abstractQuerierPool.js +28 -0
  387. package/dist/querier/abstractQuerierPool.js.map +1 -0
  388. package/dist/querier/abstractSqlQuerier.d.ts +38 -0
  389. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -0
  390. package/dist/querier/abstractSqlQuerier.js +169 -0
  391. package/dist/querier/abstractSqlQuerier.js.map +1 -0
  392. package/dist/querier/decorator/index.d.ts +5 -0
  393. package/dist/querier/decorator/index.d.ts.map +1 -0
  394. package/dist/querier/decorator/index.js +5 -0
  395. package/dist/querier/decorator/index.js.map +1 -0
  396. package/dist/querier/decorator/injectQuerier.d.ts +4 -0
  397. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -0
  398. package/dist/querier/decorator/injectQuerier.js +33 -0
  399. package/dist/querier/decorator/injectQuerier.js.map +1 -0
  400. package/dist/querier/decorator/log.d.ts +7 -0
  401. package/dist/querier/decorator/log.d.ts.map +1 -0
  402. package/dist/querier/decorator/log.js +27 -0
  403. package/dist/querier/decorator/log.js.map +1 -0
  404. package/dist/querier/decorator/serialized.d.ts +7 -0
  405. package/dist/querier/decorator/serialized.d.ts.map +1 -0
  406. package/dist/querier/decorator/serialized.js +14 -0
  407. package/dist/querier/decorator/serialized.js.map +1 -0
  408. package/dist/querier/decorator/transactional.d.ts +6 -0
  409. package/dist/querier/decorator/transactional.d.ts.map +1 -0
  410. package/dist/querier/decorator/transactional.js +48 -0
  411. package/dist/querier/decorator/transactional.js.map +1 -0
  412. package/dist/querier/index.d.ts +5 -0
  413. package/dist/querier/index.d.ts.map +1 -0
  414. package/dist/querier/index.js +5 -0
  415. package/dist/querier/index.js.map +1 -0
  416. package/dist/schema/canonicalType.d.ts +42 -0
  417. package/dist/schema/canonicalType.d.ts.map +1 -0
  418. package/dist/schema/canonicalType.js +524 -0
  419. package/dist/schema/canonicalType.js.map +1 -0
  420. package/dist/schema/index.d.ts +28 -0
  421. package/dist/schema/index.d.ts.map +1 -0
  422. package/dist/schema/index.js +29 -0
  423. package/dist/schema/index.js.map +1 -0
  424. package/dist/schema/schemaAST.d.ts +155 -0
  425. package/dist/schema/schemaAST.d.ts.map +1 -0
  426. package/dist/schema/schemaAST.js +496 -0
  427. package/dist/schema/schemaAST.js.map +1 -0
  428. package/dist/schema/schemaASTBuilder.d.ts +58 -0
  429. package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
  430. package/dist/schema/schemaASTBuilder.js +224 -0
  431. package/dist/schema/schemaASTBuilder.js.map +1 -0
  432. package/dist/schema/schemaASTDiffer.d.ts +84 -0
  433. package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
  434. package/dist/schema/schemaASTDiffer.js +431 -0
  435. package/dist/schema/schemaASTDiffer.js.map +1 -0
  436. package/dist/schema/types.d.ts +347 -0
  437. package/dist/schema/types.d.ts.map +1 -0
  438. package/dist/schema/types.js +11 -0
  439. package/dist/schema/types.js.map +1 -0
  440. package/dist/sqlite/abstractSqliteQuerier.d.ts +6 -0
  441. package/dist/sqlite/abstractSqliteQuerier.d.ts.map +1 -0
  442. package/dist/sqlite/abstractSqliteQuerier.js +13 -0
  443. package/dist/sqlite/abstractSqliteQuerier.js.map +1 -0
  444. package/dist/sqlite/index.d.ts +4 -0
  445. package/dist/sqlite/index.d.ts.map +1 -0
  446. package/dist/sqlite/index.js +4 -0
  447. package/dist/sqlite/index.js.map +1 -0
  448. package/dist/sqlite/sqliteDialect.d.ts +42 -0
  449. package/dist/sqlite/sqliteDialect.d.ts.map +1 -0
  450. package/dist/sqlite/sqliteDialect.js +129 -0
  451. package/dist/sqlite/sqliteDialect.js.map +1 -0
  452. package/dist/sqlite/sqliteQuerier.d.ts +12 -0
  453. package/dist/sqlite/sqliteQuerier.d.ts.map +1 -0
  454. package/dist/sqlite/sqliteQuerier.js +25 -0
  455. package/dist/sqlite/sqliteQuerier.js.map +1 -0
  456. package/dist/sqlite/sqliteQuerierPool.d.ts +13 -0
  457. package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -0
  458. package/dist/sqlite/sqliteQuerierPool.js +34 -0
  459. package/dist/sqlite/sqliteQuerierPool.js.map +1 -0
  460. package/dist/type/config.d.ts +46 -0
  461. package/dist/type/config.d.ts.map +1 -0
  462. package/dist/type/config.js +2 -0
  463. package/dist/type/config.js.map +1 -0
  464. package/dist/type/entity.d.ts +289 -0
  465. package/dist/type/entity.d.ts.map +1 -0
  466. package/dist/type/entity.js +5 -0
  467. package/dist/type/entity.js.map +1 -0
  468. package/dist/type/index.d.ts +11 -0
  469. package/dist/type/index.d.ts.map +1 -0
  470. package/dist/type/index.js +11 -0
  471. package/dist/type/index.js.map +1 -0
  472. package/dist/type/logger.d.ts +61 -0
  473. package/dist/type/logger.d.ts.map +1 -0
  474. package/dist/type/logger.js +2 -0
  475. package/dist/type/logger.js.map +1 -0
  476. package/dist/type/migration.d.ts +268 -0
  477. package/dist/type/migration.d.ts.map +1 -0
  478. package/dist/type/migration.js +2 -0
  479. package/dist/type/migration.js.map +1 -0
  480. package/dist/type/namingStrategy.d.ts +18 -0
  481. package/dist/type/namingStrategy.d.ts.map +1 -0
  482. package/dist/type/namingStrategy.js +2 -0
  483. package/dist/type/namingStrategy.js.map +1 -0
  484. package/dist/type/querier.d.ts +154 -0
  485. package/dist/type/querier.d.ts.map +1 -0
  486. package/dist/type/querier.js +11 -0
  487. package/dist/type/querier.js.map +1 -0
  488. package/dist/type/querierPool.d.ts +31 -0
  489. package/dist/type/querierPool.d.ts.map +1 -0
  490. package/dist/type/querierPool.js +2 -0
  491. package/dist/type/querierPool.js.map +1 -0
  492. package/dist/type/query.d.ts +475 -0
  493. package/dist/type/query.d.ts.map +1 -0
  494. package/dist/type/query.js +11 -0
  495. package/dist/type/query.js.map +1 -0
  496. package/dist/type/universalQuerier.d.ts +120 -0
  497. package/dist/type/universalQuerier.d.ts.map +1 -0
  498. package/dist/type/universalQuerier.js +2 -0
  499. package/dist/type/universalQuerier.js.map +1 -0
  500. package/dist/type/utility.d.ts +33 -0
  501. package/dist/type/utility.d.ts.map +1 -0
  502. package/dist/type/utility.js +2 -0
  503. package/dist/type/utility.js.map +1 -0
  504. package/dist/util/dialect.util.d.ts +13 -0
  505. package/dist/util/dialect.util.d.ts.map +1 -0
  506. package/dist/util/dialect.util.js +82 -0
  507. package/dist/util/dialect.util.js.map +1 -0
  508. package/dist/util/field.util.d.ts +14 -0
  509. package/dist/util/field.util.d.ts.map +1 -0
  510. package/dist/util/field.util.js +57 -0
  511. package/dist/util/field.util.js.map +1 -0
  512. package/dist/util/hook.util.d.ts +15 -0
  513. package/dist/util/hook.util.d.ts.map +1 -0
  514. package/dist/util/hook.util.js +20 -0
  515. package/dist/util/hook.util.js.map +1 -0
  516. package/dist/util/index.d.ts +9 -0
  517. package/dist/util/index.d.ts.map +1 -0
  518. package/dist/util/index.js +9 -0
  519. package/dist/util/index.js.map +1 -0
  520. package/dist/util/logger.d.ts +34 -0
  521. package/dist/util/logger.d.ts.map +1 -0
  522. package/dist/util/logger.js +129 -0
  523. package/dist/util/logger.js.map +1 -0
  524. package/dist/util/object.util.d.ts +8 -0
  525. package/dist/util/object.util.d.ts.map +1 -0
  526. package/dist/util/object.util.js +19 -0
  527. package/dist/util/object.util.js.map +1 -0
  528. package/dist/util/raw.d.ts +9 -0
  529. package/dist/util/raw.d.ts.map +1 -0
  530. package/dist/util/raw.js +11 -0
  531. package/dist/util/raw.js.map +1 -0
  532. package/dist/util/sql.util.d.ts +22 -0
  533. package/dist/util/sql.util.d.ts.map +1 -0
  534. package/dist/util/sql.util.js +88 -0
  535. package/dist/util/sql.util.js.map +1 -0
  536. package/dist/util/string.util.d.ts +29 -0
  537. package/dist/util/string.util.d.ts.map +1 -0
  538. package/dist/util/string.util.js +91 -0
  539. package/dist/util/string.util.js.map +1 -0
  540. package/package.json +146 -0
@@ -0,0 +1,475 @@
1
+ import type { FieldKey, IdValue, JsonFieldPaths, RelationKey, UpdatePayload } from './entity.js';
2
+ import type { BooleanLike, ExpandScalar, Scalar, Type, Unpacked } from './utility.js';
3
+ export type QueryOptions = {
4
+ /**
5
+ * use or omit `softDelete` attribute.
6
+ */
7
+ softDelete?: boolean;
8
+ /**
9
+ * prefix the query with this.
10
+ */
11
+ prefix?: string;
12
+ /**
13
+ * automatically infer the prefix for the query.
14
+ */
15
+ autoPrefix?: boolean;
16
+ };
17
+ export type QuerySelectOptions = {
18
+ /**
19
+ * prefix the query with this.
20
+ */
21
+ prefix?: string;
22
+ /**
23
+ * automatically add the prefix for the alias.
24
+ */
25
+ autoPrefixAlias?: boolean;
26
+ };
27
+ /**
28
+ * query selection as a map — field and relation selections combined.
29
+ * Uses intersection of two mapped types to enforce strict key validation.
30
+ */
31
+ export type QuerySelect<E> = QuerySelectFieldMap<E> & QuerySelectRelationMap<E>;
32
+ /**
33
+ * query selection of fields as a map.
34
+ */
35
+ export type QuerySelectFieldMap<E> = {
36
+ [K in FieldKey<E>]?: BooleanLike;
37
+ };
38
+ /**
39
+ * query selection of relations as a map.
40
+ */
41
+ export type QuerySelectRelationMap<E> = {
42
+ [K in RelationKey<E>]?: BooleanLike | QuerySelectRelationOptions<E[K]>;
43
+ };
44
+ /**
45
+ * query conflict paths — subset of field keys used to detect upsert conflicts.
46
+ */
47
+ export type QueryConflictPaths<E> = {
48
+ [K in FieldKey<E>]?: true;
49
+ };
50
+ /**
51
+ * options to select a relation.
52
+ */
53
+ export type QuerySelectRelationOptions<E> = (E extends unknown[] ? Query<Unpacked<E>> : QueryUnique<Unpacked<E>>) & {
54
+ $required?: boolean;
55
+ };
56
+ /**
57
+ * options for full-text-search operator.
58
+ */
59
+ export type QueryTextSearchOptions<E> = {
60
+ /**
61
+ * text to search for.
62
+ */
63
+ $value: string;
64
+ /**
65
+ * list of fields to search on.
66
+ */
67
+ $fields?: FieldKey<E>[];
68
+ };
69
+ /**
70
+ * comparison by fields.
71
+ */
72
+ export type QueryWhereFieldMap<E> = {
73
+ [K in FieldKey<E>]?: QueryWhereFieldValue<E[K]>;
74
+ };
75
+ /**
76
+ * Field comparison, JSONB dot-path access, and relation filtering — all fully typed.
77
+ * Uses both a mapped type (IDE autocompletion) and a pattern index signature (EPC acceptance)
78
+ * for dot-paths because TypeScript's excess property checking cannot resolve recursive
79
+ * conditional types in mapped type key positions.
80
+ */
81
+ export type QueryWhereMap<E> = QueryWhereFieldMap<E> & QueryWhereRootOperator<E> & {
82
+ [P in JsonFieldPaths<E>]?: QueryWhereFieldValue<unknown>;
83
+ } & {
84
+ [key: `${string}.${string}`]: QueryWhereFieldValue<unknown> | undefined;
85
+ } & {
86
+ [K in RelationKey<E>]?: QueryWhereMap<Unpacked<NonNullable<E[K]>>>;
87
+ };
88
+ export type QueryWhereRootOperator<E> = {
89
+ /**
90
+ * joins query clauses with a logical `AND`, returns records that match all the clauses.
91
+ */
92
+ $and?: QueryWhereArray<E>;
93
+ /**
94
+ * joins query clauses with a logical `OR`, returns records that match any of the clauses.
95
+ */
96
+ $or?: QueryWhereArray<E>;
97
+ /**
98
+ * joins query clauses with a logical `AND`, returns records that do not match all the clauses.
99
+ * @see {@link QueryWhereFieldOperatorMap.$not} for per-field negation.
100
+ */
101
+ $not?: QueryWhereArray<E>;
102
+ /**
103
+ * joins query clauses with a logical `OR`, returns records that do not match any of the clauses.
104
+ */
105
+ $nor?: QueryWhereArray<E>;
106
+ /**
107
+ * whether the specified fields match against a full-text search of the given string.
108
+ */
109
+ $text?: QueryTextSearchOptions<E>;
110
+ /**
111
+ * whether the record exists in the given sub-query.
112
+ */
113
+ $exists?: QueryRaw;
114
+ /**
115
+ * whether the record does not exists in the given sub-query.
116
+ */
117
+ $nexists?: QueryRaw;
118
+ };
119
+ export type QueryWhereFieldOperatorMap<T> = {
120
+ /**
121
+ * whether a value is equal to the given value.
122
+ */
123
+ $eq?: ExpandScalar<T> | null;
124
+ /**
125
+ * whether a value is not equal to the given value.
126
+ */
127
+ $ne?: ExpandScalar<T> | null;
128
+ /**
129
+ * negates the given comparison for a single field.
130
+ * @see {@link QueryWhereRootOperator.$not} for root-level clause negation.
131
+ */
132
+ $not?: QueryWhereFieldValue<T>;
133
+ /**
134
+ * whether a value is less than the given value.
135
+ */
136
+ $lt?: ExpandScalar<T>;
137
+ /**
138
+ * whether a value is less than or equal to the given value.
139
+ */
140
+ $lte?: ExpandScalar<T>;
141
+ /**
142
+ * whether a value is greater than the given value.
143
+ */
144
+ $gt?: ExpandScalar<T>;
145
+ /**
146
+ * whether a value is greater than or equal to the given value.
147
+ */
148
+ $gte?: ExpandScalar<T>;
149
+ /**
150
+ * whether a value is between two values (inclusive). Shorthand for $gte + $lte.
151
+ * @example { age: { $between: [18, 65] } }
152
+ */
153
+ $between?: [ExpandScalar<T>, ExpandScalar<T>];
154
+ /**
155
+ * whether a string begins with the given string (case sensitive).
156
+ */
157
+ $startsWith?: string;
158
+ /**
159
+ * whether a string begins with the given string (case insensitive).
160
+ */
161
+ $istartsWith?: string;
162
+ /**
163
+ * whether a string ends with the given string (case sensitive).
164
+ */
165
+ $endsWith?: string;
166
+ /**
167
+ * whether a string ends with the given string (case insensitive).
168
+ */
169
+ $iendsWith?: string;
170
+ /**
171
+ * whether a string is contained within the given string (case sensitive).
172
+ */
173
+ $includes?: string;
174
+ /**
175
+ * whether a string is contained within the given string (case insensitive).
176
+ */
177
+ $iincludes?: string;
178
+ /**
179
+ * whether a string fulfills the given pattern (case sensitive).
180
+ */
181
+ $like?: string;
182
+ /**
183
+ * whether a string fulfills the given pattern (case insensitive).
184
+ */
185
+ $ilike?: string;
186
+ /**
187
+ * whether a string matches the given regular expression.
188
+ */
189
+ $regex?: string;
190
+ /**
191
+ * whether a value matches any of the given values.
192
+ */
193
+ $in?: ExpandScalar<T>[];
194
+ /**
195
+ * whether a value does not match any of the given values.
196
+ */
197
+ $nin?: ExpandScalar<T>[];
198
+ /**
199
+ * whether a value is null.
200
+ * @example { deletedAt: { $isNull: true } }
201
+ */
202
+ $isNull?: boolean;
203
+ /**
204
+ * whether a value is not null.
205
+ * @example { email: { $isNotNull: true } }
206
+ */
207
+ $isNotNull?: boolean;
208
+ /**
209
+ * whether an array contains all the specified values.
210
+ * @example { tags: { $all: ['typescript', 'orm'] } }
211
+ */
212
+ $all?: T extends (infer U)[] ? ExpandScalar<U>[] : unknown[];
213
+ /**
214
+ * whether an array has the specified length.
215
+ * @example { roles: { $size: 3 } }
216
+ */
217
+ $size?: number;
218
+ /**
219
+ * whether an array contains at least one element matching all specified conditions.
220
+ * @example { addresses: { $elemMatch: { city: 'NYC', zip: '10001' } } }
221
+ */
222
+ $elemMatch?: T extends (infer U)[] ? Partial<U> : Record<string, QueryWhereFieldValue<unknown>>;
223
+ };
224
+ /**
225
+ * Value for a field comparison.
226
+ */
227
+ export type QueryWhereFieldValue<T> = T | T[] | QueryWhereFieldOperatorMap<T> | QueryRaw;
228
+ /**
229
+ * query filter array — used for `$and`, `$or`, `$not`, `$nor` operators.
230
+ */
231
+ export type QueryWhereArray<E> = (QueryWhereMap<E> | QueryRaw)[];
232
+ /**
233
+ * query filter.
234
+ */
235
+ export type QueryWhere<E> = IdValue<E> | IdValue<E>[] | QueryWhereMap<E> | QueryWhereArray<E> | QueryRaw;
236
+ /**
237
+ * direction for the sort.
238
+ */
239
+ export type QuerySortDirection = -1 | 1 | 'asc' | 'desc';
240
+ /**
241
+ * sort by map — supports field keys, JSON dot-notation paths, and relation sort.
242
+ * Uses both a mapped type (IDE autocompletion) and a pattern index signature (EPC acceptance)
243
+ * for dot-paths, matching the same approach used in `QueryWhereMap`.
244
+ */
245
+ export type QuerySortMap<E> = {
246
+ [K in FieldKey<E>]?: QuerySortDirection;
247
+ } & {
248
+ [P in JsonFieldPaths<E>]?: QuerySortDirection;
249
+ } & {
250
+ [key: `${string}.${string}`]: QuerySortDirection | undefined;
251
+ } & {
252
+ [K in RelationKey<E>]?: QuerySortMap<NonNullable<Unpacked<E[K]>>>;
253
+ };
254
+ /**
255
+ * pager options.
256
+ */
257
+ export type QueryPager = {
258
+ /**
259
+ * Index from where start the search
260
+ */
261
+ $skip?: number;
262
+ /**
263
+ * Max number of records to retrieve
264
+ */
265
+ $limit?: number;
266
+ };
267
+ /**
268
+ * search options.
269
+ */
270
+ export type QuerySearch<E> = {
271
+ /**
272
+ * filtering options.
273
+ */
274
+ $where?: QueryWhere<E>;
275
+ /**
276
+ * sorting options.
277
+ */
278
+ $sort?: QuerySortMap<E>;
279
+ } & QueryPager;
280
+ /**
281
+ * criteria one options.
282
+ */
283
+ /**
284
+ * query options.
285
+ */
286
+ export type Query<E> = {
287
+ /**
288
+ * selection options.
289
+ */
290
+ $select?: QuerySelect<E>;
291
+ } & QuerySearch<E>;
292
+ /**
293
+ * options to get a single record.
294
+ */
295
+ export type QueryOne<E> = Omit<Query<E>, '$limit'>;
296
+ /**
297
+ * options to get an unique record.
298
+ */
299
+ export type QueryUnique<E> = Pick<QueryOne<E>, '$select' | '$where'>;
300
+ /**
301
+ * stringified query.
302
+ */
303
+ export type QueryStringified = {
304
+ [K in keyof Query<unknown>]?: string;
305
+ };
306
+ /**
307
+ * result of an update operation.
308
+ */
309
+ export type QueryUpdateResult = {
310
+ /**
311
+ * number of affected records.
312
+ */
313
+ changes?: number;
314
+ /**
315
+ * the inserted IDs.
316
+ */
317
+ ids?: number[] | string[];
318
+ /**
319
+ * first inserted ID.
320
+ */
321
+ firstId?: number | string;
322
+ };
323
+ /**
324
+ * options for the `raw` function.
325
+ */
326
+ export type QueryRawFnOptions = {
327
+ /**
328
+ * the current dialect.
329
+ */
330
+ dialect?: QueryDialect;
331
+ /**
332
+ * the prefix.
333
+ */
334
+ prefix?: string;
335
+ /**
336
+ * the escaped prefix.
337
+ */
338
+ escapedPrefix?: string;
339
+ /**
340
+ * the query context.
341
+ */
342
+ ctx?: QueryContext;
343
+ };
344
+ /**
345
+ * a `raw` function
346
+ */
347
+ export type QueryRawFn = (opts?: QueryRawFnOptions) => void | Scalar;
348
+ export declare const RAW_VALUE: unique symbol;
349
+ export declare const RAW_ALIAS: unique symbol;
350
+ export declare class QueryRaw {
351
+ readonly [RAW_VALUE]: Scalar | QueryRawFn;
352
+ readonly [RAW_ALIAS]?: string;
353
+ constructor(value: Scalar | QueryRawFn, alias?: string);
354
+ }
355
+ /**
356
+ * comparison options.
357
+ */
358
+ export type QueryComparisonOptions = QueryOptions & {
359
+ /**
360
+ * use precedence for the comparison or not.
361
+ */
362
+ usePrecedence?: boolean;
363
+ };
364
+ /**
365
+ * query filter options.
366
+ */
367
+ export type QueryWhereOptions = QueryComparisonOptions & {
368
+ /**
369
+ * clause to be used in the filter.
370
+ */
371
+ clause?: 'WHERE' | 'AND' | false;
372
+ };
373
+ export interface QueryContext {
374
+ append(sql: string): this;
375
+ addValue(value: unknown): this;
376
+ pushValue(value: unknown): this;
377
+ readonly sql: string;
378
+ readonly values: unknown[];
379
+ }
380
+ export interface QueryDialect {
381
+ /**
382
+ * obtains the records matching the given search parameters.
383
+ * @param ctx the query context
384
+ * @param entity the target entity
385
+ * @param q the criteria options
386
+ * @param opts the query options
387
+ */
388
+ find<E>(ctx: QueryContext, entity: Type<E>, q: Query<E>, opts?: QueryOptions): void;
389
+ /**
390
+ * counts the number of records matching the given search parameters.
391
+ * @param ctx the query context
392
+ * @param entity the target entity
393
+ * @param q the criteria options
394
+ * @param opts the query options
395
+ */
396
+ count<E>(ctx: QueryContext, entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): void;
397
+ /**
398
+ * insert records.
399
+ * @param ctx the query context
400
+ * @param entity the target entity
401
+ * @param payload the payload
402
+ * @param opts the query options
403
+ */
404
+ insert<E>(ctx: QueryContext, entity: Type<E>, payload: E | E[], opts?: QueryOptions): void;
405
+ /**
406
+ * update records.
407
+ * @param ctx the query context
408
+ * @param entity the target entity
409
+ * @param q the criteria options
410
+ * @param payload
411
+ * @param opts the query options
412
+ */
413
+ update<E>(ctx: QueryContext, entity: Type<E>, q: QuerySearch<E>, payload: UpdatePayload<E>, opts?: QueryOptions): void;
414
+ /**
415
+ * upsert records.
416
+ * @param ctx the query context
417
+ * @param entity the target entity
418
+ * @param conflictPaths the conflict paths
419
+ * @param payload
420
+ */
421
+ upsert<E>(ctx: QueryContext, entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E | E[]): void;
422
+ /**
423
+ * delete records.
424
+ * @param ctx the query context
425
+ * @param entity the target entity
426
+ * @param q the criteria options
427
+ * @param opts the query options
428
+ */
429
+ delete<E>(ctx: QueryContext, entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): void;
430
+ /**
431
+ * escape an identifier.
432
+ * @param val the value to be escaped
433
+ * @param forbidQualified don't escape dots
434
+ * @param addDot use a dot as suffix
435
+ */
436
+ escapeId(val: string, forbidQualified?: boolean, addDot?: boolean): string;
437
+ /**
438
+ * escape a value.
439
+ * @param val the value to escape
440
+ */
441
+ escape(val: unknown): string;
442
+ /**
443
+ * add a value to the query.
444
+ * @param values the values array
445
+ * @param value the value to add
446
+ */
447
+ addValue(values: unknown[], value: unknown): string;
448
+ /**
449
+ * create a new query context.
450
+ */
451
+ createContext(): QueryContext;
452
+ }
453
+ /**
454
+ * Supported SQL dialect identifiers.
455
+ */
456
+ export type SqlDialect = 'postgres' | 'mysql' | 'mariadb' | 'sqlite';
457
+ /**
458
+ * Minimal dialect interface exposing escapeIdChar for SQL operations
459
+ */
460
+ export interface SqlQueryDialect extends QueryDialect {
461
+ /**
462
+ * The SQL dialect name (postgres, mysql, mariadb, sqlite).
463
+ */
464
+ readonly dialect: SqlDialect;
465
+ /**
466
+ * the escape character for identifiers.
467
+ */
468
+ readonly escapeIdChar: '"' | '`';
469
+ /**
470
+ * Get the placeholder for a parameter at the given index (1-based).
471
+ * Default: '?' for MySQL/MariaDB/SQLite, '$n' for PostgreSQL.
472
+ */
473
+ placeholder(index: number): string;
474
+ }
475
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/type/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;KAClC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;KACrC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;KACjC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IAClH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAExF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAClD,sBAAsB,CAAC,CAAC,CAAC,GAAG;KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC;CAAE,GAAG;IACzF,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CACzE,GAAG;KAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE7E,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC;;OAEG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1B;;OAEG;IACH,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;IAC1C;;OAEG;IACH,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC/B;;OAEG;IACH,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;IAC7D;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;CACjG,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,0BAA0B,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;AAEzG;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;AACzD;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;CACxC,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;CAC9C,GAAG;IACF,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,kBAAkB,GAAG,SAAS,CAAC;CAC9D,GAAG;KACD,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACzB,GAAG,UAAU,CAAC;AAEf;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC1B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,CAAC;AAErE,eAAO,MAAM,SAAS,EAAE,OAAO,MAA2B,CAAC;AAC3D,eAAO,MAAM,SAAS,EAAE,OAAO,MAA2B,CAAC;AAE3D,qBAAa,QAAQ;IACnB,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1C,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;gBAElB,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM;CAIvD;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAClD;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG;IACvD;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAEpF;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE3F;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE3F;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EACN,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,EAAE,YAAY,GAClB,IAAI,CAAC;IAER;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5G;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5F;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE3E;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IAEpD;;OAEG;IACH,aAAa,IAAI,YAAY,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,GAAG,GAAG,GAAG,CAAC;IAEjC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC"}
@@ -0,0 +1,11 @@
1
+ export const RAW_VALUE = Symbol('rawValue');
2
+ export const RAW_ALIAS = Symbol('rawAlias');
3
+ export class QueryRaw {
4
+ [RAW_VALUE];
5
+ [RAW_ALIAS];
6
+ constructor(value, alias) {
7
+ this[RAW_VALUE] = value;
8
+ this[RAW_ALIAS] = alias;
9
+ }
10
+ }
11
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/type/query.ts"],"names":[],"mappings":"AAmXA,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,UAAU,CAAC,CAAC;AAE3D,MAAM,OAAO,QAAQ;IACV,CAAC,SAAS,CAAC,CAAsB;IACjC,CAAC,SAAS,CAAC,CAAU;IAE9B,YAAY,KAA0B,EAAE,KAAc;QACpD,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,120 @@
1
+ import type { IdValue, UpdatePayload } from './entity.js';
2
+ import type { Query, QueryConflictPaths, QueryOne, QueryOptions, QuerySearch, QueryUpdateResult } from './query.js';
3
+ import type { Type } from './utility.js';
4
+ /**
5
+ * A `querier` allows to interact with the datasource to perform persistence operations on any entity.
6
+ */
7
+ export interface UniversalQuerier {
8
+ /**
9
+ * obtains the record with the given primary key.
10
+ * @param entity the target entity
11
+ * @param id the primary key value
12
+ * @param q the additional criteria options
13
+ * @return the record
14
+ */
15
+ findOneById<E extends object>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>): Promise<E | undefined>;
16
+ /**
17
+ * obtains the first record matching the given search parameters.
18
+ * @param entity the target entity
19
+ * @param q the criteria options
20
+ * @return the record
21
+ */
22
+ findOne<E extends object>(entity: Type<E>, q: QueryOne<E>): Promise<E | undefined>;
23
+ /**
24
+ * obtains the records matching the given search parameters.
25
+ * @param entity the target entity
26
+ * @param q the criteria options
27
+ * @return the records
28
+ */
29
+ findMany<E extends object>(entity: Type<E>, q: Query<E>): Promise<E[]>;
30
+ /**
31
+ * obtains the records matching the given search parameters,
32
+ * also counts the number of matches ignoring pagination.
33
+ * @param entity the target entity
34
+ * @param q the criteria options
35
+ * @return the records and the count
36
+ */
37
+ findManyAndCount<E extends object>(entity: Type<E>, q: Query<E>): Promise<[E[], number]>;
38
+ /**
39
+ * counts the number of records matching the given search parameters.
40
+ * @param entity the target entity
41
+ * @param q the search options
42
+ * @return the count
43
+ */
44
+ count<E extends object>(entity: Type<E>, q: QuerySearch<E>): Promise<number>;
45
+ /**
46
+ * inserts a record.
47
+ * @param entity the entity to persist on
48
+ * @param payload the data to be persisted
49
+ * @return the ID
50
+ */
51
+ insertOne<E extends object>(entity: Type<E>, payload: E): Promise<IdValue<E>>;
52
+ /**
53
+ * Inserts many records.
54
+ * @param entity the entity to persist on
55
+ * @param payload the data to be persisted
56
+ * @return the IDs
57
+ */
58
+ insertMany?<E extends object>(entity: Type<E>, payload: E[]): Promise<IdValue<E>[]>;
59
+ /**
60
+ * updates a record partially.
61
+ * @param entity the entity to persist on
62
+ * @param id the primary key of the record to be updated
63
+ * @param payload the data to be persisted
64
+ * @return the number of affected records
65
+ */
66
+ updateOneById<E extends object>(entity: Type<E>, id: IdValue<E>, payload: UpdatePayload<E>): Promise<number>;
67
+ /**
68
+ * updates many records partially.
69
+ * @param entity the entity to persist on
70
+ * @param q the criteria to look for the records
71
+ * @param payload the data to be persisted
72
+ * @return the number of affected records
73
+ */
74
+ updateMany?<E extends object>(entity: Type<E>, q: QuerySearch<E>, payload: UpdatePayload<E>): Promise<number>;
75
+ /**
76
+ * Insert or update a record given a search criteria.
77
+ * @param entity the entity to persist on
78
+ * @param conflictPaths the keys to use for the unique search
79
+ * @param payload the data to be persisted
80
+ * @return void
81
+ */
82
+ upsertOne?<E extends object>(entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E): Promise<QueryUpdateResult>;
83
+ /**
84
+ * Insert or update many records given a search criteria.
85
+ * @param entity the entity to persist on
86
+ * @param conflictPaths the keys to use for the unique search
87
+ * @param payload the data to be persisted
88
+ * @return void
89
+ */
90
+ upsertMany?<E extends object>(entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E[]): Promise<QueryUpdateResult>;
91
+ /**
92
+ * insert or update a record.
93
+ * @param entity the entity to persist on
94
+ * @param payload the data to be persisted
95
+ * @return the ID
96
+ */
97
+ saveOne<E extends object>(entity: Type<E>, payload: E): Promise<IdValue<E>>;
98
+ /**
99
+ * Insert or update records.
100
+ * @param entity the entity to persist on
101
+ * @param payload the data to be persisted
102
+ * @return the IDs
103
+ */
104
+ saveMany?<E extends object>(entity: Type<E>, payload: E[]): Promise<IdValue<E>[]>;
105
+ /**
106
+ * delete or SoftDelete a record.
107
+ * @param entity the entity to persist on
108
+ * @param id the primary key of the record
109
+ * @return the number of affected records
110
+ */
111
+ deleteOneById<E extends object>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions): Promise<number>;
112
+ /**
113
+ * delete or SoftDelete records.
114
+ * @param entity the entity to persist on
115
+ * @param q the criteria to look for the records
116
+ * @return the number of affected records
117
+ */
118
+ deleteMany<E extends object>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): Promise<number>;
119
+ }
120
+ //# sourceMappingURL=universalQuerier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universalQuerier.d.ts","sourceRoot":"","sources":["../../src/type/universalQuerier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=universalQuerier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universalQuerier.js","sourceRoot":"","sources":["../../src/type/universalQuerier.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ export type Type<T> = (new (...args: unknown[]) => T) | (abstract new (...args: unknown[]) => T);
2
+ export type BooleanLike = boolean | 0 | 1;
3
+ export type MongoId = {
4
+ toHexString: () => string;
5
+ };
6
+ export type Scalar = string | number | boolean | bigint | Date | RegExp | Buffer | MongoId;
7
+ export type Primitive = string | number | symbol;
8
+ /**
9
+ * Marker type for JSON/JSONB fields.
10
+ * Wrapping a field's TypeScript type with `Json<T>` ensures it is classified as a `FieldKey`
11
+ * (not a `RelationKey`), enabling type-safe usage in `$where`, `$select`, and `$sort`.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * @Field({ type: 'jsonb' })
16
+ * settings?: Json<{ isArchived?: boolean }>;
17
+ * ```
18
+ */
19
+ export type Json<T = unknown> = T & {
20
+ readonly __json?: never;
21
+ };
22
+ export type ExpandScalar<T> = T extends Date ? Date | string : T;
23
+ /**
24
+ * A raw database result row before entity mapping.
25
+ */
26
+ export interface RawRow {
27
+ [key: string]: unknown;
28
+ }
29
+ export type Writable<T> = {
30
+ -readonly [K in keyof T]: T[K];
31
+ };
32
+ export type Unpacked<T> = T extends (infer U)[] ? U : T extends (...args: unknown[]) => infer U ? U : T extends Promise<infer U> ? U : T;
33
+ //# sourceMappingURL=utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/type/utility.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEjG,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE7D,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC3C,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,GACvC,CAAC,GACD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,GACD,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utility.js.map