kysely 0.27.2 → 0.27.4

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 (285) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/README.md +7 -7
  3. package/dist/cjs/dialect/database-introspector.d.ts +1 -0
  4. package/dist/cjs/dialect/dialect-adapter-base.d.ts +2 -1
  5. package/dist/cjs/dialect/dialect-adapter-base.js +4 -1
  6. package/dist/cjs/dialect/dialect-adapter.d.ts +5 -0
  7. package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +1 -5
  8. package/dist/cjs/dialect/mssql/mssql-adapter.js +2 -4
  9. package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +46 -26
  10. package/dist/cjs/dialect/mssql/mssql-driver.d.ts +1 -0
  11. package/dist/cjs/dialect/mssql/mssql-driver.js +95 -36
  12. package/dist/cjs/dialect/mssql/mssql-introspector.js +13 -2
  13. package/dist/cjs/dialect/mssql/mssql-query-compiler.d.ts +4 -0
  14. package/dist/cjs/dialect/mssql/mssql-query-compiler.js +8 -0
  15. package/dist/cjs/dialect/mysql/mysql-introspector.js +2 -0
  16. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +1 -1
  17. package/dist/cjs/dialect/postgres/postgres-driver.js +2 -1
  18. package/dist/cjs/dialect/postgres/postgres-introspector.js +3 -1
  19. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -0
  20. package/dist/cjs/driver/database-connection.d.ts +4 -2
  21. package/dist/cjs/dynamic/dynamic-reference-builder.js +2 -2
  22. package/dist/cjs/dynamic/dynamic.d.ts +1 -1
  23. package/dist/cjs/dynamic/dynamic.js +1 -1
  24. package/dist/cjs/expression/expression-builder.d.ts +31 -5
  25. package/dist/cjs/expression/expression-builder.js +7 -3
  26. package/dist/cjs/expression/expression.js +2 -3
  27. package/dist/cjs/helpers/mssql.js +3 -4
  28. package/dist/cjs/helpers/mysql.d.ts +3 -3
  29. package/dist/cjs/helpers/mysql.js +6 -7
  30. package/dist/cjs/helpers/postgres.d.ts +4 -4
  31. package/dist/cjs/helpers/postgres.js +7 -8
  32. package/dist/cjs/helpers/sqlite.js +3 -4
  33. package/dist/cjs/index.d.ts +31 -18
  34. package/dist/cjs/index.js +30 -17
  35. package/dist/cjs/kysely.d.ts +1 -1
  36. package/dist/cjs/kysely.js +3 -3
  37. package/dist/cjs/operation-node/add-index-node.js +1 -1
  38. package/dist/cjs/operation-node/alter-column-node.d.ts +1 -1
  39. package/dist/cjs/operation-node/case-node.d.ts +1 -1
  40. package/dist/cjs/operation-node/cast-node.d.ts +13 -0
  41. package/dist/cjs/operation-node/cast-node.js +19 -0
  42. package/dist/cjs/operation-node/column-definition-node.d.ts +2 -0
  43. package/dist/cjs/operation-node/data-type-node.d.ts +5 -1
  44. package/dist/cjs/operation-node/data-type-node.js +56 -0
  45. package/dist/cjs/operation-node/delete-query-node.d.ts +6 -0
  46. package/dist/cjs/operation-node/delete-query-node.js +12 -0
  47. package/dist/cjs/operation-node/fetch-node.d.ts +15 -0
  48. package/dist/cjs/operation-node/fetch-node.js +19 -0
  49. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +4 -4
  50. package/dist/cjs/operation-node/having-node.d.ts +1 -1
  51. package/dist/cjs/operation-node/insert-query-node.d.ts +6 -1
  52. package/dist/cjs/operation-node/insert-query-node.js +5 -0
  53. package/dist/cjs/operation-node/join-node.d.ts +1 -1
  54. package/dist/cjs/operation-node/matched-node.d.ts +13 -0
  55. package/dist/cjs/operation-node/matched-node.js +19 -0
  56. package/dist/cjs/operation-node/merge-query-node.d.ts +27 -0
  57. package/dist/cjs/operation-node/merge-query-node.js +45 -0
  58. package/dist/cjs/operation-node/on-node.d.ts +1 -1
  59. package/dist/cjs/operation-node/operation-node-source.js +1 -2
  60. package/dist/cjs/operation-node/operation-node-transformer.d.ts +12 -0
  61. package/dist/cjs/operation-node/operation-node-transformer.js +62 -0
  62. package/dist/cjs/operation-node/operation-node-visitor.d.ts +12 -0
  63. package/dist/cjs/operation-node/operation-node-visitor.js +6 -0
  64. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  65. package/dist/cjs/operation-node/operator-node.d.ts +3 -3
  66. package/dist/cjs/operation-node/operator-node.js +8 -6
  67. package/dist/cjs/operation-node/output-node.d.ts +13 -0
  68. package/dist/cjs/operation-node/output-node.js +26 -0
  69. package/dist/cjs/operation-node/query-node.d.ts +17 -5
  70. package/dist/cjs/operation-node/query-node.js +24 -1
  71. package/dist/cjs/operation-node/select-query-node.d.ts +6 -0
  72. package/dist/cjs/operation-node/select-query-node.js +12 -0
  73. package/dist/cjs/operation-node/top-node.d.ts +14 -0
  74. package/dist/cjs/operation-node/top-node.js +19 -0
  75. package/dist/cjs/operation-node/update-query-node.d.ts +9 -1
  76. package/dist/cjs/operation-node/update-query-node.js +11 -0
  77. package/dist/cjs/operation-node/where-node.d.ts +1 -1
  78. package/dist/cjs/parser/binary-operation-parser.d.ts +1 -1
  79. package/dist/cjs/parser/binary-operation-parser.js +7 -8
  80. package/dist/cjs/parser/data-type-parser.js +8 -5
  81. package/dist/cjs/parser/default-value-parser.js +1 -2
  82. package/dist/cjs/parser/expression-parser.js +3 -4
  83. package/dist/cjs/parser/fetch-parser.d.ts +2 -0
  84. package/dist/cjs/parser/fetch-parser.js +17 -0
  85. package/dist/cjs/parser/group-by-parser.js +1 -2
  86. package/dist/cjs/parser/identifier-parser.js +1 -2
  87. package/dist/cjs/parser/insert-values-parser.d.ts +3 -3
  88. package/dist/cjs/parser/insert-values-parser.js +1 -2
  89. package/dist/cjs/parser/join-parser.js +1 -2
  90. package/dist/cjs/parser/merge-parser.d.ts +9 -0
  91. package/dist/cjs/parser/merge-parser.js +31 -0
  92. package/dist/cjs/parser/on-commit-action-parse.js +1 -2
  93. package/dist/cjs/parser/on-modify-action-parser.js +1 -2
  94. package/dist/cjs/parser/order-by-parser.js +3 -4
  95. package/dist/cjs/parser/parse-utils.js +4 -5
  96. package/dist/cjs/parser/partition-by-parser.js +1 -2
  97. package/dist/cjs/parser/reference-parser.js +8 -9
  98. package/dist/cjs/parser/returning-parser.d.ts +4 -3
  99. package/dist/cjs/parser/select-parser.js +2 -3
  100. package/dist/cjs/parser/set-operation-parser.js +1 -2
  101. package/dist/cjs/parser/table-parser.d.ts +4 -3
  102. package/dist/cjs/parser/table-parser.js +4 -5
  103. package/dist/cjs/parser/top-parser.d.ts +2 -0
  104. package/dist/cjs/parser/top-parser.js +19 -0
  105. package/dist/cjs/parser/unary-operation-parser.js +3 -4
  106. package/dist/cjs/parser/update-set-parser.js +2 -3
  107. package/dist/cjs/parser/value-parser.js +4 -5
  108. package/dist/cjs/parser/with-parser.js +1 -2
  109. package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +2 -2
  110. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +2 -2
  111. package/dist/cjs/plugin/camel-case/camel-case.js +2 -3
  112. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
  113. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
  114. package/dist/cjs/plugin/with-schema/with-schema-transformer.js +4 -0
  115. package/dist/cjs/query-builder/delete-query-builder.d.ts +188 -5
  116. package/dist/cjs/query-builder/delete-query-builder.js +139 -5
  117. package/dist/cjs/query-builder/function-module.d.ts +5 -5
  118. package/dist/cjs/query-builder/function-module.js +1 -2
  119. package/dist/cjs/query-builder/insert-query-builder.d.ts +166 -10
  120. package/dist/cjs/query-builder/insert-query-builder.js +107 -10
  121. package/dist/cjs/query-builder/merge-query-builder.d.ts +721 -0
  122. package/dist/cjs/query-builder/merge-query-builder.js +547 -0
  123. package/dist/cjs/query-builder/merge-result.d.ts +4 -0
  124. package/dist/cjs/query-builder/merge-result.js +10 -0
  125. package/dist/cjs/query-builder/no-result-error.js +2 -2
  126. package/dist/cjs/query-builder/on-conflict-builder.d.ts +2 -2
  127. package/dist/cjs/query-builder/output-interface.d.ts +95 -0
  128. package/dist/cjs/query-builder/output-interface.js +2 -0
  129. package/dist/cjs/query-builder/returning-interface.d.ts +2 -0
  130. package/dist/cjs/query-builder/select-query-builder.d.ts +177 -17
  131. package/dist/cjs/query-builder/select-query-builder.js +21 -2
  132. package/dist/cjs/query-builder/update-query-builder.d.ts +175 -10
  133. package/dist/cjs/query-builder/update-query-builder.js +119 -7
  134. package/dist/cjs/query-builder/update-result.d.ts +9 -0
  135. package/dist/cjs/query-builder/update-result.js +9 -0
  136. package/dist/cjs/query-builder/where-interface.d.ts +1 -1
  137. package/dist/cjs/query-compiler/default-query-compiler.d.ts +12 -0
  138. package/dist/cjs/query-compiler/default-query-compiler.js +118 -10
  139. package/dist/cjs/query-compiler/query-compiler.d.ts +2 -1
  140. package/dist/cjs/query-creator.d.ts +96 -5
  141. package/dist/cjs/query-creator.js +63 -1
  142. package/dist/cjs/raw-builder/raw-builder.js +1 -2
  143. package/dist/cjs/raw-builder/sql.d.ts +5 -5
  144. package/dist/cjs/schema/alter-column-builder.js +3 -0
  145. package/dist/cjs/schema/alter-table-add-index-builder.d.ts +1 -1
  146. package/dist/cjs/schema/alter-table-add-index-builder.js +7 -3
  147. package/dist/cjs/schema/alter-table-builder.js +1 -2
  148. package/dist/cjs/schema/column-definition-builder.d.ts +18 -1
  149. package/dist/cjs/schema/column-definition-builder.js +22 -1
  150. package/dist/cjs/util/assert.js +2 -3
  151. package/dist/cjs/util/compilable.js +1 -2
  152. package/dist/cjs/util/infer-result.d.ts +2 -1
  153. package/dist/cjs/util/json-object-args.js +1 -2
  154. package/dist/cjs/util/log-once.js +1 -2
  155. package/dist/cjs/util/object-utils.js +38 -26
  156. package/dist/cjs/util/performance-now.js +1 -2
  157. package/dist/cjs/util/prevent-await.js +1 -2
  158. package/dist/cjs/util/query-id.js +1 -2
  159. package/dist/cjs/util/random-string.js +1 -2
  160. package/dist/cjs/util/require-all-props.js +1 -2
  161. package/dist/cjs/util/stack-trace-utils.js +1 -2
  162. package/dist/cjs/util/type-utils.d.ts +3 -2
  163. package/dist/esm/dialect/database-introspector.d.ts +1 -0
  164. package/dist/esm/dialect/dialect-adapter-base.d.ts +2 -1
  165. package/dist/esm/dialect/dialect-adapter-base.js +4 -1
  166. package/dist/esm/dialect/dialect-adapter.d.ts +5 -0
  167. package/dist/esm/dialect/mssql/mssql-adapter.d.ts +1 -5
  168. package/dist/esm/dialect/mssql/mssql-adapter.js +2 -4
  169. package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +46 -26
  170. package/dist/esm/dialect/mssql/mssql-driver.d.ts +1 -0
  171. package/dist/esm/dialect/mssql/mssql-driver.js +95 -36
  172. package/dist/esm/dialect/mssql/mssql-introspector.js +13 -2
  173. package/dist/esm/dialect/mssql/mssql-query-compiler.d.ts +4 -0
  174. package/dist/esm/dialect/mssql/mssql-query-compiler.js +8 -0
  175. package/dist/esm/dialect/mysql/mysql-introspector.js +2 -0
  176. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +1 -1
  177. package/dist/esm/dialect/postgres/postgres-driver.js +2 -1
  178. package/dist/esm/dialect/postgres/postgres-introspector.js +3 -1
  179. package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
  180. package/dist/esm/driver/database-connection.d.ts +4 -2
  181. package/dist/esm/dynamic/dynamic.d.ts +1 -1
  182. package/dist/esm/dynamic/dynamic.js +1 -1
  183. package/dist/esm/expression/expression-builder.d.ts +31 -5
  184. package/dist/esm/expression/expression-builder.js +5 -0
  185. package/dist/esm/helpers/mysql.d.ts +3 -3
  186. package/dist/esm/helpers/mysql.js +3 -3
  187. package/dist/esm/helpers/postgres.d.ts +4 -4
  188. package/dist/esm/helpers/postgres.js +4 -4
  189. package/dist/esm/index.d.ts +31 -18
  190. package/dist/esm/index.js +30 -17
  191. package/dist/esm/kysely.d.ts +1 -1
  192. package/dist/esm/kysely.js +1 -1
  193. package/dist/esm/operation-node/add-index-node.js +1 -1
  194. package/dist/esm/operation-node/alter-column-node.d.ts +1 -1
  195. package/dist/esm/operation-node/case-node.d.ts +1 -1
  196. package/dist/esm/operation-node/cast-node.d.ts +13 -0
  197. package/dist/esm/operation-node/cast-node.js +17 -0
  198. package/dist/esm/operation-node/column-definition-node.d.ts +2 -0
  199. package/dist/esm/operation-node/data-type-node.d.ts +5 -1
  200. package/dist/esm/operation-node/data-type-node.js +55 -0
  201. package/dist/esm/operation-node/delete-query-node.d.ts +6 -0
  202. package/dist/esm/operation-node/delete-query-node.js +12 -0
  203. package/dist/esm/operation-node/fetch-node.d.ts +15 -0
  204. package/dist/esm/operation-node/fetch-node.js +17 -0
  205. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +4 -4
  206. package/dist/esm/operation-node/having-node.d.ts +1 -1
  207. package/dist/esm/operation-node/insert-query-node.d.ts +6 -1
  208. package/dist/esm/operation-node/insert-query-node.js +5 -0
  209. package/dist/esm/operation-node/join-node.d.ts +1 -1
  210. package/dist/esm/operation-node/matched-node.d.ts +13 -0
  211. package/dist/esm/operation-node/matched-node.js +17 -0
  212. package/dist/esm/operation-node/merge-query-node.d.ts +27 -0
  213. package/dist/esm/operation-node/merge-query-node.js +43 -0
  214. package/dist/esm/operation-node/on-node.d.ts +1 -1
  215. package/dist/esm/operation-node/operation-node-transformer.d.ts +12 -0
  216. package/dist/esm/operation-node/operation-node-transformer.js +62 -0
  217. package/dist/esm/operation-node/operation-node-visitor.d.ts +12 -0
  218. package/dist/esm/operation-node/operation-node-visitor.js +6 -0
  219. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  220. package/dist/esm/operation-node/operator-node.d.ts +3 -3
  221. package/dist/esm/operation-node/operator-node.js +2 -0
  222. package/dist/esm/operation-node/output-node.d.ts +13 -0
  223. package/dist/esm/operation-node/output-node.js +24 -0
  224. package/dist/esm/operation-node/query-node.d.ts +17 -5
  225. package/dist/esm/operation-node/query-node.js +24 -1
  226. package/dist/esm/operation-node/select-query-node.d.ts +6 -0
  227. package/dist/esm/operation-node/select-query-node.js +12 -0
  228. package/dist/esm/operation-node/top-node.d.ts +14 -0
  229. package/dist/esm/operation-node/top-node.js +17 -0
  230. package/dist/esm/operation-node/update-query-node.d.ts +9 -1
  231. package/dist/esm/operation-node/update-query-node.js +11 -0
  232. package/dist/esm/operation-node/where-node.d.ts +1 -1
  233. package/dist/esm/parser/binary-operation-parser.d.ts +1 -1
  234. package/dist/esm/parser/binary-operation-parser.js +2 -2
  235. package/dist/esm/parser/data-type-parser.js +8 -4
  236. package/dist/esm/parser/fetch-parser.d.ts +2 -0
  237. package/dist/esm/parser/fetch-parser.js +15 -0
  238. package/dist/esm/parser/insert-values-parser.d.ts +3 -3
  239. package/dist/esm/parser/merge-parser.d.ts +9 -0
  240. package/dist/esm/parser/merge-parser.js +28 -0
  241. package/dist/esm/parser/returning-parser.d.ts +4 -3
  242. package/dist/esm/parser/table-parser.d.ts +4 -3
  243. package/dist/esm/parser/top-parser.d.ts +2 -0
  244. package/dist/esm/parser/top-parser.js +17 -0
  245. package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +2 -2
  246. package/dist/esm/plugin/camel-case/camel-case-plugin.js +2 -2
  247. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
  248. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
  249. package/dist/esm/plugin/with-schema/with-schema-transformer.js +4 -0
  250. package/dist/esm/query-builder/delete-query-builder.d.ts +188 -5
  251. package/dist/esm/query-builder/delete-query-builder.js +139 -5
  252. package/dist/esm/query-builder/function-module.d.ts +5 -5
  253. package/dist/esm/query-builder/insert-query-builder.d.ts +166 -10
  254. package/dist/esm/query-builder/insert-query-builder.js +107 -10
  255. package/dist/esm/query-builder/merge-query-builder.d.ts +721 -0
  256. package/dist/esm/query-builder/merge-query-builder.js +541 -0
  257. package/dist/esm/query-builder/merge-result.d.ts +4 -0
  258. package/dist/esm/query-builder/merge-result.js +7 -0
  259. package/dist/esm/query-builder/on-conflict-builder.d.ts +2 -2
  260. package/dist/esm/query-builder/output-interface.d.ts +95 -0
  261. package/dist/esm/query-builder/output-interface.js +2 -0
  262. package/dist/esm/query-builder/returning-interface.d.ts +2 -0
  263. package/dist/esm/query-builder/select-query-builder.d.ts +177 -17
  264. package/dist/esm/query-builder/select-query-builder.js +20 -0
  265. package/dist/esm/query-builder/update-query-builder.d.ts +175 -10
  266. package/dist/esm/query-builder/update-query-builder.js +119 -7
  267. package/dist/esm/query-builder/update-result.d.ts +9 -0
  268. package/dist/esm/query-builder/update-result.js +9 -0
  269. package/dist/esm/query-builder/where-interface.d.ts +1 -1
  270. package/dist/esm/query-compiler/default-query-compiler.d.ts +12 -0
  271. package/dist/esm/query-compiler/default-query-compiler.js +118 -10
  272. package/dist/esm/query-compiler/query-compiler.d.ts +2 -1
  273. package/dist/esm/query-creator.d.ts +96 -5
  274. package/dist/esm/query-creator.js +64 -2
  275. package/dist/esm/raw-builder/sql.d.ts +5 -5
  276. package/dist/esm/schema/alter-column-builder.js +3 -0
  277. package/dist/esm/schema/alter-table-add-index-builder.d.ts +1 -1
  278. package/dist/esm/schema/alter-table-add-index-builder.js +8 -4
  279. package/dist/esm/schema/alter-table-builder.js +1 -2
  280. package/dist/esm/schema/column-definition-builder.d.ts +18 -1
  281. package/dist/esm/schema/column-definition-builder.js +22 -1
  282. package/dist/esm/util/infer-result.d.ts +2 -1
  283. package/dist/esm/util/object-utils.js +18 -5
  284. package/dist/esm/util/type-utils.d.ts +3 -2
  285. package/package.json +26 -24
