kysely 0.22.0 → 0.23.1

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 (358) hide show
  1. package/CONTRIBUTING.md +70 -0
  2. package/README.md +25 -2
  3. package/dist/cjs/dialect/database-introspector.d.ts +4 -0
  4. package/dist/cjs/dialect/mysql/mysql-driver.js +6 -3
  5. package/dist/cjs/dialect/postgres/postgres-adapter.js +1 -1
  6. package/dist/cjs/dialect/postgres/postgres-driver.js +7 -2
  7. package/dist/cjs/dialect/postgres/postgres-introspector.js +8 -0
  8. package/dist/cjs/dialect/sqlite/sqlite-driver.js +4 -3
  9. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -0
  10. package/dist/cjs/driver/database-connection.d.ts +6 -2
  11. package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +2 -3
  12. package/dist/cjs/dynamic/dynamic-reference-builder.js +1 -1
  13. package/dist/cjs/expression/expression.d.ts +100 -0
  14. package/dist/cjs/expression/expression.js +16 -0
  15. package/dist/cjs/index.d.ts +10 -6
  16. package/dist/cjs/index.js +8 -2
  17. package/dist/cjs/migration/file-migration-provider.js +5 -3
  18. package/dist/cjs/operation-node/aggregate-function-node.d.ts +7 -4
  19. package/dist/cjs/operation-node/aggregate-function-node.js +17 -0
  20. package/dist/cjs/operation-node/alias-node.d.ts +3 -11
  21. package/dist/cjs/operation-node/alter-column-node.d.ts +1 -2
  22. package/dist/cjs/operation-node/alter-table-node.d.ts +5 -7
  23. package/dist/cjs/operation-node/alter-table-node.js +9 -1
  24. package/dist/cjs/operation-node/and-node.d.ts +3 -4
  25. package/dist/cjs/operation-node/binary-operation-node.d.ts +14 -0
  26. package/dist/cjs/operation-node/binary-operation-node.js +20 -0
  27. package/dist/cjs/operation-node/check-constraint-node.d.ts +2 -3
  28. package/dist/cjs/operation-node/column-definition-node.d.ts +6 -5
  29. package/dist/cjs/operation-node/column-definition-node.js +16 -0
  30. package/dist/cjs/operation-node/column-update-node.d.ts +2 -3
  31. package/dist/cjs/operation-node/common-table-expression-node.d.ts +2 -4
  32. package/dist/cjs/operation-node/create-index-node.d.ts +1 -3
  33. package/dist/cjs/operation-node/create-table-node.d.ts +4 -5
  34. package/dist/cjs/operation-node/create-type-node.d.ts +1 -1
  35. package/dist/cjs/operation-node/create-type-node.js +1 -2
  36. package/dist/cjs/operation-node/default-value-node.d.ts +2 -4
  37. package/dist/cjs/operation-node/delete-query-node.d.ts +1 -2
  38. package/dist/cjs/operation-node/drop-type-node.d.ts +1 -1
  39. package/dist/cjs/operation-node/drop-type-node.js +1 -2
  40. package/dist/cjs/operation-node/explain-node.d.ts +2 -4
  41. package/dist/cjs/operation-node/explain-node.js +1 -1
  42. package/dist/cjs/operation-node/from-node.d.ts +3 -4
  43. package/dist/cjs/operation-node/generated-node.d.ts +2 -3
  44. package/dist/cjs/operation-node/group-by-item-node.d.ts +2 -3
  45. package/dist/cjs/operation-node/having-node.d.ts +3 -4
  46. package/dist/cjs/operation-node/having-node.js +4 -4
  47. package/dist/cjs/operation-node/insert-query-node.d.ts +1 -5
  48. package/dist/cjs/operation-node/join-node.d.ts +5 -9
  49. package/dist/cjs/operation-node/join-node.js +6 -6
  50. package/dist/cjs/operation-node/on-conflict-node.d.ts +5 -7
  51. package/dist/cjs/operation-node/on-conflict-node.js +12 -12
  52. package/dist/cjs/operation-node/on-node.d.ts +3 -4
  53. package/dist/cjs/operation-node/on-node.js +4 -4
  54. package/dist/cjs/operation-node/operation-node-transformer.d.ts +4 -2
  55. package/dist/cjs/operation-node/operation-node-transformer.js +22 -15
  56. package/dist/cjs/operation-node/operation-node-visitor.d.ts +4 -2
  57. package/dist/cjs/operation-node/operation-node-visitor.js +2 -1
  58. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  59. package/dist/cjs/operation-node/operator-node.d.ts +5 -3
  60. package/dist/cjs/operation-node/operator-node.js +3 -5
  61. package/dist/cjs/operation-node/or-node.d.ts +3 -4
  62. package/dist/cjs/operation-node/order-by-item-node.d.ts +3 -5
  63. package/dist/cjs/operation-node/parens-node.d.ts +2 -3
  64. package/dist/cjs/operation-node/partition-by-item-node.d.ts +3 -4
  65. package/dist/cjs/operation-node/query-node.d.ts +2 -3
  66. package/dist/cjs/operation-node/query-node.js +6 -6
  67. package/dist/cjs/operation-node/select-modifier-node.d.ts +2 -3
  68. package/dist/cjs/operation-node/select-modifier-node.js +1 -1
  69. package/dist/cjs/operation-node/select-query-node.d.ts +5 -6
  70. package/dist/cjs/operation-node/select-query-node.js +10 -10
  71. package/dist/cjs/operation-node/selection-node.d.ts +2 -3
  72. package/dist/cjs/operation-node/set-operation-node.d.ts +2 -5
  73. package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +3 -0
  74. package/dist/cjs/operation-node/{operation-node-utils.js → simple-reference-expression-node.js} +0 -0
  75. package/dist/cjs/operation-node/unary-operation-node.d.ts +13 -0
  76. package/dist/cjs/operation-node/unary-operation-node.js +19 -0
  77. package/dist/cjs/operation-node/update-query-node.d.ts +3 -4
  78. package/dist/cjs/operation-node/value-list-node.d.ts +2 -9
  79. package/dist/cjs/operation-node/where-node.d.ts +3 -4
  80. package/dist/cjs/operation-node/where-node.js +4 -4
  81. package/dist/cjs/parser/binary-operation-parser.d.ts +20 -0
  82. package/dist/cjs/parser/binary-operation-parser.js +99 -0
  83. package/dist/cjs/parser/coalesce-parser.d.ts +4 -0
  84. package/dist/cjs/parser/coalesce-parser.js +11 -0
  85. package/dist/cjs/parser/data-type-parser.d.ts +5 -5
  86. package/dist/cjs/parser/default-value-parser.d.ts +4 -5
  87. package/dist/cjs/parser/default-value-parser.js +2 -2
  88. package/dist/cjs/parser/expression-parser.d.ts +10 -0
  89. package/dist/cjs/parser/{complex-expression-parser.js → expression-parser.js} +9 -8
  90. package/dist/cjs/parser/identifier-parser.d.ts +2 -0
  91. package/dist/cjs/parser/identifier-parser.js +23 -0
  92. package/dist/cjs/parser/insert-values-parser.d.ts +1 -1
  93. package/dist/cjs/parser/insert-values-parser.js +2 -2
  94. package/dist/cjs/parser/join-parser.js +2 -2
  95. package/dist/cjs/parser/order-by-parser.d.ts +2 -2
  96. package/dist/cjs/parser/reference-parser.d.ts +14 -14
  97. package/dist/cjs/parser/reference-parser.js +12 -9
  98. package/dist/cjs/parser/select-parser.d.ts +6 -7
  99. package/dist/cjs/parser/select-parser.js +2 -2
  100. package/dist/cjs/parser/set-operation-parser.d.ts +2 -4
  101. package/dist/cjs/parser/table-parser.d.ts +11 -12
  102. package/dist/cjs/parser/table-parser.js +2 -2
  103. package/dist/cjs/parser/unary-operation-parser.d.ts +5 -0
  104. package/dist/cjs/parser/unary-operation-parser.js +17 -0
  105. package/dist/cjs/parser/update-set-parser.d.ts +1 -1
  106. package/dist/cjs/parser/value-parser.d.ts +5 -9
  107. package/dist/cjs/parser/value-parser.js +4 -4
  108. package/dist/cjs/parser/with-parser.d.ts +3 -4
  109. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +1 -1
  110. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +245 -14
  111. package/dist/cjs/query-builder/aggregate-function-builder.js +164 -12
  112. package/dist/cjs/query-builder/delete-query-builder.d.ts +20 -20
  113. package/dist/cjs/query-builder/delete-query-builder.js +19 -16
  114. package/dist/cjs/query-builder/function-module.d.ts +123 -22
  115. package/dist/cjs/query-builder/function-module.js +91 -48
  116. package/dist/cjs/query-builder/having-interface.d.ts +9 -8
  117. package/dist/cjs/query-builder/insert-query-builder.d.ts +7 -6
  118. package/dist/cjs/query-builder/insert-query-builder.js +11 -9
  119. package/dist/cjs/query-builder/insert-result.d.ts +8 -1
  120. package/dist/cjs/query-builder/insert-result.js +12 -1
  121. package/dist/cjs/query-builder/join-builder.d.ts +9 -8
  122. package/dist/cjs/query-builder/join-builder.js +10 -9
  123. package/dist/cjs/query-builder/on-conflict-builder.d.ts +25 -24
  124. package/dist/cjs/query-builder/on-conflict-builder.js +18 -17
  125. package/dist/cjs/query-builder/select-query-builder.d.ts +82 -51
  126. package/dist/cjs/query-builder/select-query-builder.js +39 -37
  127. package/dist/cjs/query-builder/update-query-builder.d.ts +20 -20
  128. package/dist/cjs/query-builder/update-query-builder.js +19 -16
  129. package/dist/cjs/query-builder/where-interface.d.ts +12 -11
  130. package/dist/cjs/query-compiler/compiled-query.d.ts +1 -1
  131. package/dist/cjs/query-compiler/default-query-compiler.d.ts +5 -3
  132. package/dist/cjs/query-compiler/default-query-compiler.js +37 -33
  133. package/dist/cjs/query-executor/query-executor-base.js +16 -1
  134. package/dist/cjs/raw-builder/raw-builder.d.ts +49 -13
  135. package/dist/cjs/raw-builder/raw-builder.js +24 -14
  136. package/dist/cjs/raw-builder/sql.d.ts +4 -4
  137. package/dist/cjs/schema/alter-column-builder.d.ts +28 -0
  138. package/dist/cjs/schema/alter-column-builder.js +55 -0
  139. package/dist/cjs/schema/alter-table-builder.d.ts +39 -341
  140. package/dist/cjs/schema/alter-table-builder.js +63 -278
  141. package/dist/cjs/schema/column-definition-builder.d.ts +43 -155
  142. package/dist/cjs/schema/column-definition-builder.js +189 -0
  143. package/dist/cjs/schema/create-index-builder.d.ts +3 -3
  144. package/dist/cjs/schema/create-index-builder.js +7 -7
  145. package/dist/cjs/schema/create-schema-builder.d.ts +1 -1
  146. package/dist/cjs/schema/create-schema-builder.js +2 -2
  147. package/dist/cjs/schema/create-table-builder.d.ts +39 -6
  148. package/dist/cjs/schema/create-table-builder.js +47 -12
  149. package/dist/cjs/schema/create-type-builder.d.ts +1 -1
  150. package/dist/cjs/schema/create-type-builder.js +2 -2
  151. package/dist/cjs/schema/create-view-builder.d.ts +4 -3
  152. package/dist/cjs/schema/create-view-builder.js +7 -7
  153. package/dist/cjs/schema/drop-index-builder.d.ts +1 -1
  154. package/dist/cjs/schema/drop-index-builder.js +4 -4
  155. package/dist/cjs/schema/drop-schema-builder.d.ts +1 -1
  156. package/dist/cjs/schema/drop-schema-builder.js +3 -3
  157. package/dist/cjs/schema/drop-table-builder.d.ts +1 -1
  158. package/dist/cjs/schema/drop-table-builder.js +3 -3
  159. package/dist/cjs/schema/drop-type-builder.d.ts +1 -1
  160. package/dist/cjs/schema/drop-type-builder.js +2 -2
  161. package/dist/cjs/schema/drop-view-builder.d.ts +1 -1
  162. package/dist/cjs/schema/drop-view-builder.js +4 -4
  163. package/dist/cjs/schema/schema.d.ts +2 -2
  164. package/dist/cjs/schema/schema.js +14 -13
  165. package/dist/cjs/util/compilable.d.ts +2 -2
  166. package/dist/cjs/util/explainable.d.ts +2 -2
  167. package/dist/cjs/util/infer-result.d.ts +46 -0
  168. package/dist/cjs/util/infer-result.js +2 -0
  169. package/dist/cjs/util/log-once.d.ts +5 -0
  170. package/dist/cjs/util/log-once.js +16 -0
  171. package/dist/cjs/util/object-utils.d.ts +1 -0
  172. package/dist/cjs/util/object-utils.js +5 -1
  173. package/dist/cjs/util/type-utils.d.ts +3 -17
  174. package/dist/esm/dialect/database-introspector.d.ts +4 -0
  175. package/dist/esm/dialect/mysql/mysql-driver.js +6 -3
  176. package/dist/esm/dialect/postgres/postgres-adapter.js +1 -1
  177. package/dist/esm/dialect/postgres/postgres-driver.js +7 -2
  178. package/dist/esm/dialect/postgres/postgres-introspector.js +8 -0
  179. package/dist/esm/dialect/sqlite/sqlite-driver.js +4 -3
  180. package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
  181. package/dist/esm/driver/database-connection.d.ts +6 -2
  182. package/dist/esm/dynamic/dynamic-reference-builder.d.ts +2 -3
  183. package/dist/esm/dynamic/dynamic-reference-builder.js +2 -2
  184. package/dist/esm/expression/expression.d.ts +100 -0
  185. package/dist/esm/expression/expression.js +12 -0
  186. package/dist/esm/index.d.ts +10 -6
  187. package/dist/esm/index.js +6 -2
  188. package/dist/esm/migration/file-migration-provider.js +5 -3
  189. package/dist/esm/operation-node/aggregate-function-node.d.ts +7 -4
  190. package/dist/esm/operation-node/aggregate-function-node.js +17 -0
  191. package/dist/esm/operation-node/alias-node.d.ts +3 -11
  192. package/dist/esm/operation-node/alter-column-node.d.ts +1 -2
  193. package/dist/esm/operation-node/alter-table-node.d.ts +5 -7
  194. package/dist/esm/operation-node/alter-table-node.js +9 -1
  195. package/dist/esm/operation-node/and-node.d.ts +3 -4
  196. package/dist/esm/operation-node/binary-operation-node.d.ts +14 -0
  197. package/dist/esm/operation-node/binary-operation-node.js +18 -0
  198. package/dist/esm/operation-node/check-constraint-node.d.ts +2 -3
  199. package/dist/esm/operation-node/column-definition-node.d.ts +6 -5
  200. package/dist/esm/operation-node/column-definition-node.js +16 -0
  201. package/dist/esm/operation-node/column-update-node.d.ts +2 -3
  202. package/dist/esm/operation-node/common-table-expression-node.d.ts +2 -4
  203. package/dist/esm/operation-node/create-index-node.d.ts +1 -3
  204. package/dist/esm/operation-node/create-table-node.d.ts +4 -5
  205. package/dist/esm/operation-node/create-type-node.d.ts +1 -1
  206. package/dist/esm/operation-node/create-type-node.js +1 -2
  207. package/dist/esm/operation-node/default-value-node.d.ts +2 -4
  208. package/dist/esm/operation-node/delete-query-node.d.ts +1 -2
  209. package/dist/esm/operation-node/drop-type-node.d.ts +1 -1
  210. package/dist/esm/operation-node/drop-type-node.js +1 -2
  211. package/dist/esm/operation-node/explain-node.d.ts +2 -4
  212. package/dist/esm/operation-node/explain-node.js +1 -1
  213. package/dist/esm/operation-node/from-node.d.ts +3 -4
  214. package/dist/esm/operation-node/generated-node.d.ts +2 -3
  215. package/dist/esm/operation-node/group-by-item-node.d.ts +2 -3
  216. package/dist/esm/operation-node/having-node.d.ts +3 -4
  217. package/dist/esm/operation-node/having-node.js +4 -4
  218. package/dist/esm/operation-node/insert-query-node.d.ts +1 -5
  219. package/dist/esm/operation-node/join-node.d.ts +5 -9
  220. package/dist/esm/operation-node/join-node.js +6 -6
  221. package/dist/esm/operation-node/on-conflict-node.d.ts +5 -7
  222. package/dist/esm/operation-node/on-conflict-node.js +12 -12
  223. package/dist/esm/operation-node/on-node.d.ts +3 -4
  224. package/dist/esm/operation-node/on-node.js +4 -4
  225. package/dist/esm/operation-node/operation-node-transformer.d.ts +4 -2
  226. package/dist/esm/operation-node/operation-node-transformer.js +22 -15
  227. package/dist/esm/operation-node/operation-node-visitor.d.ts +4 -2
  228. package/dist/esm/operation-node/operation-node-visitor.js +2 -1
  229. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  230. package/dist/esm/operation-node/operator-node.d.ts +5 -3
  231. package/dist/esm/operation-node/operator-node.js +2 -4
  232. package/dist/esm/operation-node/or-node.d.ts +3 -4
  233. package/dist/esm/operation-node/order-by-item-node.d.ts +3 -5
  234. package/dist/esm/operation-node/parens-node.d.ts +2 -3
  235. package/dist/esm/operation-node/partition-by-item-node.d.ts +3 -4
  236. package/dist/esm/operation-node/query-node.d.ts +2 -3
  237. package/dist/esm/operation-node/query-node.js +6 -6
  238. package/dist/esm/operation-node/select-modifier-node.d.ts +2 -3
  239. package/dist/esm/operation-node/select-modifier-node.js +1 -1
  240. package/dist/esm/operation-node/select-query-node.d.ts +5 -6
  241. package/dist/esm/operation-node/select-query-node.js +10 -10
  242. package/dist/esm/operation-node/selection-node.d.ts +2 -3
  243. package/dist/esm/operation-node/set-operation-node.d.ts +2 -5
  244. package/dist/esm/operation-node/simple-reference-expression-node.d.ts +3 -0
  245. package/dist/esm/operation-node/simple-reference-expression-node.js +2 -0
  246. package/dist/esm/operation-node/unary-operation-node.d.ts +13 -0
  247. package/dist/esm/operation-node/unary-operation-node.js +17 -0
  248. package/dist/esm/operation-node/update-query-node.d.ts +3 -4
  249. package/dist/esm/operation-node/value-list-node.d.ts +2 -9
  250. package/dist/esm/operation-node/where-node.d.ts +3 -4
  251. package/dist/esm/operation-node/where-node.js +4 -4
  252. package/dist/esm/parser/binary-operation-parser.d.ts +20 -0
  253. package/dist/esm/parser/binary-operation-parser.js +92 -0
  254. package/dist/esm/parser/coalesce-parser.d.ts +4 -0
  255. package/dist/esm/parser/coalesce-parser.js +8 -0
  256. package/dist/esm/parser/data-type-parser.d.ts +5 -5
  257. package/dist/esm/parser/default-value-parser.d.ts +4 -5
  258. package/dist/esm/parser/default-value-parser.js +2 -2
  259. package/dist/esm/parser/expression-parser.d.ts +10 -0
  260. package/dist/esm/parser/{complex-expression-parser.js → expression-parser.js} +6 -5
  261. package/dist/esm/parser/identifier-parser.d.ts +2 -0
  262. package/dist/esm/parser/identifier-parser.js +20 -0
  263. package/dist/esm/parser/insert-values-parser.d.ts +1 -1
  264. package/dist/esm/parser/insert-values-parser.js +2 -2
  265. package/dist/esm/parser/join-parser.js +2 -2
  266. package/dist/esm/parser/order-by-parser.d.ts +2 -2
  267. package/dist/esm/parser/reference-parser.d.ts +14 -14
  268. package/dist/esm/parser/reference-parser.js +10 -8
  269. package/dist/esm/parser/select-parser.d.ts +6 -7
  270. package/dist/esm/parser/select-parser.js +2 -2
  271. package/dist/esm/parser/set-operation-parser.d.ts +2 -4
  272. package/dist/esm/parser/table-parser.d.ts +11 -12
  273. package/dist/esm/parser/table-parser.js +2 -2
  274. package/dist/esm/parser/unary-operation-parser.d.ts +5 -0
  275. package/dist/esm/parser/unary-operation-parser.js +13 -0
  276. package/dist/esm/parser/update-set-parser.d.ts +1 -1
  277. package/dist/esm/parser/value-parser.d.ts +5 -9
  278. package/dist/esm/parser/value-parser.js +4 -4
  279. package/dist/esm/parser/with-parser.d.ts +3 -4
  280. package/dist/esm/plugin/camel-case/camel-case-plugin.js +2 -2
  281. package/dist/esm/query-builder/aggregate-function-builder.d.ts +245 -14
  282. package/dist/esm/query-builder/aggregate-function-builder.js +164 -12
  283. package/dist/esm/query-builder/delete-query-builder.d.ts +20 -20
  284. package/dist/esm/query-builder/delete-query-builder.js +19 -16
  285. package/dist/esm/query-builder/function-module.d.ts +123 -22
  286. package/dist/esm/query-builder/function-module.js +92 -49
  287. package/dist/esm/query-builder/having-interface.d.ts +9 -8
  288. package/dist/esm/query-builder/insert-query-builder.d.ts +7 -6
  289. package/dist/esm/query-builder/insert-query-builder.js +11 -9
  290. package/dist/esm/query-builder/insert-result.d.ts +8 -1
  291. package/dist/esm/query-builder/insert-result.js +12 -1
  292. package/dist/esm/query-builder/join-builder.d.ts +9 -8
  293. package/dist/esm/query-builder/join-builder.js +10 -9
  294. package/dist/esm/query-builder/on-conflict-builder.d.ts +25 -24
  295. package/dist/esm/query-builder/on-conflict-builder.js +18 -17
  296. package/dist/esm/query-builder/select-query-builder.d.ts +82 -51
  297. package/dist/esm/query-builder/select-query-builder.js +38 -36
  298. package/dist/esm/query-builder/update-query-builder.d.ts +20 -20
  299. package/dist/esm/query-builder/update-query-builder.js +19 -16
  300. package/dist/esm/query-builder/where-interface.d.ts +12 -11
  301. package/dist/esm/query-compiler/compiled-query.d.ts +1 -1
  302. package/dist/esm/query-compiler/default-query-compiler.d.ts +5 -3
  303. package/dist/esm/query-compiler/default-query-compiler.js +38 -34
  304. package/dist/esm/query-executor/query-executor-base.js +16 -1
  305. package/dist/esm/raw-builder/raw-builder.d.ts +49 -13
  306. package/dist/esm/raw-builder/raw-builder.js +23 -14
  307. package/dist/esm/raw-builder/sql.d.ts +4 -4
  308. package/dist/esm/schema/alter-column-builder.d.ts +28 -0
  309. package/dist/esm/schema/alter-column-builder.js +51 -0
  310. package/dist/esm/schema/alter-table-builder.d.ts +39 -341
  311. package/dist/esm/schema/alter-table-builder.js +59 -272
  312. package/dist/esm/schema/column-definition-builder.d.ts +43 -155
  313. package/dist/esm/schema/column-definition-builder.js +189 -0
  314. package/dist/esm/schema/create-index-builder.d.ts +3 -3
  315. package/dist/esm/schema/create-index-builder.js +7 -7
  316. package/dist/esm/schema/create-schema-builder.d.ts +1 -1
  317. package/dist/esm/schema/create-schema-builder.js +2 -2
  318. package/dist/esm/schema/create-table-builder.d.ts +39 -6
  319. package/dist/esm/schema/create-table-builder.js +47 -12
  320. package/dist/esm/schema/create-type-builder.d.ts +1 -1
  321. package/dist/esm/schema/create-type-builder.js +2 -2
  322. package/dist/esm/schema/create-view-builder.d.ts +4 -3
  323. package/dist/esm/schema/create-view-builder.js +7 -7
  324. package/dist/esm/schema/drop-index-builder.d.ts +1 -1
  325. package/dist/esm/schema/drop-index-builder.js +4 -4
  326. package/dist/esm/schema/drop-schema-builder.d.ts +1 -1
  327. package/dist/esm/schema/drop-schema-builder.js +3 -3
  328. package/dist/esm/schema/drop-table-builder.d.ts +1 -1
  329. package/dist/esm/schema/drop-table-builder.js +3 -3
  330. package/dist/esm/schema/drop-type-builder.d.ts +1 -1
  331. package/dist/esm/schema/drop-type-builder.js +2 -2
  332. package/dist/esm/schema/drop-view-builder.d.ts +1 -1
  333. package/dist/esm/schema/drop-view-builder.js +4 -4
  334. package/dist/esm/schema/schema.d.ts +2 -2
  335. package/dist/esm/schema/schema.js +14 -13
  336. package/dist/esm/util/compilable.d.ts +2 -2
  337. package/dist/esm/util/explainable.d.ts +2 -2
  338. package/dist/esm/util/infer-result.d.ts +46 -0
  339. package/dist/esm/util/infer-result.js +2 -0
  340. package/dist/esm/util/log-once.d.ts +5 -0
  341. package/dist/esm/util/log-once.js +13 -0
  342. package/dist/esm/util/object-utils.d.ts +1 -0
  343. package/dist/esm/util/object-utils.js +3 -0
  344. package/dist/esm/util/type-utils.d.ts +3 -17
  345. package/package.json +1 -1
  346. package/dist/cjs/operation-node/filter-node.d.ts +0 -18
  347. package/dist/cjs/operation-node/filter-node.js +0 -20
  348. package/dist/cjs/operation-node/operation-node-utils.d.ts +0 -18
  349. package/dist/cjs/parser/complex-expression-parser.d.ts +0 -12
  350. package/dist/cjs/parser/filter-parser.d.ts +0 -24
  351. package/dist/cjs/parser/filter-parser.js +0 -109
  352. package/dist/esm/operation-node/filter-node.d.ts +0 -18
  353. package/dist/esm/operation-node/filter-node.js +0 -18
  354. package/dist/esm/operation-node/operation-node-utils.d.ts +0 -18
  355. package/dist/esm/operation-node/operation-node-utils.js +0 -2
  356. package/dist/esm/parser/complex-expression-parser.d.ts +0 -12
  357. package/dist/esm/parser/filter-parser.d.ts +0 -24
  358. package/dist/esm/parser/filter-parser.js +0 -100
