kysely 0.28.8 → 0.28.10

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 (528) hide show
  1. package/README.md +3 -1
  2. package/dist/cjs/dialect/dialect-adapter-base.d.ts +2 -2
  3. package/dist/cjs/dialect/dialect-adapter.d.ts +1 -1
  4. package/dist/cjs/dialect/dialect.d.ts +5 -5
  5. package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +1 -1
  6. package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +1 -1
  7. package/dist/cjs/dialect/mssql/mssql-dialect.d.ts +7 -7
  8. package/dist/cjs/dialect/mssql/mssql-driver.d.ts +3 -3
  9. package/dist/cjs/dialect/mssql/mssql-introspector.d.ts +2 -2
  10. package/dist/cjs/dialect/mssql/mssql-query-compiler.d.ts +6 -6
  11. package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +2 -2
  12. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +1 -1
  13. package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +7 -7
  14. package/dist/cjs/dialect/mysql/mysql-driver.d.ts +4 -4
  15. package/dist/cjs/dialect/mysql/mysql-introspector.d.ts +2 -2
  16. package/dist/cjs/dialect/mysql/mysql-query-compiler.d.ts +1 -1
  17. package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +2 -2
  18. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +1 -1
  19. package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +7 -7
  20. package/dist/cjs/dialect/postgres/postgres-driver.d.ts +4 -4
  21. package/dist/cjs/dialect/postgres/postgres-introspector.d.ts +2 -2
  22. package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +2 -2
  23. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts +1 -1
  24. package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +7 -7
  25. package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +4 -4
  26. package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +2 -2
  27. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +2 -2
  28. package/dist/cjs/driver/connection-provider.d.ts +1 -1
  29. package/dist/cjs/driver/database-connection.d.ts +1 -1
  30. package/dist/cjs/driver/default-connection-provider.d.ts +3 -3
  31. package/dist/cjs/driver/driver.d.ts +3 -3
  32. package/dist/cjs/driver/dummy-driver.d.ts +2 -2
  33. package/dist/cjs/driver/runtime-driver.d.ts +4 -4
  34. package/dist/cjs/driver/single-connection-provider.d.ts +2 -2
  35. package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +2 -2
  36. package/dist/cjs/dynamic/dynamic-table-builder.d.ts +1 -1
  37. package/dist/cjs/expression/expression-builder.d.ts +16 -16
  38. package/dist/cjs/expression/expression-wrapper.d.ts +7 -7
  39. package/dist/cjs/expression/expression.d.ts +3 -3
  40. package/dist/cjs/helpers/mssql.d.ts +3 -3
  41. package/dist/cjs/helpers/mysql.d.ts +4 -4
  42. package/dist/cjs/helpers/postgres.d.ts +3 -3
  43. package/dist/cjs/helpers/sqlite.d.ts +4 -4
  44. package/dist/cjs/index.d.ts +17 -15
  45. package/dist/cjs/kysely.d.ts +16 -16
  46. package/dist/cjs/migration/file-migration-provider.d.ts +1 -1
  47. package/dist/cjs/migration/migrator.d.ts +2 -2
  48. package/dist/cjs/migration/migrator.js +75 -68
  49. package/dist/cjs/operation-node/add-column-node.d.ts +8 -6
  50. package/dist/cjs/operation-node/add-constraint-node.d.ts +8 -6
  51. package/dist/cjs/operation-node/add-index-node.d.ts +10 -8
  52. package/dist/cjs/operation-node/aggregate-function-node.d.ts +14 -12
  53. package/dist/cjs/operation-node/alias-node.d.ts +7 -5
  54. package/dist/cjs/operation-node/alter-column-node.d.ts +8 -6
  55. package/dist/cjs/operation-node/alter-table-node.d.ts +21 -19
  56. package/dist/cjs/operation-node/and-node.d.ts +7 -5
  57. package/dist/cjs/operation-node/binary-operation-node.d.ts +7 -5
  58. package/dist/cjs/operation-node/case-node.d.ts +10 -8
  59. package/dist/cjs/operation-node/cast-node.d.ts +7 -5
  60. package/dist/cjs/operation-node/check-constraint-node.d.ts +7 -5
  61. package/dist/cjs/operation-node/check-constraint-node.js +3 -1
  62. package/dist/cjs/operation-node/collate-node.d.ts +7 -5
  63. package/dist/cjs/operation-node/collate-node.js +2 -2
  64. package/dist/cjs/operation-node/column-definition-node.d.ts +14 -12
  65. package/dist/cjs/operation-node/column-node.d.ts +7 -5
  66. package/dist/cjs/operation-node/column-update-node.d.ts +7 -5
  67. package/dist/cjs/operation-node/common-table-expression-name-node.d.ts +7 -5
  68. package/dist/cjs/operation-node/common-table-expression-node.d.ts +8 -7
  69. package/dist/cjs/operation-node/constraint-node.d.ts +4 -4
  70. package/dist/cjs/operation-node/create-index-node.d.ts +12 -10
  71. package/dist/cjs/operation-node/create-schema-node.d.ts +8 -6
  72. package/dist/cjs/operation-node/create-table-node.d.ts +16 -14
  73. package/dist/cjs/operation-node/create-type-node.d.ts +9 -7
  74. package/dist/cjs/operation-node/create-view-node.d.ts +11 -9
  75. package/dist/cjs/operation-node/data-type-node.d.ts +6 -5
  76. package/dist/cjs/operation-node/default-insert-value-node.d.ts +7 -5
  77. package/dist/cjs/operation-node/default-value-node.d.ts +7 -5
  78. package/dist/cjs/operation-node/delete-query-node.d.ts +22 -26
  79. package/dist/cjs/operation-node/drop-column-node.d.ts +7 -5
  80. package/dist/cjs/operation-node/drop-constraint-node.d.ts +8 -6
  81. package/dist/cjs/operation-node/drop-index-node.d.ts +9 -7
  82. package/dist/cjs/operation-node/drop-schema-node.d.ts +8 -6
  83. package/dist/cjs/operation-node/drop-table-node.d.ts +9 -7
  84. package/dist/cjs/operation-node/drop-type-node.d.ts +9 -7
  85. package/dist/cjs/operation-node/drop-view-node.d.ts +8 -6
  86. package/dist/cjs/operation-node/explain-node.d.ts +8 -6
  87. package/dist/cjs/operation-node/fetch-node.d.ts +7 -5
  88. package/dist/cjs/operation-node/fetch-node.js +3 -2
  89. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +11 -18
  90. package/dist/cjs/operation-node/foreign-key-constraint-node.js +3 -1
  91. package/dist/cjs/operation-node/from-node.d.ts +8 -6
  92. package/dist/cjs/operation-node/function-node.d.ts +7 -5
  93. package/dist/cjs/operation-node/generated-node.d.ts +9 -7
  94. package/dist/cjs/operation-node/group-by-item-node.d.ts +7 -5
  95. package/dist/cjs/operation-node/group-by-node.d.ts +9 -7
  96. package/dist/cjs/operation-node/having-node.d.ts +8 -6
  97. package/dist/cjs/operation-node/identifier-node.d.ts +7 -5
  98. package/dist/cjs/operation-node/insert-query-node.d.ts +19 -17
  99. package/dist/cjs/operation-node/join-node.d.ts +9 -7
  100. package/dist/cjs/operation-node/json-operator-chain-node.d.ts +10 -8
  101. package/dist/cjs/operation-node/json-path-leg-node.d.ts +7 -5
  102. package/dist/cjs/operation-node/json-path-node.d.ts +10 -8
  103. package/dist/cjs/operation-node/json-reference-node.d.ts +11 -9
  104. package/dist/cjs/operation-node/limit-node.d.ts +7 -5
  105. package/dist/cjs/operation-node/list-node.d.ts +7 -5
  106. package/dist/cjs/operation-node/matched-node.d.ts +7 -5
  107. package/dist/cjs/operation-node/merge-query-node.d.ts +17 -15
  108. package/dist/cjs/operation-node/modify-column-node.d.ts +8 -6
  109. package/dist/cjs/operation-node/offset-node.d.ts +7 -5
  110. package/dist/cjs/operation-node/on-conflict-node.d.ts +17 -15
  111. package/dist/cjs/operation-node/on-duplicate-key-node.d.ts +8 -6
  112. package/dist/cjs/operation-node/on-node.d.ts +8 -6
  113. package/dist/cjs/operation-node/operation-node-source.d.ts +1 -1
  114. package/dist/cjs/operation-node/operation-node-transformer.d.ts +99 -99
  115. package/dist/cjs/operation-node/operation-node-visitor.d.ts +98 -98
  116. package/dist/cjs/operation-node/operator-node.d.ts +7 -5
  117. package/dist/cjs/operation-node/or-action-node.d.ts +7 -5
  118. package/dist/cjs/operation-node/or-node.d.ts +7 -5
  119. package/dist/cjs/operation-node/order-by-item-node.d.ts +9 -7
  120. package/dist/cjs/operation-node/order-by-node.d.ts +9 -7
  121. package/dist/cjs/operation-node/output-node.d.ts +8 -6
  122. package/dist/cjs/operation-node/over-node.d.ts +11 -9
  123. package/dist/cjs/operation-node/parens-node.d.ts +7 -5
  124. package/dist/cjs/operation-node/partition-by-item-node.d.ts +8 -6
  125. package/dist/cjs/operation-node/partition-by-node.d.ts +9 -7
  126. package/dist/cjs/operation-node/primary-key-constraint-node.d.ts +10 -8
  127. package/dist/cjs/operation-node/primary-key-constraint-node.js +3 -1
  128. package/dist/cjs/operation-node/primitive-value-list-node.d.ts +7 -5
  129. package/dist/cjs/operation-node/query-node.d.ts +22 -21
  130. package/dist/cjs/operation-node/raw-node.d.ts +10 -8
  131. package/dist/cjs/operation-node/reference-node.d.ts +10 -8
  132. package/dist/cjs/operation-node/references-node.d.ts +12 -10
  133. package/dist/cjs/operation-node/refresh-materialized-view-node.d.ts +8 -6
  134. package/dist/cjs/operation-node/rename-column-node.d.ts +7 -5
  135. package/dist/cjs/operation-node/rename-constraint-node.d.ts +7 -5
  136. package/dist/cjs/operation-node/returning-node.d.ts +9 -7
  137. package/dist/cjs/operation-node/schemable-identifier-node.d.ts +8 -6
  138. package/dist/cjs/operation-node/select-all-node.d.ts +7 -5
  139. package/dist/cjs/operation-node/select-modifier-node.d.ts +8 -6
  140. package/dist/cjs/operation-node/select-query-node.d.ts +37 -41
  141. package/dist/cjs/operation-node/selection-node.d.ts +11 -10
  142. package/dist/cjs/operation-node/set-operation-node.d.ts +7 -5
  143. package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +2 -2
  144. package/dist/cjs/operation-node/table-node.d.ts +8 -6
  145. package/dist/cjs/operation-node/top-node.d.ts +7 -5
  146. package/dist/cjs/operation-node/tuple-node.d.ts +7 -5
  147. package/dist/cjs/operation-node/unary-operation-node.d.ts +7 -5
  148. package/dist/cjs/operation-node/unique-constraint-node.d.ts +8 -6
  149. package/dist/cjs/operation-node/unique-constraint-node.js +3 -1
  150. package/dist/cjs/operation-node/update-query-node.d.ts +21 -19
  151. package/dist/cjs/operation-node/using-node.d.ts +8 -6
  152. package/dist/cjs/operation-node/value-list-node.d.ts +7 -5
  153. package/dist/cjs/operation-node/value-node.d.ts +8 -6
  154. package/dist/cjs/operation-node/values-node.d.ts +9 -7
  155. package/dist/cjs/operation-node/when-node.d.ts +8 -6
  156. package/dist/cjs/operation-node/where-node.d.ts +8 -6
  157. package/dist/cjs/operation-node/with-node.d.ts +9 -7
  158. package/dist/cjs/parser/binary-operation-parser.d.ts +7 -7
  159. package/dist/cjs/parser/coalesce-parser.d.ts +1 -1
  160. package/dist/cjs/parser/data-type-parser.d.ts +3 -3
  161. package/dist/cjs/parser/default-value-parser.d.ts +2 -2
  162. package/dist/cjs/parser/expression-parser.d.ts +5 -5
  163. package/dist/cjs/parser/fetch-parser.d.ts +1 -1
  164. package/dist/cjs/parser/group-by-parser.d.ts +2 -2
  165. package/dist/cjs/parser/insert-values-parser.d.ts +3 -3
  166. package/dist/cjs/parser/join-parser.d.ts +4 -4
  167. package/dist/cjs/parser/merge-parser.d.ts +3 -3
  168. package/dist/cjs/parser/on-commit-action-parse.d.ts +1 -1
  169. package/dist/cjs/parser/on-modify-action-parser.d.ts +1 -1
  170. package/dist/cjs/parser/order-by-parser.d.ts +4 -4
  171. package/dist/cjs/parser/parse-utils.d.ts +3 -3
  172. package/dist/cjs/parser/partition-by-parser.d.ts +2 -2
  173. package/dist/cjs/parser/reference-parser.d.ts +10 -10
  174. package/dist/cjs/parser/returning-parser.d.ts +5 -5
  175. package/dist/cjs/parser/select-parser.d.ts +7 -7
  176. package/dist/cjs/parser/set-operation-parser.d.ts +4 -4
  177. package/dist/cjs/parser/table-parser.d.ts +5 -5
  178. package/dist/cjs/parser/top-parser.d.ts +1 -1
  179. package/dist/cjs/parser/tuple-parser.d.ts +3 -3
  180. package/dist/cjs/parser/unary-operation-parser.d.ts +3 -3
  181. package/dist/cjs/parser/update-set-parser.d.ts +5 -5
  182. package/dist/cjs/parser/value-parser.d.ts +4 -4
  183. package/dist/cjs/parser/with-parser.d.ts +7 -7
  184. package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +4 -4
  185. package/dist/cjs/plugin/camel-case/camel-case-transformer.d.ts +3 -3
  186. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +4 -4
  187. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +4 -4
  188. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +5 -5
  189. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +2 -2
  190. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +1 -1
  191. package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +4 -4
  192. package/dist/cjs/plugin/immediate-value/immediate-value-transformer.d.ts +1 -1
  193. package/dist/cjs/plugin/kysely-plugin.d.ts +4 -4
  194. package/dist/cjs/plugin/noop-plugin.d.ts +4 -4
  195. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +4 -4
  196. package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +4 -4
  197. package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +7 -5
  198. package/dist/cjs/plugin/with-schema/with-schema-transformer.js +23 -4
  199. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +8 -8
  200. package/dist/cjs/query-builder/case-builder.d.ts +5 -5
  201. package/dist/cjs/query-builder/cte-builder.d.ts +1 -1
  202. package/dist/cjs/query-builder/delete-query-builder.d.ts +25 -25
  203. package/dist/cjs/query-builder/function-module.d.ts +7 -7
  204. package/dist/cjs/query-builder/having-interface.d.ts +2 -2
  205. package/dist/cjs/query-builder/insert-query-builder.d.ts +21 -21
  206. package/dist/cjs/query-builder/join-builder.d.ts +5 -5
  207. package/dist/cjs/query-builder/json-path-builder.d.ts +2 -2
  208. package/dist/cjs/query-builder/merge-query-builder.d.ts +20 -20
  209. package/dist/cjs/query-builder/no-result-error.d.ts +1 -1
  210. package/dist/cjs/query-builder/on-conflict-builder.d.ts +9 -9
  211. package/dist/cjs/query-builder/order-by-interface.d.ts +2 -2
  212. package/dist/cjs/query-builder/order-by-item-builder.d.ts +2 -2
  213. package/dist/cjs/query-builder/output-interface.d.ts +4 -4
  214. package/dist/cjs/query-builder/over-builder.d.ts +5 -5
  215. package/dist/cjs/query-builder/returning-interface.d.ts +3 -3
  216. package/dist/cjs/query-builder/select-query-builder-expression.d.ts +2 -2
  217. package/dist/cjs/query-builder/select-query-builder.d.ts +28 -28
  218. package/dist/cjs/query-builder/update-query-builder.d.ts +26 -26
  219. package/dist/cjs/query-builder/where-interface.d.ts +4 -4
  220. package/dist/cjs/query-compiler/compiled-query.d.ts +6 -4
  221. package/dist/cjs/query-compiler/default-query-compiler.d.ts +93 -93
  222. package/dist/cjs/query-compiler/query-compiler.d.ts +17 -17
  223. package/dist/cjs/query-creator.d.ts +12 -12
  224. package/dist/cjs/query-executor/default-query-executor.d.ts +7 -7
  225. package/dist/cjs/query-executor/noop-query-executor.d.ts +3 -3
  226. package/dist/cjs/query-executor/query-executor-base.d.ts +8 -8
  227. package/dist/cjs/query-executor/query-executor-provider.d.ts +1 -1
  228. package/dist/cjs/query-executor/query-executor.d.ts +7 -7
  229. package/dist/cjs/raw-builder/raw-builder.d.ts +7 -7
  230. package/dist/cjs/raw-builder/sql.d.ts +1 -1
  231. package/dist/cjs/schema/alter-column-builder.d.ts +3 -3
  232. package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts +7 -7
  233. package/dist/cjs/schema/alter-table-add-index-builder.d.ts +8 -8
  234. package/dist/cjs/schema/alter-table-builder.d.ts +13 -13
  235. package/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts +5 -5
  236. package/dist/cjs/schema/alter-table-executor.d.ts +6 -6
  237. package/dist/cjs/schema/check-constraint-builder.d.ts +2 -2
  238. package/dist/cjs/schema/column-definition-builder.d.ts +4 -4
  239. package/dist/cjs/schema/create-index-builder.d.ts +11 -11
  240. package/dist/cjs/schema/create-schema-builder.d.ts +5 -5
  241. package/dist/cjs/schema/create-table-builder.d.ts +13 -13
  242. package/dist/cjs/schema/create-type-builder.d.ts +5 -5
  243. package/dist/cjs/schema/create-view-builder.d.ts +7 -7
  244. package/dist/cjs/schema/drop-index-builder.d.ts +5 -5
  245. package/dist/cjs/schema/drop-schema-builder.d.ts +5 -5
  246. package/dist/cjs/schema/drop-table-builder.d.ts +5 -5
  247. package/dist/cjs/schema/drop-type-builder.d.ts +5 -5
  248. package/dist/cjs/schema/drop-view-builder.d.ts +5 -5
  249. package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +2 -2
  250. package/dist/cjs/schema/primary-key-constraint-builder.d.ts +1 -1
  251. package/dist/cjs/schema/refresh-materialized-view-builder.d.ts +5 -5
  252. package/dist/cjs/schema/schema.d.ts +2 -2
  253. package/dist/cjs/schema/unique-constraint-builder.d.ts +1 -1
  254. package/dist/cjs/util/column-type.d.ts +1 -1
  255. package/dist/cjs/util/compilable.d.ts +1 -1
  256. package/dist/cjs/util/explainable.d.ts +1 -1
  257. package/dist/cjs/util/infer-result.d.ts +7 -7
  258. package/dist/cjs/util/json-object-args.d.ts +2 -2
  259. package/dist/cjs/util/log.d.ts +5 -3
  260. package/dist/cjs/util/log.js +2 -1
  261. package/dist/cjs/util/object-utils.d.ts +1 -1
  262. package/dist/cjs/util/provide-controlled-connection.d.ts +2 -2
  263. package/dist/cjs/util/type-utils.d.ts +5 -5
  264. package/dist/esm/dialect/dialect-adapter-base.d.ts +2 -2
  265. package/dist/esm/dialect/dialect-adapter.d.ts +1 -1
  266. package/dist/esm/dialect/dialect.d.ts +5 -5
  267. package/dist/esm/dialect/mssql/mssql-adapter.d.ts +1 -1
  268. package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +1 -1
  269. package/dist/esm/dialect/mssql/mssql-dialect.d.ts +7 -7
  270. package/dist/esm/dialect/mssql/mssql-driver.d.ts +3 -3
  271. package/dist/esm/dialect/mssql/mssql-introspector.d.ts +2 -2
  272. package/dist/esm/dialect/mssql/mssql-query-compiler.d.ts +6 -6
  273. package/dist/esm/dialect/mysql/mysql-adapter.d.ts +2 -2
  274. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +1 -1
  275. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +7 -7
  276. package/dist/esm/dialect/mysql/mysql-driver.d.ts +4 -4
  277. package/dist/esm/dialect/mysql/mysql-introspector.d.ts +2 -2
  278. package/dist/esm/dialect/mysql/mysql-query-compiler.d.ts +1 -1
  279. package/dist/esm/dialect/postgres/postgres-adapter.d.ts +2 -2
  280. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +1 -1
  281. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +7 -7
  282. package/dist/esm/dialect/postgres/postgres-driver.d.ts +4 -4
  283. package/dist/esm/dialect/postgres/postgres-introspector.d.ts +2 -2
  284. package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +2 -2
  285. package/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts +1 -1
  286. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +7 -7
  287. package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +4 -4
  288. package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +2 -2
  289. package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +2 -2
  290. package/dist/esm/driver/connection-provider.d.ts +1 -1
  291. package/dist/esm/driver/database-connection.d.ts +1 -1
  292. package/dist/esm/driver/default-connection-provider.d.ts +3 -3
  293. package/dist/esm/driver/driver.d.ts +3 -3
  294. package/dist/esm/driver/dummy-driver.d.ts +2 -2
  295. package/dist/esm/driver/runtime-driver.d.ts +4 -4
  296. package/dist/esm/driver/single-connection-provider.d.ts +2 -2
  297. package/dist/esm/dynamic/dynamic-reference-builder.d.ts +2 -2
  298. package/dist/esm/dynamic/dynamic-table-builder.d.ts +1 -1
  299. package/dist/esm/expression/expression-builder.d.ts +16 -16
  300. package/dist/esm/expression/expression-wrapper.d.ts +7 -7
  301. package/dist/esm/expression/expression.d.ts +3 -3
  302. package/dist/esm/helpers/mssql.d.ts +3 -3
  303. package/dist/esm/helpers/mysql.d.ts +4 -4
  304. package/dist/esm/helpers/postgres.d.ts +3 -3
  305. package/dist/esm/helpers/sqlite.d.ts +4 -4
  306. package/dist/esm/index.d.ts +17 -15
  307. package/dist/esm/kysely.d.ts +16 -16
  308. package/dist/esm/migration/file-migration-provider.d.ts +1 -1
  309. package/dist/esm/migration/migrator.d.ts +2 -2
  310. package/dist/esm/migration/migrator.js +75 -68
  311. package/dist/esm/operation-node/add-column-node.d.ts +8 -6
  312. package/dist/esm/operation-node/add-constraint-node.d.ts +8 -6
  313. package/dist/esm/operation-node/add-index-node.d.ts +10 -8
  314. package/dist/esm/operation-node/aggregate-function-node.d.ts +14 -12
  315. package/dist/esm/operation-node/alias-node.d.ts +7 -5
  316. package/dist/esm/operation-node/alter-column-node.d.ts +8 -6
  317. package/dist/esm/operation-node/alter-table-node.d.ts +21 -19
  318. package/dist/esm/operation-node/and-node.d.ts +7 -5
  319. package/dist/esm/operation-node/binary-operation-node.d.ts +7 -5
  320. package/dist/esm/operation-node/case-node.d.ts +10 -8
  321. package/dist/esm/operation-node/cast-node.d.ts +7 -5
  322. package/dist/esm/operation-node/check-constraint-node.d.ts +7 -5
  323. package/dist/esm/operation-node/check-constraint-node.js +3 -1
  324. package/dist/esm/operation-node/collate-node.d.ts +7 -5
  325. package/dist/esm/operation-node/collate-node.js +2 -2
  326. package/dist/esm/operation-node/column-definition-node.d.ts +14 -12
  327. package/dist/esm/operation-node/column-node.d.ts +7 -5
  328. package/dist/esm/operation-node/column-update-node.d.ts +7 -5
  329. package/dist/esm/operation-node/common-table-expression-name-node.d.ts +7 -5
  330. package/dist/esm/operation-node/common-table-expression-node.d.ts +8 -7
  331. package/dist/esm/operation-node/constraint-node.d.ts +4 -4
  332. package/dist/esm/operation-node/create-index-node.d.ts +12 -10
  333. package/dist/esm/operation-node/create-schema-node.d.ts +8 -6
  334. package/dist/esm/operation-node/create-table-node.d.ts +16 -14
  335. package/dist/esm/operation-node/create-type-node.d.ts +9 -7
  336. package/dist/esm/operation-node/create-view-node.d.ts +11 -9
  337. package/dist/esm/operation-node/data-type-node.d.ts +6 -5
  338. package/dist/esm/operation-node/default-insert-value-node.d.ts +7 -5
  339. package/dist/esm/operation-node/default-value-node.d.ts +7 -5
  340. package/dist/esm/operation-node/delete-query-node.d.ts +22 -26
  341. package/dist/esm/operation-node/drop-column-node.d.ts +7 -5
  342. package/dist/esm/operation-node/drop-constraint-node.d.ts +8 -6
  343. package/dist/esm/operation-node/drop-index-node.d.ts +9 -7
  344. package/dist/esm/operation-node/drop-schema-node.d.ts +8 -6
  345. package/dist/esm/operation-node/drop-table-node.d.ts +9 -7
  346. package/dist/esm/operation-node/drop-type-node.d.ts +9 -7
  347. package/dist/esm/operation-node/drop-view-node.d.ts +8 -6
  348. package/dist/esm/operation-node/explain-node.d.ts +8 -6
  349. package/dist/esm/operation-node/fetch-node.d.ts +7 -5
  350. package/dist/esm/operation-node/fetch-node.js +3 -2
  351. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +11 -18
  352. package/dist/esm/operation-node/foreign-key-constraint-node.js +4 -2
  353. package/dist/esm/operation-node/from-node.d.ts +8 -6
  354. package/dist/esm/operation-node/function-node.d.ts +7 -5
  355. package/dist/esm/operation-node/generated-node.d.ts +9 -7
  356. package/dist/esm/operation-node/group-by-item-node.d.ts +7 -5
  357. package/dist/esm/operation-node/group-by-node.d.ts +9 -7
  358. package/dist/esm/operation-node/having-node.d.ts +8 -6
  359. package/dist/esm/operation-node/identifier-node.d.ts +7 -5
  360. package/dist/esm/operation-node/insert-query-node.d.ts +19 -17
  361. package/dist/esm/operation-node/join-node.d.ts +9 -7
  362. package/dist/esm/operation-node/json-operator-chain-node.d.ts +10 -8
  363. package/dist/esm/operation-node/json-path-leg-node.d.ts +7 -5
  364. package/dist/esm/operation-node/json-path-node.d.ts +10 -8
  365. package/dist/esm/operation-node/json-reference-node.d.ts +11 -9
  366. package/dist/esm/operation-node/limit-node.d.ts +7 -5
  367. package/dist/esm/operation-node/list-node.d.ts +7 -5
  368. package/dist/esm/operation-node/matched-node.d.ts +7 -5
  369. package/dist/esm/operation-node/merge-query-node.d.ts +17 -15
  370. package/dist/esm/operation-node/modify-column-node.d.ts +8 -6
  371. package/dist/esm/operation-node/offset-node.d.ts +7 -5
  372. package/dist/esm/operation-node/on-conflict-node.d.ts +17 -15
  373. package/dist/esm/operation-node/on-duplicate-key-node.d.ts +8 -6
  374. package/dist/esm/operation-node/on-node.d.ts +8 -6
  375. package/dist/esm/operation-node/operation-node-source.d.ts +1 -1
  376. package/dist/esm/operation-node/operation-node-transformer.d.ts +99 -99
  377. package/dist/esm/operation-node/operation-node-visitor.d.ts +98 -98
  378. package/dist/esm/operation-node/operator-node.d.ts +7 -5
  379. package/dist/esm/operation-node/or-action-node.d.ts +7 -5
  380. package/dist/esm/operation-node/or-node.d.ts +7 -5
  381. package/dist/esm/operation-node/order-by-item-node.d.ts +9 -7
  382. package/dist/esm/operation-node/order-by-node.d.ts +9 -7
  383. package/dist/esm/operation-node/output-node.d.ts +8 -6
  384. package/dist/esm/operation-node/over-node.d.ts +11 -9
  385. package/dist/esm/operation-node/parens-node.d.ts +7 -5
  386. package/dist/esm/operation-node/partition-by-item-node.d.ts +8 -6
  387. package/dist/esm/operation-node/partition-by-node.d.ts +9 -7
  388. package/dist/esm/operation-node/primary-key-constraint-node.d.ts +10 -8
  389. package/dist/esm/operation-node/primary-key-constraint-node.js +3 -1
  390. package/dist/esm/operation-node/primitive-value-list-node.d.ts +7 -5
  391. package/dist/esm/operation-node/query-node.d.ts +22 -21
  392. package/dist/esm/operation-node/raw-node.d.ts +10 -8
  393. package/dist/esm/operation-node/reference-node.d.ts +10 -8
  394. package/dist/esm/operation-node/references-node.d.ts +12 -10
  395. package/dist/esm/operation-node/refresh-materialized-view-node.d.ts +8 -6
  396. package/dist/esm/operation-node/rename-column-node.d.ts +7 -5
  397. package/dist/esm/operation-node/rename-constraint-node.d.ts +7 -5
  398. package/dist/esm/operation-node/returning-node.d.ts +9 -7
  399. package/dist/esm/operation-node/schemable-identifier-node.d.ts +8 -6
  400. package/dist/esm/operation-node/select-all-node.d.ts +7 -5
  401. package/dist/esm/operation-node/select-modifier-node.d.ts +8 -6
  402. package/dist/esm/operation-node/select-query-node.d.ts +37 -41
  403. package/dist/esm/operation-node/selection-node.d.ts +11 -10
  404. package/dist/esm/operation-node/set-operation-node.d.ts +7 -5
  405. package/dist/esm/operation-node/simple-reference-expression-node.d.ts +2 -2
  406. package/dist/esm/operation-node/table-node.d.ts +8 -6
  407. package/dist/esm/operation-node/top-node.d.ts +7 -5
  408. package/dist/esm/operation-node/tuple-node.d.ts +7 -5
  409. package/dist/esm/operation-node/unary-operation-node.d.ts +7 -5
  410. package/dist/esm/operation-node/unique-constraint-node.d.ts +8 -6
  411. package/dist/esm/operation-node/unique-constraint-node.js +3 -1
  412. package/dist/esm/operation-node/update-query-node.d.ts +21 -19
  413. package/dist/esm/operation-node/using-node.d.ts +8 -6
  414. package/dist/esm/operation-node/value-list-node.d.ts +7 -5
  415. package/dist/esm/operation-node/value-node.d.ts +8 -6
  416. package/dist/esm/operation-node/values-node.d.ts +9 -7
  417. package/dist/esm/operation-node/when-node.d.ts +8 -6
  418. package/dist/esm/operation-node/where-node.d.ts +8 -6
  419. package/dist/esm/operation-node/with-node.d.ts +9 -7
  420. package/dist/esm/parser/binary-operation-parser.d.ts +7 -7
  421. package/dist/esm/parser/coalesce-parser.d.ts +1 -1
  422. package/dist/esm/parser/data-type-parser.d.ts +3 -3
  423. package/dist/esm/parser/default-value-parser.d.ts +2 -2
  424. package/dist/esm/parser/expression-parser.d.ts +5 -5
  425. package/dist/esm/parser/fetch-parser.d.ts +1 -1
  426. package/dist/esm/parser/group-by-parser.d.ts +2 -2
  427. package/dist/esm/parser/insert-values-parser.d.ts +3 -3
  428. package/dist/esm/parser/join-parser.d.ts +4 -4
  429. package/dist/esm/parser/merge-parser.d.ts +3 -3
  430. package/dist/esm/parser/on-commit-action-parse.d.ts +1 -1
  431. package/dist/esm/parser/on-modify-action-parser.d.ts +1 -1
  432. package/dist/esm/parser/order-by-parser.d.ts +4 -4
  433. package/dist/esm/parser/parse-utils.d.ts +3 -3
  434. package/dist/esm/parser/partition-by-parser.d.ts +2 -2
  435. package/dist/esm/parser/reference-parser.d.ts +10 -10
  436. package/dist/esm/parser/returning-parser.d.ts +5 -5
  437. package/dist/esm/parser/select-parser.d.ts +7 -7
  438. package/dist/esm/parser/set-operation-parser.d.ts +4 -4
  439. package/dist/esm/parser/table-parser.d.ts +5 -5
  440. package/dist/esm/parser/top-parser.d.ts +1 -1
  441. package/dist/esm/parser/tuple-parser.d.ts +3 -3
  442. package/dist/esm/parser/unary-operation-parser.d.ts +3 -3
  443. package/dist/esm/parser/unary-operation-parser.js +1 -1
  444. package/dist/esm/parser/update-set-parser.d.ts +5 -5
  445. package/dist/esm/parser/value-parser.d.ts +4 -4
  446. package/dist/esm/parser/with-parser.d.ts +7 -7
  447. package/dist/esm/parser/with-parser.js +1 -1
  448. package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +4 -4
  449. package/dist/esm/plugin/camel-case/camel-case-transformer.d.ts +3 -3
  450. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +4 -4
  451. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +4 -4
  452. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +5 -5
  453. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +2 -2
  454. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +1 -1
  455. package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +4 -4
  456. package/dist/esm/plugin/immediate-value/immediate-value-transformer.d.ts +1 -1
  457. package/dist/esm/plugin/kysely-plugin.d.ts +4 -4
  458. package/dist/esm/plugin/noop-plugin.d.ts +4 -4
  459. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +4 -4
  460. package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +4 -4
  461. package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +7 -5
  462. package/dist/esm/plugin/with-schema/with-schema-transformer.js +23 -4
  463. package/dist/esm/query-builder/aggregate-function-builder.d.ts +8 -8
  464. package/dist/esm/query-builder/case-builder.d.ts +5 -5
  465. package/dist/esm/query-builder/cte-builder.d.ts +1 -1
  466. package/dist/esm/query-builder/delete-query-builder.d.ts +25 -25
  467. package/dist/esm/query-builder/function-module.d.ts +7 -7
  468. package/dist/esm/query-builder/having-interface.d.ts +2 -2
  469. package/dist/esm/query-builder/insert-query-builder.d.ts +21 -21
  470. package/dist/esm/query-builder/join-builder.d.ts +5 -5
  471. package/dist/esm/query-builder/json-path-builder.d.ts +2 -2
  472. package/dist/esm/query-builder/merge-query-builder.d.ts +20 -20
  473. package/dist/esm/query-builder/no-result-error.d.ts +1 -1
  474. package/dist/esm/query-builder/on-conflict-builder.d.ts +9 -9
  475. package/dist/esm/query-builder/order-by-interface.d.ts +2 -2
  476. package/dist/esm/query-builder/order-by-item-builder.d.ts +2 -2
  477. package/dist/esm/query-builder/output-interface.d.ts +4 -4
  478. package/dist/esm/query-builder/over-builder.d.ts +5 -5
  479. package/dist/esm/query-builder/returning-interface.d.ts +3 -3
  480. package/dist/esm/query-builder/select-query-builder-expression.d.ts +2 -2
  481. package/dist/esm/query-builder/select-query-builder.d.ts +28 -28
  482. package/dist/esm/query-builder/update-query-builder.d.ts +26 -26
  483. package/dist/esm/query-builder/where-interface.d.ts +4 -4
  484. package/dist/esm/query-compiler/compiled-query.d.ts +6 -4
  485. package/dist/esm/query-compiler/default-query-compiler.d.ts +93 -93
  486. package/dist/esm/query-compiler/query-compiler.d.ts +17 -17
  487. package/dist/esm/query-creator.d.ts +12 -12
  488. package/dist/esm/query-executor/default-query-executor.d.ts +7 -7
  489. package/dist/esm/query-executor/noop-query-executor.d.ts +3 -3
  490. package/dist/esm/query-executor/query-executor-base.d.ts +8 -8
  491. package/dist/esm/query-executor/query-executor-provider.d.ts +1 -1
  492. package/dist/esm/query-executor/query-executor.d.ts +7 -7
  493. package/dist/esm/raw-builder/raw-builder.d.ts +7 -7
  494. package/dist/esm/raw-builder/sql.d.ts +1 -1
  495. package/dist/esm/schema/alter-column-builder.d.ts +3 -3
  496. package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts +7 -7
  497. package/dist/esm/schema/alter-table-add-index-builder.d.ts +8 -8
  498. package/dist/esm/schema/alter-table-builder.d.ts +13 -13
  499. package/dist/esm/schema/alter-table-drop-constraint-builder.d.ts +5 -5
  500. package/dist/esm/schema/alter-table-executor.d.ts +6 -6
  501. package/dist/esm/schema/check-constraint-builder.d.ts +2 -2
  502. package/dist/esm/schema/column-definition-builder.d.ts +4 -4
  503. package/dist/esm/schema/create-index-builder.d.ts +11 -11
  504. package/dist/esm/schema/create-schema-builder.d.ts +5 -5
  505. package/dist/esm/schema/create-table-builder.d.ts +13 -13
  506. package/dist/esm/schema/create-type-builder.d.ts +5 -5
  507. package/dist/esm/schema/create-view-builder.d.ts +7 -7
  508. package/dist/esm/schema/drop-index-builder.d.ts +5 -5
  509. package/dist/esm/schema/drop-schema-builder.d.ts +5 -5
  510. package/dist/esm/schema/drop-table-builder.d.ts +5 -5
  511. package/dist/esm/schema/drop-type-builder.d.ts +5 -5
  512. package/dist/esm/schema/drop-view-builder.d.ts +5 -5
  513. package/dist/esm/schema/foreign-key-constraint-builder.d.ts +2 -2
  514. package/dist/esm/schema/primary-key-constraint-builder.d.ts +1 -1
  515. package/dist/esm/schema/refresh-materialized-view-builder.d.ts +5 -5
  516. package/dist/esm/schema/schema.d.ts +2 -2
  517. package/dist/esm/schema/unique-constraint-builder.d.ts +1 -1
  518. package/dist/esm/util/column-type.d.ts +1 -1
  519. package/dist/esm/util/compilable.d.ts +1 -1
  520. package/dist/esm/util/explainable.d.ts +1 -1
  521. package/dist/esm/util/infer-result.d.ts +7 -7
  522. package/dist/esm/util/json-object-args.d.ts +2 -2
  523. package/dist/esm/util/log.d.ts +5 -3
  524. package/dist/esm/util/log.js +2 -1
  525. package/dist/esm/util/object-utils.d.ts +1 -1
  526. package/dist/esm/util/provide-controlled-connection.d.ts +2 -2
  527. package/dist/esm/util/type-utils.d.ts +5 -5
  528. package/package.json +23 -20
