relq 1.0.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 (305) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +862 -0
  3. package/dist/addons/buffer.js +1869 -0
  4. package/dist/addons/pg-cursor.js +1425 -0
  5. package/dist/addons/pg-format.js +2248 -0
  6. package/dist/addons/pg.js +4790 -0
  7. package/dist/bin/relq.js +2 -0
  8. package/dist/cjs/cache/index.cjs +9 -0
  9. package/dist/cjs/cache/query-cache.cjs +311 -0
  10. package/dist/cjs/cli/commands/add.cjs +82 -0
  11. package/dist/cjs/cli/commands/commit.cjs +145 -0
  12. package/dist/cjs/cli/commands/diff.cjs +84 -0
  13. package/dist/cjs/cli/commands/export.cjs +333 -0
  14. package/dist/cjs/cli/commands/fetch.cjs +59 -0
  15. package/dist/cjs/cli/commands/generate.cjs +242 -0
  16. package/dist/cjs/cli/commands/history.cjs +165 -0
  17. package/dist/cjs/cli/commands/import.cjs +524 -0
  18. package/dist/cjs/cli/commands/init.cjs +437 -0
  19. package/dist/cjs/cli/commands/introspect.cjs +142 -0
  20. package/dist/cjs/cli/commands/log.cjs +62 -0
  21. package/dist/cjs/cli/commands/migrate.cjs +167 -0
  22. package/dist/cjs/cli/commands/pull.cjs +410 -0
  23. package/dist/cjs/cli/commands/push.cjs +165 -0
  24. package/dist/cjs/cli/commands/rollback.cjs +169 -0
  25. package/dist/cjs/cli/commands/status.cjs +110 -0
  26. package/dist/cjs/cli/commands/sync.cjs +79 -0
  27. package/dist/cjs/cli/index.cjs +275 -0
  28. package/dist/cjs/cli/utils/change-tracker.cjs +446 -0
  29. package/dist/cjs/cli/utils/commit-manager.cjs +239 -0
  30. package/dist/cjs/cli/utils/config-loader.cjs +127 -0
  31. package/dist/cjs/cli/utils/env-loader.cjs +62 -0
  32. package/dist/cjs/cli/utils/fast-introspect.cjs +398 -0
  33. package/dist/cjs/cli/utils/git-utils.cjs +404 -0
  34. package/dist/cjs/cli/utils/migration-generator.cjs +269 -0
  35. package/dist/cjs/cli/utils/relqignore.cjs +114 -0
  36. package/dist/cjs/cli/utils/repo-manager.cjs +515 -0
  37. package/dist/cjs/cli/utils/schema-comparator.cjs +313 -0
  38. package/dist/cjs/cli/utils/schema-diff.cjs +284 -0
  39. package/dist/cjs/cli/utils/schema-hash.cjs +108 -0
  40. package/dist/cjs/cli/utils/schema-introspect.cjs +455 -0
  41. package/dist/cjs/cli/utils/snapshot-manager.cjs +223 -0
  42. package/dist/cjs/cli/utils/spinner.cjs +108 -0
  43. package/dist/cjs/cli/utils/sql-generator.cjs +520 -0
  44. package/dist/cjs/cli/utils/sql-parser.cjs +999 -0
  45. package/dist/cjs/cli/utils/type-generator.cjs +2061 -0
  46. package/dist/cjs/condition/array-condition-builder.cjs +503 -0
  47. package/dist/cjs/condition/array-numeric-condition-builder.cjs +186 -0
  48. package/dist/cjs/condition/array-specialized-condition-builder.cjs +206 -0
  49. package/dist/cjs/condition/array-string-condition-builder.cjs +146 -0
  50. package/dist/cjs/condition/base-condition-builder.cjs +2 -0
  51. package/dist/cjs/condition/condition-collector.cjs +284 -0
  52. package/dist/cjs/condition/fulltext-condition-builder.cjs +61 -0
  53. package/dist/cjs/condition/geometric-condition-builder.cjs +208 -0
  54. package/dist/cjs/condition/index.cjs +25 -0
  55. package/dist/cjs/condition/jsonb-condition-builder.cjs +160 -0
  56. package/dist/cjs/condition/network-condition-builder.cjs +230 -0
  57. package/dist/cjs/condition/range-condition-builder.cjs +82 -0
  58. package/dist/cjs/config/config.cjs +190 -0
  59. package/dist/cjs/config/index.cjs +9 -0
  60. package/dist/cjs/constants/pg-values.cjs +68 -0
  61. package/dist/cjs/copy/copy-builder.cjs +316 -0
  62. package/dist/cjs/copy/index.cjs +6 -0
  63. package/dist/cjs/core/query-builder.cjs +440 -0
  64. package/dist/cjs/core/relq-client.cjs +1831 -0
  65. package/dist/cjs/core/typed-kuery-client.cjs +2 -0
  66. package/dist/cjs/count/count-builder.cjs +88 -0
  67. package/dist/cjs/count/index.cjs +5 -0
  68. package/dist/cjs/cte/cte-builder.cjs +89 -0
  69. package/dist/cjs/cte/index.cjs +5 -0
  70. package/dist/cjs/ddl/function.cjs +48 -0
  71. package/dist/cjs/ddl/index.cjs +7 -0
  72. package/dist/cjs/ddl/sql.cjs +54 -0
  73. package/dist/cjs/delete/delete-builder.cjs +135 -0
  74. package/dist/cjs/delete/index.cjs +5 -0
  75. package/dist/cjs/errors/relq-errors.cjs +329 -0
  76. package/dist/cjs/examples/fulltext-search-test.cjs +122 -0
  77. package/dist/cjs/explain/explain-builder.cjs +99 -0
  78. package/dist/cjs/explain/index.cjs +5 -0
  79. package/dist/cjs/function/create-function-builder.cjs +196 -0
  80. package/dist/cjs/function/index.cjs +6 -0
  81. package/dist/cjs/functions/advanced-functions.cjs +241 -0
  82. package/dist/cjs/functions/case-builder.cjs +66 -0
  83. package/dist/cjs/functions/geometric-functions.cjs +104 -0
  84. package/dist/cjs/functions/index.cjs +184 -0
  85. package/dist/cjs/functions/network-functions.cjs +86 -0
  86. package/dist/cjs/functions/sql-functions.cjs +431 -0
  87. package/dist/cjs/index.cjs +164 -0
  88. package/dist/cjs/indexing/create-index-builder.cjs +187 -0
  89. package/dist/cjs/indexing/drop-index-builder.cjs +89 -0
  90. package/dist/cjs/indexing/index-types.cjs +2 -0
  91. package/dist/cjs/indexing/index.cjs +8 -0
  92. package/dist/cjs/insert/conflict-builder.cjs +173 -0
  93. package/dist/cjs/insert/index.cjs +5 -0
  94. package/dist/cjs/insert/insert-builder.cjs +254 -0
  95. package/dist/cjs/introspect/index.cjs +229 -0
  96. package/dist/cjs/maintenance/index.cjs +6 -0
  97. package/dist/cjs/maintenance/vacuum-builder.cjs +166 -0
  98. package/dist/cjs/pubsub/index.cjs +7 -0
  99. package/dist/cjs/pubsub/listen-notify-builder.cjs +57 -0
  100. package/dist/cjs/pubsub/listener-connection.cjs +180 -0
  101. package/dist/cjs/raw/index.cjs +5 -0
  102. package/dist/cjs/raw/raw-query-builder.cjs +27 -0
  103. package/dist/cjs/schema/index.cjs +15 -0
  104. package/dist/cjs/schema/schema-builder.cjs +1167 -0
  105. package/dist/cjs/schema-builder.cjs +21 -0
  106. package/dist/cjs/schema-definition/column-types.cjs +829 -0
  107. package/dist/cjs/schema-definition/index.cjs +62 -0
  108. package/dist/cjs/schema-definition/introspection.cjs +620 -0
  109. package/dist/cjs/schema-definition/partitions.cjs +129 -0
  110. package/dist/cjs/schema-definition/pg-enum.cjs +76 -0
  111. package/dist/cjs/schema-definition/pg-function.cjs +91 -0
  112. package/dist/cjs/schema-definition/pg-sequence.cjs +56 -0
  113. package/dist/cjs/schema-definition/pg-trigger.cjs +108 -0
  114. package/dist/cjs/schema-definition/relations.cjs +98 -0
  115. package/dist/cjs/schema-definition/sql-expressions.cjs +202 -0
  116. package/dist/cjs/schema-definition/table-definition.cjs +636 -0
  117. package/dist/cjs/select/aggregate-builder.cjs +179 -0
  118. package/dist/cjs/select/index.cjs +5 -0
  119. package/dist/cjs/select/select-builder.cjs +233 -0
  120. package/dist/cjs/sequence/index.cjs +7 -0
  121. package/dist/cjs/sequence/sequence-builder.cjs +264 -0
  122. package/dist/cjs/table/alter-table-builder.cjs +146 -0
  123. package/dist/cjs/table/constraint-builder.cjs +102 -0
  124. package/dist/cjs/table/create-table-builder.cjs +248 -0
  125. package/dist/cjs/table/index.cjs +17 -0
  126. package/dist/cjs/table/partition-builder.cjs +131 -0
  127. package/dist/cjs/table/truncate-builder.cjs +70 -0
  128. package/dist/cjs/transaction/index.cjs +6 -0
  129. package/dist/cjs/transaction/transaction-builder.cjs +78 -0
  130. package/dist/cjs/trigger/create-trigger-builder.cjs +174 -0
  131. package/dist/cjs/trigger/index.cjs +6 -0
  132. package/dist/cjs/types/aggregate-types.cjs +2 -0
  133. package/dist/cjs/types/config-types.cjs +40 -0
  134. package/dist/cjs/types/inference-types.cjs +18 -0
  135. package/dist/cjs/types/pagination-types.cjs +7 -0
  136. package/dist/cjs/types/result-types.cjs +2 -0
  137. package/dist/cjs/types/schema-types.cjs +2 -0
  138. package/dist/cjs/types/subscription-types.cjs +2 -0
  139. package/dist/cjs/types.cjs +2 -0
  140. package/dist/cjs/update/array-update-builder.cjs +205 -0
  141. package/dist/cjs/update/index.cjs +13 -0
  142. package/dist/cjs/update/update-builder.cjs +195 -0
  143. package/dist/cjs/utils/case-converter.cjs +58 -0
  144. package/dist/cjs/utils/environment-detection.cjs +120 -0
  145. package/dist/cjs/utils/index.cjs +10 -0
  146. package/dist/cjs/utils/pool-defaults.cjs +106 -0
  147. package/dist/cjs/utils/type-coercion.cjs +118 -0
  148. package/dist/cjs/view/create-view-builder.cjs +180 -0
  149. package/dist/cjs/view/index.cjs +7 -0
  150. package/dist/cjs/window/index.cjs +5 -0
  151. package/dist/cjs/window/window-builder.cjs +80 -0
  152. package/dist/config.cjs +1 -0
  153. package/dist/config.d.ts +655 -0
  154. package/dist/config.js +1 -0
  155. package/dist/esm/cache/index.js +1 -0
  156. package/dist/esm/cache/query-cache.js +303 -0
  157. package/dist/esm/cli/commands/add.js +78 -0
  158. package/dist/esm/cli/commands/commit.js +109 -0
  159. package/dist/esm/cli/commands/diff.js +81 -0
  160. package/dist/esm/cli/commands/export.js +297 -0
  161. package/dist/esm/cli/commands/fetch.js +56 -0
  162. package/dist/esm/cli/commands/generate.js +206 -0
  163. package/dist/esm/cli/commands/history.js +129 -0
  164. package/dist/esm/cli/commands/import.js +488 -0
  165. package/dist/esm/cli/commands/init.js +401 -0
  166. package/dist/esm/cli/commands/introspect.js +106 -0
  167. package/dist/esm/cli/commands/log.js +59 -0
  168. package/dist/esm/cli/commands/migrate.js +131 -0
  169. package/dist/esm/cli/commands/pull.js +374 -0
  170. package/dist/esm/cli/commands/push.js +129 -0
  171. package/dist/esm/cli/commands/rollback.js +133 -0
  172. package/dist/esm/cli/commands/status.js +107 -0
  173. package/dist/esm/cli/commands/sync.js +76 -0
  174. package/dist/esm/cli/index.js +240 -0
  175. package/dist/esm/cli/utils/change-tracker.js +405 -0
  176. package/dist/esm/cli/utils/commit-manager.js +191 -0
  177. package/dist/esm/cli/utils/config-loader.js +86 -0
  178. package/dist/esm/cli/utils/env-loader.js +57 -0
  179. package/dist/esm/cli/utils/fast-introspect.js +362 -0
  180. package/dist/esm/cli/utils/git-utils.js +347 -0
  181. package/dist/esm/cli/utils/migration-generator.js +263 -0
  182. package/dist/esm/cli/utils/relqignore.js +74 -0
  183. package/dist/esm/cli/utils/repo-manager.js +444 -0
  184. package/dist/esm/cli/utils/schema-comparator.js +307 -0
  185. package/dist/esm/cli/utils/schema-diff.js +276 -0
  186. package/dist/esm/cli/utils/schema-hash.js +69 -0
  187. package/dist/esm/cli/utils/schema-introspect.js +418 -0
  188. package/dist/esm/cli/utils/snapshot-manager.js +179 -0
  189. package/dist/esm/cli/utils/spinner.js +101 -0
  190. package/dist/esm/cli/utils/sql-generator.js +504 -0
  191. package/dist/esm/cli/utils/sql-parser.js +992 -0
  192. package/dist/esm/cli/utils/type-generator.js +2058 -0
  193. package/dist/esm/condition/array-condition-builder.js +495 -0
  194. package/dist/esm/condition/array-numeric-condition-builder.js +182 -0
  195. package/dist/esm/condition/array-specialized-condition-builder.js +200 -0
  196. package/dist/esm/condition/array-string-condition-builder.js +142 -0
  197. package/dist/esm/condition/base-condition-builder.js +1 -0
  198. package/dist/esm/condition/condition-collector.js +275 -0
  199. package/dist/esm/condition/fulltext-condition-builder.js +53 -0
  200. package/dist/esm/condition/geometric-condition-builder.js +200 -0
  201. package/dist/esm/condition/index.js +7 -0
  202. package/dist/esm/condition/jsonb-condition-builder.js +152 -0
  203. package/dist/esm/condition/network-condition-builder.js +222 -0
  204. package/dist/esm/condition/range-condition-builder.js +74 -0
  205. package/dist/esm/config/config.js +150 -0
  206. package/dist/esm/config/index.js +1 -0
  207. package/dist/esm/constants/pg-values.js +63 -0
  208. package/dist/esm/copy/copy-builder.js +308 -0
  209. package/dist/esm/copy/index.js +1 -0
  210. package/dist/esm/core/query-builder.js +426 -0
  211. package/dist/esm/core/relq-client.js +1791 -0
  212. package/dist/esm/core/typed-kuery-client.js +1 -0
  213. package/dist/esm/count/count-builder.js +81 -0
  214. package/dist/esm/count/index.js +1 -0
  215. package/dist/esm/cte/cte-builder.js +82 -0
  216. package/dist/esm/cte/index.js +1 -0
  217. package/dist/esm/ddl/function.js +45 -0
  218. package/dist/esm/ddl/index.js +2 -0
  219. package/dist/esm/ddl/sql.js +51 -0
  220. package/dist/esm/delete/delete-builder.js +128 -0
  221. package/dist/esm/delete/index.js +1 -0
  222. package/dist/esm/errors/relq-errors.js +310 -0
  223. package/dist/esm/examples/fulltext-search-test.js +117 -0
  224. package/dist/esm/explain/explain-builder.js +95 -0
  225. package/dist/esm/explain/index.js +1 -0
  226. package/dist/esm/function/create-function-builder.js +188 -0
  227. package/dist/esm/function/index.js +1 -0
  228. package/dist/esm/functions/advanced-functions.js +231 -0
  229. package/dist/esm/functions/case-builder.js +58 -0
  230. package/dist/esm/functions/geometric-functions.js +97 -0
  231. package/dist/esm/functions/index.js +171 -0
  232. package/dist/esm/functions/network-functions.js +79 -0
  233. package/dist/esm/functions/sql-functions.js +421 -0
  234. package/dist/esm/index.js +34 -0
  235. package/dist/esm/indexing/create-index-builder.js +180 -0
  236. package/dist/esm/indexing/drop-index-builder.js +81 -0
  237. package/dist/esm/indexing/index-types.js +1 -0
  238. package/dist/esm/indexing/index.js +2 -0
  239. package/dist/esm/insert/conflict-builder.js +162 -0
  240. package/dist/esm/insert/index.js +1 -0
  241. package/dist/esm/insert/insert-builder.js +247 -0
  242. package/dist/esm/introspect/index.js +224 -0
  243. package/dist/esm/maintenance/index.js +1 -0
  244. package/dist/esm/maintenance/vacuum-builder.js +158 -0
  245. package/dist/esm/pubsub/index.js +1 -0
  246. package/dist/esm/pubsub/listen-notify-builder.js +48 -0
  247. package/dist/esm/pubsub/listener-connection.js +173 -0
  248. package/dist/esm/raw/index.js +1 -0
  249. package/dist/esm/raw/raw-query-builder.js +20 -0
  250. package/dist/esm/schema/index.js +1 -0
  251. package/dist/esm/schema/schema-builder.js +1150 -0
  252. package/dist/esm/schema-builder.js +2 -0
  253. package/dist/esm/schema-definition/column-types.js +738 -0
  254. package/dist/esm/schema-definition/index.js +10 -0
  255. package/dist/esm/schema-definition/introspection.js +614 -0
  256. package/dist/esm/schema-definition/partitions.js +123 -0
  257. package/dist/esm/schema-definition/pg-enum.js +70 -0
  258. package/dist/esm/schema-definition/pg-function.js +85 -0
  259. package/dist/esm/schema-definition/pg-sequence.js +50 -0
  260. package/dist/esm/schema-definition/pg-trigger.js +102 -0
  261. package/dist/esm/schema-definition/relations.js +90 -0
  262. package/dist/esm/schema-definition/sql-expressions.js +193 -0
  263. package/dist/esm/schema-definition/table-definition.js +630 -0
  264. package/dist/esm/select/aggregate-builder.js +172 -0
  265. package/dist/esm/select/index.js +1 -0
  266. package/dist/esm/select/select-builder.js +226 -0
  267. package/dist/esm/sequence/index.js +1 -0
  268. package/dist/esm/sequence/sequence-builder.js +255 -0
  269. package/dist/esm/table/alter-table-builder.js +138 -0
  270. package/dist/esm/table/constraint-builder.js +95 -0
  271. package/dist/esm/table/create-table-builder.js +241 -0
  272. package/dist/esm/table/index.js +5 -0
  273. package/dist/esm/table/partition-builder.js +121 -0
  274. package/dist/esm/table/truncate-builder.js +63 -0
  275. package/dist/esm/transaction/index.js +1 -0
  276. package/dist/esm/transaction/transaction-builder.js +70 -0
  277. package/dist/esm/trigger/create-trigger-builder.js +166 -0
  278. package/dist/esm/trigger/index.js +1 -0
  279. package/dist/esm/types/aggregate-types.js +1 -0
  280. package/dist/esm/types/config-types.js +36 -0
  281. package/dist/esm/types/inference-types.js +12 -0
  282. package/dist/esm/types/pagination-types.js +4 -0
  283. package/dist/esm/types/result-types.js +1 -0
  284. package/dist/esm/types/schema-types.js +1 -0
  285. package/dist/esm/types/subscription-types.js +1 -0
  286. package/dist/esm/types.js +1 -0
  287. package/dist/esm/update/array-update-builder.js +192 -0
  288. package/dist/esm/update/index.js +2 -0
  289. package/dist/esm/update/update-builder.js +188 -0
  290. package/dist/esm/utils/case-converter.js +55 -0
  291. package/dist/esm/utils/environment-detection.js +113 -0
  292. package/dist/esm/utils/index.js +2 -0
  293. package/dist/esm/utils/pool-defaults.js +100 -0
  294. package/dist/esm/utils/type-coercion.js +110 -0
  295. package/dist/esm/view/create-view-builder.js +171 -0
  296. package/dist/esm/view/index.js +1 -0
  297. package/dist/esm/window/index.js +1 -0
  298. package/dist/esm/window/window-builder.js +73 -0
  299. package/dist/index.cjs +1 -0
  300. package/dist/index.d.ts +10341 -0
  301. package/dist/index.js +1 -0
  302. package/dist/schema-builder.cjs +1 -0
  303. package/dist/schema-builder.d.ts +2272 -0
  304. package/dist/schema-builder.js +1 -0
  305. package/package.json +55 -0