@@ -7,7 +7,7 @@ import { ColumnDefinitionBuilder } from './column-definition-builder.js';
7
7
  import { QueryId } from '../util/query-id.js';
8
8
  import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js';
9
9
  import { DataTypeExpression } from '../parser/data-type-parser.js';
10
- import { AnyRawBuilder } from '../util/type-utils.js';
10
+ import { Expression } from '../expression/expression.js';
11
11
  /**
12
12
  * This builder can be used to create a `create table` query.
13
13
  */
@@ -118,7 +118,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
118
118
  * addCheckConstraint('check_legs', sql`number_of_legs < 5`)
119
119
  * ```
120
120
  */
121
- addCheckConstraint(constraintName: string, checkExpression: AnyRawBuilder): CreateTableBuilder<TB, C>;
121
+ addCheckConstraint(constraintName: string, checkExpression: Expression<any>): CreateTableBuilder<TB, C>;
122
122
  /**
123
123
  * Adds a foreign key constraint.
124
124
  *
@@ -159,7 +159,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
159
159
  * ```ts
160
160
  * db.schema.createTable('person')
161
161
  * .modifyFront(sql`global temporary`)
162
- * .addColumn('id', 'integer', col => col => primaryKey())
162
+ * .addColumn('id', 'integer', col => col.primaryKey())
163
163
  * .addColumn('first_name', 'varchar(64)', col => col.notNull())
