kysely 0.16.0 → 0.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) 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/index.d.ts +3 -0
  18. package/dist/cjs/index.js +3 -0
  19. package/dist/cjs/operation-node/constraint-node.d.ts +4 -4
  20. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +1 -1
  21. package/dist/cjs/query-builder/expression-builder.d.ts +42 -0
  22. package/dist/cjs/query-builder/expression-builder.js +48 -0
  23. package/dist/cjs/query-builder/insert-query-builder.d.ts +16 -0
  24. package/dist/cjs/query-builder/insert-query-builder.js +16 -0
  25. package/dist/cjs/query-builder/on-conflict-builder.d.ts +5 -3
  26. package/dist/cjs/query-creator.d.ts +1 -1
  27. package/dist/cjs/util/object-utils.d.ts +1 -1
  28. package/dist/cjs/util/object-utils.js +8 -8
  29. package/dist/esm/dialect/database-introspector.js +1 -0
  30. package/dist/esm/dialect/dialect-adapter-base.js +1 -0
  31. package/dist/esm/dialect/dialect-adapter.js +1 -0
  32. package/dist/esm/dialect/dialect.js +1 -0
  33. package/dist/esm/dialect/mysql/mysql-adapter.js +1 -0
  34. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +205 -0
  35. package/dist/esm/dialect/mysql/mysql-dialect-config.js +2 -0
  36. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +1 -205
  37. package/dist/esm/dialect/mysql/mysql-dialect.js +1 -0
  38. package/dist/esm/dialect/mysql/mysql-driver.d.ts +1 -1
  39. package/dist/esm/dialect/mysql/mysql-driver.js +12 -3
  40. package/dist/esm/dialect/mysql/mysql-introspector.js +1 -0
  41. package/dist/esm/dialect/mysql/mysql-query-compiler.js +1 -0
  42. package/dist/esm/dialect/postgres/postgres-adapter.js +1 -0
  43. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +103 -0
  44. package/dist/esm/dialect/postgres/postgres-dialect-config.js +2 -0
  45. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +1 -103
  46. package/dist/esm/dialect/postgres/postgres-dialect.js +1 -0
  47. package/dist/esm/dialect/postgres/postgres-driver.d.ts +1 -1
  48. package/dist/esm/dialect/postgres/postgres-driver.js +12 -2
  49. package/dist/esm/dialect/postgres/postgres-introspector.js +1 -0
  50. package/dist/esm/dialect/postgres/postgres-query-compiler.js +1 -0
  51. package/dist/esm/dialect/sqlite/sqlite-adapter.js +1 -0
  52. package/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts +43 -0
  53. package/dist/esm/dialect/sqlite/sqlite-dialect-config.js +2 -0
  54. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +1 -43
  55. package/dist/esm/dialect/sqlite/sqlite-dialect.js +1 -0
  56. package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +1 -1
  57. package/dist/esm/dialect/sqlite/sqlite-driver.js +11 -2
  58. package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
  59. package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +1 -0
  60. package/dist/esm/driver/connection-provider.js +1 -0
  61. package/dist/esm/driver/database-connection.js +1 -0
  62. package/dist/esm/driver/default-connection-provider.js +1 -0
  63. package/dist/esm/driver/driver.js +1 -0
  64. package/dist/esm/driver/runtime-driver.js +1 -0
  65. package/dist/esm/driver/single-connection-provider.js +1 -0
  66. package/dist/esm/dynamic/dynamic-reference-builder.js +1 -0
  67. package/dist/esm/dynamic/dynamic.js +1 -0
  68. package/dist/esm/index-nodeless.js +1 -0
  69. package/dist/esm/index.d.ts +3 -0
  70. package/dist/esm/index.js +4 -0
  71. package/dist/esm/kysely.js +1 -0
  72. package/dist/esm/migration/file-migration-provider.js +1 -0
  73. package/dist/esm/migration/migrator.js +1 -0
  74. package/dist/esm/operation-node/add-column-node.js +1 -0
  75. package/dist/esm/operation-node/add-constraint-node.js +1 -0
  76. package/dist/esm/operation-node/alias-node.js +1 -0
  77. package/dist/esm/operation-node/alter-column-node.js +1 -0
  78. package/dist/esm/operation-node/alter-table-node.js +1 -0
  79. package/dist/esm/operation-node/and-node.js +1 -0
  80. package/dist/esm/operation-node/check-constraint-node.js +1 -0
  81. package/dist/esm/operation-node/column-definition-node.js +1 -0
  82. package/dist/esm/operation-node/column-node.js +1 -0
  83. package/dist/esm/operation-node/column-update-node.js +1 -0
  84. package/dist/esm/operation-node/common-table-expression-name-node.js +1 -0
  85. package/dist/esm/operation-node/common-table-expression-node.js +1 -0
  86. package/dist/esm/operation-node/constraint-node.d.ts +4 -4
  87. package/dist/esm/operation-node/constraint-node.js +1 -0
  88. package/dist/esm/operation-node/create-index-node.js +1 -0
  89. package/dist/esm/operation-node/create-schema-node.js +1 -0
  90. package/dist/esm/operation-node/create-table-node.js +1 -0
  91. package/dist/esm/operation-node/create-view-node.js +1 -0
  92. package/dist/esm/operation-node/data-type-node.js +1 -0
  93. package/dist/esm/operation-node/default-value-node.js +1 -0
  94. package/dist/esm/operation-node/delete-query-node.js +1 -0
  95. package/dist/esm/operation-node/drop-column-node.js +1 -0
  96. package/dist/esm/operation-node/drop-constraint-node.js +1 -0
  97. package/dist/esm/operation-node/drop-index-node.js +1 -0
  98. package/dist/esm/operation-node/drop-schema-node.js +1 -0
  99. package/dist/esm/operation-node/drop-table-node.js +1 -0
  100. package/dist/esm/operation-node/drop-view-node.js +1 -0
  101. package/dist/esm/operation-node/filter-node.js +1 -0
  102. package/dist/esm/operation-node/foreign-key-constraint-node.js +1 -0
  103. package/dist/esm/operation-node/from-node.js +1 -0
  104. package/dist/esm/operation-node/generated-node.js +1 -0
  105. package/dist/esm/operation-node/group-by-item-node.js +1 -0
  106. package/dist/esm/operation-node/group-by-node.js +1 -0
  107. package/dist/esm/operation-node/having-node.js +1 -0
  108. package/dist/esm/operation-node/identifier-node.js +1 -0
  109. package/dist/esm/operation-node/insert-query-node.js +1 -0
  110. package/dist/esm/operation-node/join-node.js +1 -0
  111. package/dist/esm/operation-node/limit-node.js +1 -0
  112. package/dist/esm/operation-node/list-node.js +1 -0
  113. package/dist/esm/operation-node/modify-column-node.js +1 -0
  114. package/dist/esm/operation-node/offset-node.js +1 -0
  115. package/dist/esm/operation-node/on-conflict-node.js +1 -0
  116. package/dist/esm/operation-node/on-duplicate-key-node.js +1 -0
  117. package/dist/esm/operation-node/on-node.js +1 -0
  118. package/dist/esm/operation-node/operation-node-source.js +1 -0
  119. package/dist/esm/operation-node/operation-node-transformer.js +1 -0
  120. package/dist/esm/operation-node/operation-node-utils.js +1 -0
  121. package/dist/esm/operation-node/operation-node-visitor.js +1 -0
  122. package/dist/esm/operation-node/operation-node.js +1 -0
  123. package/dist/esm/operation-node/operator-node.js +1 -0
  124. package/dist/esm/operation-node/or-node.js +1 -0
  125. package/dist/esm/operation-node/order-by-item-node.js +1 -0
  126. package/dist/esm/operation-node/order-by-node.js +1 -0
  127. package/dist/esm/operation-node/parens-node.js +1 -0
  128. package/dist/esm/operation-node/primary-constraint-node.js +1 -0
  129. package/dist/esm/operation-node/primitive-value-list-node.js +1 -0
  130. package/dist/esm/operation-node/query-node.js +1 -0
  131. package/dist/esm/operation-node/raw-node.js +1 -0
  132. package/dist/esm/operation-node/reference-node.js +1 -0
  133. package/dist/esm/operation-node/references-node.js +1 -0
  134. package/dist/esm/operation-node/rename-column-node.js +1 -0
  135. package/dist/esm/operation-node/returning-node.js +1 -0
  136. package/dist/esm/operation-node/select-all-node.js +1 -0
  137. package/dist/esm/operation-node/select-query-node.js +1 -0
  138. package/dist/esm/operation-node/selection-node.js +1 -0
  139. package/dist/esm/operation-node/table-node.js +1 -0
  140. package/dist/esm/operation-node/union-node.js +1 -0
  141. package/dist/esm/operation-node/unique-constraint-node.js +1 -0
  142. package/dist/esm/operation-node/update-query-node.js +1 -0
  143. package/dist/esm/operation-node/value-list-node.js +1 -0
  144. package/dist/esm/operation-node/value-node.js +1 -0
  145. package/dist/esm/operation-node/values-node.js +1 -0
  146. package/dist/esm/operation-node/where-node.js +1 -0
  147. package/dist/esm/operation-node/with-node.js +1 -0
  148. package/dist/esm/parser/complex-expression-parser.js +1 -0
  149. package/dist/esm/parser/data-type-parser.js +1 -0
  150. package/dist/esm/parser/default-value-parser.js +1 -0
  151. package/dist/esm/parser/filter-parser.js +1 -0
  152. package/dist/esm/parser/group-by-parser.js +1 -0
  153. package/dist/esm/parser/insert-values-parser.js +1 -0
  154. package/dist/esm/parser/join-parser.js +1 -0
  155. package/dist/esm/parser/order-by-parser.js +1 -0
  156. package/dist/esm/parser/parse-context.js +1 -0
  157. package/dist/esm/parser/reference-parser.js +1 -0
  158. package/dist/esm/parser/returning-parser.js +1 -0
  159. package/dist/esm/parser/select-parser.js +1 -0
  160. package/dist/esm/parser/table-parser.js +1 -0
  161. package/dist/esm/parser/union-parser.js +1 -0
  162. package/dist/esm/parser/update-set-parser.js +1 -0
  163. package/dist/esm/parser/value-parser.js +1 -0
  164. package/dist/esm/parser/with-parser.js +1 -0
  165. package/dist/esm/plugin/camel-case/camel-case-plugin.js +3 -2
  166. package/dist/esm/plugin/camel-case/camel-case-transformer.js +1 -0
  167. package/dist/esm/plugin/camel-case/camel-case.js +1 -0
  168. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +1 -0
  169. package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.js +1 -0
  170. package/dist/esm/plugin/kysely-plugin.js +1 -0
  171. package/dist/esm/plugin/with-schema/with-schema-plugin.js +1 -0
  172. package/dist/esm/plugin/with-schema/with-schema-transformer.js +1 -0
  173. package/dist/esm/query-builder/delete-query-builder.js +1 -0
  174. package/dist/esm/query-builder/delete-result.js +1 -0
  175. package/dist/esm/query-builder/expression-builder.d.ts +42 -0
  176. package/dist/esm/query-builder/expression-builder.js +49 -0
  177. package/dist/esm/query-builder/function-builder.js +1 -0
  178. package/dist/esm/query-builder/having-interface.js +1 -0
  179. package/dist/esm/query-builder/insert-query-builder.d.ts +16 -0
  180. package/dist/esm/query-builder/insert-query-builder.js +17 -0
  181. package/dist/esm/query-builder/insert-result.js +1 -0
  182. package/dist/esm/query-builder/join-builder.js +1 -0
  183. package/dist/esm/query-builder/join-interface.js +1 -0
  184. package/dist/esm/query-builder/no-result-error.js +1 -0
  185. package/dist/esm/query-builder/on-conflict-builder.d.ts +5 -3
  186. package/dist/esm/query-builder/on-conflict-builder.js +1 -0
  187. package/dist/esm/query-builder/returning-interface.js +1 -0
  188. package/dist/esm/query-builder/select-query-builder.js +1 -0
  189. package/dist/esm/query-builder/update-query-builder.js +1 -0
  190. package/dist/esm/query-builder/update-result.js +1 -0
  191. package/dist/esm/query-builder/where-interface.js +1 -0
  192. package/dist/esm/query-compiler/compiled-query.js +1 -0
  193. package/dist/esm/query-compiler/default-query-compiler.js +1 -0
  194. package/dist/esm/query-compiler/query-compiler.js +1 -0
  195. package/dist/esm/query-creator.d.ts +1 -1
  196. package/dist/esm/query-creator.js +1 -0
  197. package/dist/esm/query-executor/default-query-executor.js +1 -0
  198. package/dist/esm/query-executor/noop-query-executor.js +1 -0
  199. package/dist/esm/query-executor/query-executor.js +1 -0
  200. package/dist/esm/raw-builder/raw-builder.js +1 -0
  201. package/dist/esm/schema/alter-table-builder.js +1 -0
  202. package/dist/esm/schema/column-definition-builder.js +1 -0
  203. package/dist/esm/schema/create-index-builder.js +1 -0
  204. package/dist/esm/schema/create-schema-builder.js +1 -0
  205. package/dist/esm/schema/create-table-builder.js +1 -0
  206. package/dist/esm/schema/create-view-builder.js +1 -0
  207. package/dist/esm/schema/drop-index-builder.js +1 -0
  208. package/dist/esm/schema/drop-schema-builder.js +1 -0
  209. package/dist/esm/schema/drop-table-builder.js +1 -0
  210. package/dist/esm/schema/drop-view-builder.js +1 -0
  211. package/dist/esm/schema/foreign-key-constraint-builder.js +1 -0
  212. package/dist/esm/schema/schema.js +1 -0
  213. package/dist/esm/util/assert.js +1 -0
  214. package/dist/esm/util/column-type.js +1 -0
  215. package/dist/esm/util/compilable.js +1 -0
  216. package/dist/esm/util/log.js +1 -0
  217. package/dist/esm/util/object-utils.d.ts +1 -1
  218. package/dist/esm/util/object-utils.js +7 -6
  219. package/dist/esm/util/performance-now.js +1 -0
  220. package/dist/esm/util/prevent-await.js +1 -0
  221. package/dist/esm/util/private-symbols.js +1 -0
  222. package/dist/esm/util/query-id.js +1 -0
  223. package/dist/esm/util/random-string.js +1 -0
  224. package/dist/esm/util/type-utils.js +1 -0
  225. package/package.json +3 -2
  226. package/.prettierignore +0 -1
  227. package/dist/cjs/util/dynamic-import.d.ts +0 -2
  228. package/dist/cjs/util/dynamic-import.js +0 -32
  229. package/dist/esm/util/dynamic-import.d.ts +0 -2
  230. package/dist/esm/util/dynamic-import.js +0 -27