@@ -0,0 +1,440 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.QueryBuilder = exports.TypedCountBuilder = exports.TypedDeleteBuilder = exports.TypedUpdateBuilder = exports.TypedInsertBuilder = exports.TypedSelectBuilder = void 0;
7
+ exports.default = relq;
8
+ exports.relq = relq;
9
+ exports.relqFor = relqFor;
10
+ const select_builder_1 = require("../select/select-builder.cjs");
11
+ const insert_builder_1 = require("../insert/insert-builder.cjs");
12
+ const update_builder_1 = require("../update/update-builder.cjs");
13
+ const delete_builder_1 = require("../delete/delete-builder.cjs");
14
+ const count_builder_1 = require("../count/count-builder.cjs");
15
+ const raw_query_builder_1 = require("../raw/raw-query-builder.cjs");
16
+ const create_index_builder_1 = require("../indexing/create-index-builder.cjs");
17
+ const drop_index_builder_1 = require("../indexing/drop-index-builder.cjs");
18
+ const create_table_builder_1 = require("../table/create-table-builder.cjs");
19
+ const alter_table_builder_1 = require("../table/alter-table-builder.cjs");
20
+ const partition_builder_1 = require("../table/partition-builder.cjs");
21
+ const create_trigger_builder_1 = require("../trigger/create-trigger-builder.cjs");
22
+ const create_function_builder_1 = require("../function/create-function-builder.cjs");
23
+ const create_view_builder_1 = require("../view/create-view-builder.cjs");
24
+ const schema_builder_1 = require("../schema/schema-builder.cjs");
25
+ const transaction_builder_1 = require("../transaction/transaction-builder.cjs");
26
+ const cte_builder_1 = require("../cte/cte-builder.cjs");
27
+ const window_builder_1 = require("../window/window-builder.cjs");
28
+ const truncate_builder_1 = require("../table/truncate-builder.cjs");
29
+ const sequence_builder_1 = require("../sequence/sequence-builder.cjs");
30
+ const explain_builder_1 = require("../explain/explain-builder.cjs");
31
+ const listen_notify_builder_1 = require("../pubsub/listen-notify-builder.cjs");
32
+ const vacuum_builder_1 = require("../maintenance/vacuum-builder.cjs");
33
+ const copy_builder_1 = require("../copy/copy-builder.cjs");
34
+ const pg_format_1 = __importDefault(require("../../addons/pg-format.js"));
35
+ class TypedSelectBuilder {
36
+ builder;
37
+ constructor(builder) {
38
+ this.builder = builder;
39
+ }
40
+ where(callback) {
41
+ this.builder.where(callback);
42
+ return this;
43
+ }
44
+ orderBy(column, direction = 'ASC') {
45
+ this.builder.orderBy(column, direction);
46
+ return this;
47
+ }
48
+ orderAsc(column) {
49
+ this.builder.orderAsc(column);
50
+ return this;
51
+ }
52
+ orderDesc(column) {
53
+ this.builder.orderDesc(column);
54
+ return this;
55
+ }
56
+ limit(count) {
57
+ this.builder.limit(count);
58
+ return this;
59
+ }
60
+ offset(count) {
61
+ this.builder.offset(count);
62
+ return this;
63
+ }
64
+ groupBy(...columns) {
65
+ this.builder.groupBy(...columns);
66
+ return this;
67
+ }
68
+ having(callback) {
69
+ this.builder.having(callback);
70
+ return this;
71
+ }
72
+ distinct() {
73
+ this.builder.distinct();
74
+ return this;
75
+ }
76
+ distinctOn(...columns) {
77
+ this.builder.distinctOn(...columns);
78
+ return this;
79
+ }
80
+ join(table, condition) {
81
+ this.builder.join(table, condition);
82
+ return this;
83
+ }
84
+ leftJoin(table, condition) {
85
+ this.builder.leftJoin(table, condition);
86
+ return this;
87
+ }
88
+ rightJoin(table, condition) {
89
+ this.builder.rightJoin(table, condition);
90
+ return this;
91
+ }
92
+ innerJoin(table, condition) {
93
+ this.builder.innerJoin(table, condition);
94
+ return this;
95
+ }
96
+ forUpdate() {
97
+ this.builder.forUpdate();
98
+ return this;
99
+ }
100
+ forUpdateNoWait() {
101
+ this.builder.forUpdateNoWait();
102
+ return this;
103
+ }
104
+ forUpdateSkipLocked() {
105
+ this.builder.forUpdateSkipLocked();
106
+ return this;
107
+ }
108
+ forShare() {
109
+ this.builder.forShare();
110
+ return this;
111
+ }
112
+ union(query) {
113
+ this.builder.union(query instanceof TypedSelectBuilder ? query.builder : query);
114
+ return this;
115
+ }
116
+ unionAll(query) {
117
+ this.builder.unionAll(query instanceof TypedSelectBuilder ? query.builder : query);
118
+ return this;
119
+ }
120
+ intersect(query) {
121
+ this.builder.intersect(query instanceof TypedSelectBuilder ? query.builder : query);
122
+ return this;
123
+ }
124
+ except(query) {
125
+ this.builder.except(query instanceof TypedSelectBuilder ? query.builder : query);
126
+ return this;
127
+ }
128
+ toString() {
129
+ return this.builder.toString();
130
+ }
131
+ getBuilder() {
132
+ return this.builder;
133
+ }
134
+ }
135
+ exports.TypedSelectBuilder = TypedSelectBuilder;
136
+ class TypedInsertBuilder {
137
+ builder;
138
+ constructor(builder) {
139
+ this.builder = builder;
140
+ }
141
+ addRow(row) {
142
+ this.builder.addRow(row);
143
+ return this;
144
+ }
145
+ addRows(rows) {
146
+ this.builder.addRows(rows);
147
+ return this;
148
+ }
149
+ clear() {
150
+ this.builder.clear();
151
+ return this;
152
+ }
153
+ get total() {
154
+ return this.builder.total;
155
+ }
156
+ onConflict(columns, callback) {
157
+ const cols = Array.isArray(columns) ? columns : [columns];
158
+ this.builder.onConflict(cols, (conflictBuilder) => {
159
+ callback(conflictBuilder);
160
+ });
161
+ return this;
162
+ }
163
+ returning(columns) {
164
+ this.builder.returning([...columns]);
165
+ return this;
166
+ }
167
+ toString() {
168
+ return this.builder.toString();
169
+ }
170
+ getBuilder() {
171
+ return this.builder;
172
+ }
173
+ }
174
+ exports.TypedInsertBuilder = TypedInsertBuilder;
175
+ class TypedUpdateBuilder {
176
+ builder;
177
+ constructor(builder) {
178
+ this.builder = builder;
179
+ }
180
+ where(callback) {
181
+ this.builder.where(callback);
182
+ return this;
183
+ }
184
+ returning(columns) {
185
+ this.builder.returning([...columns]);
186
+ return this;
187
+ }
188
+ toString() {
189
+ return this.builder.toString();
190
+ }
191
+ getBuilder() {
192
+ return this.builder;
193
+ }
194
+ }
195
+ exports.TypedUpdateBuilder = TypedUpdateBuilder;
196
+ class TypedDeleteBuilder {
197
+ builder;
198
+ constructor(builder) {
199
+ this.builder = builder;
200
+ }
201
+ where(callback) {
202
+ this.builder.where(callback);
203
+ return this;
204
+ }
205
+ returning(columns) {
206
+ this.builder.returning([...columns]);
207
+ return this;
208
+ }
209
+ toString() {
210
+ return this.builder.toString();
211
+ }
212
+ getBuilder() {
213
+ return this.builder;
214
+ }
215
+ }
216
+ exports.TypedDeleteBuilder = TypedDeleteBuilder;
217
+ class TypedCountBuilder {
218
+ builder;
219
+ constructor(builder) {
220
+ this.builder = builder;
221
+ }
222
+ where(callback) {
223
+ this.builder.where(callback);
224
+ return this;
225
+ }
226
+ toString() {
227
+ return this.builder.toString();
228
+ }
229
+ getBuilder() {
230
+ return this.builder;
231
+ }
232
+ }
233
+ exports.TypedCountBuilder = TypedCountBuilder;
234
+ class QueryBuilder {
235
+ tableName;
236
+ constructor(tableName) {
237
+ this.tableName = tableName;
238
+ }
239
+ select(columns) {
240
+ const builder = new select_builder_1.SelectBuilder(this.tableName, columns);
241
+ return new TypedSelectBuilder(builder);
242
+ }
243
+ insert(data) {
244
+ const builder = new insert_builder_1.InsertBuilder(this.tableName, data);
245
+ return new TypedInsertBuilder(builder);
246
+ }
247
+ update(data) {
248
+ const builder = new update_builder_1.UpdateBuilder(this.tableName, data);
249
+ return new TypedUpdateBuilder(builder);
250
+ }
251
+ delete() {
252
+ const builder = new delete_builder_1.DeleteBuilder(this.tableName);
253
+ return new TypedDeleteBuilder(builder);
254
+ }
255
+ count() {
256
+ const builder = new count_builder_1.CountBuilder(this.tableName);
257
+ return new TypedCountBuilder(builder);
258
+ }
259
+ createTable() {
260
+ return new create_table_builder_1.CreateTableBuilder(this.tableName);
261
+ }
262
+ alterTable() {
263
+ return new alter_table_builder_1.AlterTableBuilder(this.tableName);
264
+ }
265
+ dropTable() {
266
+ return new alter_table_builder_1.DropTableBuilder(this.tableName);
267
+ }
268
+ createIndex(indexName) {
269
+ return new create_index_builder_1.CreateIndexBuilder(this.tableName, indexName);
270
+ }
271
+ dropIndex(indexName) {
272
+ return new drop_index_builder_1.DropIndexBuilder(indexName);
273
+ }
274
+ reindex() {
275
+ return new drop_index_builder_1.ReindexBuilder('TABLE', this.tableName);
276
+ }
277
+ raw(query, ...params) {
278
+ return new raw_query_builder_1.RawQueryBuilder(query, params);
279
+ }
280
+ sql(query, ...params) {
281
+ return new raw_query_builder_1.RawQueryBuilder(query, params);
282
+ }
283
+ truncate() {
284
+ return new truncate_builder_1.TruncateBuilder(this.tableName);
285
+ }
286
+ vacuum() {
287
+ return new vacuum_builder_1.VacuumBuilder(this.tableName);
288
+ }
289
+ analyze() {
290
+ return new vacuum_builder_1.AnalyzeBuilder(this.tableName);
291
+ }
292
+ copyTo() {
293
+ return new copy_builder_1.CopyToBuilder(this.tableName);
294
+ }
295
+ copyFrom() {
296
+ return new copy_builder_1.CopyFromBuilder(this.tableName);
297
+ }
298
+ static raw(query, ...params) {
299
+ return new raw_query_builder_1.RawQueryBuilder(query, params);
300
+ }
301
+ static sql(query, ...params) {
302
+ return new raw_query_builder_1.RawQueryBuilder(query, params);
303
+ }
304
+ static bulkInsert(tableName, columns, values) {
305
+ const query = (0, pg_format_1.default)('INSERT INTO %I (%I) VALUES %L', tableName, columns, values);
306
+ return new raw_query_builder_1.RawQueryBuilder(query);
307
+ }
308
+ static bulkUpdate(tableName, updates, keyColumn) {
309
+ const columns = Object.keys(updates[0]);
310
+ const values = updates.map(update => Object.values(update));
311
+ const valuesList = (0, pg_format_1.default)('%L', values);
312
+ const columnAliases = columns.map((_, idx) => `column${idx + 1}`).join(', ');
313
+ const columnMappings = columns.map((col, idx) => (0, pg_format_1.default)('%I = v.column%s', col, idx + 1)).join(', ');
314
+ const query = (0, pg_format_1.default)('UPDATE %I SET %s FROM (VALUES %s) AS v(%s) WHERE %I.%I = v.column1', tableName, columnMappings, valuesList, columnAliases, tableName, keyColumn);
315
+ return new raw_query_builder_1.RawQueryBuilder(query);
316
+ }
317
+ static createTrigger(triggerName) {
318
+ return new create_trigger_builder_1.CreateTriggerBuilder(triggerName);
319
+ }
320
+ static dropTrigger(triggerName, tableName) {
321
+ return new create_trigger_builder_1.DropTriggerBuilder(triggerName, tableName);
322
+ }
323
+ static createFunction(functionName) {
324
+ return new create_function_builder_1.CreateFunctionBuilder(functionName);
325
+ }
326
+ static dropFunction(functionName, parameterTypes) {
327
+ return new create_function_builder_1.DropFunctionBuilder(functionName, parameterTypes);
328
+ }
329
+ static createPartition(partitionName, parentTable) {
330
+ return new partition_builder_1.CreatePartitionBuilder(partitionName, parentTable);
331
+ }
332
+ static attachPartition(parentTable, partitionName) {
333
+ return new partition_builder_1.AttachPartitionBuilder(parentTable, partitionName);
334
+ }
335
+ static detachPartition(parentTable, partitionName) {
336
+ return new partition_builder_1.DetachPartitionBuilder(parentTable, partitionName);
337
+ }
338
+ static createView(viewName) {
339
+ return new create_view_builder_1.CreateViewBuilder(viewName);
340
+ }
341
+ static dropView(viewName, materialized) {
342
+ return new create_view_builder_1.DropViewBuilder(viewName, materialized);
343
+ }
344
+ static refreshMaterializedView(viewName) {
345
+ return new create_view_builder_1.RefreshMaterializedViewBuilder(viewName);
346
+ }
347
+ static createSchema(schemaName) {
348
+ return new schema_builder_1.CreateSchemaBuilder(schemaName);
349
+ }
350
+ static dropSchema(schemaName) {
351
+ return new schema_builder_1.DropSchemaBuilder(schemaName);
352
+ }
353
+ static grant() {
354
+ return new schema_builder_1.GrantBuilder();
355
+ }
356
+ static revoke() {
357
+ return new schema_builder_1.RevokeBuilder();
358
+ }
359
+ static transaction() {
360
+ return new transaction_builder_1.TransactionBuilder();
361
+ }
362
+ static savepoint(name) {
363
+ return new transaction_builder_1.SavepointBuilder(name);
364
+ }
365
+ static cte() {
366
+ return new cte_builder_1.CTEBuilder();
367
+ }
368
+ static window() {
369
+ return new window_builder_1.WindowBuilder();
370
+ }
371
+ static reindex(target, name) {
372
+ return new drop_index_builder_1.ReindexBuilder(target, name);
373
+ }
374
+ static truncate(tables) {
375
+ return new truncate_builder_1.TruncateBuilder(tables);
376
+ }
377
+ static createSequence(sequenceName) {
378
+ return new sequence_builder_1.CreateSequenceBuilder(sequenceName);
379
+ }
380
+ static alterSequence(sequenceName) {
381
+ return new sequence_builder_1.AlterSequenceBuilder(sequenceName);
382
+ }
383
+ static dropSequence(sequenceNames) {
384
+ return new sequence_builder_1.DropSequenceBuilder(sequenceNames);
385
+ }
386
+ static explain(query, options) {
387
+ return new explain_builder_1.ExplainBuilder(query, options);
388
+ }
389
+ static listen(channel) {
390
+ return new listen_notify_builder_1.ListenBuilder(channel);
391
+ }
392
+ static unlisten(channel) {
393
+ return new listen_notify_builder_1.UnlistenBuilder(channel);
394
+ }
395
+ static notify(channel, payload) {
396
+ return new listen_notify_builder_1.NotifyBuilder(channel, payload);
397
+ }
398
+ static vacuum(tables) {
399
+ return new vacuum_builder_1.VacuumBuilder(tables);
400
+ }
401
+ static analyze(tables) {
402
+ return new vacuum_builder_1.AnalyzeBuilder(tables);
403
+ }
404
+ static copyTo(tableOrQuery) {
405
+ return new copy_builder_1.CopyToBuilder(tableOrQuery);
406
+ }
407
+ static copyFrom(tableName) {
408
+ return new copy_builder_1.CopyFromBuilder(tableName);
409
+ }
410
+ static createRole(roleName) {
411
+ return new schema_builder_1.CreateRoleBuilder(roleName);
412
+ }
413
+ static alterRole(roleName) {
414
+ return new schema_builder_1.AlterRoleBuilder(roleName);
415
+ }
416
+ static dropRole(roleNames) {
417
+ return new schema_builder_1.DropRoleBuilder(roleNames);
418
+ }
419
+ static setRole() {
420
+ return new schema_builder_1.SetRoleBuilder();
421
+ }
422
+ static reassignOwned() {
423
+ return new schema_builder_1.ReassignOwnedBuilder();
424
+ }
425
+ static dropOwned() {
426
+ return new schema_builder_1.DropOwnedBuilder();
427
+ }
428
+ static defaultPrivileges() {
429
+ return new schema_builder_1.DefaultPrivilegesBuilder();
430
+ }
431
+ }
432
+ exports.QueryBuilder = QueryBuilder;
433
+ function relq(tableName) {
434
+ return new QueryBuilder(tableName);
435
+ }
436
+ function relqFor() {
437
+ return (tableName) => {
438
+ return new QueryBuilder(tableName);
439
+ };
440
+ }