package/dist/cjs/index.js CHANGED
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "expressionBuilder", { enumerable: true, get: fun
23
23
  __exportStar(require("./expression/expression-wrapper.js"), exports);
24
24
  __exportStar(require("./query-builder/where-interface.js"), exports);
25
25
  __exportStar(require("./query-builder/returning-interface.js"), exports);
26
+ __exportStar(require("./query-builder/output-interface.js"), exports);
26
27
  __exportStar(require("./query-builder/having-interface.js"), exports);
27
28
  __exportStar(require("./query-builder/select-query-builder.js"), exports);
28
29
  __exportStar(require("./query-builder/insert-query-builder.js"), exports);
@@ -38,6 +39,8 @@ __exportStar(require("./query-builder/on-conflict-builder.js"), exports);
38
39
  __exportStar(require("./query-builder/aggregate-function-builder.js"), exports);
39
40
  __exportStar(require("./query-builder/case-builder.js"), exports);
40
41
  __exportStar(require("./query-builder/json-path-builder.js"), exports);
42
+ __exportStar(require("./query-builder/merge-query-builder.js"), exports);
43
+ __exportStar(require("./query-builder/merge-result.js"), exports);
41
44
  __exportStar(require("./raw-builder/raw-builder.js"), exports);
42
45
  __exportStar(require("./raw-builder/sql.js"), exports);
43
46
  __exportStar(require("./query-executor/query-executor.js"), exports);
@@ -107,17 +110,21 @@ __exportStar(require("./plugin/with-schema/with-schema-plugin.js"), exports);
107
110
  __exportStar(require("./plugin/parse-json-results/parse-json-results-plugin.js"), exports);
108
111
  __exportStar(require("./operation-node/add-column-node.js"), exports);
109
112
  __exportStar(require("./operation-node/add-constraint-node.js"), exports);
113
+ __exportStar(require("./operation-node/add-index-node.js"), exports);
114
+ __exportStar(require("./operation-node/aggregate-function-node.js"), exports);
110
115
  __exportStar(require("./operation-node/alias-node.js"), exports);
111
116
  __exportStar(require("./operation-node/alter-column-node.js"), exports);
112
117
  __exportStar(require("./operation-node/alter-table-node.js"), exports);
113
118
  __exportStar(require("./operation-node/and-node.js"), exports);
119
+ __exportStar(require("./operation-node/binary-operation-node.js"), exports);
114
120
  __exportStar(require("./operation-node/case-node.js"), exports);
121
+ __exportStar(require("./operation-node/cast-node.js"), exports);
115
122
  __exportStar(require("./operation-node/check-constraint-node.js"), exports);
116
123
  __exportStar(require("./operation-node/column-definition-node.js"), exports);
117
124
  __exportStar(require("./operation-node/column-node.js"), exports);
118
125
  __exportStar(require("./operation-node/column-update-node.js"), exports);
119
- __exportStar(require("./operation-node/common-table-expression-node.js"), exports);
120
126
  __exportStar(require("./operation-node/common-table-expression-name-node.js"), exports);
127
+ __exportStar(require("./operation-node/common-table-expression-node.js"), exports);
121
128
  __exportStar(require("./operation-node/constraint-node.js"), exports);
122
129
  __exportStar(require("./operation-node/create-index-node.js"), exports);
123
130
  __exportStar(require("./operation-node/create-schema-node.js"), exports);
@@ -125,6 +132,7 @@ __exportStar(require("./operation-node/create-table-node.js"), exports);
125
132
  __exportStar(require("./operation-node/create-type-node.js"), exports);
126
133
  __exportStar(require("./operation-node/create-view-node.js"), exports);
127
134
  __exportStar(require("./operation-node/data-type-node.js"), exports);
135
+ __exportStar(require("./operation-node/default-insert-value-node.js"), exports);
128
136
  __exportStar(require("./operation-node/default-value-node.js"), exports);
129
137
  __exportStar(require("./operation-node/delete-query-node.js"), exports);
130
138
  __exportStar(require("./operation-node/drop-column-node.js"), exports);
@@ -134,8 +142,11 @@ __exportStar(require("./operation-node/drop-schema-node.js"), exports);
134
142
  __exportStar(require("./operation-node/drop-table-node.js"), exports);
135
143
  __exportStar(require("./operation-node/drop-type-node.js"), exports);
136
144
  __exportStar(require("./operation-node/drop-view-node.js"), exports);
145
+ __exportStar(require("./operation-node/explain-node.js"), exports);
146
+ __exportStar(require("./operation-node/fetch-node.js"), exports);
137
147
  __exportStar(require("./operation-node/foreign-key-constraint-node.js"), exports);
138
148
  __exportStar(require("./operation-node/from-node.js"), exports);
149
+ __exportStar(require("./operation-node/function-node.js"), exports);
139
150
  __exportStar(require("./operation-node/generated-node.js"), exports);
140
151
  __exportStar(require("./operation-node/group-by-item-node.js"), exports);
141
152
  __exportStar(require("./operation-node/group-by-node.js"), exports);
@@ -143,8 +154,14 @@ __exportStar(require("./operation-node/having-node.js"), exports);
143
154
  __exportStar(require("./operation-node/identifier-node.js"), exports);
144
155
  __exportStar(require("./operation-node/insert-query-node.js"), exports);
145
156
  __exportStar(require("./operation-node/join-node.js"), exports);
157
+ __exportStar(require("./operation-node/json-operator-chain-node.js"), exports);
158
+ __exportStar(require("./operation-node/json-path-leg-node.js"), exports);
159
+ __exportStar(require("./operation-node/json-path-node.js"), exports);
160
+ __exportStar(require("./operation-node/json-reference-node.js"), exports);
146
161
  __exportStar(require("./operation-node/limit-node.js"), exports);
147
162
  __exportStar(require("./operation-node/list-node.js"), exports);
163
+ __exportStar(require("./operation-node/matched-node.js"), exports);
164
+ __exportStar(require("./operation-node/merge-query-node.js"), exports);
148
165
  __exportStar(require("./operation-node/modify-column-node.js"), exports);
149
166
  __exportStar(require("./operation-node/offset-node.js"), exports);
150
167
  __exportStar(require("./operation-node/on-conflict-node.js"), exports);
@@ -158,7 +175,11 @@ __exportStar(require("./operation-node/operator-node.js"), exports);
158
175
  __exportStar(require("./operation-node/or-node.js"), exports);
159
176
  __exportStar(require("./operation-node/order-by-item-node.js"), exports);
160
177
  __exportStar(require("./operation-node/order-by-node.js"), exports);
178
+ __exportStar(require("./operation-node/output-node.js"), exports);
179
+ __exportStar(require("./operation-node/over-node.js"), exports);
161
180
  __exportStar(require("./operation-node/parens-node.js"), exports);
181
+ __exportStar(require("./operation-node/partition-by-item-node.js"), exports);
182
+ __exportStar(require("./operation-node/partition-by-node.js"), exports);
162
183
  __exportStar(require("./operation-node/primary-constraint-node.js"), exports);
163
184
  __exportStar(require("./operation-node/primitive-value-list-node.js"), exports);
164
185
  __exportStar(require("./operation-node/query-node.js"), exports);
@@ -167,34 +188,26 @@ __exportStar(require("./operation-node/reference-node.js"), exports);
167
188
  __exportStar(require("./operation-node/references-node.js"), exports);
168
189
  __exportStar(require("./operation-node/rename-column-node.js"), exports);
169
190
  __exportStar(require("./operation-node/returning-node.js"), exports);
191
+ __exportStar(require("./operation-node/schemable-identifier-node.js"), exports);
170
192
  __exportStar(require("./operation-node/select-all-node.js"), exports);
171
- __exportStar(require("./operation-node/select-query-node.js"), exports);
193
+ __exportStar(require("./operation-node/select-modifier-node.js"), exports);
172
194
  __exportStar(require("./operation-node/select-query-node.js"), exports);
173
195
  __exportStar(require("./operation-node/selection-node.js"), exports);
196
+ __exportStar(require("./operation-node/set-operation-node.js"), exports);
197
+ __exportStar(require("./operation-node/simple-reference-expression-node.js"), exports);
174
198
  __exportStar(require("./operation-node/table-node.js"), exports);
199
+ __exportStar(require("./operation-node/top-node.js"), exports);
200
+ __exportStar(require("./operation-node/tuple-node.js"), exports);
201
+ __exportStar(require("./operation-node/unary-operation-node.js"), exports);
175
202
  __exportStar(require("./operation-node/unique-constraint-node.js"), exports);
176
203
  __exportStar(require("./operation-node/update-query-node.js"), exports);
204
+ __exportStar(require("./operation-node/using-node.js"), exports);
177
205
  __exportStar(require("./operation-node/value-list-node.js"), exports);
178
206
  __exportStar(require("./operation-node/value-node.js"), exports);
179
207
  __exportStar(require("./operation-node/values-node.js"), exports);
180
208
  __exportStar(require("./operation-node/when-node.js"), exports);
181
209
  __exportStar(require("./operation-node/where-node.js"), exports);
182
210
  __exportStar(require("./operation-node/with-node.js"), exports);
183
- __exportStar(require("./operation-node/explain-node.js"), exports);
184
- __exportStar(require("./operation-node/default-insert-value-node.js"), exports);
185
- __exportStar(require("./operation-node/aggregate-function-node.js"), exports);
186
- __exportStar(require("./operation-node/over-node.js"), exports);
187
- __exportStar(require("./operation-node/partition-by-node.js"), exports);
188
- __exportStar(require("./operation-node/partition-by-item-node.js"), exports);
189
- __exportStar(require("./operation-node/set-operation-node.js"), exports);
190
- __exportStar(require("./operation-node/binary-operation-node.js"), exports);
191
- __exportStar(require("./operation-node/unary-operation-node.js"), exports);
192
- __exportStar(require("./operation-node/using-node.js"), exports);
193
- __exportStar(require("./operation-node/json-reference-node.js"), exports);
194
- __exportStar(require("./operation-node/json-path-leg-node.js"), exports);
195
- __exportStar(require("./operation-node/json-path-node.js"), exports);
196
- __exportStar(require("./operation-node/json-operator-chain-node.js"), exports);
197
- __exportStar(require("./operation-node/tuple-node.js"), exports);
198
211
  __exportStar(require("./util/column-type.js"), exports);
199
212
  __exportStar(require("./util/compilable.js"), exports);
200
213
  __exportStar(require("./util/explainable.js"), exports);
@@ -20,7 +20,7 @@ import { DrainOuterGeneric } from './util/type-utils.js';
20
20
  * The main Kysely class.
21
21
  *
22
22
  * You should create one instance of `Kysely` per database using the {@link Kysely}
23
- * constructor. Each `Kysely` instance maintains it's own connection pool.
23
+ * constructor. Each `Kysely` instance maintains its own connection pool.
24
24
  *
25
25
  * ### Examples
26
26
  *
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionBuilder = exports.ConnectionBuilder = exports.isKyselyProps = exports.Transaction = exports.Kysely = void 0;
3
+ exports.TransactionBuilder = exports.ConnectionBuilder = exports.Transaction = exports.Kysely = void 0;
4
+ exports.isKyselyProps = isKyselyProps;
4
5
  const schema_js_1 = require("./schema/schema.js");
5
6
  const dynamic_js_1 = require("./dynamic/dynamic.js");
6
7
  const default_connection_provider_js_1 = require("./driver/default-connection-provider.js");
@@ -23,7 +24,7 @@ const with_schema_plugin_js_1 = require("./plugin/with-schema/with-schema-plugin
23
24
  * The main Kysely class.
24
25
  *
25
26
  * You should create one instance of `Kysely` per database using the {@link Kysely}
26
- * constructor. Each `Kysely` instance maintains it's own connection pool.
27
+ * constructor. Each `Kysely` instance maintains its own connection pool.
27
28
  *
28
29
  * ### Examples
29
30
  *
@@ -373,7 +374,6 @@ function isKyselyProps(obj) {
373
374
  (0, object_utils_js_1.isObject)(obj.executor) &&
374
375
  (0, object_utils_js_1.isObject)(obj.dialect));
375
376
  }
376
- exports.isKyselyProps = isKyselyProps;
377
377
  class ConnectionBuilder {
378
378
  #props;
379
379
  constructor(props) {
@@ -13,7 +13,7 @@ exports.AddIndexNode = (0, object_utils_js_1.freeze)({
13
13
  create(name) {
14
14
  return (0, object_utils_js_1.freeze)({
15
15
  kind: 'AddIndexNode',
16
- name: identifier_node_js_1.IdentifierNode.create(name)
16
+ name: identifier_node_js_1.IdentifierNode.create(name),
17
17
  });
18
18
  },
19
19
  cloneWith(node, props) {
@@ -17,5 +17,5 @@ export interface AlterColumnNode extends OperationNode {
17
17
  */
18
18
  export declare const AlterColumnNode: Readonly<{
19
19
  is(node: OperationNode): node is AlterColumnNode;
20
- create<T extends "dataType" | "dataTypeExpression" | "setDefault" | "dropDefault" | "setNotNull" | "dropNotNull">(column: string, prop: T, value: Required<AlterColumnNodeProps>[T]): AlterColumnNode;
20
+ create<T extends keyof AlterColumnNodeProps>(column: string, prop: T, value: Required<AlterColumnNodeProps>[T]): AlterColumnNode;
21
21
  }>;
@@ -15,5 +15,5 @@ export declare const CaseNode: Readonly<{
15
15
  create(value?: OperationNode): CaseNode;
16
16
  cloneWithWhen(caseNode: CaseNode, when: WhenNode): CaseNode;
17
17
  cloneWithThen(caseNode: CaseNode, then: OperationNode): CaseNode;
18
- cloneWith(caseNode: CaseNode, props: Partial<Pick<CaseNode, 'else' | 'isStatement'>>): CaseNode;
18
+ cloneWith(caseNode: CaseNode, props: Partial<Pick<CaseNode, "else" | "isStatement">>): CaseNode;
19
19
  }>;
@@ -0,0 +1,13 @@
1
+ import { OperationNode } from './operation-node.js';
2
+ export interface CastNode extends OperationNode {
3
+ readonly kind: 'CastNode';
4
+ readonly expression: OperationNode;
5
+ readonly dataType: OperationNode;
6
+ }
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare const CastNode: Readonly<{
11
+ is(node: OperationNode): node is CastNode;
12
+ create(expression: OperationNode, dataType: OperationNode): CastNode;
13
+ }>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CastNode = void 0;
4
+ const object_utils_js_1 = require("../util/object-utils.js");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.CastNode = (0, object_utils_js_1.freeze)({
9
+ is(node) {
10
+ return node.kind === 'CastNode';
11
+ },
12
+ create(expression, dataType) {
13
+ return (0, object_utils_js_1.freeze)({
14
+ kind: 'CastNode',
15
+ expression,
16
+ dataType,
17
+ });
18
+ },
19
+ });
@@ -21,6 +21,8 @@ export interface ColumnDefinitionNode extends OperationNode {
21
21
  readonly frontModifiers?: ReadonlyArray<OperationNode>;
22
22
  readonly endModifiers?: ReadonlyArray<OperationNode>;
23
23
  readonly nullsNotDistinct?: boolean;
24
+ readonly identity?: boolean;
25
+ readonly ifNotExists?: boolean;
24
26
  }
25
27
  /**
26
28
  * @internal
@@ -1,5 +1,7 @@
1
1
  import { OperationNode } from './operation-node.js';
2
- export type ColumnDataType = 'varchar' | `varchar(${number})` | 'char' | `char(${number})` | 'text' | 'integer' | 'int2' | 'int4' | 'int8' | 'bigint' | 'boolean' | 'real' | 'double precision' | 'float4' | 'float8' | 'decimal' | `decimal(${number}, ${number})` | 'numeric' | `numeric(${number}, ${number})` | 'binary' | `binary(${number})` | 'bytea' | 'date' | 'datetime' | `datetime(${number})` | 'time' | `time(${number})` | 'timetz' | `timetz(${number})` | 'timestamp' | `timestamp(${number})` | 'timestamptz' | `timestamptz(${number})` | 'serial' | 'bigserial' | 'uuid' | 'json' | 'jsonb' | 'blob';
2
+ declare const SIMPLE_COLUMN_DATA_TYPES: readonly ["varchar", "char", "text", "integer", "int2", "int4", "int8", "smallint", "bigint", "boolean", "real", "double precision", "float4", "float8", "decimal", "numeric", "binary", "bytea", "date", "datetime", "time", "timetz", "timestamp", "timestamptz", "serial", "bigserial", "uuid", "json", "jsonb", "blob", "varbinary"];
3
+ type SimpleColumnDataType = (typeof SIMPLE_COLUMN_DATA_TYPES)[number];
4
+ export type ColumnDataType = SimpleColumnDataType | `varchar(${number})` | `char(${number})` | `decimal(${number}, ${number})` | `numeric(${number}, ${number})` | `binary(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `timestamptz(${number})` | `varbinary(${number})`;
3
5
  export type DataTypeParams = Omit<DataTypeNode, 'kind' | 'dataType'>;
4
6
  export interface DataTypeNode extends OperationNode {
5
7
  readonly kind: 'DataTypeNode';
@@ -12,3 +14,5 @@ export declare const DataTypeNode: Readonly<{
12
14
  is(node: OperationNode): node is DataTypeNode;
13
15
  create(dataType: ColumnDataType): DataTypeNode;
14
16
  }>;
17
+ export declare function isColumnDataType(dataType: string): dataType is ColumnDataType;
18
+ export {};
@@ -1,7 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DataTypeNode = void 0;
4
+ exports.isColumnDataType = isColumnDataType;
4
5
  const object_utils_js_1 = require("../util/object-utils.js");
6
+ const SIMPLE_COLUMN_DATA_TYPES = [
7
+ 'varchar',
8
+ 'char',
9
+ 'text',
10
+ 'integer',
11
+ 'int2',
12
+ 'int4',
13
+ 'int8',
14
+ 'smallint',
15
+ 'bigint',
16
+ 'boolean',
17
+ 'real',
18
+ 'double precision',
19
+ 'float4',
20
+ 'float8',
21
+ 'decimal',
22
+ 'numeric',
23
+ 'binary',
24
+ 'bytea',
25
+ 'date',
26
+ 'datetime',
27
+ 'time',
28
+ 'timetz',
29
+ 'timestamp',
30
+ 'timestamptz',
31
+ 'serial',
32
+ 'bigserial',
33
+ 'uuid',
34
+ 'json',
35
+ 'jsonb',
36
+ 'blob',
37
+ 'varbinary',
38
+ ];
39
+ const COLUMN_DATA_TYPE_REGEX = [
40
+ /^varchar\(\d+\)$/,
41
+ /^char\(\d+\)$/,
42
+ /^decimal\(\d+, \d+\)$/,
43
+ /^numeric\(\d+, \d+\)$/,
44
+ /^binary\(\d+\)$/,
45
+ /^datetime\(\d+\)$/,
46
+ /^time\(\d+\)$/,
47
+ /^timetz\(\d+\)$/,
48
+ /^timestamp\(\d+\)$/,
49
+ /^timestamptz\(\d+\)$/,
50
+ /^varbinary\(\d+\)$/,
51
+ ];
5
52
  /**
6
53
  * @internal
7
54
  */
@@ -16,3 +63,12 @@ exports.DataTypeNode = (0, object_utils_js_1.freeze)({
16
63
  });
17
64
  },
18
65
  });
66
+ function isColumnDataType(dataType) {
67
+ if (SIMPLE_COLUMN_DATA_TYPES.includes(dataType)) {
68
+ return true;
69
+ }
70
+ if (COLUMN_DATA_TYPE_REGEX.some((r) => r.test(dataType))) {
71
+ return true;
72
+ }
73
+ return false;
74
+ }
@@ -9,6 +9,8 @@ import { OrderByNode } from './order-by-node.js';
9
9
  import { OrderByItemNode } from './order-by-item-node.js';
10
10
  import { ExplainNode } from './explain-node.js';
11
11
  import { UsingNode } from './using-node.js';
12
+ import { TopNode } from './top-node.js';
13
+ import { OutputNode } from './output-node.js';
12
14
  export interface DeleteQueryNode extends OperationNode {
13
15
  readonly kind: 'DeleteQueryNode';
14
16
  readonly from: FromNode;
@@ -20,6 +22,8 @@ export interface DeleteQueryNode extends OperationNode {
20
22
  readonly orderBy?: OrderByNode;
21
23
  readonly limit?: LimitNode;
22
24
  readonly explain?: ExplainNode;
25
+ readonly top?: TopNode;
26
+ readonly output?: OutputNode;
23
27
  }
24
28
  /**
25
29
  * @internal
@@ -28,6 +32,8 @@ export declare const DeleteQueryNode: Readonly<{
28
32
  is(node: OperationNode): node is DeleteQueryNode;
29
33
  create(fromItems: OperationNode[], withNode?: WithNode): DeleteQueryNode;
30
34
  cloneWithOrderByItems(deleteNode: DeleteQueryNode, items: ReadonlyArray<OrderByItemNode>): DeleteQueryNode;
35
+ cloneWithoutOrderBy(deleteNode: DeleteQueryNode): DeleteQueryNode;
31
36
  cloneWithLimit(deleteNode: DeleteQueryNode, limit: LimitNode): DeleteQueryNode;
37
+ cloneWithoutLimit(deleteNode: DeleteQueryNode): DeleteQueryNode;
32
38
  cloneWithUsing(deleteNode: DeleteQueryNode, tables: OperationNode[]): DeleteQueryNode;
33
39
  }>;
@@ -27,12 +27,24 @@ exports.DeleteQueryNode = (0, object_utils_js_1.freeze)({
27
27
  : order_by_node_js_1.OrderByNode.create(items),
28
28
  });
29
29
  },
30
+ cloneWithoutOrderBy(deleteNode) {
31
+ return (0, object_utils_js_1.freeze)({
32
+ ...deleteNode,
33
+ orderBy: undefined,
34
+ });
35
+ },
30
36
  cloneWithLimit(deleteNode, limit) {
31
37
  return (0, object_utils_js_1.freeze)({
32
38
  ...deleteNode,
33
39
  limit,
34
40
  });
35
41
  },
42
+ cloneWithoutLimit(deleteNode) {
43
+ return (0, object_utils_js_1.freeze)({
44
+ ...deleteNode,
45
+ limit: undefined,
46
+ });
47
+ },
36
48
  cloneWithUsing(deleteNode, tables) {
37
49
  return (0, object_utils_js_1.freeze)({
38
50
  ...deleteNode,
@@ -0,0 +1,15 @@
1
+ import { OperationNode } from './operation-node.js';
2
+ import { ValueNode } from './value-node.js';
3
+ export type FetchModifier = 'only' | 'with ties';
4
+ export interface FetchNode extends OperationNode {
5
+ readonly kind: 'FetchNode';
6
+ readonly rowCount: ValueNode;
7
+ readonly modifier: FetchModifier;
8
+ }
9
+ /**
10
+ * @internal
11
+ */
12
+ export declare const FetchNode: {
13
+ is(node: OperationNode): node is FetchNode;
14
+ create(rowCount: number | bigint, modifier: FetchModifier): FetchNode;
15
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FetchNode = void 0;
4
+ const value_node_js_1 = require("./value-node.js");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.FetchNode = {
9
+ is(node) {
10
+ return node.kind === 'FetchNode';
11
+ },
12
+ create(rowCount, modifier) {
13
+ return {
14
+ kind: 'FetchNode',
15
+ rowCount: value_node_js_1.ValueNode.create(rowCount),
16
+ modifier,
17
+ };
18
+ },
19
+ };
@@ -19,10 +19,10 @@ export declare const ForeignKeyConstraintNode: Readonly<{
19
19
  is(node: OperationNode): node is ForeignKeyConstraintNode;
20
20
  create(sourceColumns: ReadonlyArray<ColumnNode>, targetTable: TableNode, targetColumns: ReadonlyArray<ColumnNode>, constraintName?: string): ForeignKeyConstraintNode;
21
21
  cloneWith(node: ForeignKeyConstraintNode, props: ForeignKeyConstraintNodeProps): Readonly<{
22
- name?: IdentifierNode | undefined;
23
- onDelete?: "no action" | "restrict" | "cascade" | "set null" | "set default" | undefined;
24
- onUpdate?: "no action" | "restrict" | "cascade" | "set null" | "set default" | undefined;
25
- kind: 'ForeignKeyConstraintNode';
22
+ name?: IdentifierNode;
23
+ onDelete?: OnModifyForeignAction;
24
+ onUpdate?: OnModifyForeignAction;
25
+ kind: "ForeignKeyConstraintNode";
26
26
  columns: ReadonlyArray<ColumnNode>;
27
27
  references: ReferencesNode;
28
28
  }>;
@@ -9,5 +9,5 @@ export interface HavingNode extends OperationNode {
9
9
  export declare const HavingNode: Readonly<{
10
10
  is(node: OperationNode): node is HavingNode;
11
11
  create(filter: OperationNode): HavingNode;
12
- cloneWithOperation(havingNode: HavingNode, operator: 'And' | 'Or', operation: OperationNode): HavingNode;
12
+ cloneWithOperation(havingNode: HavingNode, operator: "And" | "Or", operation: OperationNode): HavingNode;
13
13
  }>;
@@ -3,13 +3,15 @@ import { ExplainNode } from './explain-node.js';
3
3
  import { OnConflictNode } from './on-conflict-node.js';
4
4
  import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
5
5
  import { OperationNode } from './operation-node.js';
6
+ import { OutputNode } from './output-node.js';
6
7
  import { ReturningNode } from './returning-node.js';
7
8
  import { TableNode } from './table-node.js';
9
+ import { TopNode } from './top-node.js';
8
10
  import { WithNode } from './with-node.js';
9
11
  export type InsertQueryNodeProps = Omit<InsertQueryNode, 'kind' | 'into'>;
10
12
  export interface InsertQueryNode extends OperationNode {
11
13
  readonly kind: 'InsertQueryNode';
12
- readonly into: TableNode;
14
+ readonly into?: TableNode;
13
15
  readonly columns?: ReadonlyArray<ColumnNode>;
14
16
  readonly values?: OperationNode;
15
17
  readonly returning?: ReturningNode;
@@ -20,6 +22,8 @@ export interface InsertQueryNode extends OperationNode {
20
22
  readonly replace?: boolean;
21
23
  readonly explain?: ExplainNode;
22
24
  readonly defaultValues?: boolean;
25
+ readonly top?: TopNode;
26
+ readonly output?: OutputNode;
23
27
  }
24
28
  /**
25
29
  * @internal
@@ -27,5 +31,6 @@ export interface InsertQueryNode extends OperationNode {
27
31
  export declare const InsertQueryNode: Readonly<{
28
32
  is(node: OperationNode): node is InsertQueryNode;
29
33
  create(into: TableNode, withNode?: WithNode, replace?: boolean): InsertQueryNode;
34
+ createWithoutInto(): InsertQueryNode;
30
35
  cloneWith(insertQuery: InsertQueryNode, props: InsertQueryNodeProps): InsertQueryNode;
31
36
  }>;
@@ -17,6 +17,11 @@ exports.InsertQueryNode = (0, object_utils_js_1.freeze)({
17
17
  replace,
18
18
  });
19
19
  },
20
+ createWithoutInto() {
21
+ return (0, object_utils_js_1.freeze)({
22
+ kind: 'InsertQueryNode',
23
+ });
24
+ },
20
25
  cloneWith(insertQuery, props) {
21
26
  return (0, object_utils_js_1.freeze)({
22
27
  ...insertQuery,
@@ -1,6 +1,6 @@
1
1
  import { OnNode } from './on-node.js';
2
2
  import { OperationNode } from './operation-node.js';
3
- export type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin';
3
+ export type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin' | 'Using';
4
4
  export interface JoinNode extends OperationNode {
5
5
  readonly kind: 'JoinNode';
6
6
  readonly joinType: JoinType;
@@ -0,0 +1,13 @@
1
+ import { OperationNode } from './operation-node.js';
2
+ export interface MatchedNode extends OperationNode {
3
+ readonly kind: 'MatchedNode';
4
+ readonly not: boolean;
5
+ readonly bySource: boolean;
6
+ }
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare const MatchedNode: Readonly<{
11
+ is(node: OperationNode): node is MatchedNode;
12
+ create(not: boolean, bySource?: boolean): MatchedNode;
13
+ }>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MatchedNode = void 0;
4
+ const object_utils_js_1 = require("../util/object-utils.js");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.MatchedNode = (0, object_utils_js_1.freeze)({
9
+ is(node) {
10
+ return node.kind === 'MatchedNode';
11
+ },
12
+ create(not, bySource = false) {
13
+ return (0, object_utils_js_1.freeze)({
14
+ kind: 'MatchedNode',
15
+ not,
16
+ bySource,
17
+ });
18
+ },
19
+ });
@@ -0,0 +1,27 @@
1
+ import { AliasNode } from './alias-node.js';
2
+ import { JoinNode } from './join-node.js';
3
+ import { OperationNode } from './operation-node.js';
4
+ import { OutputNode } from './output-node.js';
5
+ import { TableNode } from './table-node.js';
6
+ import { TopNode } from './top-node.js';
7
+ import { WhenNode } from './when-node.js';
8
+ import { WithNode } from './with-node.js';
9
+ export interface MergeQueryNode extends OperationNode {
10
+ readonly kind: 'MergeQueryNode';
11
+ readonly into: TableNode | AliasNode;
12
+ readonly using?: JoinNode;
13
+ readonly whens?: ReadonlyArray<WhenNode>;
14
+ readonly with?: WithNode;
15
+ readonly top?: TopNode;
16
+ readonly output?: OutputNode;
17
+ }
18
+ /**
19
+ * @internal
20
+ */
21
+ export declare const MergeQueryNode: Readonly<{
22
+ is(node: OperationNode): node is MergeQueryNode;
23
+ create(into: TableNode | AliasNode, withNode?: WithNode): MergeQueryNode;
24
+ cloneWithUsing(mergeNode: MergeQueryNode, using: JoinNode): MergeQueryNode;
25
+ cloneWithWhen(mergeNode: MergeQueryNode, when: WhenNode): MergeQueryNode;
26
+ cloneWithThen(mergeNode: MergeQueryNode, then: OperationNode): MergeQueryNode;
27
+ }>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MergeQueryNode = void 0;
4
+ const object_utils_js_1 = require("../util/object-utils.js");
5
+ const when_node_js_1 = require("./when-node.js");
6
+ /**
7
+ * @internal
8
+ */
9
+ exports.MergeQueryNode = (0, object_utils_js_1.freeze)({
10
+ is(node) {
11
+ return node.kind === 'MergeQueryNode';
12
+ },
13
+ create(into, withNode) {
14
+ return (0, object_utils_js_1.freeze)({
15
+ kind: 'MergeQueryNode',
16
+ into,
17
+ ...(withNode && { with: withNode }),
18
+ });
19
+ },
20
+ cloneWithUsing(mergeNode, using) {
21
+ return (0, object_utils_js_1.freeze)({
22
+ ...mergeNode,
23
+ using,
24
+ });
25
+ },
26
+ cloneWithWhen(mergeNode, when) {
27
+ return (0, object_utils_js_1.freeze)({
28
+ ...mergeNode,
29
+ whens: mergeNode.whens
30
+ ? (0, object_utils_js_1.freeze)([...mergeNode.whens, when])
31
+ : (0, object_utils_js_1.freeze)([when]),
32
+ });
33
+ },
34
+ cloneWithThen(mergeNode, then) {
35
+ return (0, object_utils_js_1.freeze)({
36
+ ...mergeNode,
37
+ whens: mergeNode.whens
38
+ ? (0, object_utils_js_1.freeze)([
39
+ ...mergeNode.whens.slice(0, -1),
40
+ when_node_js_1.WhenNode.cloneWithResult(mergeNode.whens[mergeNode.whens.length - 1], then),
41
+ ])
42
+ : undefined,
43
+ });
44
+ },
45
+ });
@@ -9,5 +9,5 @@ export interface OnNode extends OperationNode {
9
9
  export declare const OnNode: Readonly<{
10
10
  is(node: OperationNode): node is OnNode;
11
11
  create(filter: OperationNode): OnNode;
12
- cloneWithOperation(onNode: OnNode, operator: 'And' | 'Or', operation: OperationNode): OnNode;
12
+ cloneWithOperation(onNode: OnNode, operator: "And" | "Or", operation: OperationNode): OnNode;
13
13
  }>;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOperationNodeSource = void 0;
3
+ exports.isOperationNodeSource = isOperationNodeSource;
4
4
  const object_utils_js_1 = require("../util/object-utils.js");
5
5
  function isOperationNodeSource(obj) {
6
6
  return (0, object_utils_js_1.isObject)(obj) && (0, object_utils_js_1.isFunction)(obj.toOperationNode);
7
7
  }
8
- exports.isOperationNodeSource = isOperationNodeSource;