@@ -1,23 +1,23 @@
1
- import { Dialect } from './dialect/dialect.js';
1
+ import type { Dialect } from './dialect/dialect.js';
2
2
  import { SchemaModule } from './schema/schema.js';
3
3
  import { DynamicModule } from './dynamic/dynamic.js';
4
- import { QueryExecutor } from './query-executor/query-executor.js';
4
+ import type { QueryExecutor } from './query-executor/query-executor.js';
5
5
  import { QueryCreator } from './query-creator.js';
6
- import { KyselyPlugin } from './plugin/kysely-plugin.js';
7
- import { DatabaseIntrospector } from './dialect/database-introspector.js';
8
- import { Driver, IsolationLevel, AccessMode } from './driver/driver.js';
9
- import { FunctionModule } from './query-builder/function-module.js';
10
- import { LogConfig } from './util/log.js';
11
- import { QueryExecutorProvider } from './query-executor/query-executor-provider.js';
12
- import { QueryResult } from './driver/database-connection.js';
13
- import { CompiledQuery } from './query-compiler/compiled-query.js';
14
- import { QueryId } from './util/query-id.js';
15
- import { Compilable } from './util/compilable.js';
6
+ import type { KyselyPlugin } from './plugin/kysely-plugin.js';
7
+ import type { DatabaseIntrospector } from './dialect/database-introspector.js';
8
+ import { type Driver, type IsolationLevel, type AccessMode } from './driver/driver.js';
9
+ import { type FunctionModule } from './query-builder/function-module.js';
10
+ import { type LogConfig } from './util/log.js';
11
+ import type { QueryExecutorProvider } from './query-executor/query-executor-provider.js';
12
+ import type { QueryResult } from './driver/database-connection.js';
13
+ import type { CompiledQuery } from './query-compiler/compiled-query.js';
14
+ import { type QueryId } from './util/query-id.js';
15
+ import { type Compilable } from './util/compilable.js';
16
16
  import { CaseBuilder } from './query-builder/case-builder.js';