@@ -1,3 +1,4 @@
1
+ /// <reference types="./group-by-item-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./group-by-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./having-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { AndNode } from './and-node.js';
3
4
  import { OrNode } from './or-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./identifier-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./insert-query-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./join-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { OnNode } from './on-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./limit-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ValueNode } from './value-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./list-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./modify-column-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./offset-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ValueNode } from './value-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./on-conflict-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { WhereNode } from './where-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./on-duplicate-key-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./on-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { AndNode } from './and-node.js';
3
4
  import { OrNode } from './or-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./operation-node-source.d.ts" />
1
2
  import { isFunction, isObject } from '../util/object-utils.js';
2
3
  export function isOperationNodeSource(obj) {
3
4
  return isObject(obj) && isFunction(obj.toOperationNode);
@@ -1,3 +1,4 @@
1
+ /// <reference types="./operation-node-transformer.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * Transforms an operation node tree into another one.
@@ -1 +1,2 @@
1
+ /// <reference types="./operation-node-utils.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./operation-node-visitor.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  export class OperationNodeVisitor {
3
4
  nodeStack = [];
@@ -1 +1,2 @@
1
+ /// <reference types="./operation-node.d.ts" />
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="./operator-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  export const OPERATORS = [
3
4
  '=',
@@ -1,3 +1,4 @@
1
+ /// <reference types="./or-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./order-by-item-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./order-by-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./parens-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./primary-constraint-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ColumnNode } from './column-node.js';
3
4
  import { IdentifierNode } from './identifier-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./primitive-value-list-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./query-node.d.ts" />
1
2
  import { InsertQueryNode } from './insert-query-node.js';
2
3
  import { SelectQueryNode } from './select-query-node.js';
3
4
  import { UpdateQueryNode } from './update-query-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./raw-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./reference-node.d.ts" />
1
2
  import { TableNode } from './table-node.js';
2
3
  import { SelectAllNode } from './select-all-node.js';
3
4
  import { freeze } from '../util/object-utils.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./references-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./rename-column-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ColumnNode } from './column-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./returning-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./select-all-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./select-query-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { FromNode } from './from-node.js';
3
4
  import { GroupByNode } from './group-by-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./selection-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ReferenceNode } from './reference-node.js';
3
4
  import { SelectAllNode } from './select-all-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./table-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { IdentifierNode } from './identifier-node.js';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="./union-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./unique-constraint-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { ColumnNode } from './column-node.js';
3
4
  import { IdentifierNode } from './identifier-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./update-query-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./value-list-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./value-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./values-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./where-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  import { AndNode } from './and-node.js';
3
4
  import { OrNode } from './or-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./with-node.d.ts" />
1
2
  import { freeze } from '../util/object-utils.js';
2
3
  /**
3
4
  * @internal
@@ -1,3 +1,4 @@
1
+ /// <reference types="./complex-expression-parser.d.ts" />
1
2
  import { isOperationNodeSource } from '../operation-node/operation-node-source.js';
2
3
  import { isFunction } from '../util/object-utils.js';
3
4
  export function parseComplexExpression(ctx, exp) {
@@ -1,3 +1,4 @@
1
+ /// <reference types="./data-type-parser.d.ts" />
1
2
  import { DataTypeNode, } from '../operation-node/data-type-node.js';
2
3
  import { isOperationNodeSource } from '../operation-node/operation-node-source.js';
3
4
  export function parseDataTypeExpression(dataType) {
@@ -1,3 +1,4 @@
1
+ /// <reference types="./default-value-parser.d.ts" />
1
2
  import { isOperationNodeSource } from '../operation-node/operation-node-source.js';
2
3
  import { ValueNode } from '../operation-node/value-node.js';
3
4
  export function parseDefaultValueExpression(value) {
@@ -1,3 +1,4 @@
1
+ /// <reference types="./filter-parser.d.ts" />
1
2
  import { FilterNode } from '../operation-node/filter-node.js';
2
3
  import { freeze, isBoolean, isFunction, isNull, isString, } from '../util/object-utils.js';
3
4
  import { isOperationNodeSource } from '../operation-node/operation-node-source.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./group-by-parser.d.ts" />
1
2
  import { GroupByItemNode } from '../operation-node/group-by-item-node.js';
2
3
  import { parseReferenceExpressionOrList, } from './reference-parser.js';
3
4
  export function parseGroupBy(ctx, orderBy) {
@@ -1,3 +1,4 @@
1
+ /// <reference types="./insert-values-parser.d.ts" />
1
2
  import { ColumnNode } from '../operation-node/column-node.js';
2
3
  import { PrimitiveValueListNode } from '../operation-node/primitive-value-list-node.js';
3
4
  import { ValueListNode } from '../operation-node/value-list-node.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./join-parser.d.ts" />
1
2
  import { JoinNode } from '../operation-node/join-node.js';
2
3
  import { parseTableExpression, } from './table-parser.js';
3
4
  import { parseReferenceFilter } from './filter-parser.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./order-by-parser.d.ts" />
1
2
  import { OrderByItemNode } from '../operation-node/order-by-item-node.js';
2
3
  import { RawNode } from '../operation-node/raw-node.js';
3
4
  import { parseReferenceExpression, } from './reference-parser.js';
@@ -1,3 +1,4 @@
1
+ /// <reference types="./parse-context.d.ts" />
1
2
  import { JoinNode } from '../operation-node/join-node.js';
2
3
  import { SelectQueryNode } from '../operation-node/select-query-node.js';
3
4
  import { JoinBuilder } from '../query-builder/join-builder.js';
@@ -1,3 +1,4 @@
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';
@@ -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,3 +1,4 @@
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';
@@ -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,4 +1,5 @@
1
- import { isObject } from '../../util/object-utils.js';
1
+ /// <reference types="./camel-case-plugin.d.ts" />
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';
4
5
  /**
@@ -107,5 +108,5 @@ export class CamelCasePlugin {
107
108
  }
108
109
  }
109
110
  function canMap(obj) {
110
- return isObject(obj) && !(obj instanceof Date) && !Buffer.isBuffer(obj);
111
+ return isObject(obj) && !isDate(obj) && !isBuffer(obj);
111
112
  }
@@ -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 { RawBuilder } from '../index-nodeless.js';
7
+ import { ExtractTypeFromReferenceExpression, StringReference } from '../parser/reference-parser.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 '../index-nodeless.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
  /**