pipework 0.7.13 → 0.7.18

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 (733) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +3 -2
  3. package/REFERENCE.md +327 -296
  4. package/dist/REFERENCE.md +396 -431
  5. package/dist/auth/tenant/scope.d.ts +1 -1
  6. package/dist/auth/tenant/scope.d.ts.map +1 -1
  7. package/dist/cli/commands/check.d.ts +2 -1
  8. package/dist/cli/commands/check.d.ts.map +1 -1
  9. package/dist/cli/commands/check.js +52 -17
  10. package/dist/cli/commands/check.js.map +1 -1
  11. package/dist/cli/commands/migrate.d.ts.map +1 -1
  12. package/dist/cli/commands/migrate.js +3 -6
  13. package/dist/cli/commands/migrate.js.map +1 -1
  14. package/dist/cli/commands/scope.d.ts +12 -0
  15. package/dist/cli/commands/scope.d.ts.map +1 -0
  16. package/dist/cli/commands/scope.js +25 -0
  17. package/dist/cli/commands/scope.js.map +1 -0
  18. package/dist/cli/commands/test.d.ts +3 -0
  19. package/dist/cli/commands/test.d.ts.map +1 -1
  20. package/dist/cli/commands/test.js +65 -1
  21. package/dist/cli/commands/test.js.map +1 -1
  22. package/dist/cli/index.d.ts.map +1 -1
  23. package/dist/cli/index.js +21 -2
  24. package/dist/cli/index.js.map +1 -1
  25. package/dist/config/discover.d.ts.map +1 -1
  26. package/dist/config/discover.js +0 -14
  27. package/dist/config/discover.js.map +1 -1
  28. package/dist/core/config/namespace.d.ts +123 -120
  29. package/dist/core/config/namespace.d.ts.map +1 -1
  30. package/dist/core/config/schema.d.ts +8 -0
  31. package/dist/core/config/schema.d.ts.map +1 -1
  32. package/dist/core/config/schema.js +2 -0
  33. package/dist/core/config/schema.js.map +1 -1
  34. package/dist/data/db/col/index.d.ts +1 -1
  35. package/dist/data/db/col/index.d.ts.map +1 -1
  36. package/dist/data/db/col/index.js +1 -1
  37. package/dist/data/db/col/index.js.map +1 -1
  38. package/dist/data/db/excluded.js +2 -2
  39. package/dist/data/db/excluded.js.map +1 -1
  40. package/dist/data/db/filter.d.ts +12 -12
  41. package/dist/data/db/generated/drizzle-orm/aggregate.d.ts +1 -1
  42. package/dist/data/db/generated/drizzle-orm/aggregate.d.ts.map +1 -1
  43. package/dist/data/db/generated/drizzle-orm/aggregate.js +1 -1
  44. package/dist/data/db/generated/drizzle-orm/aggregate.js.map +1 -1
  45. package/dist/data/db/generated/drizzle-orm/introspection.d.ts +1 -1
  46. package/dist/data/db/generated/drizzle-orm/introspection.d.ts.map +1 -1
  47. package/dist/data/db/generated/drizzle-orm/introspection.js +1 -1
  48. package/dist/data/db/generated/drizzle-orm/introspection.js.map +1 -1
  49. package/dist/data/db/generated/drizzle-orm/operator.d.ts +1 -1
  50. package/dist/data/db/generated/drizzle-orm/operator.d.ts.map +1 -1
  51. package/dist/data/db/generated/drizzle-orm/operator.js +1 -1
  52. package/dist/data/db/generated/drizzle-orm/operator.js.map +1 -1
  53. package/dist/data/db/generated/drizzle-orm/relation.d.ts +1 -1
  54. package/dist/data/db/generated/drizzle-orm/relation.d.ts.map +1 -1
  55. package/dist/data/db/generated/drizzle-orm/relation.js +1 -1
  56. package/dist/data/db/generated/drizzle-orm/relation.js.map +1 -1
  57. package/dist/data/db/generated/drizzle-orm/type.d.ts +2 -2
  58. package/dist/data/db/generated/drizzle-orm/type.d.ts.map +1 -1
  59. package/dist/data/db/generated/drizzle-orm/type.js +1 -1
  60. package/dist/data/db/generated/drizzle-orm/type.js.map +1 -1
  61. package/dist/data/db/generated/pg-core/introspection.d.ts +1 -1
  62. package/dist/data/db/generated/pg-core/introspection.d.ts.map +1 -1
  63. package/dist/data/db/generated/pg-core/introspection.js +1 -1
  64. package/dist/data/db/generated/pg-core/introspection.js.map +1 -1
  65. package/dist/data/db/generated/pg-core/set-operation.d.ts +1 -1
  66. package/dist/data/db/generated/pg-core/set-operation.d.ts.map +1 -1
  67. package/dist/data/db/generated/pg-core/set-operation.js +1 -1
  68. package/dist/data/db/generated/pg-core/set-operation.js.map +1 -1
  69. package/dist/data/db/generated/pg-core/type.d.ts +2 -2
  70. package/dist/data/db/generated/pg-core/type.d.ts.map +1 -1
  71. package/dist/data/db/generated/pg-core/type.js +1 -1
  72. package/dist/data/db/generated/pg-core/type.js.map +1 -1
  73. package/dist/data/db/idx/index.d.ts +1 -1
  74. package/dist/data/db/idx/index.d.ts.map +1 -1
  75. package/dist/data/db/idx/index.js +1 -1
  76. package/dist/data/db/idx/index.js.map +1 -1
  77. package/dist/data/db/namespace.d.ts +43 -43
  78. package/dist/data/db/pool.d.ts +1 -1
  79. package/dist/data/db/pool.d.ts.map +1 -1
  80. package/dist/data/db/pool.js +1 -1
  81. package/dist/data/db/pool.js.map +1 -1
  82. package/dist/data/db/schema-features.d.ts +1 -1
  83. package/dist/data/db/schema-features.d.ts.map +1 -1
  84. package/dist/data/db/schema-features.js +1 -1
  85. package/dist/data/db/schema-features.js.map +1 -1
  86. package/dist/data/db/sql.d.ts +1 -1
  87. package/dist/data/db/sql.d.ts.map +1 -1
  88. package/dist/data/db/sql.js +1 -1
  89. package/dist/data/db/sql.js.map +1 -1
  90. package/dist/data/db/types.d.ts +3 -3
  91. package/dist/data/db/types.d.ts.map +1 -1
  92. package/dist/data/domain/project-table.d.ts +2 -2
  93. package/dist/data/domain/project-table.js +2 -2
  94. package/dist/data/domain/project-table.js.map +1 -1
  95. package/dist/data/domain/types.d.ts +1 -1
  96. package/dist/data/domain/types.d.ts.map +1 -1
  97. package/dist/data/migrate/apply.d.ts +8 -0
  98. package/dist/data/migrate/apply.d.ts.map +1 -0
  99. package/dist/data/migrate/apply.js +91 -0
  100. package/dist/data/migrate/apply.js.map +1 -0
  101. package/dist/data/migrate/diff.d.ts +118 -0
  102. package/dist/data/migrate/diff.d.ts.map +1 -0
  103. package/dist/data/migrate/diff.js +215 -0
  104. package/dist/data/migrate/diff.js.map +1 -0
  105. package/dist/data/migrate/generate.d.ts.map +1 -1
  106. package/dist/data/migrate/generate.js +12 -22
  107. package/dist/data/migrate/generate.js.map +1 -1
  108. package/dist/data/migrate/run.d.ts.map +1 -1
  109. package/dist/data/migrate/run.js +5 -16
  110. package/dist/data/migrate/run.js.map +1 -1
  111. package/dist/data/migrate/snapshot.d.ts +87 -0
  112. package/dist/data/migrate/snapshot.d.ts.map +1 -0
  113. package/dist/data/migrate/snapshot.js +204 -0
  114. package/dist/data/migrate/snapshot.js.map +1 -0
  115. package/dist/data/migrate/sql-emit.d.ts +3 -0
  116. package/dist/data/migrate/sql-emit.d.ts.map +1 -0
  117. package/dist/data/migrate/sql-emit.js +220 -0
  118. package/dist/data/migrate/sql-emit.js.map +1 -0
  119. package/dist/data/query/alias.d.ts +32 -0
  120. package/dist/data/query/alias.d.ts.map +1 -0
  121. package/dist/data/query/alias.js +101 -0
  122. package/dist/data/query/alias.js.map +1 -0
  123. package/dist/data/query/batch.d.ts +7 -0
  124. package/dist/data/query/batch.d.ts.map +1 -0
  125. package/dist/data/query/batch.js +2 -0
  126. package/dist/data/query/batch.js.map +1 -0
  127. package/dist/data/query/cache/core/cache.d.ts +37 -0
  128. package/dist/data/query/cache/core/cache.d.ts.map +1 -0
  129. package/dist/data/query/cache/core/cache.js +29 -0
  130. package/dist/data/query/cache/core/cache.js.map +1 -0
  131. package/dist/data/query/cache/core/index.d.ts +2 -0
  132. package/dist/data/query/cache/core/index.d.ts.map +1 -0
  133. package/dist/data/query/cache/core/index.js +2 -0
  134. package/dist/data/query/cache/core/index.js.map +1 -0
  135. package/dist/data/query/cache/core/types.d.ts +34 -0
  136. package/dist/data/query/cache/core/types.d.ts.map +1 -0
  137. package/dist/data/query/cache/core/types.js +2 -0
  138. package/dist/data/query/cache/core/types.js.map +1 -0
  139. package/dist/data/query/casing.d.ts +17 -0
  140. package/dist/data/query/casing.d.ts.map +1 -0
  141. package/dist/data/query/casing.js +62 -0
  142. package/dist/data/query/casing.js.map +1 -0
  143. package/dist/data/query/column-builder.d.ts +241 -0
  144. package/dist/data/query/column-builder.d.ts.map +1 -0
  145. package/dist/data/query/column-builder.js +105 -0
  146. package/dist/data/query/column-builder.js.map +1 -0
  147. package/dist/data/query/column.d.ts +70 -0
  148. package/dist/data/query/column.d.ts.map +1 -0
  149. package/dist/data/query/column.js +57 -0
  150. package/dist/data/query/column.js.map +1 -0
  151. package/dist/data/query/entity.d.ts +8 -0
  152. package/dist/data/query/entity.d.ts.map +1 -0
  153. package/dist/data/query/entity.js +25 -0
  154. package/dist/data/query/entity.js.map +1 -0
  155. package/dist/data/query/errors.d.ts +19 -0
  156. package/dist/data/query/errors.d.ts.map +1 -0
  157. package/dist/data/query/errors.js +31 -0
  158. package/dist/data/query/errors.js.map +1 -0
  159. package/dist/data/query/index.d.ts +15 -0
  160. package/dist/data/query/index.d.ts.map +1 -0
  161. package/dist/data/query/index.js +15 -0
  162. package/dist/data/query/index.js.map +1 -0
  163. package/dist/data/query/logger.d.ts +24 -0
  164. package/dist/data/query/logger.d.ts.map +1 -0
  165. package/dist/data/query/logger.js +33 -0
  166. package/dist/data/query/logger.js.map +1 -0
  167. package/dist/data/query/operations.d.ts +25 -0
  168. package/dist/data/query/operations.d.ts.map +1 -0
  169. package/dist/data/query/operations.js +2 -0
  170. package/dist/data/query/operations.js.map +1 -0
  171. package/dist/data/query/pg-core/alias.d.ts +5 -0
  172. package/dist/data/query/pg-core/alias.d.ts.map +1 -0
  173. package/dist/data/query/pg-core/alias.js +5 -0
  174. package/dist/data/query/pg-core/alias.js.map +1 -0
  175. package/dist/data/query/pg-core/checks.d.ts +21 -0
  176. package/dist/data/query/pg-core/checks.d.ts.map +1 -0
  177. package/dist/data/query/pg-core/checks.js +30 -0
  178. package/dist/data/query/pg-core/checks.js.map +1 -0
  179. package/dist/data/query/pg-core/columns/all.d.ts +68 -0
  180. package/dist/data/query/pg-core/columns/all.d.ts.map +1 -0
  181. package/dist/data/query/pg-core/columns/all.js +69 -0
  182. package/dist/data/query/pg-core/columns/all.js.map +1 -0
  183. package/dist/data/query/pg-core/columns/bigint.d.ts +54 -0
  184. package/dist/data/query/pg-core/columns/bigint.d.ts.map +1 -0
  185. package/dist/data/query/pg-core/columns/bigint.js +54 -0
  186. package/dist/data/query/pg-core/columns/bigint.js.map +1 -0
  187. package/dist/data/query/pg-core/columns/bigserial.d.ts +53 -0
  188. package/dist/data/query/pg-core/columns/bigserial.d.ts.map +1 -0
  189. package/dist/data/query/pg-core/columns/bigserial.js +56 -0
  190. package/dist/data/query/pg-core/columns/bigserial.js.map +1 -0
  191. package/dist/data/query/pg-core/columns/boolean.d.ts +28 -0
  192. package/dist/data/query/pg-core/columns/boolean.d.ts.map +1 -0
  193. package/dist/data/query/pg-core/columns/boolean.js +22 -0
  194. package/dist/data/query/pg-core/columns/boolean.js.map +1 -0
  195. package/dist/data/query/pg-core/columns/char.d.ts +53 -0
  196. package/dist/data/query/pg-core/columns/char.d.ts.map +1 -0
  197. package/dist/data/query/pg-core/columns/char.js +28 -0
  198. package/dist/data/query/pg-core/columns/char.js.map +1 -0
  199. package/dist/data/query/pg-core/columns/cidr.d.ts +28 -0
  200. package/dist/data/query/pg-core/columns/cidr.d.ts.map +1 -0
  201. package/dist/data/query/pg-core/columns/cidr.js +22 -0
  202. package/dist/data/query/pg-core/columns/cidr.js.map +1 -0
  203. package/dist/data/query/pg-core/columns/common.d.ts +167 -0
  204. package/dist/data/query/pg-core/columns/common.d.ts.map +1 -0
  205. package/dist/data/query/pg-core/columns/common.js +190 -0
  206. package/dist/data/query/pg-core/columns/common.js.map +1 -0
  207. package/dist/data/query/pg-core/columns/custom.d.ts +160 -0
  208. package/dist/data/query/pg-core/columns/custom.d.ts.map +1 -0
  209. package/dist/data/query/pg-core/columns/custom.js +46 -0
  210. package/dist/data/query/pg-core/columns/custom.js.map +1 -0
  211. package/dist/data/query/pg-core/columns/date.common.d.ts +8 -0
  212. package/dist/data/query/pg-core/columns/date.common.d.ts.map +1 -0
  213. package/dist/data/query/pg-core/columns/date.common.js +10 -0
  214. package/dist/data/query/pg-core/columns/date.common.js.map +1 -0
  215. package/dist/data/query/pg-core/columns/date.d.ts +57 -0
  216. package/dist/data/query/pg-core/columns/date.d.ts.map +1 -0
  217. package/dist/data/query/pg-core/columns/date.js +57 -0
  218. package/dist/data/query/pg-core/columns/date.js.map +1 -0
  219. package/dist/data/query/pg-core/columns/double-precision.d.ts +29 -0
  220. package/dist/data/query/pg-core/columns/double-precision.d.ts.map +1 -0
  221. package/dist/data/query/pg-core/columns/double-precision.js +28 -0
  222. package/dist/data/query/pg-core/columns/double-precision.js.map +1 -0
  223. package/dist/data/query/pg-core/columns/enum.d.ts +102 -0
  224. package/dist/data/query/pg-core/columns/enum.d.ts.map +1 -0
  225. package/dist/data/query/pg-core/columns/enum.js +78 -0
  226. package/dist/data/query/pg-core/columns/enum.js.map +1 -0
  227. package/dist/data/query/pg-core/columns/index.d.ts +36 -0
  228. package/dist/data/query/pg-core/columns/index.d.ts.map +1 -0
  229. package/dist/data/query/pg-core/columns/index.js +36 -0
  230. package/dist/data/query/pg-core/columns/index.js.map +1 -0
  231. package/dist/data/query/pg-core/columns/inet.d.ts +28 -0
  232. package/dist/data/query/pg-core/columns/inet.d.ts.map +1 -0
  233. package/dist/data/query/pg-core/columns/inet.js +22 -0
  234. package/dist/data/query/pg-core/columns/inet.js.map +1 -0
  235. package/dist/data/query/pg-core/columns/int.common.d.ts +16 -0
  236. package/dist/data/query/pg-core/columns/int.common.d.ts.map +1 -0
  237. package/dist/data/query/pg-core/columns/int.common.js +42 -0
  238. package/dist/data/query/pg-core/columns/int.common.js.map +1 -0
  239. package/dist/data/query/pg-core/columns/integer.d.ts +30 -0
  240. package/dist/data/query/pg-core/columns/integer.d.ts.map +1 -0
  241. package/dist/data/query/pg-core/columns/integer.js +29 -0
  242. package/dist/data/query/pg-core/columns/integer.js.map +1 -0
  243. package/dist/data/query/pg-core/columns/interval.d.ts +40 -0
  244. package/dist/data/query/pg-core/columns/interval.d.ts.map +1 -0
  245. package/dist/data/query/pg-core/columns/interval.js +29 -0
  246. package/dist/data/query/pg-core/columns/interval.js.map +1 -0
  247. package/dist/data/query/pg-core/columns/json.d.ts +33 -0
  248. package/dist/data/query/pg-core/columns/json.d.ts.map +1 -0
  249. package/dist/data/query/pg-core/columns/json.js +39 -0
  250. package/dist/data/query/pg-core/columns/json.js.map +1 -0
  251. package/dist/data/query/pg-core/columns/jsonb.d.ts +33 -0
  252. package/dist/data/query/pg-core/columns/jsonb.d.ts.map +1 -0
  253. package/dist/data/query/pg-core/columns/jsonb.js +39 -0
  254. package/dist/data/query/pg-core/columns/jsonb.js.map +1 -0
  255. package/dist/data/query/pg-core/columns/line.d.ts +69 -0
  256. package/dist/data/query/pg-core/columns/line.d.ts.map +1 -0
  257. package/dist/data/query/pg-core/columns/line.js +57 -0
  258. package/dist/data/query/pg-core/columns/line.js.map +1 -0
  259. package/dist/data/query/pg-core/columns/macaddr.d.ts +28 -0
  260. package/dist/data/query/pg-core/columns/macaddr.d.ts.map +1 -0
  261. package/dist/data/query/pg-core/columns/macaddr.js +22 -0
  262. package/dist/data/query/pg-core/columns/macaddr.js.map +1 -0
  263. package/dist/data/query/pg-core/columns/macaddr8.d.ts +28 -0
  264. package/dist/data/query/pg-core/columns/macaddr8.d.ts.map +1 -0
  265. package/dist/data/query/pg-core/columns/macaddr8.js +22 -0
  266. package/dist/data/query/pg-core/columns/macaddr8.js.map +1 -0
  267. package/dist/data/query/pg-core/columns/numeric.d.ts +112 -0
  268. package/dist/data/query/pg-core/columns/numeric.d.ts.map +1 -0
  269. package/dist/data/query/pg-core/columns/numeric.js +126 -0
  270. package/dist/data/query/pg-core/columns/numeric.js.map +1 -0
  271. package/dist/data/query/pg-core/columns/point.d.ts +72 -0
  272. package/dist/data/query/pg-core/columns/point.d.ts.map +1 -0
  273. package/dist/data/query/pg-core/columns/point.js +63 -0
  274. package/dist/data/query/pg-core/columns/point.js.map +1 -0
  275. package/dist/data/query/pg-core/columns/postgis_extension/geometry.d.ts +68 -0
  276. package/dist/data/query/pg-core/columns/postgis_extension/geometry.d.ts.map +1 -0
  277. package/dist/data/query/pg-core/columns/postgis_extension/geometry.js +57 -0
  278. package/dist/data/query/pg-core/columns/postgis_extension/geometry.js.map +1 -0
  279. package/dist/data/query/pg-core/columns/postgis_extension/utils.d.ts +2 -0
  280. package/dist/data/query/pg-core/columns/postgis_extension/utils.d.ts.map +1 -0
  281. package/dist/data/query/pg-core/columns/postgis_extension/utils.js +39 -0
  282. package/dist/data/query/pg-core/columns/postgis_extension/utils.js.map +1 -0
  283. package/dist/data/query/pg-core/columns/real.d.ts +34 -0
  284. package/dist/data/query/pg-core/columns/real.d.ts.map +1 -0
  285. package/dist/data/query/pg-core/columns/real.js +32 -0
  286. package/dist/data/query/pg-core/columns/real.js.map +1 -0
  287. package/dist/data/query/pg-core/columns/serial.d.ts +28 -0
  288. package/dist/data/query/pg-core/columns/serial.d.ts.map +1 -0
  289. package/dist/data/query/pg-core/columns/serial.js +24 -0
  290. package/dist/data/query/pg-core/columns/serial.js.map +1 -0
  291. package/dist/data/query/pg-core/columns/smallint.d.ts +30 -0
  292. package/dist/data/query/pg-core/columns/smallint.d.ts.map +1 -0
  293. package/dist/data/query/pg-core/columns/smallint.js +29 -0
  294. package/dist/data/query/pg-core/columns/smallint.js.map +1 -0
  295. package/dist/data/query/pg-core/columns/smallserial.d.ts +28 -0
  296. package/dist/data/query/pg-core/columns/smallserial.d.ts.map +1 -0
  297. package/dist/data/query/pg-core/columns/smallserial.js +24 -0
  298. package/dist/data/query/pg-core/columns/smallserial.js.map +1 -0
  299. package/dist/data/query/pg-core/columns/text.d.ts +38 -0
  300. package/dist/data/query/pg-core/columns/text.d.ts.map +1 -0
  301. package/dist/data/query/pg-core/columns/text.js +26 -0
  302. package/dist/data/query/pg-core/columns/text.js.map +1 -0
  303. package/dist/data/query/pg-core/columns/time.d.ts +45 -0
  304. package/dist/data/query/pg-core/columns/time.d.ts.map +1 -0
  305. package/dist/data/query/pg-core/columns/time.js +39 -0
  306. package/dist/data/query/pg-core/columns/time.js.map +1 -0
  307. package/dist/data/query/pg-core/columns/timestamp.d.ts +76 -0
  308. package/dist/data/query/pg-core/columns/timestamp.d.ts.map +1 -0
  309. package/dist/data/query/pg-core/columns/timestamp.js +83 -0
  310. package/dist/data/query/pg-core/columns/timestamp.js.map +1 -0
  311. package/dist/data/query/pg-core/columns/uuid.d.ts +32 -0
  312. package/dist/data/query/pg-core/columns/uuid.d.ts.map +1 -0
  313. package/dist/data/query/pg-core/columns/uuid.js +29 -0
  314. package/dist/data/query/pg-core/columns/uuid.js.map +1 -0
  315. package/dist/data/query/pg-core/columns/varchar.d.ts +53 -0
  316. package/dist/data/query/pg-core/columns/varchar.d.ts.map +1 -0
  317. package/dist/data/query/pg-core/columns/varchar.js +28 -0
  318. package/dist/data/query/pg-core/columns/varchar.js.map +1 -0
  319. package/dist/data/query/pg-core/columns/vector_extension/bit.d.ts +45 -0
  320. package/dist/data/query/pg-core/columns/vector_extension/bit.d.ts.map +1 -0
  321. package/dist/data/query/pg-core/columns/vector_extension/bit.js +26 -0
  322. package/dist/data/query/pg-core/columns/vector_extension/bit.js.map +1 -0
  323. package/dist/data/query/pg-core/columns/vector_extension/halfvec.d.ts +49 -0
  324. package/dist/data/query/pg-core/columns/vector_extension/halfvec.d.ts.map +1 -0
  325. package/dist/data/query/pg-core/columns/vector_extension/halfvec.js +35 -0
  326. package/dist/data/query/pg-core/columns/vector_extension/halfvec.js.map +1 -0
  327. package/dist/data/query/pg-core/columns/vector_extension/sparsevec.d.ts +36 -0
  328. package/dist/data/query/pg-core/columns/vector_extension/sparsevec.d.ts.map +1 -0
  329. package/dist/data/query/pg-core/columns/vector_extension/sparsevec.js +26 -0
  330. package/dist/data/query/pg-core/columns/vector_extension/sparsevec.js.map +1 -0
  331. package/dist/data/query/pg-core/columns/vector_extension/vector.d.ts +49 -0
  332. package/dist/data/query/pg-core/columns/vector_extension/vector.d.ts.map +1 -0
  333. package/dist/data/query/pg-core/columns/vector_extension/vector.js +35 -0
  334. package/dist/data/query/pg-core/columns/vector_extension/vector.js.map +1 -0
  335. package/dist/data/query/pg-core/db.d.ts +292 -0
  336. package/dist/data/query/pg-core/db.d.ts.map +1 -0
  337. package/dist/data/query/pg-core/db.js +377 -0
  338. package/dist/data/query/pg-core/db.js.map +1 -0
  339. package/dist/data/query/pg-core/dialect.d.ts +66 -0
  340. package/dist/data/query/pg-core/dialect.d.ts.map +1 -0
  341. package/dist/data/query/pg-core/dialect.js +1099 -0
  342. package/dist/data/query/pg-core/dialect.js.map +1 -0
  343. package/dist/data/query/pg-core/expressions.d.ts +9 -0
  344. package/dist/data/query/pg-core/expressions.d.ts.map +1 -0
  345. package/dist/data/query/pg-core/expressions.js +18 -0
  346. package/dist/data/query/pg-core/expressions.js.map +1 -0
  347. package/dist/data/query/pg-core/foreign-keys.d.ts +57 -0
  348. package/dist/data/query/pg-core/foreign-keys.d.ts.map +1 -0
  349. package/dist/data/query/pg-core/foreign-keys.js +70 -0
  350. package/dist/data/query/pg-core/foreign-keys.js.map +1 -0
  351. package/dist/data/query/pg-core/index.d.ts +22 -0
  352. package/dist/data/query/pg-core/index.d.ts.map +1 -0
  353. package/dist/data/query/pg-core/index.js +22 -0
  354. package/dist/data/query/pg-core/index.js.map +1 -0
  355. package/dist/data/query/pg-core/indexes.d.ts +84 -0
  356. package/dist/data/query/pg-core/indexes.d.ts.map +1 -0
  357. package/dist/data/query/pg-core/indexes.js +100 -0
  358. package/dist/data/query/pg-core/indexes.js.map +1 -0
  359. package/dist/data/query/pg-core/policies.d.ts +27 -0
  360. package/dist/data/query/pg-core/policies.d.ts.map +1 -0
  361. package/dist/data/query/pg-core/policies.js +30 -0
  362. package/dist/data/query/pg-core/policies.js.map +1 -0
  363. package/dist/data/query/pg-core/primary-keys.d.ts +37 -0
  364. package/dist/data/query/pg-core/primary-keys.d.ts.map +1 -0
  365. package/dist/data/query/pg-core/primary-keys.js +38 -0
  366. package/dist/data/query/pg-core/primary-keys.js.map +1 -0
  367. package/dist/data/query/pg-core/query-builders/count.d.ts +30 -0
  368. package/dist/data/query/pg-core/query-builders/count.d.ts.map +1 -0
  369. package/dist/data/query/pg-core/query-builders/count.js +45 -0
  370. package/dist/data/query/pg-core/query-builders/count.js.map +1 -0
  371. package/dist/data/query/pg-core/query-builders/delete.d.ts +115 -0
  372. package/dist/data/query/pg-core/query-builders/delete.d.ts.map +1 -0
  373. package/dist/data/query/pg-core/query-builders/delete.js +103 -0
  374. package/dist/data/query/pg-core/query-builders/delete.js.map +1 -0
  375. package/dist/data/query/pg-core/query-builders/index.d.ts +8 -0
  376. package/dist/data/query/pg-core/query-builders/index.d.ts.map +1 -0
  377. package/dist/data/query/pg-core/query-builders/index.js +8 -0
  378. package/dist/data/query/pg-core/query-builders/index.js.map +1 -0
  379. package/dist/data/query/pg-core/query-builders/insert.d.ts +189 -0
  380. package/dist/data/query/pg-core/query-builders/insert.d.ts.map +1 -0
  381. package/dist/data/query/pg-core/query-builders/insert.js +201 -0
  382. package/dist/data/query/pg-core/query-builders/insert.js.map +1 -0
  383. package/dist/data/query/pg-core/query-builders/query-builder.d.ts +38 -0
  384. package/dist/data/query/pg-core/query-builders/query-builder.d.ts.map +1 -0
  385. package/dist/data/query/pg-core/query-builders/query-builder.js +83 -0
  386. package/dist/data/query/pg-core/query-builders/query-builder.js.map +1 -0
  387. package/dist/data/query/pg-core/query-builders/query.d.ts +56 -0
  388. package/dist/data/query/pg-core/query-builders/query.d.ts.map +1 -0
  389. package/dist/data/query/pg-core/query-builders/query.js +104 -0
  390. package/dist/data/query/pg-core/query-builders/query.js.map +1 -0
  391. package/dist/data/query/pg-core/query-builders/raw.d.ts +27 -0
  392. package/dist/data/query/pg-core/query-builders/raw.d.ts.map +1 -0
  393. package/dist/data/query/pg-core/query-builders/raw.js +34 -0
  394. package/dist/data/query/pg-core/query-builders/raw.js.map +1 -0
  395. package/dist/data/query/pg-core/query-builders/refresh-materialized-view.d.ts +38 -0
  396. package/dist/data/query/pg-core/query-builders/refresh-materialized-view.d.ts.map +1 -0
  397. package/dist/data/query/pg-core/query-builders/refresh-materialized-view.js +58 -0
  398. package/dist/data/query/pg-core/query-builders/refresh-materialized-view.js.map +1 -0
  399. package/dist/data/query/pg-core/query-builders/select.d.ts +811 -0
  400. package/dist/data/query/pg-core/query-builders/select.d.ts.map +1 -0
  401. package/dist/data/query/pg-core/query-builders/select.js +993 -0
  402. package/dist/data/query/pg-core/query-builders/select.js.map +1 -0
  403. package/dist/data/query/pg-core/query-builders/select.types.d.ts +141 -0
  404. package/dist/data/query/pg-core/query-builders/select.types.d.ts.map +1 -0
  405. package/dist/data/query/pg-core/query-builders/select.types.js +2 -0
  406. package/dist/data/query/pg-core/query-builders/select.types.js.map +1 -0
  407. package/dist/data/query/pg-core/query-builders/update.d.ts +183 -0
  408. package/dist/data/query/pg-core/query-builders/update.d.ts.map +1 -0
  409. package/dist/data/query/pg-core/query-builders/update.js +210 -0
  410. package/dist/data/query/pg-core/query-builders/update.js.map +1 -0
  411. package/dist/data/query/pg-core/roles.d.ts +22 -0
  412. package/dist/data/query/pg-core/roles.d.ts.map +1 -0
  413. package/dist/data/query/pg-core/roles.js +29 -0
  414. package/dist/data/query/pg-core/roles.js.map +1 -0
  415. package/dist/data/query/pg-core/schema.d.ts +23 -0
  416. package/dist/data/query/pg-core/schema.d.ts.map +1 -0
  417. package/dist/data/query/pg-core/schema.js +46 -0
  418. package/dist/data/query/pg-core/schema.js.map +1 -0
  419. package/dist/data/query/pg-core/sequence.d.ts +21 -0
  420. package/dist/data/query/pg-core/sequence.d.ts.map +1 -0
  421. package/dist/data/query/pg-core/sequence.js +23 -0
  422. package/dist/data/query/pg-core/sequence.js.map +1 -0
  423. package/dist/data/query/pg-core/session.d.ts +94 -0
  424. package/dist/data/query/pg-core/session.d.ts.map +1 -0
  425. package/dist/data/query/pg-core/session.js +169 -0
  426. package/dist/data/query/pg-core/session.js.map +1 -0
  427. package/dist/data/query/pg-core/subquery.d.ts +19 -0
  428. package/dist/data/query/pg-core/subquery.d.ts.map +1 -0
  429. package/dist/data/query/pg-core/subquery.js +2 -0
  430. package/dist/data/query/pg-core/subquery.js.map +1 -0
  431. package/dist/data/query/pg-core/table.d.ts +129 -0
  432. package/dist/data/query/pg-core/table.d.ts.map +1 -0
  433. package/dist/data/query/pg-core/table.js +62 -0
  434. package/dist/data/query/pg-core/table.js.map +1 -0
  435. package/dist/data/query/pg-core/unique-constraint.d.ts +34 -0
  436. package/dist/data/query/pg-core/unique-constraint.d.ts.map +1 -0
  437. package/dist/data/query/pg-core/unique-constraint.js +56 -0
  438. package/dist/data/query/pg-core/unique-constraint.js.map +1 -0
  439. package/dist/data/query/pg-core/utils/array.d.ts +4 -0
  440. package/dist/data/query/pg-core/utils/array.d.ts.map +1 -0
  441. package/dist/data/query/pg-core/utils/array.js +75 -0
  442. package/dist/data/query/pg-core/utils/array.js.map +1 -0
  443. package/dist/data/query/pg-core/utils/index.d.ts +2 -0
  444. package/dist/data/query/pg-core/utils/index.d.ts.map +1 -0
  445. package/dist/data/query/pg-core/utils/index.js +2 -0
  446. package/dist/data/query/pg-core/utils/index.js.map +1 -0
  447. package/dist/data/query/pg-core/utils.d.ts +56 -0
  448. package/dist/data/query/pg-core/utils.d.ts.map +1 -0
  449. package/dist/data/query/pg-core/utils.js +88 -0
  450. package/dist/data/query/pg-core/utils.js.map +1 -0
  451. package/dist/data/query/pg-core/view-base.d.ts +9 -0
  452. package/dist/data/query/pg-core/view-base.d.ts.map +1 -0
  453. package/dist/data/query/pg-core/view-base.js +6 -0
  454. package/dist/data/query/pg-core/view-base.js.map +1 -0
  455. package/dist/data/query/pg-core/view-common.d.ts +2 -0
  456. package/dist/data/query/pg-core/view-common.d.ts.map +1 -0
  457. package/dist/data/query/pg-core/view-common.js +2 -0
  458. package/dist/data/query/pg-core/view-common.js.map +1 -0
  459. package/dist/data/query/pg-core/view.d.ts +161 -0
  460. package/dist/data/query/pg-core/view.d.ts.map +1 -0
  461. package/dist/data/query/pg-core/view.js +243 -0
  462. package/dist/data/query/pg-core/view.js.map +1 -0
  463. package/dist/data/query/postgres-js/driver.d.ts +30 -0
  464. package/dist/data/query/postgres-js/driver.d.ts.map +1 -0
  465. package/dist/data/query/postgres-js/driver.js +77 -0
  466. package/dist/data/query/postgres-js/driver.js.map +1 -0
  467. package/dist/data/query/postgres-js/index.d.ts +3 -0
  468. package/dist/data/query/postgres-js/index.d.ts.map +1 -0
  469. package/dist/data/query/postgres-js/index.js +3 -0
  470. package/dist/data/query/postgres-js/index.js.map +1 -0
  471. package/dist/data/query/postgres-js/session.d.ts +67 -0
  472. package/dist/data/query/postgres-js/session.d.ts.map +1 -0
  473. package/dist/data/query/postgres-js/session.js +139 -0
  474. package/dist/data/query/postgres-js/session.js.map +1 -0
  475. package/dist/data/query/primary-key.d.ts +11 -0
  476. package/dist/data/query/primary-key.d.ts.map +1 -0
  477. package/dist/data/query/primary-key.js +11 -0
  478. package/dist/data/query/primary-key.js.map +1 -0
  479. package/dist/data/query/query-builders/query-builder.d.ts +14 -0
  480. package/dist/data/query/query-builders/query-builder.d.ts.map +1 -0
  481. package/dist/data/query/query-builders/query-builder.js +9 -0
  482. package/dist/data/query/query-builders/query-builder.js.map +1 -0
  483. package/dist/data/query/query-builders/select.types.d.ts +59 -0
  484. package/dist/data/query/query-builders/select.types.d.ts.map +1 -0
  485. package/dist/data/query/query-builders/select.types.js +2 -0
  486. package/dist/data/query/query-builders/select.types.js.map +1 -0
  487. package/dist/data/query/query-promise.d.ts +10 -0
  488. package/dist/data/query/query-promise.d.ts.map +1 -0
  489. package/dist/data/query/query-promise.js +21 -0
  490. package/dist/data/query/query-promise.js.map +1 -0
  491. package/dist/data/query/relations.d.ts +216 -0
  492. package/dist/data/query/relations.d.ts.map +1 -0
  493. package/dist/data/query/relations.js +257 -0
  494. package/dist/data/query/relations.js.map +1 -0
  495. package/dist/data/query/runnable-query.d.ts +11 -0
  496. package/dist/data/query/runnable-query.d.ts.map +1 -0
  497. package/dist/data/query/runnable-query.js +2 -0
  498. package/dist/data/query/runnable-query.js.map +1 -0
  499. package/dist/data/query/selection-proxy.d.ts +10 -0
  500. package/dist/data/query/selection-proxy.d.ts.map +1 -0
  501. package/dist/data/query/selection-proxy.js +62 -0
  502. package/dist/data/query/selection-proxy.js.map +1 -0
  503. package/dist/data/query/session.d.ts +8 -0
  504. package/dist/data/query/session.d.ts.map +1 -0
  505. package/dist/data/query/session.js +2 -0
  506. package/dist/data/query/session.js.map +1 -0
  507. package/dist/data/query/sql/expressions/conditions.d.ts +454 -0
  508. package/dist/data/query/sql/expressions/conditions.d.ts.map +1 -0
  509. package/dist/data/query/sql/expressions/conditions.js +393 -0
  510. package/dist/data/query/sql/expressions/conditions.js.map +1 -0
  511. package/dist/data/query/sql/expressions/index.d.ts +3 -0
  512. package/dist/data/query/sql/expressions/index.d.ts.map +1 -0
  513. package/dist/data/query/sql/expressions/index.js +3 -0
  514. package/dist/data/query/sql/expressions/index.js.map +1 -0
  515. package/dist/data/query/sql/expressions/select.d.ts +39 -0
  516. package/dist/data/query/sql/expressions/select.d.ts.map +1 -0
  517. package/dist/data/query/sql/expressions/select.js +42 -0
  518. package/dist/data/query/sql/expressions/select.js.map +1 -0
  519. package/dist/data/query/sql/functions/aggregate.d.ts +105 -0
  520. package/dist/data/query/sql/functions/aggregate.d.ts.map +1 -0
  521. package/dist/data/query/sql/functions/aggregate.js +122 -0
  522. package/dist/data/query/sql/functions/aggregate.js.map +1 -0
  523. package/dist/data/query/sql/functions/index.d.ts +3 -0
  524. package/dist/data/query/sql/functions/index.d.ts.map +1 -0
  525. package/dist/data/query/sql/functions/index.js +3 -0
  526. package/dist/data/query/sql/functions/index.js.map +1 -0
  527. package/dist/data/query/sql/functions/vector.d.ts +121 -0
  528. package/dist/data/query/sql/functions/vector.d.ts.map +1 -0
  529. package/dist/data/query/sql/functions/vector.js +152 -0
  530. package/dist/data/query/sql/functions/vector.js.map +1 -0
  531. package/dist/data/query/sql/index.d.ts +4 -0
  532. package/dist/data/query/sql/index.d.ts.map +1 -0
  533. package/dist/data/query/sql/index.js +4 -0
  534. package/dist/data/query/sql/index.js.map +1 -0
  535. package/dist/data/query/sql/sql.d.ts +254 -0
  536. package/dist/data/query/sql/sql.d.ts.map +1 -0
  537. package/dist/data/query/sql/sql.js +478 -0
  538. package/dist/data/query/sql/sql.js.map +1 -0
  539. package/dist/data/query/subquery.d.ts +21 -0
  540. package/dist/data/query/subquery.d.ts.map +1 -0
  541. package/dist/data/query/subquery.js +18 -0
  542. package/dist/data/query/subquery.js.map +1 -0
  543. package/dist/data/query/table.d.ts +142 -0
  544. package/dist/data/query/table.d.ts.map +1 -0
  545. package/dist/data/query/table.js +73 -0
  546. package/dist/data/query/table.js.map +1 -0
  547. package/dist/data/query/table.utils.d.ts +3 -0
  548. package/dist/data/query/table.utils.d.ts.map +1 -0
  549. package/dist/data/query/table.utils.js +3 -0
  550. package/dist/data/query/table.utils.js.map +1 -0
  551. package/dist/data/query/tracing-utils.d.ts +2 -0
  552. package/dist/data/query/tracing-utils.d.ts.map +1 -0
  553. package/dist/data/query/tracing-utils.js +4 -0
  554. package/dist/data/query/tracing-utils.js.map +1 -0
  555. package/dist/data/query/tracing.d.ts +10 -0
  556. package/dist/data/query/tracing.d.ts.map +1 -0
  557. package/dist/data/query/tracing.js +7 -0
  558. package/dist/data/query/tracing.js.map +1 -0
  559. package/dist/data/query/utils.d.ts +81 -0
  560. package/dist/data/query/utils.d.ts.map +1 -0
  561. package/dist/data/query/utils.js +193 -0
  562. package/dist/data/query/utils.js.map +1 -0
  563. package/dist/data/query/version.d.ts +3 -0
  564. package/dist/data/query/version.d.ts.map +1 -0
  565. package/dist/data/query/version.js +5 -0
  566. package/dist/data/query/version.js.map +1 -0
  567. package/dist/data/query/view-common.d.ts +2 -0
  568. package/dist/data/query/view-common.d.ts.map +1 -0
  569. package/dist/data/query/view-common.js +2 -0
  570. package/dist/data/query/view-common.js.map +1 -0
  571. package/dist/data/schema/namespace.d.ts +2 -2
  572. package/dist/data/temporal/columns.d.ts +4 -4
  573. package/dist/data/vector/types.d.ts +2 -2
  574. package/dist/db/index.d.ts +0 -1
  575. package/dist/db/index.d.ts.map +1 -1
  576. package/dist/db/index.js +0 -1
  577. package/dist/db/index.js.map +1 -1
  578. package/dist/db/namespace.d.ts +0 -5
  579. package/dist/db/namespace.d.ts.map +1 -1
  580. package/dist/db/namespace.js +0 -5
  581. package/dist/db/namespace.js.map +1 -1
  582. package/dist/domain/define.d.ts.map +1 -1
  583. package/dist/domain/define.js.map +1 -1
  584. package/dist/domain/field.d.ts +2 -4
  585. package/dist/domain/field.d.ts.map +1 -1
  586. package/dist/domain/field.js.map +1 -1
  587. package/dist/domain/index.d.ts +1 -1
  588. package/dist/domain/index.d.ts.map +1 -1
  589. package/dist/domain/types.d.ts +9 -37
  590. package/dist/domain/types.d.ts.map +1 -1
  591. package/dist/drizzle/index.d.ts +3 -0
  592. package/dist/drizzle/index.d.ts.map +1 -0
  593. package/dist/drizzle/index.js +3 -0
  594. package/dist/drizzle/index.js.map +1 -0
  595. package/dist/log/namespace.d.ts +1 -1
  596. package/dist/logging/index.d.ts +1 -1
  597. package/dist/logging/index.d.ts.map +1 -1
  598. package/dist/logging/proxy.d.ts +2 -2
  599. package/dist/logging/proxy.d.ts.map +1 -1
  600. package/dist/logging/proxy.js +2 -9
  601. package/dist/logging/proxy.js.map +1 -1
  602. package/dist/logging/types.d.ts +0 -7
  603. package/dist/logging/types.d.ts.map +1 -1
  604. package/dist/resource/batch.d.ts +17 -0
  605. package/dist/resource/batch.d.ts.map +1 -0
  606. package/dist/resource/batch.js +47 -0
  607. package/dist/resource/batch.js.map +1 -0
  608. package/dist/resource/builder.d.ts +11 -0
  609. package/dist/resource/builder.d.ts.map +1 -0
  610. package/dist/resource/builder.js +12 -0
  611. package/dist/resource/builder.js.map +1 -0
  612. package/dist/resource/errors.d.ts +7 -0
  613. package/dist/resource/errors.d.ts.map +1 -0
  614. package/dist/resource/errors.js +9 -0
  615. package/dist/resource/errors.js.map +1 -0
  616. package/dist/resource/index.d.ts +9 -0
  617. package/dist/resource/index.d.ts.map +1 -0
  618. package/dist/resource/index.js +6 -0
  619. package/dist/resource/index.js.map +1 -0
  620. package/dist/resource/paginate.d.ts +13 -0
  621. package/dist/resource/paginate.d.ts.map +1 -0
  622. package/dist/resource/paginate.js +29 -0
  623. package/dist/resource/paginate.js.map +1 -0
  624. package/dist/resource/register.d.ts +16 -0
  625. package/dist/resource/register.d.ts.map +1 -0
  626. package/dist/resource/register.js +181 -0
  627. package/dist/resource/register.js.map +1 -0
  628. package/dist/resource/types.d.ts +69 -0
  629. package/dist/resource/types.d.ts.map +1 -0
  630. package/dist/resource/types.js +2 -0
  631. package/dist/resource/types.js.map +1 -0
  632. package/dist/surface/http.d.ts +2 -2
  633. package/dist/surface/http.d.ts.map +1 -1
  634. package/dist/surface/http.js +8 -25
  635. package/dist/surface/http.js.map +1 -1
  636. package/dist/surface/index.d.ts +1 -1
  637. package/dist/surface/index.d.ts.map +1 -1
  638. package/dist/surface/namespace.d.ts +1 -1
  639. package/dist/surface/namespace.d.ts.map +1 -1
  640. package/dist/surface/namespace.js +1 -1
  641. package/dist/surface/namespace.js.map +1 -1
  642. package/dist/surface/types.d.ts +0 -7
  643. package/dist/surface/types.d.ts.map +1 -1
  644. package/dist/temporal/definition-queries.d.ts +5 -5
  645. package/dist/temporal/definition-queries.d.ts.map +1 -1
  646. package/dist/temporal/definition-queries.js.map +1 -1
  647. package/dist/test/plugin.d.ts +2 -1
  648. package/dist/test/plugin.d.ts.map +1 -1
  649. package/dist/test/plugin.js +10 -2
  650. package/dist/test/plugin.js.map +1 -1
  651. package/dist/test/setup.d.ts.map +1 -1
  652. package/dist/test/setup.js +6 -4
  653. package/dist/test/setup.js.map +1 -1
  654. package/dist/test/vitest.d.ts +2 -2
  655. package/dist/test/vitest.d.ts.map +1 -1
  656. package/dist/test/vitest.js +6 -3
  657. package/dist/test/vitest.js.map +1 -1
  658. package/dist/trunk.d.ts +35 -0
  659. package/dist/trunk.d.ts.map +1 -0
  660. package/dist/trunk.js +102 -0
  661. package/dist/trunk.js.map +1 -0
  662. package/dist/validation/surface.d.ts +4 -0
  663. package/dist/validation/surface.d.ts.map +1 -0
  664. package/dist/validation/surface.js +55 -0
  665. package/dist/validation/surface.js.map +1 -0
  666. package/dist/vector/index.d.ts +1 -2
  667. package/dist/vector/index.d.ts.map +1 -1
  668. package/dist/vector/index.js +1 -1
  669. package/dist/vector/index.js.map +1 -1
  670. package/dist/vector/namespace.d.ts +4 -10
  671. package/dist/vector/namespace.d.ts.map +1 -1
  672. package/dist/vector/namespace.js +4 -10
  673. package/dist/vector/namespace.js.map +1 -1
  674. package/dist/vector/query.d.ts +2 -15
  675. package/dist/vector/query.d.ts.map +1 -1
  676. package/dist/vector/query.js +1 -39
  677. package/dist/vector/query.js.map +1 -1
  678. package/dist/webhook/verify.d.ts +3 -5
  679. package/dist/webhook/verify.d.ts.map +1 -1
  680. package/dist/webhook/verify.js +2 -5
  681. package/dist/webhook/verify.js.map +1 -1
  682. package/dist/workspace/affected.d.ts +17 -0
  683. package/dist/workspace/affected.d.ts.map +1 -0
  684. package/dist/workspace/affected.js +29 -0
  685. package/dist/workspace/affected.js.map +1 -0
  686. package/dist/workspace/changed-files.d.ts +7 -0
  687. package/dist/workspace/changed-files.d.ts.map +1 -0
  688. package/dist/workspace/changed-files.js +38 -0
  689. package/dist/workspace/changed-files.js.map +1 -0
  690. package/dist/workspace/dependency-graph.d.ts +8 -0
  691. package/dist/workspace/dependency-graph.d.ts.map +1 -0
  692. package/dist/workspace/dependency-graph.js +54 -0
  693. package/dist/workspace/dependency-graph.js.map +1 -0
  694. package/dist/workspace/generate.d.ts +1 -0
  695. package/dist/workspace/generate.d.ts.map +1 -1
  696. package/dist/workspace/generate.js +1 -0
  697. package/dist/workspace/generate.js.map +1 -1
  698. package/dist/workspace/index.d.ts +3 -0
  699. package/dist/workspace/index.d.ts.map +1 -1
  700. package/dist/workspace/index.js +3 -0
  701. package/dist/workspace/index.js.map +1 -1
  702. package/dist/workspace/sync.d.ts.map +1 -1
  703. package/dist/workspace/sync.js +1 -0
  704. package/dist/workspace/sync.js.map +1 -1
  705. package/package.json +33 -24
  706. package/dist/config/ts-register.d.ts +0 -2
  707. package/dist/config/ts-register.d.ts.map +0 -1
  708. package/dist/config/ts-register.js +0 -3
  709. package/dist/config/ts-register.js.map +0 -1
  710. package/dist/config/ts-resolve-hooks.d.ts +0 -10
  711. package/dist/config/ts-resolve-hooks.d.ts.map +0 -1
  712. package/dist/config/ts-resolve-hooks.js +0 -14
  713. package/dist/config/ts-resolve-hooks.js.map +0 -1
  714. package/dist/db/excluded.d.ts +0 -7
  715. package/dist/db/excluded.d.ts.map +0 -1
  716. package/dist/db/excluded.js +0 -11
  717. package/dist/db/excluded.js.map +0 -1
  718. package/dist/jsonb/index.d.ts +0 -2
  719. package/dist/jsonb/index.d.ts.map +0 -1
  720. package/dist/jsonb/index.js +0 -2
  721. package/dist/jsonb/index.js.map +0 -1
  722. package/dist/jsonb/namespace.d.ts +0 -11
  723. package/dist/jsonb/namespace.d.ts.map +0 -1
  724. package/dist/jsonb/namespace.js +0 -11
  725. package/dist/jsonb/namespace.js.map +0 -1
  726. package/dist/jsonb/query.d.ts +0 -5
  727. package/dist/jsonb/query.d.ts.map +0 -1
  728. package/dist/jsonb/query.js +0 -11
  729. package/dist/jsonb/query.js.map +0 -1
  730. package/dist/validation/doctrine.d.ts +0 -13
  731. package/dist/validation/doctrine.d.ts.map +0 -1
  732. package/dist/validation/doctrine.js +0 -115
  733. package/dist/validation/doctrine.js.map +0 -1