17
- import { Expression } from './expression/expression.js';
18
- import { DrainOuterGeneric } from './util/type-utils.js';
19
- import { ReleaseSavepoint, RollbackToSavepoint } from './parser/savepoint-parser.js';
20
- import { ControlledConnection } from './util/provide-controlled-connection.js';
17
+ import type { Expression } from './expression/expression.js';
18
+ import type { DrainOuterGeneric } from './util/type-utils.js';
19
+ import type { ReleaseSavepoint, RollbackToSavepoint } from './parser/savepoint-parser.js';
20
+ import { type ControlledConnection } from './util/provide-controlled-connection.js';
21
21
  declare global {
22
22
  interface AsyncDisposable {
23
23
  }
@@ -1,4 +1,4 @@
1
- import { Migration, MigrationProvider } from './migrator.js';
1
+ import type { Migration, MigrationProvider } from './migrator.js';
2
2
  /**
3
3
  * Reads all migrations from a folder in node.js.
4
4
  *
@@ -1,4 +1,4 @@
1
- import { Kysely } from '../kysely.js';
1
+ import type { Kysely } from '../kysely.js';
2
2
  export declare const DEFAULT_MIGRATION_TABLE = "kysely_migration";
3
3
  export declare const DEFAULT_MIGRATION_LOCK_TABLE = "kysely_migration_lock";
4
4
  export declare const DEFAULT_ALLOW_UNORDERED_MIGRATIONS = false;
@@ -263,7 +263,7 @@ export interface MigratorProps {
263
263
  * the project, to the end of time or prepare to manually migrate the migration
264
264
  * tables.
265
265
  *
266
- * This only works on postgres.
266
+ * This only works on postgres and mssql.
267
267
  */
268
268
  readonly migrationTableSchema?: string;
269
269
  /**
@@ -56,7 +56,8 @@ export class Migrator {
56
56
  * The returned array is sorted by migration name.
57
57
  */
58
58
  async getMigrations() {
59
- const executedMigrations = (await this.#doesTableExists(this.#migrationTable))
59
+ const tableExists = await this.#doesTableExist(this.#migrationTable);
60
+ const executedMigrations = tableExists
60
61
  ? await this.#props.db
61
62
  .withPlugin(this.#schemaPlugin)
62
63
  .selectFrom(this.#migrationTable)
@@ -263,7 +264,10 @@ export class Migrator {
263
264
  }
264
265
  async #migrate(getMigrationDirectionAndStep) {
265
266
  try {
266
- await this.#ensureMigrationTablesExists();
267
+ await this.#ensureMigrationTableSchemaExists();
268
+ await this.#ensureMigrationTableExists();
269
+ await this.#ensureMigrationLockTableExists();
270
+ await this.#ensureLockRowExists();
267
271
  return await this.#runMigrations(getMigrationDirectionAndStep);
268
272
  }
269
273
  catch (error) {
@@ -291,95 +295,98 @@ export class Migrator {
291
295
  }
292
296
  return new NoopPlugin();
293
297
  }
294
- async #ensureMigrationTablesExists() {
295
- await this.#ensureMigrationTableSchemaExists();
296
- await this.#ensureMigrationTableExists();
297
- await this.#ensureMigrationLockTableExists();
298
- await this.#ensureLockRowExists();
299
- }
300
298
  async #ensureMigrationTableSchemaExists() {
301
299
  if (!this.#migrationTableSchema) {
302
300
  // Use default schema. Nothing to do.
303
301
  return;
304
302
  }
305
- if (!(await this.#doesSchemaExists())) {
306
- try {
307
- await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema));
308
- }
309
- catch (error) {
310
- // At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema`
311
- // query doesn't throw if the schema already exits. That's why we check if
312
- // the schema exist here and ignore the error if it does.
313
- if (!(await this.#doesSchemaExists())) {
314
- throw error;
315
- }
303
+ const schemaExists = await this.#doesSchemaExist();
304
+ if (schemaExists) {
305
+ return;
306
+ }
307
+ try {
308
+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema));
309
+ }
310
+ catch (error) {
311
+ const schemaExists = await this.#doesSchemaExist();
312
+ // At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema`
313
+ // query doesn't throw if the schema already exits. That's why we check if
314
+ // the schema exist here and ignore the error if it does.
315
+ if (!schemaExists) {
316
+ throw error;
316
317
  }
317
318
  }
318
319
  }
319
320
  async #ensureMigrationTableExists() {
320
- if (!(await this.#doesTableExists(this.#migrationTable))) {
321
- try {
322
- if (this.#migrationTableSchema) {
323
- await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema));
324
- }
325
- await this.#createIfNotExists(this.#props.db.schema
326
- .withPlugin(this.#schemaPlugin)
327
- .createTable(this.#migrationTable)
328
- .addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey())
329
- // The migration run time as ISO string. This is not a real date type as we
330
- // can't know which data type is supported by all future dialects.
331
- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()));
332
- }
333
- catch (error) {
334
- // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
335
- // query doesn't throw if the table already exits. That's why we check if
336
- // the table exist here and ignore the error if it does.
337
- if (!(await this.#doesTableExists(this.#migrationTable))) {
338
- throw error;
339
- }
321
+ const tableExists = await this.#doesTableExist(this.#migrationTable);
322
+ if (tableExists) {
323
+ return;
324
+ }
325
+ try {
326
+ await this.#createIfNotExists(this.#props.db.schema
327
+ .withPlugin(this.#schemaPlugin)
328
+ .createTable(this.#migrationTable)
329
+ .addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey())
330
+ // The migration run time as ISO string. This is not a real date type as we
331
+ // can't know which data type is supported by all future dialects.
332
+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()));
333
+ }
334
+ catch (error) {
335
+ const tableExists = await this.#doesTableExist(this.#migrationTable);
336
+ // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
337
+ // query doesn't throw if the table already exits. That's why we check if
338
+ // the table exist here and ignore the error if it does.
339
+ if (!tableExists) {
340
+ throw error;
340
341
  }
341
342
  }
342
343
  }
343
344
  async #ensureMigrationLockTableExists() {
344
- if (!(await this.#doesTableExists(this.#migrationLockTable))) {
345
- try {
346
- await this.#createIfNotExists(this.#props.db.schema
347
- .withPlugin(this.#schemaPlugin)
348
- .createTable(this.#migrationLockTable)
349
- .addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey())
350
- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)));
351
- }
352
- catch (error) {
353
- // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
354
- // query doesn't throw if the table already exits. That's why we check if
355
- // the table exist here and ignore the error if it does.
356
- if (!(await this.#doesTableExists(this.#migrationLockTable))) {
357
- throw error;
358
- }
345
+ const tableExists = await this.#doesTableExist(this.#migrationLockTable);
346
+ if (tableExists) {
347
+ return;
348
+ }
349
+ try {
350
+ await this.#createIfNotExists(this.#props.db.schema
351
+ .withPlugin(this.#schemaPlugin)
352
+ .createTable(this.#migrationLockTable)
353
+ .addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey())
354
+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)));
355
+ }
356
+ catch (error) {
357
+ const tableExists = await this.#doesTableExist(this.#migrationLockTable);
358
+ // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
359
+ // query doesn't throw if the table already exits. That's why we check if
360
+ // the table exist here and ignore the error if it does.
361
+ if (!tableExists) {
362
+ throw error;
359
363
  }
360
364
  }
361
365
  }
362
366
  async #ensureLockRowExists() {
363
- if (!(await this.#doesLockRowExists())) {
364
- try {
365
- await this.#props.db
366
- .withPlugin(this.#schemaPlugin)
367
- .insertInto(this.#migrationLockTable)
368
- .values({ id: MIGRATION_LOCK_ID, is_locked: 0 })
369
- .execute();
370
- }
371
- catch (error) {
372
- if (!(await this.#doesLockRowExists())) {
373
- throw error;
374
- }
367
+ const lockRowExists = await this.#doesLockRowExists();
368
+ if (lockRowExists) {
369
+ return;
370
+ }
371
+ try {
372
+ await this.#props.db
373
+ .withPlugin(this.#schemaPlugin)
374
+ .insertInto(this.#migrationLockTable)
375
+ .values({ id: MIGRATION_LOCK_ID, is_locked: 0 })
376
+ .execute();
377
+ }
378
+ catch (error) {
379
+ const lockRowExists = await this.#doesLockRowExists();
380
+ if (!lockRowExists) {
381
+ throw error;
375
382
  }
376
383
  }
377
384
  }
378
- async #doesSchemaExists() {
385
+ async #doesSchemaExist() {
379
386
  const schemas = await this.#props.db.introspection.getSchemas();
380
387
  return schemas.some((it) => it.name === this.#migrationTableSchema);
381
388
  }
382
- async #doesTableExists(tableName) {
389
+ async #doesTableExist(tableName) {
383
390
  const schema = this.#migrationTableSchema;
384
391
  const tables = await this.#props.db.introspection.getTables({
385
392
  withInternalKyselyTables: true,
@@ -1,13 +1,15 @@
1
- import { ColumnDefinitionNode } from './column-definition-node.js';
2
- import { OperationNode } from './operation-node.js';
1
+ import type { ColumnDefinitionNode } from './column-definition-node.js';
2
+ import type { OperationNode } from './operation-node.js';
3
3
  export interface AddColumnNode extends OperationNode {
4
4
  readonly kind: 'AddColumnNode';
5
5
  readonly column: ColumnDefinitionNode;
6
6
  }
7
+ type AddColumnNodeFactory = Readonly<{
8
+ is(node: OperationNode): node is AddColumnNode;
9
+ create(column: ColumnDefinitionNode): Readonly<AddColumnNode>;
10
+ }>;
7
11
  /**
8
12
  * @internal
9
13
  */
10
- export declare const AddColumnNode: Readonly<{
11
- is(node: OperationNode): node is AddColumnNode;
12
- create(column: ColumnDefinitionNode): AddColumnNode;
13
- }>;
14
+ export declare const AddColumnNode: AddColumnNodeFactory;
15
+ export {};
@@ -1,13 +1,15 @@
1
- import { OperationNode } from './operation-node.js';
2
- import { ConstraintNode } from './constraint-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
+ import type { ConstraintNode } from './constraint-node.js';
3
3
  export interface AddConstraintNode extends OperationNode {
4
4
  readonly kind: 'AddConstraintNode';
5
5
  readonly constraint: ConstraintNode;
6
6
  }
7
+ type AddConstraintNodeFactory = Readonly<{
8
+ is(node: OperationNode): node is AddConstraintNode;
9
+ create(constraint: ConstraintNode): Readonly<AddConstraintNode>;
10
+ }>;
7
11
  /**
8
12
  * @internal
9
13
  */
10
- export declare const AddConstraintNode: Readonly<{
11
- is(node: OperationNode): node is AddConstraintNode;
12
- create(constraint: ConstraintNode): AddConstraintNode;
13
- }>;
14
+ export declare const AddConstraintNode: AddConstraintNodeFactory;
15
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { IdentifierNode } from './identifier-node.js';
2
- import { OperationNode } from './operation-node.js';
3
- import { RawNode } from './raw-node.js';
2
+ import type { OperationNode } from './operation-node.js';
3
+ import type { RawNode } from './raw-node.js';
4
4
  export type AddIndexNodeProps = Omit<AddIndexNode, 'kind' | 'name'>;
5
5
  export interface AddIndexNode extends OperationNode {
6
6
  readonly kind: 'AddIndexNode';
@@ -10,12 +10,14 @@ export interface AddIndexNode extends OperationNode {
10
10
  readonly using?: RawNode;
11
11
  readonly ifNotExists?: boolean;
12
12
  }
13
+ type AddIndexNodeFactory = Readonly<{
14
+ is(node: OperationNode): node is AddIndexNode;
15
+ create(name: string): Readonly<AddIndexNode>;
16
+ cloneWith(node: AddIndexNode, props: Omit<AddIndexNode, 'kind' | 'name'>): Readonly<AddIndexNode>;
17
+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): Readonly<AddIndexNode>;
18
+ }>;
13
19
  /**
14
20
  * @internal
15
21
  */
16
- export declare const AddIndexNode: Readonly<{
17
- is(node: OperationNode): node is AddIndexNode;
18
- create(name: string): AddIndexNode;
19
- cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode;
20
- cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode;
21
- }>;
22
+ export declare const AddIndexNode: AddIndexNodeFactory;
23
+ export {};
@@ -1,8 +1,8 @@
1
- import { OperationNode } from './operation-node.js';
2
- import { OverNode } from './over-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
+ import type { OverNode } from './over-node.js';
3
3
  import { WhereNode } from './where-node.js';
4
4
  import { OrderByNode } from './order-by-node.js';
5
- import { OrderByItemNode } from './order-by-item-node.js';
5
+ import type { OrderByItemNode } from './order-by-item-node.js';
6
6
  export interface AggregateFunctionNode extends OperationNode {
7
7
  readonly kind: 'AggregateFunctionNode';
8
8
  readonly func: string;
@@ -13,15 +13,17 @@ export interface AggregateFunctionNode extends OperationNode {
13
13
  readonly filter?: WhereNode;
14
14
  readonly over?: OverNode;
15
15
  }
16
+ type AggregateFunctionNodeFactory = Readonly<{
17
+ is(node: OperationNode): node is AggregateFunctionNode;
18
+ create(aggregateFunction: string, aggregated?: readonly OperationNode[]): Readonly<AggregateFunctionNode>;
19
+ cloneWithDistinct(aggregateFunctionNode: AggregateFunctionNode): Readonly<AggregateFunctionNode>;
20
+ cloneWithOrderBy(aggregateFunctionNode: AggregateFunctionNode, orderItems: ReadonlyArray<OrderByItemNode>, withinGroup?: boolean): Readonly<AggregateFunctionNode>;
21
+ cloneWithFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): Readonly<AggregateFunctionNode>;
22
+ cloneWithOrFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): Readonly<AggregateFunctionNode>;
23
+ cloneWithOver(aggregateFunctionNode: AggregateFunctionNode, over?: OverNode): Readonly<AggregateFunctionNode>;
24
+ }>;
16
25
  /**
17
26
  * @internal
18
27
  */
19
- export declare const AggregateFunctionNode: Readonly<{
20
- is(node: OperationNode): node is AggregateFunctionNode;
21
- create(aggregateFunction: string, aggregated?: readonly OperationNode[]): AggregateFunctionNode;
22
- cloneWithDistinct(aggregateFunctionNode: AggregateFunctionNode): AggregateFunctionNode;
23
- cloneWithOrderBy(aggregateFunctionNode: AggregateFunctionNode, orderItems: ReadonlyArray<OrderByItemNode>, withinGroup?: boolean): AggregateFunctionNode;
24
- cloneWithFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): AggregateFunctionNode;
25
- cloneWithOrFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): AggregateFunctionNode;
26
- cloneWithOver(aggregateFunctionNode: AggregateFunctionNode, over?: OverNode): AggregateFunctionNode;
27
- }>;
28
+ export declare const AggregateFunctionNode: AggregateFunctionNodeFactory;
29
+ export {};
@@ -1,13 +1,15 @@
1
- import { OperationNode } from './operation-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
2
  export interface AliasNode extends OperationNode {
3
3
  readonly kind: 'AliasNode';
4
4
  readonly node: OperationNode;
5
5
  readonly alias: OperationNode;
6
6
  }
7
+ type AliasNodeFactory = Readonly<{
8
+ is(node: OperationNode): node is AliasNode;
9
+ create(node: OperationNode, alias: OperationNode): Readonly<AliasNode>;
10
+ }>;
7
11
  /**
8
12
  * @internal
9
13
  */
10
- export declare const AliasNode: Readonly<{
11
- is(node: OperationNode): node is AliasNode;
12
- create(node: OperationNode, alias: OperationNode): AliasNode;
13
- }>;
14
+ export declare const AliasNode: AliasNodeFactory;
15
+ export {};
@@ -1,6 +1,6 @@
1
- import { OperationNode } from './operation-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
2
  import { ColumnNode } from './column-node.js';
3
- import { RawNode } from './raw-node.js';
3
+ import type { RawNode } from './raw-node.js';
4
4
  export type AlterColumnNodeProps = Omit<AlterColumnNode, 'kind' | 'column'>;
5
5
  export interface AlterColumnNode extends OperationNode {
6
6
  readonly kind: 'AlterColumnNode';
@@ -12,10 +12,12 @@ export interface AlterColumnNode extends OperationNode {
12
12
  readonly setNotNull?: true;
13
13
  readonly dropNotNull?: true;
14
14
  }
15
+ type AlterColumnNodeFactory = Readonly<{
16
+ is(node: OperationNode): node is AlterColumnNode;
17
+ create<T extends keyof AlterColumnNodeProps>(column: string, prop: T, value: Required<AlterColumnNodeProps>[T]): Readonly<AlterColumnNode>;
18
+ }>;
15
19
  /**
16
20
  * @internal
17
21
  */
18
- export declare const AlterColumnNode: Readonly<{
19
- is(node: OperationNode): node is AlterColumnNode;
20
- create<T extends keyof AlterColumnNodeProps>(column: string, prop: T, value: Required<AlterColumnNodeProps>[T]): AlterColumnNode;
21
- }>;
22
+ export declare const AlterColumnNode: AlterColumnNodeFactory;
23
+ export {};
@@ -1,16 +1,16 @@
1
- import { OperationNode } from './operation-node.js';
2
- import { AddColumnNode } from './add-column-node.js';
3
- import { DropColumnNode } from './drop-column-node.js';
4
- import { TableNode } from './table-node.js';
5
- import { IdentifierNode } from './identifier-node.js';
6
- import { RenameColumnNode } from './rename-column-node.js';
7
- import { AlterColumnNode } from './alter-column-node.js';
8
- import { AddConstraintNode } from './add-constraint-node.js';
9
- import { DropConstraintNode } from './drop-constraint-node.js';
10
- import { ModifyColumnNode } from './modify-column-node.js';
11
- import { DropIndexNode } from './drop-index-node.js';
12
- import { AddIndexNode } from './add-index-node.js';
13
- import { RenameConstraintNode } from './rename-constraint-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
+ import type { AddColumnNode } from './add-column-node.js';
3
+ import type { DropColumnNode } from './drop-column-node.js';
4
+ import type { TableNode } from './table-node.js';
5
+ import type { IdentifierNode } from './identifier-node.js';
6
+ import type { RenameColumnNode } from './rename-column-node.js';
7
+ import type { AlterColumnNode } from './alter-column-node.js';
8
+ import type { AddConstraintNode } from './add-constraint-node.js';
9
+ import type { DropConstraintNode } from './drop-constraint-node.js';
10
+ import type { ModifyColumnNode } from './modify-column-node.js';
11
+ import type { DropIndexNode } from './drop-index-node.js';
12
+ import type { AddIndexNode } from './add-index-node.js';
13
+ import type { RenameConstraintNode } from './rename-constraint-node.js';
14
14
  export type AlterTableNodeTableProps = Pick<AlterTableNode, 'renameTo' | 'setSchema' | 'addConstraint' | 'dropConstraint' | 'addIndex' | 'dropIndex' | 'renameConstraint'>;
15
15
  export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode;
16
16
  export interface AlterTableNode extends OperationNode {
@@ -25,12 +25,14 @@ export interface AlterTableNode extends OperationNode {
25
25
  readonly addIndex?: AddIndexNode;
26
26
  readonly dropIndex?: DropIndexNode;
27
27
  }
28
+ type AlterTableNodeFactory = Readonly<{
29
+ is(node: OperationNode): node is AlterTableNode;
30
+ create(table: TableNode): Readonly<AlterTableNode>;
31
+ cloneWithTableProps(node: AlterTableNode, props: AlterTableNodeTableProps): Readonly<AlterTableNode>;
32
+ cloneWithColumnAlteration(node: AlterTableNode, columnAlteration: AlterTableColumnAlterationNode): Readonly<AlterTableNode>;
33
+ }>;
28
34
  /**
29
35
  * @internal
30
36
  */
31
- export declare const AlterTableNode: Readonly<{
32
- is(node: OperationNode): node is AlterTableNode;
33
- create(table: TableNode): AlterTableNode;
34
- cloneWithTableProps(node: AlterTableNode, props: AlterTableNodeTableProps): AlterTableNode;
35
- cloneWithColumnAlteration(node: AlterTableNode, columnAlteration: AlterTableColumnAlterationNode): AlterTableNode;
36
- }>;
37
+ export declare const AlterTableNode: AlterTableNodeFactory;
38
+ export {};
@@ -1,13 +1,15 @@
1
- import { OperationNode } from './operation-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
2
  export interface AndNode extends OperationNode {
3
3
  readonly kind: 'AndNode';
4
4
  readonly left: OperationNode;
5
5
  readonly right: OperationNode;
6
6
  }
7
+ type AndNodeFactory = Readonly<{
8
+ is(node: OperationNode): node is AndNode;
9
+ create(left: OperationNode, right: OperationNode): Readonly<AndNode>;
10
+ }>;
7
11
  /**
8
12
  * @internal
9
13
  */
10
- export declare const AndNode: Readonly<{
11
- is(node: OperationNode): node is AndNode;
12
- create(left: OperationNode, right: OperationNode): AndNode;
13
- }>;
14
+ export declare const AndNode: AndNodeFactory;
15
+ export {};
@@ -1,14 +1,16 @@
1
- import { OperationNode } from './operation-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
2
  export interface BinaryOperationNode extends OperationNode {
3
3
  readonly kind: 'BinaryOperationNode';
4
4
  readonly leftOperand: OperationNode;
5
5
  readonly operator: OperationNode;
6
6
  readonly rightOperand: OperationNode;
7
7
  }
8
+ type BinaryOperationNodeFactory = Readonly<{
9
+ is(node: OperationNode): node is BinaryOperationNode;
10
+ create(leftOperand: OperationNode, operator: OperationNode, rightOperand: OperationNode): Readonly<BinaryOperationNode>;
11
+ }>;
8
12
  /**
9
13
  * @internal
10
14
  */
11
- export declare const BinaryOperationNode: Readonly<{
12
- is(node: OperationNode): node is BinaryOperationNode;
13
- create(leftOperand: OperationNode, operator: OperationNode, rightOperand: OperationNode): BinaryOperationNode;
14
- }>;
15
+ export declare const BinaryOperationNode: BinaryOperationNodeFactory;
16
+ export {};
@@ -1,4 +1,4 @@
1
- import { OperationNode } from './operation-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
2
  import { WhenNode } from './when-node.js';
3
3
  export interface CaseNode extends OperationNode {
4
4
  readonly kind: 'CaseNode';
@@ -7,13 +7,15 @@ export interface CaseNode extends OperationNode {
7
7
  readonly else?: OperationNode;
8
8
  readonly isStatement?: boolean;
9
9
  }
10
+ type CaseNodeFactory = Readonly<{
11
+ is(node: OperationNode): node is CaseNode;
12
+ create(value?: OperationNode): Readonly<CaseNode>;
13
+ cloneWithWhen(caseNode: CaseNode, when: WhenNode): Readonly<CaseNode>;
14
+ cloneWithThen(caseNode: CaseNode, then: OperationNode): Readonly<CaseNode>;
15
+ cloneWith(caseNode: CaseNode, props: Partial<Pick<CaseNode, 'else' | 'isStatement'>>): Readonly<CaseNode>;
16
+ }>;
10
17
  /**
11
18
  * @internal
12
19
  */
13
- export declare const CaseNode: Readonly<{
14
- is(node: OperationNode): node is CaseNode;
15
- create(value?: OperationNode): CaseNode;
16
- cloneWithWhen(caseNode: CaseNode, when: WhenNode): CaseNode;
17
- cloneWithThen(caseNode: CaseNode, then: OperationNode): CaseNode;
18
- cloneWith(caseNode: CaseNode, props: Partial<Pick<CaseNode, "else" | "isStatement">>): CaseNode;
19
- }>;
20
+ export declare const CaseNode: CaseNodeFactory;
21
+ export {};
@@ -1,13 +1,15 @@
1
- import { OperationNode } from './operation-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
2
  export interface CastNode extends OperationNode {
3
3
  readonly kind: 'CastNode';
4
4
  readonly expression: OperationNode;
5
5
  readonly dataType: OperationNode;
6
6
  }
7
+ type CastNodeFactory = Readonly<{
8
+ is(node: OperationNode): node is CastNode;
9
+ create(expression: OperationNode, dataType: OperationNode): Readonly<CastNode>;
10
+ }>;
7
11
  /**
8
12
  * @internal
9
13
  */
10
- export declare const CastNode: Readonly<{
11
- is(node: OperationNode): node is CastNode;
12
- create(expression: OperationNode, dataType: OperationNode): CastNode;
13
- }>;
14
+ export declare const CastNode: CastNodeFactory;
15
+ export {};
@@ -1,14 +1,16 @@
1
- import { OperationNode } from './operation-node.js';
1
+ import type { OperationNode } from './operation-node.js';
2
2
  import { IdentifierNode } from './identifier-node.js';
3
3
  export interface CheckConstraintNode extends OperationNode {
4
4
  readonly kind: 'CheckConstraintNode';
5
5
  readonly expression: OperationNode;
6
6
  readonly name?: IdentifierNode;
7
7
  }
8
+ type CheckConstraintNodeFactory = Readonly<{
9
+ is(node: OperationNode): node is CheckConstraintNode;
10
+ create(expression: OperationNode, constraintName?: string): Readonly<CheckConstraintNode>;
11
+ }>;
8
12
  /**
9
13
  * @internal
10
14
  */
11
- export declare const CheckConstraintNode: Readonly<{
12
- is(node: OperationNode): node is CheckConstraintNode;
13
- create(expression: OperationNode, constraintName?: string): CheckConstraintNode;
14
- }>;
15
+ export declare const CheckConstraintNode: CheckConstraintNodeFactory;
16
+ export {};
@@ -12,7 +12,9 @@ export const CheckConstraintNode = freeze({
12
12
  return freeze({
13
13
  kind: 'CheckConstraintNode',
14
14
  expression,
15
- name: constraintName ? IdentifierNode.create(constraintName) : undefined,
15
+ name: constraintName
16
+ ? IdentifierNode.create(constraintName)
17
+ : undefined,
16
18
  });
17
19
  },
18
20
  });
@@ -1,13 +1,15 @@
1
1
  import { IdentifierNode } from './identifier-node.js';
2
- import { OperationNode } from './operation-node.js';
2
+ import type { OperationNode } from './operation-node.js';
3
3
  export interface CollateNode extends OperationNode {
4
4
  readonly kind: 'CollateNode';
5
5
  readonly collation: IdentifierNode;
6
6
  }
7
+ type CollateNodeFactory = Readonly<{
8
+ is(node: OperationNode): node is CollateNode;
9
+ create(collation: string): Readonly<CollateNode>;
10
+ }>;
7
11
  /**
8
12
  * @internal
9
13
  */
10
- export declare const CollateNode: {
11
- is(node: OperationNode): node is CollateNode;
12
- create(collation: string): CollateNode;
13
- };
14
+ export declare const CollateNode: CollateNodeFactory;
15
+ export {};
@@ -4,7 +4,7 @@ import { IdentifierNode } from './identifier-node.js';
4
4
  /**
5
5
  * @internal
6
6
  */
7
- export const CollateNode = {
7
+ export const CollateNode = freeze({
8
8
  is(node) {
9
9
  return node.kind === 'CollateNode';
10
10
  },
@@ -14,4 +14,4 @@ export const CollateNode = {
14
14
  collation: IdentifierNode.create(collation),
15
15
  });
16
16
  },
17
- };
17
+ });