164
164
  * .addColumn('last_name', 'varchar(64), col => col.notNull())
165
165
  * .execute()
@@ -175,7 +175,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
175
175
  * )
176
176
  * ```
177
177
  */
178
- modifyFront(modifier: AnyRawBuilder): CreateTableBuilder<TB, C>;
178
+ modifyFront(modifier: Expression<any>): CreateTableBuilder<TB, C>;
179
179
  /**
180
180
  * This can be used to add any additional SQL to the end of the query.
181
181
  *
@@ -202,7 +202,40 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
202
202
  * ) collate utf8_unicode_ci
203
203
  * ```
204
204
  */
205
- modifyEnd(modifier: AnyRawBuilder): CreateTableBuilder<TB, C>;
205
+ modifyEnd(modifier: Expression<any>): CreateTableBuilder<TB, C>;
206
+ /**
207
+ * Calls the given function passing `this` as the only argument.
208
+ *
209
+ * ### Examples
210
+ *
211
+ * ```ts
212
+ * db.schema
213
+ * .createTable('test')
214
+ * .call((builder) => builder.addColumn('id', 'integer'))
215
+ * .execute()
216
+ * ```
217
+ *
218
+ * ```ts
219
+ * const addDefaultColumns = <T extends string, C extends string = never>(
220
+ * builder: CreateTableBuilder<T, C>
221
+ * ) => {
222
+ * return builder
223
+ * .addColumn('id', 'integer', (col) => col.notNull())
224
+ * .addColumn('created_at', 'date', (col) =>
225
+ * col.notNull().defaultTo(sql`now()`)
226
+ * )
227
+ * .addColumn('updated_at', 'date', (col) =>
228
+ * col.notNull().defaultTo(sql`now()`)
229
+ * )
230
+ * }
231
+ *
232
+ * db.schema
233
+ * .createTable('test')
234
+ * .call(addDefaultColumns)
235
+ * .execute()
236
+ * ```
237
+ */
238
+ call<T>(func: (qb: this) => T): T;
206
239
  toOperationNode(): CreateTableNode;