@@ -0,0 +1,216 @@
1
+ import { type AnyTable, type InferModelFromColumns, Table } from './table.js';
2
+ import { type AnyColumn, Column } from './column.js';
3
+ import { entityKind } from './entity.js';
4
+ import { and, asc, between, desc, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from './sql/expressions/index.js';
5
+ import { type Placeholder, SQL, sql } from './sql/sql.js';
6
+ import type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.js';
7
+ export declare abstract class Relation<TTableName extends string = string> {
8
+ readonly sourceTable: Table;
9
+ readonly referencedTable: AnyTable<{
10
+ name: TTableName;
11
+ }>;
12
+ readonly relationName: string | undefined;
13
+ static readonly [entityKind]: string;
14
+ readonly $brand: 'Relation';
15
+ readonly referencedTableName: TTableName;
16
+ fieldName: string;
17
+ constructor(sourceTable: Table, referencedTable: AnyTable<{
18
+ name: TTableName;
19
+ }>, relationName: string | undefined);
20
+ abstract withFieldName(fieldName: string): Relation<TTableName>;
21
+ }
22
+ export declare class Relations<TTableName extends string = string, TConfig extends Record<string, Relation> = Record<string, Relation>> {
23
+ readonly table: AnyTable<{
24
+ name: TTableName;
25
+ }>;
26
+ readonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig;
27
+ static readonly [entityKind]: string;
28
+ readonly $brand: 'Relations';
29
+ constructor(table: AnyTable<{
30
+ name: TTableName;
31
+ }>, config: (helpers: TableRelationsHelpers<TTableName>) => TConfig);
32
+ }
33
+ export declare class One<TTableName extends string = string, TIsNullable extends boolean = boolean> extends Relation<TTableName> {
34
+ readonly config: RelationConfig<TTableName, string, AnyColumn<{
35
+ tableName: TTableName;
36
+ }>[]> | undefined;
37
+ readonly isNullable: TIsNullable;
38
+ static readonly [entityKind]: string;
39
+ protected $relationBrand: 'One';
40
+ constructor(sourceTable: Table, referencedTable: AnyTable<{
41
+ name: TTableName;
42
+ }>, config: RelationConfig<TTableName, string, AnyColumn<{
43
+ tableName: TTableName;
44
+ }>[]> | undefined, isNullable: TIsNullable);
45
+ withFieldName(fieldName: string): One<TTableName>;
46
+ }
47
+ export declare class Many<TTableName extends string> extends Relation<TTableName> {
48
+ readonly config: {
49
+ relationName: string;
50
+ } | undefined;
51
+ static readonly [entityKind]: string;
52
+ protected $relationBrand: 'Many';
53
+ constructor(sourceTable: Table, referencedTable: AnyTable<{
54
+ name: TTableName;
55
+ }>, config: {
56
+ relationName: string;
57
+ } | undefined);
58
+ withFieldName(fieldName: string): Many<TTableName>;
59
+ }
60
+ export type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K extends keyof TSchema> = TSchema[K] extends Relations<TTableName> ? K : never;
61
+ export type ExtractTableRelationsFromSchema<TSchema extends Record<string, unknown>, TTableName extends string> = ExtractObjectValues<{
62
+ [K in keyof TSchema as TableRelationsKeysOnly<TSchema, TTableName, K>]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;
63
+ }>;
64
+ export type ExtractObjectValues<T> = T[keyof T];
65
+ export type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{
66
+ [K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never;
67
+ }>;
68
+ export declare function getOperators(): {
69
+ and: typeof and;
70
+ between: typeof between;
71
+ eq: import("./sql/expressions/conditions.js").BinaryOperator;
72
+ exists: typeof exists;
73
+ gt: import("./sql/expressions/conditions.js").BinaryOperator;
74
+ gte: import("./sql/expressions/conditions.js").BinaryOperator;
75
+ ilike: typeof ilike;
76
+ inArray: typeof inArray;
77
+ isNull: typeof isNull;
78
+ isNotNull: typeof isNotNull;
79
+ like: typeof like;
80
+ lt: import("./sql/expressions/conditions.js").BinaryOperator;
81
+ lte: import("./sql/expressions/conditions.js").BinaryOperator;
82
+ ne: import("./sql/expressions/conditions.js").BinaryOperator;
83
+ not: typeof not;
84
+ notBetween: typeof notBetween;
85
+ notExists: typeof notExists;
86
+ notLike: typeof notLike;
87
+ notIlike: typeof notIlike;
88
+ notInArray: typeof notInArray;
89
+ or: typeof or;
90
+ sql: typeof sql;
91
+ };
92
+ export type Operators = ReturnType<typeof getOperators>;
93
+ export declare function getOrderByOperators(): {
94
+ sql: typeof sql;
95
+ asc: typeof asc;
96
+ desc: typeof desc;
97
+ };
98
+ export type OrderByOperators = ReturnType<typeof getOrderByOperators>;
99
+ export type FindTableByDBName<TSchema extends TablesRelationalConfig, TTableName extends string> = ExtractObjectValues<{
100
+ [K in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K : never]: TSchema[K];
101
+ }>;
102
+ export type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = {
103
+ columns?: {
104
+ [K in keyof TTableConfig['columns']]?: boolean;
105
+ } | undefined;
106
+ with?: {
107
+ [K in keyof TTableConfig['relations']]?: true | DBQueryConfig<TTableConfig['relations'][K] extends One ? 'one' : 'many', false, TSchema, FindTableByDBName<TSchema, TTableConfig['relations'][K]['referencedTableName']>> | undefined;
108
+ } | undefined;
109
+ extras?: Record<string, SQL.Aliased> | ((fields: Simplify<[
110
+ TTableConfig['columns']
111
+ ] extends [never] ? {} : TTableConfig['columns']>, operators: {
112
+ sql: Operators['sql'];
113
+ }) => Record<string, SQL.Aliased>) | undefined;
114
+ } & (TRelationType extends 'many' ? {
115
+ where?: SQL | undefined | ((fields: Simplify<[
116
+ TTableConfig['columns']
117
+ ] extends [never] ? {} : TTableConfig['columns']>, operators: Operators) => SQL | undefined);
118
+ orderBy?: ValueOrArray<AnyColumn | SQL> | ((fields: Simplify<[
119
+ TTableConfig['columns']
120
+ ] extends [never] ? {} : TTableConfig['columns']>, operators: OrderByOperators) => ValueOrArray<AnyColumn | SQL>) | undefined;
121
+ limit?: number | Placeholder | undefined;
122
+ } & (TIsRoot extends true ? {
123
+ offset?: number | Placeholder | undefined;
124
+ } : {}) : {});
125
+ export interface TableRelationalConfig {
126
+ tsName: string;
127
+ dbName: string;
128
+ columns: Record<string, Column>;
129
+ relations: Record<string, Relation>;
130
+ primaryKey: AnyColumn[];
131
+ schema?: string | undefined;
132
+ }
133
+ export type TablesRelationalConfig = Record<string, TableRelationalConfig>;
134
+ export interface RelationalSchemaConfig<TSchema extends TablesRelationalConfig> {
135
+ fullSchema: Record<string, unknown>;
136
+ schema: TSchema;
137
+ tableNamesMap: Record<string, string>;
138
+ }
139
+ export type ExtractTablesWithRelations<TSchema extends Record<string, unknown>> = {
140
+ [K in keyof TSchema as TSchema[K] extends Table ? K : never]: TSchema[K] extends Table ? {
141
+ tsName: K & string;
142
+ dbName: TSchema[K]['_']['name'];
143
+ columns: TSchema[K]['_']['columns'];
144
+ relations: ExtractTableRelationsFromSchema<TSchema, TSchema[K]['_']['name']>;
145
+ primaryKey: AnyColumn[];
146
+ } : never;
147
+ };
148
+ export type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R : T;
149
+ export type BuildRelationResult<TSchema extends TablesRelationalConfig, TInclude, TRelations extends Record<string, Relation>> = {
150
+ [K in NonUndefinedKeysOnly<TInclude> & keyof TRelations]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<TSchema, FindTableByDBName<TSchema, TRel['referencedTableName']>, Assume<TInclude[K], true | Record<string, unknown>>> extends infer TResult ? TRel extends One ? TResult | (Equal<TRel['isNullable'], false> extends true ? null : never) : TResult[] : never : never;
151
+ };
152
+ export type NonUndefinedKeysOnly<T> = ExtractObjectValues<{
153
+ [K in keyof T as T[K] extends undefined ? never : K]: K;
154
+ }> & keyof T;
155
+ export type BuildQueryResult<TSchema extends TablesRelationalConfig, TTableConfig extends TableRelationalConfig, TFullSelection extends true | Record<string, unknown>> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']> : TFullSelection extends Record<string, unknown> ? Simplify<(TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<{
156
+ [K in Equal<Exclude<TFullSelection['columns'][keyof TFullSelection['columns'] & keyof TTableConfig['columns']], undefined>, false> extends true ? Exclude<keyof TTableConfig['columns'], NonUndefinedKeysOnly<TFullSelection['columns']>> : {
157
+ [K in keyof TFullSelection['columns']]: Equal<TFullSelection['columns'][K], true> extends true ? K : never;
158
+ }[keyof TFullSelection['columns']] & keyof TTableConfig['columns']]: TTableConfig['columns'][K];
159
+ }> : InferModelFromColumns<TTableConfig['columns']>) & (TFullSelection['extras'] extends Record<string, unknown> | ((...args: any[]) => Record<string, unknown>) ? {
160
+ [K in NonUndefinedKeysOnly<ReturnTypeOrValue<TFullSelection['extras']>>]: Assume<ReturnTypeOrValue<TFullSelection['extras']>[K], SQL.Aliased>['_']['type'];
161
+ } : {}) & (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<TSchema, TFullSelection['with'], TTableConfig['relations']> : {})> : never;
162
+ export interface RelationConfig<TTableName extends string, TForeignTableName extends string, TColumns extends AnyColumn<{
163
+ tableName: TTableName;
164
+ }>[]> {
165
+ relationName?: string;
166
+ fields: TColumns;
167
+ references: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;
168
+ }
169
+ export declare function extractTablesRelationalConfig<TTables extends TablesRelationalConfig>(schema: Record<string, unknown>, configHelpers: (table: Table) => any): {
170
+ tables: TTables;
171
+ tableNamesMap: Record<string, string>;
172
+ };
173
+ export declare function relations<TTableName extends string, TRelations extends Record<string, Relation<any>>>(table: AnyTable<{
174
+ name: TTableName;
175
+ }>, relations: (helpers: TableRelationsHelpers<TTableName>) => TRelations): Relations<TTableName, TRelations>;
176
+ export declare function createOne<TTableName extends string>(sourceTable: Table): <TForeignTable extends Table, TColumns extends [AnyColumn<{
177
+ tableName: TTableName;
178
+ }>, ...AnyColumn<{
179
+ tableName: TTableName;
180
+ }>[]]>(table: TForeignTable, config?: RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns>) => One<TForeignTable["_"]["name"], Equal<TColumns[number]["_"]["notNull"], true>>;
181
+ export declare function createMany(sourceTable: Table): <TForeignTable extends Table>(referencedTable: TForeignTable, config?: {
182
+ relationName: string;
183
+ }) => Many<TForeignTable["_"]["name"]>;
184
+ export interface NormalizedRelation {
185
+ fields: AnyColumn[];
186
+ references: AnyColumn[];
187
+ }
188
+ export declare function normalizeRelation(schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, relation: Relation): NormalizedRelation;
189
+ export declare function createTableRelationsHelpers<TTableName extends string>(sourceTable: AnyTable<{
190
+ name: TTableName;
191
+ }>): {
192
+ one: <TForeignTable extends Table, TColumns extends [AnyColumn<{
193
+ tableName: TTableName;
194
+ }>, ...AnyColumn<{
195
+ tableName: TTableName;
196
+ }>[]]>(table: TForeignTable, config?: RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns> | undefined) => One<TForeignTable["_"]["name"], Equal<TColumns[number]["_"]["notNull"], true>>;
197
+ many: <TForeignTable extends Table>(referencedTable: TForeignTable, config?: {
198
+ relationName: string;
199
+ }) => Many<TForeignTable["_"]["name"]>;
200
+ };
201
+ export type TableRelationsHelpers<TTableName extends string> = ReturnType<typeof createTableRelationsHelpers<TTableName>>;
202
+ export interface BuildRelationalQueryResult<TTable extends Table = Table, TColumn extends Column = Column> {
203
+ tableTsKey: string;
204
+ selection: {
205
+ dbKey: string;
206
+ tsKey: string;
207
+ field: TColumn | SQL | SQL.Aliased;
208
+ relationTableTsKey: string | undefined;
209
+ isJson: boolean;
210
+ isExtra?: boolean;
211
+ selection: BuildRelationalQueryResult<TTable>['selection'];
212
+ }[];
213
+ sql: TTable | SQL;
214
+ }
215
+ export declare function mapRelationalRow(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
216
+ //# sourceMappingURL=relations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../src/data/query/relations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,257 @@
1
+ import { getTableUniqueName, Table } from './table.js';
2
+ import { Column } from './column.js';
3
+ import { entityKind, is } from './entity.js';
4
+ import { PrimaryKeyBuilder } from './pg-core/primary-keys.js';
5
+ import { and, asc, between, desc, eq, exists, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, ne, not, notBetween, notExists, notIlike, notInArray, notLike, or, } from './sql/expressions/index.js';
6
+ import { SQL, sql } from './sql/sql.js';
7
+ export class Relation {
8
+ sourceTable;
9
+ referencedTable;
10
+ relationName;
11
+ static [entityKind] = 'Relation';
12
+ referencedTableName;
13
+ fieldName;
14
+ constructor(sourceTable, referencedTable, relationName) {
15
+ this.sourceTable = sourceTable;
16
+ this.referencedTable = referencedTable;
17
+ this.relationName = relationName;
18
+ this.referencedTableName = referencedTable[Table.Symbol.Name];
19
+ }
20
+ }
21
+ export class Relations {
22
+ table;
23
+ config;
24
+ static [entityKind] = 'Relations';
25
+ constructor(table, config) {
26
+ this.table = table;
27
+ this.config = config;
28
+ }
29
+ }
30
+ export class One extends Relation {
31
+ config;
32
+ isNullable;
33
+ static [entityKind] = 'One';
34
+ constructor(sourceTable, referencedTable, config, isNullable) {
35
+ super(sourceTable, referencedTable, config?.relationName);
36
+ this.config = config;
37
+ this.isNullable = isNullable;
38
+ }
39
+ withFieldName(fieldName) {
40
+ const relation = new One(this.sourceTable, this.referencedTable, this.config, this.isNullable);
41
+ relation.fieldName = fieldName;
42
+ return relation;
43
+ }
44
+ }
45
+ export class Many extends Relation {
46
+ config;
47
+ static [entityKind] = 'Many';
48
+ constructor(sourceTable, referencedTable, config) {
49
+ super(sourceTable, referencedTable, config?.relationName);
50
+ this.config = config;
51
+ }
52
+ withFieldName(fieldName) {
53
+ const relation = new Many(this.sourceTable, this.referencedTable, this.config);
54
+ relation.fieldName = fieldName;
55
+ return relation;
56
+ }
57
+ }
58
+ export function getOperators() {
59
+ return {
60
+ and,
61
+ between,
62
+ eq,
63
+ exists,
64
+ gt,
65
+ gte,
66
+ ilike,
67
+ inArray,
68
+ isNull,
69
+ isNotNull,
70
+ like,
71
+ lt,
72
+ lte,
73
+ ne,
74
+ not,
75
+ notBetween,
76
+ notExists,
77
+ notLike,
78
+ notIlike,
79
+ notInArray,
80
+ or,
81
+ sql,
82
+ };
83
+ }
84
+ export function getOrderByOperators() {
85
+ return {
86
+ sql,
87
+ asc,
88
+ desc,
89
+ };
90
+ }
91
+ export function extractTablesRelationalConfig(schema, configHelpers) {
92
+ if (Object.keys(schema).length === 1
93
+ && 'default' in schema
94
+ && !is(schema['default'], Table)) {
95
+ schema = schema['default'];
96
+ }
97
+ // table DB name -> schema table key
98
+ const tableNamesMap = {};
99
+ // Table relations found before their tables - need to buffer them until we know the schema table key
100
+ const relationsBuffer = {};
101
+ const tablesConfig = {};
102
+ for (const [key, value] of Object.entries(schema)) {
103
+ if (is(value, Table)) {
104
+ const dbName = getTableUniqueName(value);
105
+ const bufferedRelations = relationsBuffer[dbName];
106
+ tableNamesMap[dbName] = key;
107
+ tablesConfig[key] = {
108
+ tsName: key,
109
+ dbName: value[Table.Symbol.Name],
110
+ schema: value[Table.Symbol.Schema],
111
+ columns: value[Table.Symbol.Columns],
112
+ relations: bufferedRelations?.relations ?? {},
113
+ primaryKey: bufferedRelations?.primaryKey ?? [],
114
+ };
115
+ // Fill in primary keys
116
+ for (const column of Object.values(value[Table.Symbol.Columns])) {
117
+ if (column.primary) {
118
+ tablesConfig[key].primaryKey.push(column);
119
+ }
120
+ }
121
+ const extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.(value[Table.Symbol.ExtraConfigColumns]);
122
+ if (extraConfig) {
123
+ for (const configEntry of Object.values(extraConfig)) {
124
+ if (is(configEntry, PrimaryKeyBuilder)) {
125
+ tablesConfig[key].primaryKey.push(...configEntry.columns);
126
+ }
127
+ }
128
+ }
129
+ }
130
+ else if (is(value, Relations)) {
131
+ const dbName = getTableUniqueName(value.table);
132
+ const tableName = tableNamesMap[dbName];
133
+ const relations = value.config(configHelpers(value.table));
134
+ let primaryKey;
135
+ for (const [relationName, relation] of Object.entries(relations)) {
136
+ if (tableName) {
137
+ const tableConfig = tablesConfig[tableName];
138
+ tableConfig.relations[relationName] = relation;
139
+ if (primaryKey) {
140
+ tableConfig.primaryKey.push(...primaryKey);
141
+ }
142
+ }
143
+ else {
144
+ if (!(dbName in relationsBuffer)) {
145
+ relationsBuffer[dbName] = {
146
+ relations: {},
147
+ primaryKey,
148
+ };
149
+ }
150
+ relationsBuffer[dbName].relations[relationName] = relation;
151
+ }
152
+ }
153
+ }
154
+ }
155
+ return { tables: tablesConfig, tableNamesMap };
156
+ }
157
+ export function relations(table, relations) {
158
+ return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations(helpers)).map(([key, value]) => [
159
+ key,
160
+ value.withFieldName(key),
161
+ ])));
162
+ }
163
+ export function createOne(sourceTable) {
164
+ return function one(table, config) {
165
+ return new One(sourceTable, table, config, (config?.fields.reduce((res, f) => res && f.notNull, true)
166
+ ?? false));
167
+ };
168
+ }
169
+ export function createMany(sourceTable) {
170
+ return function many(referencedTable, config) {
171
+ return new Many(sourceTable, referencedTable, config);
172
+ };
173
+ }
174
+ export function normalizeRelation(schema, tableNamesMap, relation) {
175
+ if (is(relation, One) && relation.config) {
176
+ return {
177
+ fields: relation.config.fields,
178
+ references: relation.config.references,
179
+ };
180
+ }
181
+ const referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];
182
+ if (!referencedTableTsName) {
183
+ throw new Error(`Table "${relation.referencedTable[Table.Symbol.Name]}" not found in schema`);
184
+ }
185
+ const referencedTableConfig = schema[referencedTableTsName];
186
+ if (!referencedTableConfig) {
187
+ throw new Error(`Table "${referencedTableTsName}" not found in schema`);
188
+ }
189
+ const sourceTable = relation.sourceTable;
190
+ const sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];
191
+ if (!sourceTableTsName) {
192
+ throw new Error(`Table "${sourceTable[Table.Symbol.Name]}" not found in schema`);
193
+ }
194
+ const reverseRelations = [];
195
+ for (const referencedTableRelation of Object.values(referencedTableConfig.relations)) {
196
+ if ((relation.relationName
197
+ && relation !== referencedTableRelation
198
+ && referencedTableRelation.relationName === relation.relationName)
199
+ || (!relation.relationName
200
+ && referencedTableRelation.referencedTable === relation.sourceTable)) {
201
+ reverseRelations.push(referencedTableRelation);
202
+ }
203
+ }
204
+ if (reverseRelations.length > 1) {
205
+ throw relation.relationName
206
+ ? new Error(`There are multiple relations with name "${relation.relationName}" in table "${referencedTableTsName}"`)
207
+ : new Error(`There are multiple relations between "${referencedTableTsName}" and "${relation.sourceTable[Table.Symbol.Name]}". Please specify relation name`);
208
+ }
209
+ if (reverseRelations[0]
210
+ && is(reverseRelations[0], One)
211
+ && reverseRelations[0].config) {
212
+ return {
213
+ fields: reverseRelations[0].config.references,
214
+ references: reverseRelations[0].config.fields,
215
+ };
216
+ }
217
+ throw new Error(`There is not enough information to infer relation "${sourceTableTsName}.${relation.fieldName}"`);
218
+ }
219
+ export function createTableRelationsHelpers(sourceTable) {
220
+ return {
221
+ one: createOne(sourceTable),
222
+ many: createMany(sourceTable),
223
+ };
224
+ }
225
+ export function mapRelationalRow(tablesConfig, tableConfig, row, buildQueryResultSelection, mapColumnValue = (value) => value) {
226
+ const result = {};
227
+ for (const [selectionItemIndex, selectionItem,] of buildQueryResultSelection.entries()) {
228
+ if (selectionItem.isJson) {
229
+ const relation = tableConfig.relations[selectionItem.tsKey];
230
+ const rawSubRows = row[selectionItemIndex];
231
+ const subRows = typeof rawSubRows === 'string'
232
+ ? JSON.parse(rawSubRows)
233
+ : rawSubRows;
234
+ result[selectionItem.tsKey] = is(relation, One)
235
+ ? subRows
236
+ && mapRelationalRow(tablesConfig, tablesConfig[selectionItem.relationTableTsKey], subRows, selectionItem.selection, mapColumnValue)
237
+ : subRows.map((subRow) => mapRelationalRow(tablesConfig, tablesConfig[selectionItem.relationTableTsKey], subRow, selectionItem.selection, mapColumnValue));
238
+ }
239
+ else {
240
+ const value = mapColumnValue(row[selectionItemIndex]);
241
+ const field = selectionItem.field;
242
+ let decoder;
243
+ if (is(field, Column)) {
244
+ decoder = field;
245
+ }
246
+ else if (is(field, SQL)) {
247
+ decoder = field.decoder;
248
+ }
249
+ else {
250
+ decoder = field.sql.decoder;
251
+ }
252
+ result[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);
253
+ }
254
+ }
255
+ return result;
256
+ }
257
+ //# sourceMappingURL=relations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../../src/data/query/relations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Dialect } from './column-builder.js';
2
+ import type { PreparedQuery } from './session.js';
3
+ export interface RunnableQuery<T, TDialect extends Dialect> {
4
+ readonly _: {
5
+ readonly dialect: TDialect;
6
+ readonly result: T;
7
+ };
8
+ /** @internal */
9
+ _prepare(): PreparedQuery;
10
+ }
11
+ //# sourceMappingURL=runnable-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnable-query.d.ts","sourceRoot":"","sources":["../../../src/data/query/runnable-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,QAAQ,SAAS,OAAO;IACzD,QAAQ,CAAC,CAAC,EAAE;QACX,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;KACnB,CAAC;IAEF,gBAAgB;IAChB,QAAQ,IAAI,aAAa,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runnable-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnable-query.js","sourceRoot":"","sources":["../../../src/data/query/runnable-query.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { entityKind } from './entity.js';
2
+ import { View } from './sql/sql.js';
3
+ import { Subquery } from './subquery.js';
4
+ export declare class SelectionProxyHandler<T extends Subquery | Record<string, unknown> | View> implements ProxyHandler<Subquery | Record<string, unknown> | View> {
5
+ static readonly [entityKind]: string;
6
+ private config;
7
+ constructor(config: SelectionProxyHandler<T>['config']);
8
+ get(subquery: T, prop: string | symbol): any;
9
+ }
10
+ //# sourceMappingURL=selection-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-proxy.d.ts","sourceRoot":"","sources":["../../../src/data/query/selection-proxy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAM,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAO,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,qBAAa,qBAAqB,CAAC,CAAC,SAAS,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CACrF,YAAW,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAElE,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAA2B;IAE/D,OAAO,CAAC,MAAM,CA4BZ;gBAEU,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAItD,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG;CA0E5C"}
@@ -0,0 +1,62 @@
1
+ import { ColumnAliasProxyHandler, TableAliasProxyHandler } from './alias.js';
2
+ import { Column } from './column.js';
3
+ import { entityKind, is } from './entity.js';
4
+ import { SQL, View } from './sql/sql.js';
5
+ import { Subquery } from './subquery.js';
6
+ import { ViewBaseConfig } from './view-common.js';
7
+ export class SelectionProxyHandler {
8
+ static [entityKind] = 'SelectionProxyHandler';
9
+ config;
10
+ constructor(config) {
11
+ this.config = { ...config };
12
+ }
13
+ get(subquery, prop) {
14
+ if (prop === '_') {
15
+ return {
16
+ ...subquery['_'],
17
+ selectedFields: new Proxy(subquery._.selectedFields, this),
18
+ };
19
+ }
20
+ if (prop === ViewBaseConfig) {
21
+ return {
22
+ ...subquery[ViewBaseConfig],
23
+ selectedFields: new Proxy(subquery[ViewBaseConfig].selectedFields, this),
24
+ };
25
+ }
26
+ if (typeof prop === 'symbol') {
27
+ return subquery[prop];
28
+ }
29
+ const columns = is(subquery, Subquery)
30
+ ? subquery._.selectedFields
31
+ : is(subquery, View)
32
+ ? subquery[ViewBaseConfig].selectedFields
33
+ : subquery;
34
+ const value = columns[prop];
35
+ if (is(value, SQL.Aliased)) {
36
+ // Never return the underlying SQL expression for a field previously selected in a subquery
37
+ if (this.config.sqlAliasedBehavior === 'sql' && !value.isSelectionField) {
38
+ return value.sql;
39
+ }
40
+ const newValue = value.clone();
41
+ newValue.isSelectionField = true;
42
+ return newValue;
43
+ }
44
+ if (is(value, SQL)) {
45
+ if (this.config.sqlBehavior === 'sql') {
46
+ return value;
47
+ }
48
+ throw new Error(`You tried to reference "${prop}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`);
49
+ }
50
+ if (is(value, Column)) {
51
+ if (this.config.alias) {
52
+ return new Proxy(value, new ColumnAliasProxyHandler(new Proxy(value.table, new TableAliasProxyHandler(this.config.alias, this.config.replaceOriginalName ?? false))));
53
+ }
54
+ return value;
55
+ }
56
+ if (typeof value !== 'object' || value === null) {
57
+ return value;
58
+ }
59
+ return new Proxy(value, new SelectionProxyHandler(this.config));
60
+ }
61
+ }
62
+ //# sourceMappingURL=selection-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-proxy.js","sourceRoot":"","sources":["../../../src/data/query/selection-proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Query } from './index.js';
2
+ export interface PreparedQuery {
3
+ getQuery(): Query;
4
+ mapResult(response: unknown, isFromBatch?: boolean): unknown;
5
+ /** @internal */
6
+ isResponseInArrayMode(): boolean;
7
+ }
8
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/data/query/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,aAAa;IAC7B,QAAQ,IAAI,KAAK,CAAC;IAClB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7D,gBAAgB;IAChB,qBAAqB,IAAI,OAAO,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/data/query/session.ts"],"names":[],"mappings":""}