kysely 0.16.2 → 0.16.6

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 (265) hide show
  1. package/README.md +4 -4
  2. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +205 -0
  3. package/dist/cjs/dialect/mysql/mysql-dialect-config.js +2 -0
  4. package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +1 -205
  5. package/dist/cjs/dialect/mysql/mysql-driver.d.ts +1 -1
  6. package/dist/cjs/dialect/mysql/mysql-driver.js +10 -2
  7. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +103 -0
  8. package/dist/cjs/dialect/postgres/postgres-dialect-config.js +2 -0
  9. package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +1 -103
  10. package/dist/cjs/dialect/postgres/postgres-driver.d.ts +1 -1
  11. package/dist/cjs/dialect/postgres/postgres-driver.js +11 -2
  12. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts +43 -0
  13. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.js +2 -0
  14. package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +1 -43
  15. package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +1 -1
  16. package/dist/cjs/dialect/sqlite/sqlite-driver.js +10 -2
  17. package/dist/cjs/driver/dummy-driver.d.ts +40 -0
  18. package/dist/cjs/driver/dummy-driver.js +34 -0
  19. package/dist/cjs/driver/runtime-driver.d.ts +1 -1
  20. package/dist/cjs/driver/runtime-driver.js +30 -33
  21. package/dist/cjs/index-nodeless.d.ts +1 -0
  22. package/dist/cjs/index-nodeless.js +1 -0
  23. package/dist/cjs/index.d.ts +3 -0
  24. package/dist/cjs/index.js +3 -0
  25. package/dist/cjs/migration/migrator.d.ts +2 -2
  26. package/dist/cjs/operation-node/primitive-value-list-node.d.ts +2 -3
  27. package/dist/cjs/operation-node/value-node.d.ts +3 -4
  28. package/dist/cjs/parser/complex-expression-parser.d.ts +1 -0
  29. package/dist/cjs/parser/complex-expression-parser.js +5 -1
  30. package/dist/cjs/parser/default-value-parser.d.ts +2 -3
  31. package/dist/cjs/parser/default-value-parser.js +2 -2
  32. package/dist/cjs/parser/insert-values-parser.js +4 -3
  33. package/dist/cjs/parser/reference-parser.d.ts +2 -3
  34. package/dist/cjs/parser/value-parser.d.ts +2 -3
  35. package/dist/cjs/parser/value-parser.js +6 -7
  36. package/dist/cjs/query-builder/expression-builder.d.ts +42 -0
  37. package/dist/cjs/query-builder/expression-builder.js +48 -0
  38. package/dist/cjs/query-builder/insert-query-builder.d.ts +16 -0
  39. package/dist/cjs/query-builder/insert-query-builder.js +16 -0
  40. package/dist/cjs/query-builder/on-conflict-builder.d.ts +5 -3
  41. package/dist/cjs/query-compiler/default-query-compiler.d.ts +1 -2
  42. package/dist/cjs/query-creator.d.ts +1 -1
  43. package/dist/cjs/schema/alter-table-builder.d.ts +30 -4
  44. package/dist/cjs/schema/alter-table-builder.js +2 -5
  45. package/dist/cjs/schema/column-definition-builder.d.ts +27 -2
  46. package/dist/cjs/util/log.d.ts +1 -0
  47. package/dist/cjs/util/log.js +3 -0
  48. package/dist/cjs/util/object-utils.d.ts +4 -5
  49. package/dist/cjs/util/object-utils.js +3 -11
  50. package/dist/esm/dialect/database-introspector.js +1 -0
  51. package/dist/esm/dialect/dialect-adapter-base.js +1 -0
  52. package/dist/esm/dialect/dialect-adapter.js +1 -0
  53. package/dist/esm/dialect/dialect.js +1 -0
  54. package/dist/esm/dialect/mysql/mysql-adapter.js +1 -0
  55. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +205 -0
  56. package/dist/esm/dialect/mysql/mysql-dialect-config.js +2 -0
  57. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +1 -205
  58. package/dist/esm/dialect/mysql/mysql-dialect.js +1 -0
  59. package/dist/esm/dialect/mysql/mysql-driver.d.ts +1 -1
  60. package/dist/esm/dialect/mysql/mysql-driver.js +12 -3
  61. package/dist/esm/dialect/mysql/mysql-introspector.js +1 -0
  62. package/dist/esm/dialect/mysql/mysql-query-compiler.js +1 -0
  63. package/dist/esm/dialect/postgres/postgres-adapter.js +1 -0
  64. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +103 -0
  65. package/dist/esm/dialect/postgres/postgres-dialect-config.js +2 -0
  66. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +1 -103
  67. package/dist/esm/dialect/postgres/postgres-dialect.js +1 -0
  68. package/dist/esm/dialect/postgres/postgres-driver.d.ts +1 -1
  69. package/dist/esm/dialect/postgres/postgres-driver.js +12 -2
  70. package/dist/esm/dialect/postgres/postgres-introspector.js +1 -0
  71. package/dist/esm/dialect/postgres/postgres-query-compiler.js +1 -0
  72. package/dist/esm/dialect/sqlite/sqlite-adapter.js +1 -0
  73. package/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts +43 -0
  74. package/dist/esm/dialect/sqlite/sqlite-dialect-config.js +2 -0
  75. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +1 -43
  76. package/dist/esm/dialect/sqlite/sqlite-dialect.js +1 -0
  77. package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +1 -1
  78. package/dist/esm/dialect/sqlite/sqlite-driver.js +11 -2
  79. package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
  80. package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +1 -0
  81. package/dist/esm/driver/connection-provider.js +1 -0
  82. package/dist/esm/driver/database-connection.js +1 -0
  83. package/dist/esm/driver/default-connection-provider.js +1 -0
  84. package/dist/esm/driver/driver.js +1 -0
  85. package/dist/esm/driver/dummy-driver.d.ts +40 -0
  86. package/dist/esm/driver/dummy-driver.js +31 -0
  87. package/dist/esm/driver/runtime-driver.d.ts +1 -1
  88. package/dist/esm/driver/runtime-driver.js +30 -32
  89. package/dist/esm/driver/single-connection-provider.js +1 -0
  90. package/dist/esm/dynamic/dynamic-reference-builder.js +1 -0
  91. package/dist/esm/dynamic/dynamic.js +1 -0
  92. package/dist/esm/index-nodeless.d.ts +1 -0
  93. package/dist/esm/index-nodeless.js +2 -0
  94. package/dist/esm/index.d.ts +3 -0
  95. package/dist/esm/index.js +4 -0
  96. package/dist/esm/kysely.js +1 -0
  97. package/dist/esm/migration/file-migration-provider.js +1 -0
  98. package/dist/esm/migration/migrator.d.ts +2 -2
  99. package/dist/esm/migration/migrator.js +1 -0
  100. package/dist/esm/operation-node/add-column-node.js +1 -0
  101. package/dist/esm/operation-node/add-constraint-node.js +1 -0
  102. package/dist/esm/operation-node/alias-node.js +1 -0
  103. package/dist/esm/operation-node/alter-column-node.js +1 -0
  104. package/dist/esm/operation-node/alter-table-node.js +1 -0
  105. package/dist/esm/operation-node/and-node.js +1 -0
  106. package/dist/esm/operation-node/check-constraint-node.js +1 -0
  107. package/dist/esm/operation-node/column-definition-node.js +1 -0
  108. package/dist/esm/operation-node/column-node.js +1 -0
  109. package/dist/esm/operation-node/column-update-node.js +1 -0
  110. package/dist/esm/operation-node/common-table-expression-name-node.js +1 -0
  111. package/dist/esm/operation-node/common-table-expression-node.js +1 -0
  112. package/dist/esm/operation-node/constraint-node.js +1 -0
  113. package/dist/esm/operation-node/create-index-node.js +1 -0
  114. package/dist/esm/operation-node/create-schema-node.js +1 -0
  115. package/dist/esm/operation-node/create-table-node.js +1 -0
  116. package/dist/esm/operation-node/create-view-node.js +1 -0
  117. package/dist/esm/operation-node/data-type-node.js +1 -0
  118. package/dist/esm/operation-node/default-value-node.js +1 -0
  119. package/dist/esm/operation-node/delete-query-node.js +1 -0
  120. package/dist/esm/operation-node/drop-column-node.js +1 -0
  121. package/dist/esm/operation-node/drop-constraint-node.js +1 -0
  122. package/dist/esm/operation-node/drop-index-node.js +1 -0
  123. package/dist/esm/operation-node/drop-schema-node.js +1 -0
  124. package/dist/esm/operation-node/drop-table-node.js +1 -0
  125. package/dist/esm/operation-node/drop-view-node.js +1 -0
  126. package/dist/esm/operation-node/filter-node.js +1 -0
  127. package/dist/esm/operation-node/foreign-key-constraint-node.js +1 -0
  128. package/dist/esm/operation-node/from-node.js +1 -0
  129. package/dist/esm/operation-node/generated-node.js +1 -0
  130. package/dist/esm/operation-node/group-by-item-node.js +1 -0
  131. package/dist/esm/operation-node/group-by-node.js +1 -0
  132. package/dist/esm/operation-node/having-node.js +1 -0
  133. package/dist/esm/operation-node/identifier-node.js +1 -0
  134. package/dist/esm/operation-node/insert-query-node.js +1 -0
  135. package/dist/esm/operation-node/join-node.js +1 -0
  136. package/dist/esm/operation-node/limit-node.js +1 -0
  137. package/dist/esm/operation-node/list-node.js +1 -0
  138. package/dist/esm/operation-node/modify-column-node.js +1 -0
  139. package/dist/esm/operation-node/offset-node.js +1 -0
  140. package/dist/esm/operation-node/on-conflict-node.js +1 -0
  141. package/dist/esm/operation-node/on-duplicate-key-node.js +1 -0
  142. package/dist/esm/operation-node/on-node.js +1 -0
  143. package/dist/esm/operation-node/operation-node-source.js +1 -0
  144. package/dist/esm/operation-node/operation-node-transformer.js +1 -0
  145. package/dist/esm/operation-node/operation-node-utils.js +1 -0
  146. package/dist/esm/operation-node/operation-node-visitor.js +1 -0
  147. package/dist/esm/operation-node/operation-node.js +1 -0
  148. package/dist/esm/operation-node/operator-node.js +1 -0
  149. package/dist/esm/operation-node/or-node.js +1 -0
  150. package/dist/esm/operation-node/order-by-item-node.js +1 -0
  151. package/dist/esm/operation-node/order-by-node.js +1 -0
  152. package/dist/esm/operation-node/parens-node.js +1 -0
  153. package/dist/esm/operation-node/primary-constraint-node.js +1 -0
  154. package/dist/esm/operation-node/primitive-value-list-node.d.ts +2 -3
  155. package/dist/esm/operation-node/primitive-value-list-node.js +1 -0
  156. package/dist/esm/operation-node/query-node.js +1 -0
  157. package/dist/esm/operation-node/raw-node.js +1 -0
  158. package/dist/esm/operation-node/reference-node.js +1 -0
  159. package/dist/esm/operation-node/references-node.js +1 -0
  160. package/dist/esm/operation-node/rename-column-node.js +1 -0
  161. package/dist/esm/operation-node/returning-node.js +1 -0
  162. package/dist/esm/operation-node/select-all-node.js +1 -0
  163. package/dist/esm/operation-node/select-query-node.js +1 -0
  164. package/dist/esm/operation-node/selection-node.js +1 -0
  165. package/dist/esm/operation-node/table-node.js +1 -0
  166. package/dist/esm/operation-node/union-node.js +1 -0
  167. package/dist/esm/operation-node/unique-constraint-node.js +1 -0
  168. package/dist/esm/operation-node/update-query-node.js +1 -0
  169. package/dist/esm/operation-node/value-list-node.js +1 -0
  170. package/dist/esm/operation-node/value-node.d.ts +3 -4
  171. package/dist/esm/operation-node/value-node.js +1 -0
  172. package/dist/esm/operation-node/values-node.js +1 -0
  173. package/dist/esm/operation-node/where-node.js +1 -0
  174. package/dist/esm/operation-node/with-node.js +1 -0
  175. package/dist/esm/parser/complex-expression-parser.d.ts +1 -0
  176. package/dist/esm/parser/complex-expression-parser.js +4 -0
  177. package/dist/esm/parser/data-type-parser.js +1 -0
  178. package/dist/esm/parser/default-value-parser.d.ts +2 -3
  179. package/dist/esm/parser/default-value-parser.js +3 -2
  180. package/dist/esm/parser/filter-parser.js +1 -0
  181. package/dist/esm/parser/group-by-parser.js +1 -0
  182. package/dist/esm/parser/insert-values-parser.js +6 -4
  183. package/dist/esm/parser/join-parser.js +1 -0
  184. package/dist/esm/parser/order-by-parser.js +1 -0
  185. package/dist/esm/parser/parse-context.js +1 -0
  186. package/dist/esm/parser/reference-parser.d.ts +2 -3
  187. package/dist/esm/parser/reference-parser.js +2 -1
  188. package/dist/esm/parser/returning-parser.js +1 -0
  189. package/dist/esm/parser/select-parser.js +1 -0
  190. package/dist/esm/parser/table-parser.js +1 -0
  191. package/dist/esm/parser/union-parser.js +1 -0
  192. package/dist/esm/parser/update-set-parser.js +1 -0
  193. package/dist/esm/parser/value-parser.d.ts +2 -3
  194. package/dist/esm/parser/value-parser.js +9 -9
  195. package/dist/esm/parser/with-parser.js +1 -0
  196. package/dist/esm/plugin/camel-case/camel-case-plugin.js +1 -0
  197. package/dist/esm/plugin/camel-case/camel-case-transformer.js +1 -0
  198. package/dist/esm/plugin/camel-case/camel-case.js +1 -0
  199. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +1 -0
  200. package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.js +1 -0
  201. package/dist/esm/plugin/kysely-plugin.js +1 -0
  202. package/dist/esm/plugin/with-schema/with-schema-plugin.js +1 -0
  203. package/dist/esm/plugin/with-schema/with-schema-transformer.js +1 -0
  204. package/dist/esm/query-builder/delete-query-builder.js +1 -0
  205. package/dist/esm/query-builder/delete-result.js +1 -0
  206. package/dist/esm/query-builder/expression-builder.d.ts +42 -0
  207. package/dist/esm/query-builder/expression-builder.js +49 -0
  208. package/dist/esm/query-builder/function-builder.js +1 -0
  209. package/dist/esm/query-builder/having-interface.js +1 -0
  210. package/dist/esm/query-builder/insert-query-builder.d.ts +16 -0
  211. package/dist/esm/query-builder/insert-query-builder.js +17 -0
  212. package/dist/esm/query-builder/insert-result.js +1 -0
  213. package/dist/esm/query-builder/join-builder.js +1 -0
  214. package/dist/esm/query-builder/join-interface.js +1 -0
  215. package/dist/esm/query-builder/no-result-error.js +1 -0
  216. package/dist/esm/query-builder/on-conflict-builder.d.ts +5 -3
  217. package/dist/esm/query-builder/on-conflict-builder.js +1 -0
  218. package/dist/esm/query-builder/returning-interface.js +1 -0
  219. package/dist/esm/query-builder/select-query-builder.js +1 -0
  220. package/dist/esm/query-builder/update-query-builder.js +1 -0
  221. package/dist/esm/query-builder/update-result.js +1 -0
  222. package/dist/esm/query-builder/where-interface.js +1 -0
  223. package/dist/esm/query-compiler/compiled-query.js +1 -0
  224. package/dist/esm/query-compiler/default-query-compiler.d.ts +1 -2
  225. package/dist/esm/query-compiler/default-query-compiler.js +1 -0
  226. package/dist/esm/query-compiler/query-compiler.js +1 -0
  227. package/dist/esm/query-creator.d.ts +1 -1
  228. package/dist/esm/query-creator.js +1 -0
  229. package/dist/esm/query-executor/default-query-executor.js +1 -0
  230. package/dist/esm/query-executor/noop-query-executor.js +1 -0
  231. package/dist/esm/query-executor/query-executor.js +1 -0
  232. package/dist/esm/raw-builder/raw-builder.js +1 -0
  233. package/dist/esm/schema/alter-table-builder.d.ts +30 -4
  234. package/dist/esm/schema/alter-table-builder.js +3 -5
  235. package/dist/esm/schema/column-definition-builder.d.ts +27 -2
  236. package/dist/esm/schema/column-definition-builder.js +1 -0
  237. package/dist/esm/schema/create-index-builder.js +1 -0
  238. package/dist/esm/schema/create-schema-builder.js +1 -0
  239. package/dist/esm/schema/create-table-builder.js +1 -0
  240. package/dist/esm/schema/create-view-builder.js +1 -0
  241. package/dist/esm/schema/drop-index-builder.js +1 -0
  242. package/dist/esm/schema/drop-schema-builder.js +1 -0
  243. package/dist/esm/schema/drop-table-builder.js +1 -0
  244. package/dist/esm/schema/drop-view-builder.js +1 -0
  245. package/dist/esm/schema/foreign-key-constraint-builder.js +1 -0
  246. package/dist/esm/schema/schema.js +1 -0
  247. package/dist/esm/util/assert.js +1 -0
  248. package/dist/esm/util/column-type.js +1 -0
  249. package/dist/esm/util/compilable.js +1 -0
  250. package/dist/esm/util/log.d.ts +1 -0
  251. package/dist/esm/util/log.js +4 -0
  252. package/dist/esm/util/object-utils.d.ts +4 -5
  253. package/dist/esm/util/object-utils.js +3 -9
  254. package/dist/esm/util/performance-now.js +1 -0
  255. package/dist/esm/util/prevent-await.js +1 -0
  256. package/dist/esm/util/private-symbols.js +1 -0
  257. package/dist/esm/util/query-id.js +1 -0
  258. package/dist/esm/util/random-string.js +1 -0
  259. package/dist/esm/util/type-utils.js +1 -0
  260. package/package.json +11 -6
  261. package/.prettierignore +0 -1
  262. package/dist/cjs/util/dynamic-import.d.ts +0 -2
  263. package/dist/cjs/util/dynamic-import.js +0 -32
  264. package/dist/esm/util/dynamic-import.d.ts +0 -2
  265. package/dist/esm/util/dynamic-import.js +0 -27