207
240
  compile(): CompiledQuery;
208
241
  execute(): Promise<void>;
@@ -210,7 +243,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
210
243
  export interface CreateTableBuilderProps {
211
244
  readonly queryId: QueryId;
212
245
  readonly executor: QueryExecutor;
213
- readonly createTableNode: CreateTableNode;
246
+ readonly node: CreateTableNode;
214
247
  }
215
248
  export declare type ColumnBuilderCallback = (builder: ColumnDefinitionBuilder) => ColumnDefinitionBuilder;
216
249
  export declare type ForeignKeyConstraintBuilderCallback = (builder: ForeignKeyConstraintBuilder) => ForeignKeyConstraintBuilder;
@@ -31,7 +31,7 @@ class CreateTableBuilder {
31
31
  temporary() {
32
32
  return new CreateTableBuilder({
33
33
  ...this.#props,
34
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.createTableNode, {
34
+ node: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.node, {
35
35
  temporary: true,
36
36
  }),
37
37
  });
@@ -45,7 +45,7 @@ class CreateTableBuilder {
45
45
  onCommit(onCommit) {
46
46
  return new CreateTableBuilder({
47
47
  ...this.#props,
48
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.createTableNode, {
48
+ node: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.node, {
49
49
  onCommit: (0, on_commit_action_parse_js_1.parseOnCommitAction)(onCommit),
50
50
  }),
51
51
  });
@@ -58,7 +58,7 @@ class CreateTableBuilder {
58
58
  ifNotExists() {
59
59
  return new CreateTableBuilder({
60
60
  ...this.#props,
61
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.createTableNode, {
61
+ node: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.node, {
62
62
  ifNotExists: true,
63
63
  }),
64
64
  });
@@ -111,7 +111,7 @@ class CreateTableBuilder {
111
111
  const columnBuilder = build(new column_definition_builder_js_1.ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.create(columnName, (0, data_type_parser_js_1.parseDataTypeExpression)(dataType))));
112
112
  return new CreateTableBuilder({
113
113
  ...this.#props,
114
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWithColumn(this.#props.createTableNode, columnBuilder.toOperationNode()),
114
+ node: create_table_node_js_1.CreateTableNode.cloneWithColumn(this.#props.node, columnBuilder.toOperationNode()),
115
115
  });
116
116
  }
117
117
  /**
@@ -129,7 +129,7 @@ class CreateTableBuilder {
129
129
  addPrimaryKeyConstraint(constraintName, columns) {
130
130
  return new CreateTableBuilder({
131
131
  ...this.#props,
132
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.createTableNode, primary_constraint_node_js_1.PrimaryConstraintNode.create(columns, constraintName)),
132
+ node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, primary_constraint_node_js_1.PrimaryConstraintNode.create(columns, constraintName)),
133
133
  });
134
134
  }
135
135
  /**
@@ -147,7 +147,7 @@ class CreateTableBuilder {
147
147
  addUniqueConstraint(constraintName, columns) {
148
148
  return new CreateTableBuilder({
149
149
  ...this.#props,
150
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.createTableNode, unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)),
150
+ node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)),
151
151
  });
152
152
  }
153
153
  /**
@@ -167,7 +167,7 @@ class CreateTableBuilder {
167
167
  addCheckConstraint(constraintName, checkExpression) {
168
168
  return new CreateTableBuilder({
169
169
  ...this.#props,
170
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.createTableNode, check_constraint_node_js_1.CheckConstraintNode.create(checkExpression.toOperationNode(), constraintName)),
170
+ node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, check_constraint_node_js_1.CheckConstraintNode.create(checkExpression.toOperationNode(), constraintName)),
171
171
  });
172
172
  }
173
173
  /**
@@ -203,7 +203,7 @@ class CreateTableBuilder {
203
203
  const builder = build(new foreign_key_constraint_builder_js_1.ForeignKeyConstraintBuilder(foreign_key_constraint_node_js_1.ForeignKeyConstraintNode.create(columns.map(column_node_js_1.ColumnNode.create), (0, table_parser_js_1.parseTable)(targetTable), targetColumns.map(column_node_js_1.ColumnNode.create), constraintName)));
204
204
  return new CreateTableBuilder({
205
205
  ...this.#props,
206
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.createTableNode, builder.toOperationNode()),
206
+ node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, builder.toOperationNode()),
207
207
  });
208
208
  }
209
209
  /**
@@ -216,7 +216,7 @@ class CreateTableBuilder {
216
216
  * ```ts
217
217
  * db.schema.createTable('person')
218
218
  * .modifyFront(sql`global temporary`)
219
- * .addColumn('id', 'integer', col => col => primaryKey())
219
+ * .addColumn('id', 'integer', col => col.primaryKey())
220
220
  * .addColumn('first_name', 'varchar(64)', col => col.notNull())
221
221
  * .addColumn('last_name', 'varchar(64), col => col.notNull())
222
222
  * .execute()
@@ -235,7 +235,7 @@ class CreateTableBuilder {
235
235
  modifyFront(modifier) {
236
236
  return new CreateTableBuilder({
237
237
  ...this.#props,
238
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWithFrontModifier(this.#props.createTableNode, modifier.toOperationNode()),
238
+ node: create_table_node_js_1.CreateTableNode.cloneWithFrontModifier(this.#props.node, modifier.toOperationNode()),
239
239
  });
240
240
  }
241
241
  /**
@@ -267,11 +267,46 @@ class CreateTableBuilder {
267
267
  modifyEnd(modifier) {
268
268
  return new CreateTableBuilder({
269
269
  ...this.#props,
270
- createTableNode: create_table_node_js_1.CreateTableNode.cloneWithEndModifier(this.#props.createTableNode, modifier.toOperationNode()),
270
+ node: create_table_node_js_1.CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()),
271
271
  });
272
272
  }
273
+ /**
274
+ * Calls the given function passing `this` as the only argument.
275
+ *
276
+ * ### Examples
277
+ *
278
+ * ```ts
279
+ * db.schema
280
+ * .createTable('test')
281
+ * .call((builder) => builder.addColumn('id', 'integer'))
282
+ * .execute()
283
+ * ```
284
+ *
285
+ * ```ts
286
+ * const addDefaultColumns = <T extends string, C extends string = never>(
287
+ * builder: CreateTableBuilder<T, C>
288
+ * ) => {
289
+ * return builder
290
+ * .addColumn('id', 'integer', (col) => col.notNull())
291
+ * .addColumn('created_at', 'date', (col) =>
292
+ * col.notNull().defaultTo(sql`now()`)
293
+ * )
294
+ * .addColumn('updated_at', 'date', (col) =>
295
+ * col.notNull().defaultTo(sql`now()`)
296
+ * )
297
+ * }
298
+ *
299
+ * db.schema
300
+ * .createTable('test')
301
+ * .call(addDefaultColumns)
302
+ * .execute()
303
+ * ```
304
+ */
305
+ call(func) {
306
+ return func(this);
307
+ }
273
308
  toOperationNode() {
274
- return this.#props.executor.transformQuery(this.#props.createTableNode, this.#props.queryId);
309
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
275
310
  }
276
311
  compile() {
277
312
  return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
@@ -24,5 +24,5 @@ export declare class CreateTypeBuilder implements OperationNodeSource, Compilabl
24
24
  export interface CreateTypeBuilderProps {
25
25
  readonly queryId: QueryId;
26
26
  readonly executor: QueryExecutor;
27
- readonly createTypeNode: CreateTypeNode;
27
+ readonly node: CreateTypeNode;
28
28
  }
@@ -10,7 +10,7 @@ class CreateTypeBuilder {
10
10
  this.#props = (0, object_utils_js_1.freeze)(props);
11
11
  }
12
12
  toOperationNode() {
13
- return this.#props.executor.transformQuery(this.#props.createTypeNode, this.#props.queryId);
13
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
14
14
  }
15
15
  /**
16
16
  * Creates an anum type.
@@ -24,7 +24,7 @@ class CreateTypeBuilder {
24
24
  asEnum(values) {
25
25
  return new CreateTypeBuilder({
26
26
  ...this.#props,
27
- createTypeNode: create_type_node_js_1.CreateTypeNode.cloneWithEnum(this.#props.createTypeNode, values),
27
+ node: create_type_node_js_1.CreateTypeNode.cloneWithEnum(this.#props.node, values),
28
28
  });
29
29
  }
30
30
  compile() {
@@ -4,7 +4,8 @@ import { Compilable } from '../util/compilable.js';
4
4
  import { QueryExecutor } from '../query-executor/query-executor.js';
5
5
  import { QueryId } from '../util/query-id.js';
6
6
  import { CreateViewNode } from '../operation-node/create-view-node.js';
7
- import { AnyRawBuilder, AnySelectQueryBuilder } from '../util/type-utils.js';
7
+ import { AnySelectQueryBuilder } from '../util/type-utils.js';
8
+ import { RawBuilder } from '../raw-builder/raw-builder.js';
8
9
  export declare class CreateViewBuilder implements OperationNodeSource, Compilable {
9
10
  #private;
10
11
  constructor(props: CreateViewBuilderProps);
@@ -30,7 +31,7 @@ export declare class CreateViewBuilder implements OperationNodeSource, Compilabl
30
31
  * string opening an SQL injection vulnerability. DO NOT pass unchecked user input
31
32
  * into the query or raw expression passed to this method!
32
33
  */
33
- as(query: AnySelectQueryBuilder | AnyRawBuilder): CreateViewBuilder;
34
+ as(query: AnySelectQueryBuilder | RawBuilder<any>): CreateViewBuilder;
34
35
  toOperationNode(): CreateViewNode;
35
36
  compile(): CompiledQuery;
36
37
  execute(): Promise<void>;
@@ -38,5 +39,5 @@ export declare class CreateViewBuilder implements OperationNodeSource, Compilabl
38
39
  export interface CreateViewBuilderProps {
39
40
  readonly queryId: QueryId;
40
41
  readonly executor: QueryExecutor;
41
- readonly createViewNode: CreateViewNode;
42
+ readonly node: CreateViewNode;
42
43
  }
@@ -19,7 +19,7 @@ class CreateViewBuilder {
19
19
  temporary() {
20
20
  return new CreateViewBuilder({
21
21
  ...this.#props,
22
- createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
22
+ node: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.node, {
23
23
  temporary: true,
24
24
  }),
25
25
  });
@@ -27,7 +27,7 @@ class CreateViewBuilder {
27
27
  materialized() {
28
28
  return new CreateViewBuilder({
29
29
  ...this.#props,
30
- createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
30
+ node: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.node, {
31
31
  materialized: true,
32
32
  }),
33
33
  });
@@ -38,7 +38,7 @@ class CreateViewBuilder {
38
38
  ifNotExists() {
39
39
  return new CreateViewBuilder({
40
40
  ...this.#props,
41
- createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
41
+ node: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.node, {
42
42
  ifNotExists: true,
43
43
  }),
44
44
  });
@@ -46,7 +46,7 @@ class CreateViewBuilder {
46
46
  orReplace() {
47
47
  return new CreateViewBuilder({
48
48
  ...this.#props,
49
- createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
49
+ node: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.node, {
50
50
  orReplace: true,
51
51
  }),
52
52
  });
@@ -54,7 +54,7 @@ class CreateViewBuilder {
54
54
  columns(columns) {
55
55
  return new CreateViewBuilder({
56
56
  ...this.#props,
57
- createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
57
+ node: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.node, {
58
58
  columns: columns.map(reference_parser_js_1.parseColumnName),
59
59
  }),
60
60
  });
@@ -74,13 +74,13 @@ class CreateViewBuilder {
74
74
  .toOperationNode();
75
75
  return new CreateViewBuilder({
76
76
  ...this.#props,
77
- createViewNode: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.createViewNode, {
77
+ node: create_view_node_js_1.CreateViewNode.cloneWith(this.#props.node, {
78
78
  as: queryNode,
79
79
  }),
80
80
  });
81
81
  }
82
82
  toOperationNode() {
83
- return this.#props.executor.transformQuery(this.#props.createViewNode, this.#props.queryId);
83
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
84
84
  }
85
85
  compile() {
86
86
  return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
@@ -21,5 +21,5 @@ export declare class DropIndexBuilder implements OperationNodeSource, Compilable
21
21
  export interface DropIndexBuilderProps {
22
22
  readonly queryId: QueryId;
23
23
  readonly executor: QueryExecutor;
24
- readonly dropIndexNode: DropIndexNode;
24
+ readonly node: DropIndexNode;
25
25
  }
@@ -17,7 +17,7 @@ class DropIndexBuilder {
17
17
  on(table) {
18
18
  return new DropIndexBuilder({
19
19
  ...this.#props,
20
- dropIndexNode: drop_index_node_js_1.DropIndexNode.cloneWith(this.#props.dropIndexNode, {
20
+ node: drop_index_node_js_1.DropIndexNode.cloneWith(this.#props.node, {
21
21
  table: (0, table_parser_js_1.parseTable)(table),
22
22
  }),
23
23
  });
@@ -25,7 +25,7 @@ class DropIndexBuilder {
25
25
  ifExists() {
26
26
  return new DropIndexBuilder({
27
27
  ...this.#props,
28
- dropIndexNode: drop_index_node_js_1.DropIndexNode.cloneWith(this.#props.dropIndexNode, {
28
+ node: drop_index_node_js_1.DropIndexNode.cloneWith(this.#props.node, {
29
29
  ifExists: true,
30
30
  }),
31
31
  });
@@ -33,13 +33,13 @@ class DropIndexBuilder {
33
33
  cascade() {
34
34
  return new DropIndexBuilder({
35
35
  ...this.#props,
36
- dropIndexNode: drop_index_node_js_1.DropIndexNode.cloneWith(this.#props.dropIndexNode, {
36
+ node: drop_index_node_js_1.DropIndexNode.cloneWith(this.#props.node, {
37
37
  cascade: true,
38
38
  }),
39
39
  });
40
40
  }
41
41
  toOperationNode() {
42
- return this.#props.executor.transformQuery(this.#props.dropIndexNode, this.#props.queryId);
42
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
43
43
  }
44
44
  compile() {
45
45
  return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
@@ -16,5 +16,5 @@ export declare class DropSchemaBuilder implements OperationNodeSource, Compilabl
16
16
  export interface DropSchemaBuilderProps {
17
17
  readonly queryId: QueryId;
18
18
  readonly executor: QueryExecutor;
19
- readonly dropSchemaNode: DropSchemaNode;
19
+ readonly node: DropSchemaNode;
20
20
  }
@@ -12,7 +12,7 @@ class DropSchemaBuilder {
12
12
  ifExists() {
13
13
  return new DropSchemaBuilder({
14
14
  ...this.#props,
15
- dropSchemaNode: drop_schema_node_js_1.DropSchemaNode.cloneWith(this.#props.dropSchemaNode, {
15
+ node: drop_schema_node_js_1.DropSchemaNode.cloneWith(this.#props.node, {
16
16
  ifExists: true,
17
17
  }),
18
18
  });
@@ -20,13 +20,13 @@ class DropSchemaBuilder {
20
20
  cascade() {
21
21
  return new DropSchemaBuilder({
22
22
  ...this.#props,
23
- dropSchemaNode: drop_schema_node_js_1.DropSchemaNode.cloneWith(this.#props.dropSchemaNode, {
23
+ node: drop_schema_node_js_1.DropSchemaNode.cloneWith(this.#props.node, {
24
24
  cascade: true,
25
25
  }),
26
26
  });
27
27
  }
28
28
  toOperationNode() {
29
- return this.#props.executor.transformQuery(this.#props.dropSchemaNode, this.#props.queryId);
29
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
30
30
  }
31
31
  compile() {
32
32
  return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
@@ -16,5 +16,5 @@ export declare class DropTableBuilder implements OperationNodeSource, Compilable
16
16
  export interface DropTableBuilderProps {
17
17
  readonly queryId: QueryId;
18
18
  readonly executor: QueryExecutor;
19
- readonly dropTableNode: DropTableNode;
19
+ readonly node: DropTableNode;
20
20
  }
@@ -12,7 +12,7 @@ class DropTableBuilder {
12
12
  ifExists() {
13
13
  return new DropTableBuilder({
14
14
  ...this.#props,
15
- dropTableNode: drop_table_node_js_1.DropTableNode.cloneWith(this.#props.dropTableNode, {
15
+ node: drop_table_node_js_1.DropTableNode.cloneWith(this.#props.node, {
16
16
  ifExists: true,
17
17
  }),
18
18
  });
@@ -20,13 +20,13 @@ class DropTableBuilder {
20
20
  cascade() {
21
21
  return new DropTableBuilder({
22
22
  ...this.#props,
23
- dropTableNode: drop_table_node_js_1.DropTableNode.cloneWith(this.#props.dropTableNode, {
23
+ node: drop_table_node_js_1.DropTableNode.cloneWith(this.#props.node, {
24
24
  cascade: true,
25
25
  }),
26
26
  });
27
27
  }
28
28
  toOperationNode() {
29
- return this.#props.executor.transformQuery(this.#props.dropTableNode, this.#props.queryId);
29
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
30
30
  }
31
31
  compile() {
32
32
  return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
@@ -15,5 +15,5 @@ export declare class DropTypeBuilder implements OperationNodeSource, Compilable
15
15
  export interface DropTypeBuilderProps {
16
16
  readonly queryId: QueryId;
17
17
  readonly executor: QueryExecutor;
18
- readonly dropTypeNode: DropTypeNode;
18
+ readonly node: DropTypeNode;
19
19
  }
@@ -12,13 +12,13 @@ class DropTypeBuilder {
12
12
  ifExists() {
13
13
  return new DropTypeBuilder({
14
14
  ...this.#props,
15
- dropTypeNode: drop_type_node_js_1.DropTypeNode.cloneWith(this.#props.dropTypeNode, {
15
+ node: drop_type_node_js_1.DropTypeNode.cloneWith(this.#props.node, {
16
16
  ifExists: true,
17
17
  }),
18
18
  });
19
19
  }
20
20
  toOperationNode() {
21
- return this.#props.executor.transformQuery(this.#props.dropTypeNode, this.#props.queryId);
21
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
22
22
  }
23
23
  compile() {
24
24
  return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
@@ -17,5 +17,5 @@ export declare class DropViewBuilder implements OperationNodeSource, Compilable
17
17
  export interface DropViewBuilderProps {
18
18
  readonly queryId: QueryId;
19
19
  readonly executor: QueryExecutor;
20
- readonly dropViewNode: DropViewNode;
20
+ readonly node: DropViewNode;
21
21
  }
@@ -12,7 +12,7 @@ class DropViewBuilder {
12
12
  materialized() {
13
13
  return new DropViewBuilder({
14
14
  ...this.#props,
15
- dropViewNode: drop_view_node_js_1.DropViewNode.cloneWith(this.#props.dropViewNode, {
15
+ node: drop_view_node_js_1.DropViewNode.cloneWith(this.#props.node, {
16
16
  materialized: true,
17
17
  }),
18
18
  });
@@ -20,7 +20,7 @@ class DropViewBuilder {
20
20
  ifExists() {
21
21
  return new DropViewBuilder({
22
22
  ...this.#props,
23
- dropViewNode: drop_view_node_js_1.DropViewNode.cloneWith(this.#props.dropViewNode, {
23
+ node: drop_view_node_js_1.DropViewNode.cloneWith(this.#props.node, {
24
24
  ifExists: true,
25
25
  }),
26
26
  });
@@ -28,13 +28,13 @@ class DropViewBuilder {
28
28
  cascade() {
29
29
  return new DropViewBuilder({
30
30
  ...this.#props,
31
- dropViewNode: drop_view_node_js_1.DropViewNode.cloneWith(this.#props.dropViewNode, {
31
+ node: drop_view_node_js_1.DropViewNode.cloneWith(this.#props.node, {
32
32
  cascade: true,
33
33
  }),
34
34
  });
35
35
  }
36
36
  toOperationNode() {
37
- return this.#props.executor.transformQuery(this.#props.dropViewNode, this.#props.queryId);
37
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
38
38
  }
39
39
  compile() {
40
40
  return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
@@ -186,7 +186,7 @@ export declare class SchemaModule {
186
186
  * .execute()
187
187
  * ```
188
188
  */
189
- createType(viewName: string): CreateTypeBuilder;
189
+ createType(typeName: string): CreateTypeBuilder;
190
190
  /**
191
191
  * Drop a type.
192
192
  *
@@ -201,7 +201,7 @@ export declare class SchemaModule {
201
201
  * .execute()
202
202
  * ```
203
203
  */
204
- dropType(viewName: string): DropTypeBuilder;
204
+ dropType(typeName: string): DropTypeBuilder;
205
205
  /**
206
206
  * Returns a copy of this schema module with the given plugin installed.
207
207
  */
@@ -26,6 +26,7 @@ const create_type_builder_js_1 = require("./create-type-builder.js");
26
26
  const drop_type_builder_js_1 = require("./drop-type-builder.js");
27
27
  const create_type_node_js_1 = require("../operation-node/create-type-node.js");
28
28
  const drop_type_node_js_1 = require("../operation-node/drop-type-node.js");
29
+ const identifier_parser_js_1 = require("../parser/identifier-parser.js");
29
30
  /**
30
31
  * Provides methods for building database schema.
31
32
  */
@@ -89,7 +90,7 @@ class SchemaModule {
89
90
  return new create_table_builder_js_1.CreateTableBuilder({
90
91
  queryId: (0, query_id_js_1.createQueryId)(),
91
92
  executor: this.#executor,
92
- createTableNode: create_table_node_js_1.CreateTableNode.create((0, table_parser_js_1.parseTable)(table)),
93
+ node: create_table_node_js_1.CreateTableNode.create((0, table_parser_js_1.parseTable)(table)),
93
94
  });
94
95
  }
95
96
  /**
@@ -107,7 +108,7 @@ class SchemaModule {
107
108
  return new drop_table_builder_js_1.DropTableBuilder({
108
109
  queryId: (0, query_id_js_1.createQueryId)(),
109
110
  executor: this.#executor,
110
- dropTableNode: drop_table_node_js_1.DropTableNode.create((0, table_parser_js_1.parseTable)(table)),
111
+ node: drop_table_node_js_1.DropTableNode.create((0, table_parser_js_1.parseTable)(table)),
111
112
  });
112
113
  }
113
114
  /**
@@ -127,7 +128,7 @@ class SchemaModule {
127
128
  return new create_index_builder_js_1.CreateIndexBuilder({
128
129
  queryId: (0, query_id_js_1.createQueryId)(),
129
130
  executor: this.#executor,
130
- createIndexNode: create_index_node_js_1.CreateIndexNode.create(indexName),
131
+ node: create_index_node_js_1.CreateIndexNode.create(indexName),
131
132
  });
132
133
  }
133
134
  /**
@@ -145,7 +146,7 @@ class SchemaModule {
145
146
  return new drop_index_builder_js_1.DropIndexBuilder({
146
147
  queryId: (0, query_id_js_1.createQueryId)(),
147
148
  executor: this.#executor,
148
- dropIndexNode: drop_index_node_js_1.DropIndexNode.create(indexName),
149
+ node: drop_index_node_js_1.DropIndexNode.create(indexName),
149
150
  });
150
151
  }
151
152
  /**
@@ -163,7 +164,7 @@ class SchemaModule {
163
164
  return new create_schema_builder_js_1.CreateSchemaBuilder({
164
165
  queryId: (0, query_id_js_1.createQueryId)(),
165
166
  executor: this.#executor,
166
- createSchemaNode: create_schema_node_js_1.CreateSchemaNode.create(schema),
167
+ node: create_schema_node_js_1.CreateSchemaNode.create(schema),
167
168
  });
168
169
  }
169
170
  /**
@@ -181,7 +182,7 @@ class SchemaModule {
181
182
  return new drop_schema_builder_js_1.DropSchemaBuilder({
182
183
  queryId: (0, query_id_js_1.createQueryId)(),
183
184
  executor: this.#executor,
184
- dropSchemaNode: drop_schema_node_js_1.DropSchemaNode.create(schema),
185
+ node: drop_schema_node_js_1.DropSchemaNode.create(schema),
185
186
  });
186
187
  }
187
188
  /**
@@ -201,7 +202,7 @@ class SchemaModule {
201
202
  return new alter_table_builder_js_1.AlterTableBuilder({
202
203
  queryId: (0, query_id_js_1.createQueryId)(),
203
204
  executor: this.#executor,
204
- alterTableNode: alter_table_node_js_1.AlterTableNode.create(table),
205
+ node: alter_table_node_js_1.AlterTableNode.create(table),
205
206
  });
206
207
  }
207
208
  /**
@@ -221,7 +222,7 @@ class SchemaModule {
221
222
  return new create_view_builder_js_1.CreateViewBuilder({
222
223
  queryId: (0, query_id_js_1.createQueryId)(),
223
224
  executor: this.#executor,
224
- createViewNode: create_view_node_js_1.CreateViewNode.create(viewName),
225
+ node: create_view_node_js_1.CreateViewNode.create(viewName),
225
226
  });
226
227
  }
227
228
  /**
@@ -240,7 +241,7 @@ class SchemaModule {
240
241
  return new drop_view_builder_js_1.DropViewBuilder({
241
242
  queryId: (0, query_id_js_1.createQueryId)(),
242
243
  executor: this.#executor,
243
- dropViewNode: drop_view_node_js_1.DropViewNode.create(viewName),
244
+ node: drop_view_node_js_1.DropViewNode.create(viewName),
244
245
  });
245
246
  }
246
247
  /**
@@ -257,11 +258,11 @@ class SchemaModule {
257
258
  * .execute()
258
259
  * ```
259
260
  */
260
- createType(viewName) {
261
+ createType(typeName) {
261
262
  return new create_type_builder_js_1.CreateTypeBuilder({
262
263
  queryId: (0, query_id_js_1.createQueryId)(),
263
264
  executor: this.#executor,
264
- createTypeNode: create_type_node_js_1.CreateTypeNode.create(viewName),
265
+ node: create_type_node_js_1.CreateTypeNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(typeName)),
265
266
  });
266
267
  }
267
268
  /**
@@ -278,11 +279,11 @@ class SchemaModule {
278
279
  * .execute()
279
280
  * ```
280
281
  */
281
- dropType(viewName) {
282
+ dropType(typeName) {
282
283
  return new drop_type_builder_js_1.DropTypeBuilder({
283
284
  queryId: (0, query_id_js_1.createQueryId)(),
284
285
  executor: this.#executor,
285
- dropTypeNode: drop_type_node_js_1.DropTypeNode.create(viewName),
286
+ node: drop_type_node_js_1.DropTypeNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(typeName)),
286
287
  });
287
288
  }
288
289
  /**
@@ -1,4 +1,4 @@
1
1
  import { CompiledQuery } from '../query-compiler/compiled-query.js';
2
- export interface Compilable {
3
- compile(): CompiledQuery;
2
+ export interface Compilable<O = unknown> {
3
+ compile(): CompiledQuery<O>;
4
4
  }