@@ -1,8 +1,9 @@
1
+ /// <reference types="./reference-parser.d.ts" />
1
2
  import { AliasNode } from '../operation-node/alias-node.js';
2
3
  import { ColumnNode } from '../operation-node/column-node.js';
3
4
  import { ReferenceNode } from '../operation-node/reference-node.js';
4
5
  import { TableNode } from '../operation-node/table-node.js';
5
- import { isReadonlyArray, isString, } from '../util/object-utils.js';
6
+ import { isReadonlyArray, isString } from '../util/object-utils.js';
6
7
  import { parseComplexExpression, } from './complex-expression-parser.js';
7
8
  import { isDynamicReferenceBuilder, } from '../dynamic/dynamic-reference-builder.js';
8
9
  export function parseReferenceExpressionOrList(ctx, arg) {
@@ -1 +1,2 @@
1
+ /// <reference types="./returning-parser.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./select-parser.d.ts" />
1
2
  import { isReadonlyArray, isString } from '../util/object-utils.js';
2
3
  import { SelectionNode } from '../operation-node/selection-node.js';
3
4
  import { parseAliasedStringReference } from './reference-parser.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./table-parser.d.ts" />
1
2
  import { isReadonlyArray, isString } from '../util/object-utils.js';
2
3
  import { AliasNode } from '../operation-node/alias-node.js';
3
4
  import { TableNode } from '../operation-node/table-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./union-parser.d.ts" />
1
2
  import { UnionNode } from '../operation-node/union-node.js';
2
3
  export function parseUnion(union, all) {
3
4
  return UnionNode.create(union.toOperationNode(), all);
@@ -1,3 +1,4 @@
1
+ /// <reference types="./update-set-parser.d.ts" />
1
2
  import { ColumnNode } from '../operation-node/column-node.js';
2
3
  import { ColumnUpdateNode } from '../operation-node/column-update-node.js';
3
4
  import { parseValueExpression } from './value-parser.js';
@@ -1,11 +1,10 @@
1
1
  import { ValueExpressionNode } from '../operation-node/operation-node-utils.js';
2
2
  import { ValueNode } from '../operation-node/value-node.js';
3
- import { PrimitiveValue } from '../util/object-utils.js';
4
3
  import { ParseContext } from './parse-context.js';
5
4
  import { SelectQueryNode } from '../operation-node/select-query-node.js';
6
5
  import { RawNode } from '../operation-node/raw-node.js';
7
6
  import { ComplexExpression } from './complex-expression-parser.js';
8
7
  export declare type ValueExpression<DB, TB extends keyof DB, V> = V | ComplexExpression<DB, TB>;
9
8
  export declare type ValueExpressionOrList<DB, TB extends keyof DB, V> = ValueExpression<DB, TB, V> | ReadonlyArray<ValueExpression<DB, TB, V>>;
10
- export declare function parseValueExpressionOrList(ctx: ParseContext, arg: ValueExpressionOrList<any, any, PrimitiveValue>): ValueExpressionNode;
11
- export declare function parseValueExpression(ctx: ParseContext, exp: ValueExpression<any, any, PrimitiveValue>): ValueNode | SelectQueryNode | RawNode;
9
+ export declare function parseValueExpressionOrList(ctx: ParseContext, arg: ValueExpressionOrList<any, any, unknown>): ValueExpressionNode;
10
+ export declare function parseValueExpression(ctx: ParseContext, exp: ValueExpression<any, any, unknown>): ValueNode | SelectQueryNode | RawNode;
@@ -1,8 +1,9 @@
1
+ /// <reference types="./value-parser.d.ts" />
1
2
  import { PrimitiveValueListNode } from '../operation-node/primitive-value-list-node.js';
2
3
  import { ValueListNode } from '../operation-node/value-list-node.js';
3
4
  import { ValueNode } from '../operation-node/value-node.js';
4
- import { isPrimitive, isReadonlyArray, } from '../util/object-utils.js';
5
- import { parseComplexExpression, } from './complex-expression-parser.js';
5
+ import { isReadonlyArray } from '../util/object-utils.js';
6
+ import { parseComplexExpression, isComplexExpression, } from './complex-expression-parser.js';
6
7
  export function parseValueExpressionOrList(ctx, arg) {
7
8
  if (isReadonlyArray(arg)) {
8
9
  return parseValueExpressionList(ctx, arg);
@@ -12,15 +13,14 @@ export function parseValueExpressionOrList(ctx, arg) {
12
13
  }
13
14
  }
14
15
  export function parseValueExpression(ctx, exp) {
15
- if (isPrimitive(exp)) {
16
- return ValueNode.create(exp);
16
+ if (isComplexExpression(exp)) {
17
+ return parseComplexExpression(ctx, exp);
17
18
  }
18
- return parseComplexExpression(ctx, exp);
19
+ return ValueNode.create(exp);
19
20
  }
20
21
  function parseValueExpressionList(ctx, arg) {
21
- if (arg.every(isPrimitive)) {
22
- // Optimization for large lists of primitive values.
23
- return PrimitiveValueListNode.create(arg);
22
+ if (arg.some(isComplexExpression)) {
23
+ return ValueListNode.create(arg.map((it) => parseValueExpression(ctx, it)));
24
24
  }
25
- return ValueListNode.create(arg.map((it) => parseValueExpression(ctx, it)));
25
+ return PrimitiveValueListNode.create(arg);
26
26
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="./with-parser.d.ts" />
1
2
  import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js';
2
3
  import { CommonTableExpressionNameNode } from '../operation-node/common-table-expression-name-node.js';
3
4
  export function parseCommonTableExpression(ctx, name, expression) {
@@ -1,3 +1,4 @@
1
+ /// <reference types="./camel-case-plugin.d.ts" />
1
2
  import { isBuffer, isDate, isObject } from '../../util/object-utils.js';
2
3
  import { SnakeCaseTransformer } from './camel-case-transformer.js';
3
4
  import { createCamelCaseMapper, createSnakeCaseMapper, } from './camel-case.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./camel-case-transformer.d.ts" />
1
2
  import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
2
3
  export class SnakeCaseTransformer extends OperationNodeTransformer {
3
4
  #snakeCase;
@@ -1,3 +1,4 @@
1
+ /// <reference types="./camel-case.d.ts" />
1
2
  /**
2
3
  * Creates a function that transforms camel case strings to snake case.
3
4
  */
@@ -1,3 +1,4 @@
1
+ /// <reference types="./immediate-value-plugin.d.ts" />
1
2
  import { ImmediateValueTransformer } from './immediate-value-transformer.js';
2
3
  /**
3
4
  * Transforms all ValueNodes to immediate.
@@ -1,3 +1,4 @@
1
+ /// <reference types="./immediate-value-transformer.d.ts" />
1
2
  import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
2
3
  /**
3
4
  * Transforms all ValueNodes to immediate.
@@ -1 +1,2 @@
1
+ /// <reference types="./kysely-plugin.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./with-schema-plugin.d.ts" />
1
2
  import { WithSchemaTransformer } from './with-schema-transformer.js';
2
3
  export class WithSchemaPlugin {
3
4
  #transformer;
@@ -1,3 +1,4 @@
1
+ /// <reference types="./with-schema-transformer.d.ts" />
1
2
  import { AliasNode } from '../../operation-node/alias-node.js';
2
3
  import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
3
4
  import { TableNode } from '../../operation-node/table-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./delete-query-builder.d.ts" />
1
2
  import { parseJoin, } from '../parser/join-parser.js';
2
3
  import { parseSelectExpressionOrList, parseSelectAll, } from '../parser/select-parser.js';
3
4
  import { parseExistFilter, parseReferenceFilter, parseWhereFilter, parseNotExistFilter, } from '../parser/filter-parser.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./delete-result.d.ts" />
1
2
  export class DeleteResult {
2
3
  #numDeletedRows;
3
4
  constructor(numDeletedRows) {
@@ -3,6 +3,8 @@ import { TableExpression, TableExpressionDatabase, TableExpressionTables } from
3
3
  import { NoopQueryExecutor } from '../query-executor/noop-query-executor.js';
4
4
  import { ParseContext } from '../parser/parse-context.js';
5
5
  import { FunctionBuilder } from './function-builder.js';
6
+ import { ExtractTypeFromReferenceExpression, StringReference } from '../parser/reference-parser.js';
7
+ import { RawBuilder } from '../raw-builder/raw-builder.js';
6
8
  export declare class ExpressionBuilder<DB, TB extends keyof DB> {
7
9
  #private;
8
10
  constructor(props: ExpressionBuilderProps);
@@ -44,6 +46,8 @@ export declare class ExpressionBuilder<DB, TB extends keyof DB> {
44
46
  * The query builder returned by this method is typed in a way that you can refer to
45
47
  * all tables of the parent query in addition to the subquery's tables.
46
48
  *
49
+ * This method accepts all the same inputs as {@link QueryCreator.selectFrom}.
50
+ *
47
51
  * ### Examples
48
52
  *
49
53
  * This example shows that you can refer to both `pet.owner_id` and `person.id`
@@ -86,6 +90,44 @@ export declare class ExpressionBuilder<DB, TB extends keyof DB> {
86
90
  * See {@link QueryCreator.withSchema}
87
91
  */
88
92
  withSchema(schema: string): ExpressionBuilder<DB, TB>;
93
+ /**
94
+ * See {@link QueryCreator.raw}.
95
+ */
96
+ raw<T = unknown>(sql: string, parameters?: unknown[]): RawBuilder<T>;
97
+ /**
98
+ * This can be used to reference columns.
99
+ *
100
+ * ### Examples
101
+ *
102
+ * In the next example we use the `ref` method to reference
103
+ * columns of the virtual table `excluded` in a type-safe way
104
+ * to create an upsert operation:
105
+ *
106
+ * ```ts
107
+ * db.insertInto('person')
108
+ * .values(person)
109
+ * .onConflict(oc => oc
110
+ * .column('id')
111
+ * .doUpdateSet({
112
+ * first_name: (eb) => eb.ref('excluded.first_name'),
113
+ * last_name: (eb) => eb.ref('excluded.last_name')
114
+ * })
115
+ * )
116
+ * ```
117
+ *
118
+ * In the next example we use `ref` in a raw expression. Unless you
119
+ * want to be as type-safe as possible, this is probably overkill:
120
+ *
121
+ * ```ts
122
+ * db.update('pet').set({
123
+ * name: (eb) => eb.raw('concat(?, ?)', [
124
+ * eb.ref('pet.name'),
125
+ * suffix,
126
+ * ])
127
+ * })
128
+ * ```
129
+ */
130
+ ref<RE extends StringReference<DB, TB>>(reference: RE): RawBuilder<ExtractTypeFromReferenceExpression<DB, TB, RE>>;
89
131
  }
90
132
  export interface ExpressionBuilderProps {
91
133
  readonly executor: NoopQueryExecutor;
@@ -1,3 +1,4 @@
1
+ /// <reference types="./expression-builder.d.ts" />
1
2
  import { SelectQueryBuilder } from './select-query-builder.js';
2
3
  import { SelectQueryNode } from '../operation-node/select-query-node.js';
3
4
  import { parseTableExpressionOrList, } from '../parser/table-parser.js';
@@ -5,6 +6,7 @@ import { WithSchemaPlugin } from '../plugin/with-schema/with-schema-plugin.js';
5
6
  import { createQueryId } from '../util/query-id.js';
6
7
  import { freeze } from '../util/object-utils.js';
7
8
  import { FunctionBuilder } from './function-builder.js';
9
+ import { RawBuilder } from '../raw-builder/raw-builder.js';
8
10
  export class ExpressionBuilder {
9
11
  #props;
10
12
  constructor(props) {
@@ -61,4 +63,51 @@ export class ExpressionBuilder {
61
63
  executor: this.#props.executor.withPluginAtFront(new WithSchemaPlugin(schema)),
62
64
  });
63
65
  }
66
+ /**
67
+ * See {@link QueryCreator.raw}.
68
+ */
69
+ raw(sql, parameters) {
70
+ return new RawBuilder({
71
+ queryId: createQueryId(),
72
+ executor: this.#props.executor,
73
+ sql,
74
+ parameters,
75
+ });
76
+ }
77
+ /**
78
+ * This can be used to reference columns.
79
+ *
80
+ * ### Examples
81
+ *
82
+ * In the next example we use the `ref` method to reference
83
+ * columns of the virtual table `excluded` in a type-safe way
84
+ * to create an upsert operation:
85
+ *
86
+ * ```ts
87
+ * db.insertInto('person')
88
+ * .values(person)
89
+ * .onConflict(oc => oc
90
+ * .column('id')
91
+ * .doUpdateSet({
92
+ * first_name: (eb) => eb.ref('excluded.first_name'),
93
+ * last_name: (eb) => eb.ref('excluded.last_name')
94
+ * })
95
+ * )
96
+ * ```
97
+ *
98
+ * In the next example we use `ref` in a raw expression. Unless you
99
+ * want to be as type-safe as possible, this is probably overkill:
100
+ *
101
+ * ```ts
102
+ * db.update('pet').set({
103
+ * name: (eb) => eb.raw('concat(?, ?)', [
104
+ * eb.ref('pet.name'),
105
+ * suffix,
106
+ * ])
107
+ * })
108
+ * ```
109
+ */
110
+ ref(reference) {
111
+ return this.raw('??', [reference]);
112
+ }
64
113
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="./function-builder.d.ts" />
1
2
  import { RawBuilder } from '../raw-builder/raw-builder.js';
2
3
  import { freeze } from '../util/object-utils.js';
3
4
  import { createQueryId } from '../util/query-id.js';
@@ -1 +1,2 @@
1
+ /// <reference types="./having-interface.d.ts" />
1
2
  export {};
@@ -342,6 +342,22 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
342
342
  * values ($1, $2)
343
343
  * on conflict ("name") do nothing
344
344
  * ```
345
+ *
346
+ * You can refer to the columns of the virtual `excluded` table
347
+ * in a type-safe way using a callback and the `ref` method of
348
+ * `ExpressionBuilder`:
349
+ *
350
+ * ```ts
351
+ * db.insertInto('person')
352
+ * .values(person)
353
+ * .onConflict(oc => oc
354
+ * .column('id')
355
+ * .doUpdateSet({
356
+ * first_name: (eb) => eb.ref('excluded.first_name'),
357
+ * last_name: (eb) => eb.ref('excluded.last_name')
358
+ * })
359
+ * )
360
+ * ```
345
361
  */
346
362
  onConflict(callback: (builder: OnConflictBuilder<DB, TB>) => OnConflictDoNothingBuilder<DB, TB> | OnConflictUpdateBuilder<DB, TB>): InsertQueryBuilder<DB, TB, O>;
347
363
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./insert-query-builder.d.ts" />
1
2
  import { parseSelectExpressionOrList, parseSelectAll, } from '../parser/select-parser.js';
2
3
  import { parseInsertObjectOrList, } from '../parser/insert-values-parser.js';
3
4
  import { InsertQueryNode } from '../operation-node/insert-query-node.js';
@@ -245,6 +246,22 @@ export class InsertQueryBuilder {
245
246
  * values ($1, $2)
246
247
  * on conflict ("name") do nothing
247
248
  * ```
249
+ *
250
+ * You can refer to the columns of the virtual `excluded` table
251
+ * in a type-safe way using a callback and the `ref` method of
252
+ * `ExpressionBuilder`:
253
+ *
254
+ * ```ts
255
+ * db.insertInto('person')
256
+ * .values(person)
257
+ * .onConflict(oc => oc
258
+ * .column('id')
259
+ * .doUpdateSet({
260
+ * first_name: (eb) => eb.ref('excluded.first_name'),
261
+ * last_name: (eb) => eb.ref('excluded.last_name')
262
+ * })
263
+ * )
264
+ * ```
248
265
  */
249
266
  onConflict(callback) {
250
267
  return new InsertQueryBuilder({
@@ -1,3 +1,4 @@
1
+ /// <reference types="./insert-result.d.ts" />
1
2
  /**
2
3
  * The result of an insert query.
3
4
  *
@@ -1,3 +1,4 @@
1
+ /// <reference types="./join-builder.d.ts" />
1
2
  import { JoinNode } from '../operation-node/join-node.js';
2
3
  import { parseExistFilter, parseNotExistFilter, parseOnFilter, parseReferenceFilter, } from '../parser/filter-parser.js';
3
4
  import { freeze } from '../util/object-utils.js';
@@ -1 +1,2 @@
1
+ /// <reference types="./join-interface.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./no-result-error.d.ts" />
1
2
  export class NoResultError extends Error {
2
3
  /**
3
4
  * The operation node tree of the query that was executed.
@@ -377,14 +377,16 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
377
377
  * do update set "first_name" = $3
378
378
  * ```
379
379
  */
380
- doUpdateSet(updates: MutationObject<DB, TB>): OnConflictUpdateBuilder<{
381
- [K in keyof DB | 'excluded']: K extends keyof DB ? DB[K] : DB[TB];
382
- }, TB | 'excluded'>;
380
+ doUpdateSet(updates: MutationObject<OnConflictDatabase<DB, TB>, OnConflictTables<TB>>): OnConflictUpdateBuilder<OnConflictDatabase<DB, TB>, OnConflictTables<TB>>;
383
381
  }
384
382
  export interface OnConflictBuilderProps {
385
383
  readonly onConflictNode: OnConflictNode;
386
384
  readonly parseContext: ParseContext;
387
385
  }
386
+ export declare type OnConflictDatabase<DB, TB extends keyof DB> = {
387
+ [K in keyof DB | 'excluded']: K extends keyof DB ? DB[K] : DB[TB];
388
+ };
389
+ export declare type OnConflictTables<TB> = TB | 'excluded';
388
390
  export declare class OnConflictDoNothingBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
389
391
  #private;
390
392
  constructor(props: OnConflictBuilderProps);
@@ -1,3 +1,4 @@
1
+ /// <reference types="./on-conflict-builder.d.ts" />
1
2
  import { ColumnNode } from '../operation-node/column-node.js';
2
3
  import { IdentifierNode } from '../operation-node/identifier-node.js';
3
4
  import { OnConflictNode } from '../operation-node/on-conflict-node.js';
@@ -1 +1,2 @@
1
+ /// <reference types="./returning-interface.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./select-query-builder.d.ts" />
1
2
  import { AliasNode } from '../operation-node/alias-node.js';
2
3
  import { parseJoin, } from '../parser/join-parser.js';
3
4
  import { parseSelectExpressionOrList, parseSelectAll, } from '../parser/select-parser.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./update-query-builder.d.ts" />
1
2
  import { parseJoin, } from '../parser/join-parser.js';
2
3
  import { parseSelectExpressionOrList, parseSelectAll, } from '../parser/select-parser.js';
3
4
  import { parseExistFilter, parseReferenceFilter, parseWhereFilter, parseNotExistFilter, } from '../parser/filter-parser.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./update-result.d.ts" />
1
2
  export class UpdateResult {
2
3
  #numUpdatedRows;
3
4
  constructor(numUpdatedRows) {
@@ -1 +1,2 @@
1
+ /// <reference types="./where-interface.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./compiled-query.d.ts" />
1
2
  import { RawNode } from '../operation-node/raw-node.js';
2
3
  import { freeze } from '../util/object-utils.js';
3
4
  export const CompiledQuery = freeze({
@@ -44,7 +44,6 @@ import { ValueNode } from '../operation-node/value-node.js';
44
44
  import { WhereNode } from '../operation-node/where-node.js';
45
45
  import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js';
46
46
  import { WithNode } from '../operation-node/with-node.js';
47
- import { PrimitiveValue } from '../util/object-utils.js';
48
47
  import { CompiledQuery } from './compiled-query.js';
49
48
  import { RootOperationNode, QueryCompiler } from './query-compiler.js';
50
49
  import { HavingNode } from '../operation-node/having-node.js';
@@ -150,5 +149,5 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement
150
149
  protected getRightIdentifierWrapper(): string;
151
150
  protected getCurrentParameterPlaceholder(): string;
152
151
  protected addParameter(parameter: unknown): void;
153
- protected appendImmediateValue(value: PrimitiveValue): void;
152
+ protected appendImmediateValue(value: unknown): void;
154
153
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="./default-query-compiler.d.ts" />
1
2
  import { InsertQueryNode } from '../operation-node/insert-query-node.js';
2
3
  import { OperationNodeVisitor } from '../operation-node/operation-node-visitor.js';
3
4
  import { QueryNode } from '../operation-node/query-node.js';
@@ -1 +1,2 @@
1
+ /// <reference types="./query-compiler.d.ts" />
1
2
  export {};
@@ -412,7 +412,7 @@ export declare class QueryCreator<DB> {
412
412
  * @param params - The parameters that will be bound to the `?` and `??` placeholders in
413
413
  * the sql string.
414
414
  */
415
- raw<T = unknown>(sql: string, parameters?: any[]): RawBuilder<T>;
415
+ raw<T = unknown>(sql: string, parameters?: unknown[]): RawBuilder<T>;
416
416
  }
417
417
  export interface QueryCreatorProps {
418
418
  readonly executor: QueryExecutor;
@@ -1,3 +1,4 @@
1
+ /// <reference types="./query-creator.d.ts" />
1
2
  import { SelectQueryBuilder } from './query-builder/select-query-builder.js';
2
3
  import { InsertQueryBuilder } from './query-builder/insert-query-builder.js';
3
4
  import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./default-query-executor.d.ts" />
1
2
  import { QueryExecutor } from './query-executor.js';
2
3
  export class DefaultQueryExecutor extends QueryExecutor {
3
4
  #compiler;
@@ -1,3 +1,4 @@
1
+ /// <reference types="./noop-query-executor.d.ts" />
1
2
  import { QueryExecutor } from './query-executor.js';
2
3
  /**
3
4
  * A {@link QueryExecutor} subclass that can be used when you don't
@@ -1,3 +1,4 @@
1
+ /// <reference types="./query-executor.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * This class abstracts away the details of how to compile a query into SQL
@@ -1,3 +1,4 @@
1
+ /// <reference types="./raw-builder.d.ts" />
1
2
  import { AliasNode } from '../operation-node/alias-node.js';
2
3
  import { isOperationNodeSource, } from '../operation-node/operation-node-source.js';
3
4
  import { RawNode } from '../operation-node/raw-node.js';
@@ -5,13 +5,13 @@ import { OperationNodeSource } from '../operation-node/operation-node-source.js'
5
5
  import { OnModifyForeignAction } from '../operation-node/references-node.js';
6
6
  import { CompiledQuery } from '../query-compiler/compiled-query.js';
7
7
  import { Compilable } from '../util/compilable.js';
8
- import { PrimitiveValue } from '../util/object-utils.js';
9
8
  import { ColumnDefinitionBuilder, ColumnDefinitionBuilderInterface } from './column-definition-builder.js';
10
9
  import { AnyRawBuilder } from '../util/type-utils.js';
11
10
  import { QueryId } from '../util/query-id.js';
12
11
  import { QueryExecutor } from '../query-executor/query-executor.js';
13
12
  import { DataTypeExpression } from '../parser/data-type-parser.js';
14
13
  import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from './foreign-key-constraint-builder.js';
14
+ import { DefaultValueExpression } from '../parser/default-value-parser.js';
15
15
  /**
16
16
  * This builder can be used to create a `alter table` query.
17
17
  */
@@ -43,7 +43,7 @@ export declare class AlterColumnBuilder {
43
43
  #private;
44
44
  constructor(props: AlterColumnBuilderProps);
45
45
  setDataType(dataType: ColumnDataType): AlterTableExecutor;
46
- setDefault(value: PrimitiveValue | AnyRawBuilder): AlterTableExecutor;
46
+ setDefault(value: DefaultValueExpression): AlterTableExecutor;
47
47
  dropDefault(): AlterTableExecutor;
48
48
  setNotNull(): AlterTableExecutor;
49
49
  dropNotNull(): AlterTableExecutor;
@@ -141,8 +141,21 @@ export declare class AlterTableAddColumnBuilder implements ColumnDefinitionBuild
141
141
  * .addColumn('number_of_legs', 'integer', (col) => col.defaultTo(4))
142
142
  * .execute()
143
143
  * ```
144
+ *
145
+ * Raw expressions are also supported:
146
+ *
147
+ * ```ts
148
+ * db.schema
149
+ * .createTable('pet')
150
+ * .addColumn(
151
+ * 'number_of_legs',
152
+ * 'integer',
153
+ * (col) => col.defaultTo(db.raw('any SQL here'))
154
+ * )
155
+ * .execute()
156
+ * ```
144
157
  */
145
- defaultTo(value: PrimitiveValue | AnyRawBuilder): AlterTableAddColumnBuilder;
158
+ defaultTo(value: DefaultValueExpression): AlterTableAddColumnBuilder;
146
159
  /**
147
160
  * Adds a check constraint for the column.
148
161
  *
@@ -286,8 +299,21 @@ export declare class AlterTableModifyColumnBuilder implements ColumnDefinitionBu
286
299
  * .addColumn('number_of_legs', 'integer', (col) => col.defaultTo(4))
287
300
  * .execute()
288
301
  * ```
302
+ *
303
+ * Raw expressions are also supported:
304
+ *
305
+ * ```ts
306
+ * db.schema
307
+ * .createTable('pet')
308
+ * .addColumn(
309
+ * 'number_of_legs',
310
+ * 'integer',
311
+ * (col) => col.defaultTo(db.raw('any SQL here'))
312
+ * )
313
+ * .execute()
314
+ * ```
289
315
  */
290
- defaultTo(value: PrimitiveValue | AnyRawBuilder): AlterTableModifyColumnBuilder;
316
+ defaultTo(value: DefaultValueExpression): AlterTableModifyColumnBuilder;
291
317
  /**
292
318
  * Adds a check constraint for the column.
293
319
  *
@@ -1,3 +1,4 @@
1
+ /// <reference types="./alter-table-builder.d.ts" />
1
2
  import { AddColumnNode } from '../operation-node/add-column-node.js';
2
3
  import { AlterColumnNode } from '../operation-node/alter-column-node.js';
3
4
  import { AlterTableNode } from '../operation-node/alter-table-node.js';
@@ -5,10 +6,8 @@ import { ColumnDefinitionNode } from '../operation-node/column-definition-node.j
5
6
  import { DataTypeNode, } from '../operation-node/data-type-node.js';
6
7
  import { DropColumnNode } from '../operation-node/drop-column-node.js';
7
8
  import { IdentifierNode } from '../operation-node/identifier-node.js';
8
- import { isOperationNodeSource, } from '../operation-node/operation-node-source.js';
9
9
  import { RenameColumnNode } from '../operation-node/rename-column-node.js';
10
10
  import { TableNode } from '../operation-node/table-node.js';
11
- import { ValueNode } from '../operation-node/value-node.js';
12
11
  import { freeze } from '../util/object-utils.js';
13
12
  import { preventAwait } from '../util/prevent-await.js';
14
13
  import { ColumnDefinitionBuilder, } from './column-definition-builder.js';
@@ -20,6 +19,7 @@ import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.j
20
19
  import { CheckConstraintNode } from '../operation-node/check-constraint-node.js';
21
20
  import { ForeignKeyConstraintNode } from '../operation-node/foreign-key-constraint-node.js';
22
21
  import { ColumnNode } from '../operation-node/column-node.js';
22
+ import { parseDefaultValueExpression, } from '../parser/default-value-parser.js';
23
23
  /**
24
24
  * This builder can be used to create a `alter table` query.
25
25
  */
@@ -126,9 +126,7 @@ export class AlterColumnBuilder {
126
126
  ...this.#props,
127
127
  alterTableNode: AlterTableNode.cloneWith(this.#props.alterTableNode, {
128
128
  alterColumn: AlterColumnNode.cloneWith(this.#props.alterColumnNode, {
129
- setDefault: isOperationNodeSource(value)
130
- ? value.toOperationNode()
131
- : ValueNode.createImmediate(value),
129
+ setDefault: parseDefaultValueExpression(value),
132
130
  }),
133
131
  }),
134
132
  });