kysely 0.11.1 → 0.12.0

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 (216) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/dialect/mysql/mysql-query-compiler.d.ts +0 -2
  3. package/dist/cjs/dialect/mysql/mysql-query-compiler.js +0 -6
  4. package/dist/cjs/dialect/postgres/postgres-query-compiler.d.ts +3 -0
  5. package/dist/cjs/dialect/postgres/postgres-query-compiler.js +9 -1
  6. package/dist/cjs/dialect/sqlite/sqlite-adapter.js +6 -2
  7. package/dist/cjs/dialect/sqlite/sqlite-driver.js +7 -7
  8. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +2 -2
  9. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +6 -6
  10. package/dist/cjs/driver/runtime-driver.js +1 -1
  11. package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +1 -0
  12. package/dist/cjs/dynamic/dynamic-reference-builder.js +9 -1
  13. package/dist/cjs/dynamic/dynamic.d.ts +6 -7
  14. package/dist/cjs/dynamic/dynamic.js +6 -7
  15. package/dist/cjs/index.d.ts +51 -33
  16. package/dist/cjs/index.js +48 -30
  17. package/dist/cjs/kysely.d.ts +39 -15
  18. package/dist/cjs/kysely.js +32 -9
  19. package/dist/cjs/migration/migration.d.ts +2 -2
  20. package/dist/cjs/operation-node/alias-node.d.ts +1 -1
  21. package/dist/cjs/operation-node/create-table-node.d.ts +6 -2
  22. package/dist/cjs/operation-node/create-table-node.js +6 -6
  23. package/dist/cjs/operation-node/create-view-node.d.ts +1 -0
  24. package/dist/cjs/operation-node/insert-query-node.d.ts +4 -4
  25. package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
  26. package/dist/cjs/operation-node/operation-node-transformer.js +11 -1
  27. package/dist/cjs/operation-node/operation-node-utils.d.ts +1 -1
  28. package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
  29. package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
  30. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  31. package/dist/cjs/operation-node/query-node.d.ts +0 -2
  32. package/dist/cjs/operation-node/query-node.js +0 -10
  33. package/dist/cjs/operation-node/values-node.d.ts +15 -0
  34. package/dist/cjs/operation-node/values-node.js +18 -0
  35. package/dist/cjs/parser/complex-expression-parser.d.ts +9 -0
  36. package/dist/cjs/parser/complex-expression-parser.js +25 -0
  37. package/dist/cjs/parser/filter-parser.d.ts +13 -3
  38. package/dist/cjs/parser/filter-parser.js +56 -62
  39. package/dist/cjs/parser/insert-values-parser.d.ts +7 -10
  40. package/dist/cjs/parser/insert-values-parser.js +31 -39
  41. package/dist/cjs/parser/order-by-parser.d.ts +1 -1
  42. package/dist/cjs/parser/parse-context.d.ts +8 -8
  43. package/dist/cjs/parser/parse-context.js +10 -10
  44. package/dist/cjs/parser/reference-parser.d.ts +8 -7
  45. package/dist/cjs/parser/reference-parser.js +8 -17
  46. package/dist/cjs/parser/returning-parser.d.ts +1 -5
  47. package/dist/cjs/parser/select-parser.d.ts +12 -14
  48. package/dist/cjs/parser/select-parser.js +5 -9
  49. package/dist/cjs/parser/table-parser.d.ts +9 -11
  50. package/dist/cjs/parser/table-parser.js +2 -8
  51. package/dist/cjs/parser/union-parser.d.ts +2 -2
  52. package/dist/cjs/parser/union-parser.js +1 -6
  53. package/dist/cjs/parser/update-set-parser.d.ts +2 -8
  54. package/dist/cjs/parser/update-set-parser.js +6 -26
  55. package/dist/cjs/parser/value-parser.d.ts +9 -6
  56. package/dist/cjs/parser/value-parser.js +7 -30
  57. package/dist/cjs/parser/with-parser.d.ts +6 -3
  58. package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.js +2 -2
  59. package/dist/cjs/query-builder/delete-query-builder.d.ts +102 -0
  60. package/dist/cjs/query-builder/delete-query-builder.js +185 -0
  61. package/dist/cjs/query-builder/expression-builder.d.ts +8 -6
  62. package/dist/cjs/query-builder/expression-builder.js +3 -3
  63. package/dist/cjs/query-builder/function-builder.d.ts +2 -1
  64. package/dist/cjs/query-builder/function-builder.js +2 -1
  65. package/dist/cjs/query-builder/having-interface.d.ts +49 -0
  66. package/dist/cjs/query-builder/having-interface.js +2 -0
  67. package/dist/cjs/query-builder/insert-query-builder.d.ts +439 -0
  68. package/dist/cjs/query-builder/insert-query-builder.js +256 -0
  69. package/dist/cjs/query-builder/insert-result.d.ts +3 -2
  70. package/dist/cjs/query-builder/insert-result.js +3 -2
  71. package/dist/cjs/query-builder/join-builder.d.ts +22 -20
  72. package/dist/cjs/query-builder/join-builder.js +12 -12
  73. package/dist/cjs/query-builder/join-interface.d.ts +133 -0
  74. package/dist/cjs/query-builder/join-interface.js +2 -0
  75. package/dist/cjs/query-builder/no-result-error.d.ts +9 -0
  76. package/dist/cjs/query-builder/no-result-error.js +14 -0
  77. package/dist/cjs/query-builder/returning-interface.d.ts +73 -0
  78. package/dist/cjs/query-builder/returning-interface.js +2 -0
  79. package/dist/cjs/query-builder/select-query-builder.d.ts +711 -0
  80. package/dist/cjs/query-builder/select-query-builder.js +571 -0
  81. package/dist/cjs/query-builder/update-query-builder.d.ts +190 -0
  82. package/dist/cjs/query-builder/update-query-builder.js +279 -0
  83. package/dist/cjs/query-builder/where-interface.d.ts +381 -0
  84. package/dist/cjs/query-builder/where-interface.js +2 -0
  85. package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -0
  86. package/dist/cjs/query-compiler/default-query-compiler.js +22 -5
  87. package/dist/cjs/query-creator.d.ts +42 -40
  88. package/dist/cjs/query-creator.js +33 -28
  89. package/dist/cjs/query-executor/query-executor.d.ts +1 -1
  90. package/dist/cjs/query-executor/query-executor.js +1 -1
  91. package/dist/cjs/raw-builder/raw-builder.d.ts +2 -0
  92. package/dist/cjs/raw-builder/raw-builder.js +6 -0
  93. package/dist/cjs/schema/alter-table-builder.d.ts +2 -2
  94. package/dist/cjs/schema/column-definition-builder.d.ts +27 -20
  95. package/dist/cjs/schema/create-index-builder.d.ts +2 -1
  96. package/dist/cjs/schema/create-index-builder.js +2 -1
  97. package/dist/cjs/schema/create-table-builder.d.ts +26 -9
  98. package/dist/cjs/schema/create-table-builder.js +42 -9
  99. package/dist/cjs/schema/create-view-builder.d.ts +17 -3
  100. package/dist/cjs/schema/create-view-builder.js +25 -16
  101. package/dist/cjs/schema/schema.d.ts +18 -11
  102. package/dist/cjs/schema/schema.js +18 -11
  103. package/dist/cjs/util/dynamic-import.js +1 -1
  104. package/dist/cjs/util/log.d.ts +11 -8
  105. package/dist/cjs/util/log.js +25 -12
  106. package/dist/cjs/util/type-utils.d.ts +7 -7
  107. package/dist/esm/dialect/mysql/mysql-query-compiler.d.ts +0 -2
  108. package/dist/esm/dialect/mysql/mysql-query-compiler.js +0 -6
  109. package/dist/esm/dialect/postgres/postgres-query-compiler.d.ts +3 -0
  110. package/dist/esm/dialect/postgres/postgres-query-compiler.js +9 -1
  111. package/dist/esm/dialect/sqlite/sqlite-adapter.js +6 -2
  112. package/dist/esm/dialect/sqlite/sqlite-driver.js +7 -7
  113. package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +2 -2
  114. package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +6 -6
  115. package/dist/esm/driver/runtime-driver.js +1 -1
  116. package/dist/esm/dynamic/dynamic-reference-builder.d.ts +1 -0
  117. package/dist/esm/dynamic/dynamic-reference-builder.js +7 -0
  118. package/dist/esm/dynamic/dynamic.d.ts +6 -7
  119. package/dist/esm/dynamic/dynamic.js +6 -7
  120. package/dist/esm/index.d.ts +51 -33
  121. package/dist/esm/index.js +48 -30
  122. package/dist/esm/kysely.d.ts +39 -15
  123. package/dist/esm/kysely.js +32 -9
  124. package/dist/esm/migration/migration.d.ts +2 -2
  125. package/dist/esm/operation-node/alias-node.d.ts +1 -1
  126. package/dist/esm/operation-node/create-table-node.d.ts +6 -2
  127. package/dist/esm/operation-node/create-table-node.js +6 -6
  128. package/dist/esm/operation-node/create-view-node.d.ts +1 -0
  129. package/dist/esm/operation-node/insert-query-node.d.ts +4 -4
  130. package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
  131. package/dist/esm/operation-node/operation-node-transformer.js +11 -1
  132. package/dist/esm/operation-node/operation-node-utils.d.ts +1 -1
  133. package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
  134. package/dist/esm/operation-node/operation-node-visitor.js +1 -0
  135. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  136. package/dist/esm/operation-node/query-node.d.ts +0 -2
  137. package/dist/esm/operation-node/query-node.js +0 -10
  138. package/dist/esm/operation-node/values-node.d.ts +15 -0
  139. package/dist/esm/operation-node/values-node.js +15 -0
  140. package/dist/esm/parser/complex-expression-parser.d.ts +9 -0
  141. package/dist/esm/parser/complex-expression-parser.js +20 -0
  142. package/dist/esm/parser/filter-parser.d.ts +13 -3
  143. package/dist/esm/parser/filter-parser.js +55 -62
  144. package/dist/esm/parser/insert-values-parser.d.ts +7 -10
  145. package/dist/esm/parser/insert-values-parser.js +31 -38
  146. package/dist/esm/parser/order-by-parser.d.ts +1 -1
  147. package/dist/esm/parser/parse-context.d.ts +8 -8
  148. package/dist/esm/parser/parse-context.js +10 -10
  149. package/dist/esm/parser/reference-parser.d.ts +8 -7
  150. package/dist/esm/parser/reference-parser.js +9 -18
  151. package/dist/esm/parser/returning-parser.d.ts +1 -5
  152. package/dist/esm/parser/select-parser.d.ts +12 -14
  153. package/dist/esm/parser/select-parser.js +6 -10
  154. package/dist/esm/parser/table-parser.d.ts +9 -11
  155. package/dist/esm/parser/table-parser.js +3 -9
  156. package/dist/esm/parser/union-parser.d.ts +2 -2
  157. package/dist/esm/parser/union-parser.js +1 -6
  158. package/dist/esm/parser/update-set-parser.d.ts +2 -8
  159. package/dist/esm/parser/update-set-parser.js +5 -24
  160. package/dist/esm/parser/value-parser.d.ts +9 -6
  161. package/dist/esm/parser/value-parser.js +8 -31
  162. package/dist/esm/parser/with-parser.d.ts +6 -3
  163. package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +2 -2
  164. package/dist/esm/query-builder/delete-query-builder.d.ts +102 -0
  165. package/dist/esm/query-builder/delete-query-builder.js +181 -0
  166. package/dist/esm/query-builder/expression-builder.d.ts +8 -6
  167. package/dist/esm/query-builder/expression-builder.js +3 -3
  168. package/dist/esm/query-builder/function-builder.d.ts +2 -1
  169. package/dist/esm/query-builder/function-builder.js +2 -1
  170. package/dist/esm/query-builder/having-interface.d.ts +49 -0
  171. package/dist/esm/query-builder/having-interface.js +1 -0
  172. package/dist/esm/query-builder/insert-query-builder.d.ts +439 -0
  173. package/dist/esm/query-builder/insert-query-builder.js +252 -0
  174. package/dist/esm/query-builder/insert-result.d.ts +3 -2
  175. package/dist/esm/query-builder/insert-result.js +3 -2
  176. package/dist/esm/query-builder/join-builder.d.ts +22 -20
  177. package/dist/esm/query-builder/join-builder.js +12 -12
  178. package/dist/esm/query-builder/join-interface.d.ts +133 -0
  179. package/dist/esm/query-builder/join-interface.js +1 -0
  180. package/dist/esm/query-builder/no-result-error.d.ts +9 -0
  181. package/dist/esm/query-builder/no-result-error.js +10 -0
  182. package/dist/esm/query-builder/returning-interface.d.ts +73 -0
  183. package/dist/esm/query-builder/returning-interface.js +1 -0
  184. package/dist/esm/query-builder/select-query-builder.d.ts +711 -0
  185. package/dist/esm/query-builder/select-query-builder.js +566 -0
  186. package/dist/esm/query-builder/update-query-builder.d.ts +190 -0
  187. package/dist/esm/query-builder/update-query-builder.js +275 -0
  188. package/dist/esm/query-builder/where-interface.d.ts +381 -0
  189. package/dist/esm/query-builder/where-interface.js +1 -0
  190. package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -0
  191. package/dist/esm/query-compiler/default-query-compiler.js +22 -5
  192. package/dist/esm/query-creator.d.ts +42 -40
  193. package/dist/esm/query-creator.js +33 -28
  194. package/dist/esm/query-executor/query-executor.d.ts +1 -1
  195. package/dist/esm/query-executor/query-executor.js +1 -1
  196. package/dist/esm/raw-builder/raw-builder.d.ts +2 -0
  197. package/dist/esm/raw-builder/raw-builder.js +6 -0
  198. package/dist/esm/schema/alter-table-builder.d.ts +2 -2
  199. package/dist/esm/schema/column-definition-builder.d.ts +27 -20
  200. package/dist/esm/schema/create-index-builder.d.ts +2 -1
  201. package/dist/esm/schema/create-index-builder.js +2 -1
  202. package/dist/esm/schema/create-table-builder.d.ts +26 -9
  203. package/dist/esm/schema/create-table-builder.js +43 -10
  204. package/dist/esm/schema/create-view-builder.d.ts +17 -3
  205. package/dist/esm/schema/create-view-builder.js +25 -16
  206. package/dist/esm/schema/schema.d.ts +18 -11
  207. package/dist/esm/schema/schema.js +18 -11
  208. package/dist/esm/util/dynamic-import.js +1 -1
  209. package/dist/esm/util/log.d.ts +11 -8
  210. package/dist/esm/util/log.js +25 -12
  211. package/dist/esm/util/type-utils.d.ts +7 -7
  212. package/package.json +3 -3
  213. package/dist/cjs/query-builder/query-builder.d.ts +0 -1707
  214. package/dist/cjs/query-builder/query-builder.js +0 -1067
  215. package/dist/esm/query-builder/query-builder.d.ts +0 -1707
  216. package/dist/esm/query-builder/query-builder.js +0 -1061
package/README.md CHANGED
@@ -72,7 +72,7 @@ interface Person {
72
72
  first_name: string
73
73
  // If the column is nullable in the db, make its type nullable.
74
74
  // Don't use optional properties.
75
- last_name: string | null
75
+ last_name: string | null
76
76
  gender: 'male' | 'female' | 'other'
77
77
  }
78
78
 
@@ -1,7 +1,5 @@
1
1
  import { DefaultQueryCompiler } from '../../query-compiler/default-query-compiler.js';
2
2
  export declare class MysqlQueryCompiler extends DefaultQueryCompiler {
3
- protected visitReturning(): void;
4
- protected getSql(): string;
5
3
  protected getCurrentParameterPlaceholder(): string;
6
4
  protected getLeftIdentifierWrapper(): string;
7
5
  protected getRightIdentifierWrapper(): string;
@@ -3,12 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MysqlQueryCompiler = void 0;
4
4
  const default_query_compiler_js_1 = require("../../query-compiler/default-query-compiler.js");
5
5
  class MysqlQueryCompiler extends default_query_compiler_js_1.DefaultQueryCompiler {
6
- visitReturning() {
7
- // Do nothing.
8
- }
9
- getSql() {
10
- return super.getSql().trimEnd();
11
- }
12
6
  getCurrentParameterPlaceholder() {
13
7
  return '?';
14
8
  }
@@ -1,3 +1,6 @@
1
1
  import { DefaultQueryCompiler } from '../../query-compiler/default-query-compiler.js';
2
2
  export declare class PostgresQueryCompiler extends DefaultQueryCompiler {
3
+ protected getCurrentParameterPlaceholder(): string;
4
+ protected getLeftIdentifierWrapper(): string;
5
+ protected getRightIdentifierWrapper(): string;
3
6
  }
@@ -2,7 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PostgresQueryCompiler = void 0;
4
4
  const default_query_compiler_js_1 = require("../../query-compiler/default-query-compiler.js");
5
- // The default query compiler is for PostgreSQL.
6
5
  class PostgresQueryCompiler extends default_query_compiler_js_1.DefaultQueryCompiler {
6
+ getCurrentParameterPlaceholder() {
7
+ return '$' + this.numParameters;
8
+ }
9
+ getLeftIdentifierWrapper() {
10
+ return '"';
11
+ }
12
+ getRightIdentifierWrapper() {
13
+ return '"';
14
+ }
7
15
  }
8
16
  exports.PostgresQueryCompiler = PostgresQueryCompiler;
@@ -9,10 +9,14 @@ class SqliteAdapter {
9
9
  return false;
10
10
  }
11
11
  async acquireMigrationLock() {
12
- // Nothing to do here.
12
+ // SQLite only has one connection that's reserved by the migration system
13
+ // for the whole time between acquireMigrationLock and releaseMigrationLock.
14
+ // We don't need to do anything here.
13
15
  }
14
16
  async releaseMigrationLock() {
15
- // Nothing to do here.
17
+ // SQLite only has one connection that's reserved by the migration system
18
+ // for the whole time between acquireMigrationLock and releaseMigrationLock.
19
+ // We don't need to do anything here.
16
20
  }
17
21
  }
18
22
  exports.SqliteAdapter = SqliteAdapter;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SqliteDriver = void 0;
4
4
  const compiled_query_js_1 = require("../../query-compiler/compiled-query.js");
5
5
  const dynamic_import_js_1 = require("../../util/dynamic-import.js");
6
+ const object_utils_js_1 = require("../../util/object-utils.js");
6
7
  class SqliteDriver {
7
8
  #config;
8
9
  #connectionMutex = new ConnectionMutex();
@@ -19,16 +20,16 @@ class SqliteDriver {
19
20
  // into javascript. You can check the built javascript code.
20
21
  const DatabaseConstructor = await importBetterSqlite3Database();
21
22
  const options = {};
22
- if (typeof this.#config.readonly === 'boolean') {
23
+ if ((0, object_utils_js_1.isBoolean)(this.#config.readonly)) {
23
24
  options.readonly = this.#config.readonly;
24
25
  }
25
- if (typeof this.#config.fileMustExist === 'boolean') {
26
+ if ((0, object_utils_js_1.isBoolean)(this.#config.fileMustExist)) {
26
27
  options.fileMustExist = this.#config.fileMustExist;
27
28
  }
28
- if (typeof this.#config.timeout === 'number') {
29
+ if ((0, object_utils_js_1.isNumber)(this.#config.timeout)) {
29
30
  options.timeout = this.#config.timeout;
30
31
  }
31
- if (typeof this.#config.verbose === 'function') {
32
+ if ((0, object_utils_js_1.isFunction)(this.#config.verbose)) {
32
33
  options.verbose = this.#config.verbose;
33
34
  }
34
35
  this.#db = new DatabaseConstructor(this.#config.databasePath, options);
@@ -38,8 +39,8 @@ class SqliteDriver {
38
39
  }
39
40
  }
40
41
  async acquireConnection() {
41
- // sqlite effectively only has one single connection. We use a mutex
42
- // here to wait until the single connection has been released.
42
+ // SQLite only has one single connection. We use a mutex here to wait
43
+ // until the single connection has been released.
43
44
  await this.#connectionMutex.lock();
44
45
  return this.#connection;
45
46
  }
@@ -65,7 +66,6 @@ async function importBetterSqlite3Database() {
65
66
  return await (0, dynamic_import_js_1.importFunction)('better-sqlite3');
66
67
  }
67
68
  catch (error) {
68
- console.error(error);
69
69
  throw new Error('SQLite client not installed. Please run `npm install better-sqlite3`');
70
70
  }
71
71
  }
@@ -1,7 +1,7 @@
1
1
  import { DefaultQueryCompiler } from '../../query-compiler/default-query-compiler.js';
2
2
  export declare class SqliteQueryCompiler extends DefaultQueryCompiler {
3
- protected visitReturning(): void;
4
- protected getSql(): string;
5
3
  protected getCurrentParameterPlaceholder(): string;
4
+ protected getLeftIdentifierWrapper(): string;
5
+ protected getRightIdentifierWrapper(): string;
6
6
  protected getAutoIncrement(): string;
7
7
  }
@@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SqliteQueryCompiler = void 0;
4
4
  const default_query_compiler_js_1 = require("../../query-compiler/default-query-compiler.js");
5
5
  class SqliteQueryCompiler extends default_query_compiler_js_1.DefaultQueryCompiler {
6
- visitReturning() {
7
- // Do nothing.
8
- }
9
- getSql() {
10
- return super.getSql().trimEnd();
11
- }
12
6
  getCurrentParameterPlaceholder() {
13
7
  return '?';
14
8
  }
9
+ getLeftIdentifierWrapper() {
10
+ return '"';
11
+ }
12
+ getRightIdentifierWrapper() {
13
+ return '"';
14
+ }
15
15
  getAutoIncrement() {
16
16
  return 'autoincrement';
17
17
  }
@@ -97,7 +97,7 @@ class RuntimeConnection {
97
97
  #logQuery(compiledQuery, startTime) {
98
98
  this.#log.query(() => ({
99
99
  level: 'query',
100
- sql: compiledQuery.sql,
100
+ query: compiledQuery,
101
101
  queryDurationMillis: this.#calculateDurationMillis(startTime),
102
102
  }));
103
103
  }
@@ -16,3 +16,4 @@ export declare class DynamicReferenceBuilder<R extends string = never> implement
16
16
  constructor(reference: string);
17
17
  toOperationNode(): ReferenceNode | ColumnNode;
18
18
  }
19
+ export declare function isDynamicReferenceBuilder(obj: unknown): obj is DynamicReferenceBuilder<any>;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DynamicReferenceBuilder = void 0;
3
+ exports.isDynamicReferenceBuilder = exports.DynamicReferenceBuilder = void 0;
4
+ const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
4
5
  const reference_parser_js_1 = require("../parser/reference-parser.js");
6
+ const object_utils_js_1 = require("../util/object-utils.js");
5
7
  class DynamicReferenceBuilder {
6
8
  #dynamicReference;
7
9
  get dynamicReference() {
@@ -26,3 +28,9 @@ class DynamicReferenceBuilder {
26
28
  }
27
29
  }
28
30
  exports.DynamicReferenceBuilder = DynamicReferenceBuilder;
31
+ function isDynamicReferenceBuilder(obj) {
32
+ return ((0, object_utils_js_1.isObject)(obj) &&
33
+ (0, operation_node_source_js_1.isOperationNodeSource)(obj) &&
34
+ (0, object_utils_js_1.isString)(obj.dynamicReference));
35
+ }
36
+ exports.isDynamicReferenceBuilder = isDynamicReferenceBuilder;
@@ -20,7 +20,8 @@ export declare class DynamicModule {
20
20
  * `ref` to other methods as well. If the types allow you to pass a `ref`
21
21
  * value to some place, it should work.
22
22
  *
23
- * @example
23
+ * ### Examples
24
+ *
24
25
  * Filter by a column not know at compile time:
25
26
  *
26
27
  * ```ts
@@ -38,7 +39,6 @@ export declare class DynamicModule {
38
39
  * someQuery('person.last_name', 'Aniston')
39
40
  * ```
40
41
  *
41
- * @example
42
42
  * Order by a column not know at compile time:
43
43
  *
44
44
  * ```ts
@@ -55,7 +55,6 @@ export declare class DynamicModule {
55
55
  * someQuery('fn')
56
56
  * ```
57
57
  *
58
- * @example
59
58
  * In this example we add selections dynamically:
60
59
  *
61
60
  * ```ts
@@ -66,7 +65,7 @@ export declare class DynamicModule {
66
65
  *
67
66
  * // A type that lists all possible values `columnFromUserInput` can have.
68
67
  * // You can use `keyof Person` if any column of an interface is allowed.
69
- * type PossibleColumns = 'last_name' | 'first_name' | 'birth_date'
68
+ * type PossibleColumns = 'last_name' | 'first_name' | 'birth_date'
70
69
  *
71
70
  * const [person] = await db.selectFrom('person')
72
71
  * .select([
@@ -78,9 +77,9 @@ export declare class DynamicModule {
78
77
  * // The resulting type contains all `PossibleColumns` as optional fields
79
78
  * // because we cannot know which field was actually selected before
80
79
  * // running the code.
81
- * const lastName: string | undefined = person.last_name
82
- * const firstName: string | undefined = person.first_name
83
- * const birthDate: string | undefined = person.birth_date
80
+ * const lastName: string | undefined = person.last_name
81
+ * const firstName: string | undefined = person.first_name
82
+ * const birthDate: string | undefined = person.birth_date
84
83
  *
85
84
  * // The result type also contains the compile time selection `id`.
86
85
  * person.id
@@ -23,7 +23,8 @@ class DynamicModule {
23
23
  * `ref` to other methods as well. If the types allow you to pass a `ref`
24
24
  * value to some place, it should work.
25
25
  *
26
- * @example
26
+ * ### Examples
27
+ *
27
28
  * Filter by a column not know at compile time:
28
29
  *
29
30
  * ```ts
@@ -41,7 +42,6 @@ class DynamicModule {
41
42
  * someQuery('person.last_name', 'Aniston')
42
43
  * ```
43
44
  *
44
- * @example
45
45
  * Order by a column not know at compile time:
46
46
  *
47
47
  * ```ts
@@ -58,7 +58,6 @@ class DynamicModule {
58
58
  * someQuery('fn')
59
59
  * ```
60
60
  *
61
- * @example
62
61
  * In this example we add selections dynamically:
63
62
  *
64
63
  * ```ts
@@ -69,7 +68,7 @@ class DynamicModule {
69
68
  *
70
69
  * // A type that lists all possible values `columnFromUserInput` can have.
71
70
  * // You can use `keyof Person` if any column of an interface is allowed.
72
- * type PossibleColumns = 'last_name' | 'first_name' | 'birth_date'
71
+ * type PossibleColumns = 'last_name' | 'first_name' | 'birth_date'
73
72
  *
74
73
  * const [person] = await db.selectFrom('person')
75
74
  * .select([
@@ -81,9 +80,9 @@ class DynamicModule {
81
80
  * // The resulting type contains all `PossibleColumns` as optional fields
82
81
  * // because we cannot know which field was actually selected before
83
82
  * // running the code.
84
- * const lastName: string | undefined = person.last_name
85
- * const firstName: string | undefined = person.first_name
86
- * const birthDate: string | undefined = person.birth_date
83
+ * const lastName: string | undefined = person.last_name
84
+ * const firstName: string | undefined = person.first_name
85
+ * const birthDate: string | undefined = person.birth_date
87
86
  *
88
87
  * // The result type also contains the compile time selection `id`.
89
88
  * person.id
@@ -1,8 +1,17 @@
1
1
  export * from './kysely.js';
2
2
  export * from './query-creator.js';
3
- export * from './query-builder/query-builder.js';
3
+ export * from './query-builder/where-interface.js';
4
+ export * from './query-builder/join-interface.js';
5
+ export * from './query-builder/returning-interface.js';
6
+ export * from './query-builder/having-interface.js';
7
+ export * from './query-builder/select-query-builder.js';
8
+ export * from './query-builder/insert-query-builder.js';
9
+ export * from './query-builder/update-query-builder.js';
10
+ export * from './query-builder/delete-query-builder.js';
11
+ export * from './query-builder/no-result-error.js';
4
12
  export * from './query-builder/join-builder.js';
5
13
  export * from './query-builder/expression-builder.js';
14
+ export * from './query-builder/function-builder.js';
6
15
  export * from './query-builder/insert-result.js';
7
16
  export * from './query-builder/delete-result.js';
8
17
  export * from './query-builder/update-result.js';
@@ -51,35 +60,8 @@ export * from './migration/migration.js';
51
60
  export * from './dialect/dialect.js';
52
61
  export * from './dialect/dialect-adapter.js';
53
62
  export * from './dialect/dialect-adapter-base.js';
54
- export * from './operation-node/operation-node-transformer.js';
55
- export * from './operation-node/operation-node-visitor.js';
56
63
  export * from './plugin/kysely-plugin.js';
57
64
  export * from './plugin/camel-case/camel-case-plugin.js';
58
- export * from './operation-node/operation-node-transformer.js';
59
- export * from './operation-node/operation-node-visitor.js';
60
- export * from './operation-node/operator-node.js';
61
- export * from './operation-node/or-node.js';
62
- export * from './operation-node/order-by-item-node.js';
63
- export * from './operation-node/order-by-node.js';
64
- export * from './operation-node/parens-node.js';
65
- export * from './operation-node/primary-constraint-node.js';
66
- export * from './operation-node/primitive-value-list-node.js';
67
- export * from './operation-node/query-node.js';
68
- export * from './operation-node/raw-node.js';
69
- export * from './operation-node/reference-node.js';
70
- export * from './operation-node/references-node.js';
71
- export * from './operation-node/rename-column-node.js';
72
- export * from './operation-node/returning-node.js';
73
- export * from './operation-node/select-all-node.js';
74
- export * from './operation-node/select-query-node.js';
75
- export * from './operation-node/selection-node.js';
76
- export * from './operation-node/table-node.js';
77
- export * from './operation-node/unique-constraint-node.js';
78
- export * from './operation-node/update-query-node.js';
79
- export * from './operation-node/value-list-node.js';
80
- export * from './operation-node/value-node.js';
81
- export * from './operation-node/where-node.js';
82
- export * from './operation-node/with-node.js';
83
65
  export * from './operation-node/add-column-node.js';
84
66
  export * from './operation-node/add-constraint-node.js';
85
67
  export * from './operation-node/alias-node.js';
@@ -95,16 +77,20 @@ export * from './operation-node/constraint-node.js';
95
77
  export * from './operation-node/create-index-node.js';
96
78
  export * from './operation-node/create-schema-node.js';
97
79
  export * from './operation-node/create-table-node.js';
80
+ export * from './operation-node/create-view-node.js';
98
81
  export * from './operation-node/data-type-node.js';
82
+ export * from './operation-node/default-value-node.js';
99
83
  export * from './operation-node/delete-query-node.js';
100
84
  export * from './operation-node/drop-column-node.js';
101
85
  export * from './operation-node/drop-constraint-node.js';
102
86
  export * from './operation-node/drop-index-node.js';
103
87
  export * from './operation-node/drop-schema-node.js';
104
88
  export * from './operation-node/drop-table-node.js';
89
+ export * from './operation-node/drop-view-node.js';
105
90
  export * from './operation-node/filter-node.js';
106
91
  export * from './operation-node/foreign-key-constraint-node.js';
107
92
  export * from './operation-node/from-node.js';
93
+ export * from './operation-node/generated-always-as-node.js';
108
94
  export * from './operation-node/group-by-item-node.js';
109
95
  export * from './operation-node/group-by-node.js';
110
96
  export * from './operation-node/having-node.js';
@@ -113,19 +99,51 @@ export * from './operation-node/insert-query-node.js';
113
99
  export * from './operation-node/join-node.js';
114
100
  export * from './operation-node/limit-node.js';
115
101
  export * from './operation-node/list-node.js';
102
+ export * from './operation-node/modify-column-node.js';
116
103
  export * from './operation-node/offset-node.js';
117
- export * from './operation-node//on-conflict-node.js';
118
- export * from './operation-node/operation-node.js';
104
+ export * from './operation-node/on-conflict-node.js';
105
+ export * from './operation-node/on-duplicate-key-node.js';
106
+ export * from './operation-node/on-node.js';
119
107
  export * from './operation-node/operation-node-source.js';
108
+ export * from './operation-node/operation-node-transformer.js';
109
+ export * from './operation-node/operation-node-utils.js';
110
+ export * from './operation-node/operation-node-visitor.js';
111
+ export * from './operation-node/operation-node.js';
112
+ export * from './operation-node/operator-node.js';
113
+ export * from './operation-node/or-node.js';
114
+ export * from './operation-node/order-by-item-node.js';
120
115
  export * from './operation-node/order-by-node.js';
116
+ export * from './operation-node/parens-node.js';
117
+ export * from './operation-node/primary-constraint-node.js';
118
+ export * from './operation-node/primitive-value-list-node.js';
119
+ export * from './operation-node/query-node.js';
120
+ export * from './operation-node/raw-node.js';
121
+ export * from './operation-node/reference-node.js';
122
+ export * from './operation-node/references-node.js';
123
+ export * from './operation-node/rename-column-node.js';
124
+ export * from './operation-node/returning-node.js';
125
+ export * from './operation-node/select-all-node.js';
126
+ export * from './operation-node/select-query-node.js';
127
+ export * from './operation-node/select-query-node.js';
128
+ export * from './operation-node/selection-node.js';
129
+ export * from './operation-node/table-node.js';
130
+ export * from './operation-node/union-node.js';
131
+ export * from './operation-node/unique-constraint-node.js';
132
+ export * from './operation-node/update-query-node.js';
133
+ export * from './operation-node/value-list-node.js';
134
+ export * from './operation-node/value-node.js';
135
+ export * from './operation-node/values-node.js';
136
+ export * from './operation-node/where-node.js';
137
+ export * from './operation-node/with-node.js';
121
138
  export * from './introspection/database-introspector.js';
122
139
  export * from './util/compilable.js';
123
- export { AnyColumn, UnknownRow, AnyQueryBuilder } from './util/type-utils.js';
140
+ export * from './util/log.js';
141
+ export { AnyColumn, UnknownRow, AnySelectQueryBuilder, } from './util/type-utils.js';
124
142
  export { SelectExpression, SelectExpressionOrList, } from './parser/select-parser.js';
125
143
  export { ReferenceExpression, ReferenceExpressionOrList, } from './parser/reference-parser.js';
126
144
  export { ValueExpression, ValueExpressionOrList, } from './parser/value-parser.js';
127
- export { ExistsExpression, FilterOperator } from './parser/filter-parser.js';
128
- export { TableExpression } from './parser/table-parser.js';
145
+ export { FilterValueExpression, FilterValueExpressionOrList, ExistsExpression, FilterOperator, } from './parser/filter-parser.js';
146
+ export { TableExpression, TableExpressionOrList, } from './parser/table-parser.js';
129
147
  export { JoinReferenceExpression, JoinCallbackExpression, } from './parser/join-parser.js';
130
148
  export { InsertObject } from './parser/insert-values-parser.js';
131
149
  export { MutationObject } from './parser/update-set-parser.js';
package/dist/cjs/index.js CHANGED
@@ -12,9 +12,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./kysely.js"), exports);
14
14
  __exportStar(require("./query-creator.js"), exports);
15
- __exportStar(require("./query-builder/query-builder.js"), exports);
15
+ __exportStar(require("./query-builder/where-interface.js"), exports);
16
+ __exportStar(require("./query-builder/join-interface.js"), exports);
17
+ __exportStar(require("./query-builder/returning-interface.js"), exports);
18
+ __exportStar(require("./query-builder/having-interface.js"), exports);
19
+ __exportStar(require("./query-builder/select-query-builder.js"), exports);
20
+ __exportStar(require("./query-builder/insert-query-builder.js"), exports);
21
+ __exportStar(require("./query-builder/update-query-builder.js"), exports);
22
+ __exportStar(require("./query-builder/delete-query-builder.js"), exports);
23
+ __exportStar(require("./query-builder/no-result-error.js"), exports);
16
24
  __exportStar(require("./query-builder/join-builder.js"), exports);
17
25
  __exportStar(require("./query-builder/expression-builder.js"), exports);
26
+ __exportStar(require("./query-builder/function-builder.js"), exports);
18
27
  __exportStar(require("./query-builder/insert-result.js"), exports);
19
28
  __exportStar(require("./query-builder/delete-result.js"), exports);
20
29
  __exportStar(require("./query-builder/update-result.js"), exports);
@@ -63,35 +72,8 @@ __exportStar(require("./migration/migration.js"), exports);
63
72
  __exportStar(require("./dialect/dialect.js"), exports);
64
73
  __exportStar(require("./dialect/dialect-adapter.js"), exports);
65
74
  __exportStar(require("./dialect/dialect-adapter-base.js"), exports);
66
- __exportStar(require("./operation-node/operation-node-transformer.js"), exports);
67
- __exportStar(require("./operation-node/operation-node-visitor.js"), exports);
68
75
  __exportStar(require("./plugin/kysely-plugin.js"), exports);
69
76
  __exportStar(require("./plugin/camel-case/camel-case-plugin.js"), exports);
70
- __exportStar(require("./operation-node/operation-node-transformer.js"), exports);
71
- __exportStar(require("./operation-node/operation-node-visitor.js"), exports);
72
- __exportStar(require("./operation-node/operator-node.js"), exports);
73
- __exportStar(require("./operation-node/or-node.js"), exports);
74
- __exportStar(require("./operation-node/order-by-item-node.js"), exports);
75
- __exportStar(require("./operation-node/order-by-node.js"), exports);
76
- __exportStar(require("./operation-node/parens-node.js"), exports);
77
- __exportStar(require("./operation-node/primary-constraint-node.js"), exports);
78
- __exportStar(require("./operation-node/primitive-value-list-node.js"), exports);
79
- __exportStar(require("./operation-node/query-node.js"), exports);
80
- __exportStar(require("./operation-node/raw-node.js"), exports);
81
- __exportStar(require("./operation-node/reference-node.js"), exports);
82
- __exportStar(require("./operation-node/references-node.js"), exports);
83
- __exportStar(require("./operation-node/rename-column-node.js"), exports);
84
- __exportStar(require("./operation-node/returning-node.js"), exports);
85
- __exportStar(require("./operation-node/select-all-node.js"), exports);
86
- __exportStar(require("./operation-node/select-query-node.js"), exports);
87
- __exportStar(require("./operation-node/selection-node.js"), exports);
88
- __exportStar(require("./operation-node/table-node.js"), exports);
89
- __exportStar(require("./operation-node/unique-constraint-node.js"), exports);
90
- __exportStar(require("./operation-node/update-query-node.js"), exports);
91
- __exportStar(require("./operation-node/value-list-node.js"), exports);
92
- __exportStar(require("./operation-node/value-node.js"), exports);
93
- __exportStar(require("./operation-node/where-node.js"), exports);
94
- __exportStar(require("./operation-node/with-node.js"), exports);
95
77
  __exportStar(require("./operation-node/add-column-node.js"), exports);
96
78
  __exportStar(require("./operation-node/add-constraint-node.js"), exports);
97
79
  __exportStar(require("./operation-node/alias-node.js"), exports);
@@ -107,16 +89,20 @@ __exportStar(require("./operation-node/constraint-node.js"), exports);
107
89
  __exportStar(require("./operation-node/create-index-node.js"), exports);
108
90
  __exportStar(require("./operation-node/create-schema-node.js"), exports);
109
91
  __exportStar(require("./operation-node/create-table-node.js"), exports);
92
+ __exportStar(require("./operation-node/create-view-node.js"), exports);
110
93
  __exportStar(require("./operation-node/data-type-node.js"), exports);
94
+ __exportStar(require("./operation-node/default-value-node.js"), exports);
111
95
  __exportStar(require("./operation-node/delete-query-node.js"), exports);
112
96
  __exportStar(require("./operation-node/drop-column-node.js"), exports);
113
97
  __exportStar(require("./operation-node/drop-constraint-node.js"), exports);
114
98
  __exportStar(require("./operation-node/drop-index-node.js"), exports);
115
99
  __exportStar(require("./operation-node/drop-schema-node.js"), exports);
116
100
  __exportStar(require("./operation-node/drop-table-node.js"), exports);
101
+ __exportStar(require("./operation-node/drop-view-node.js"), exports);
117
102
  __exportStar(require("./operation-node/filter-node.js"), exports);
118
103
  __exportStar(require("./operation-node/foreign-key-constraint-node.js"), exports);
119
104
  __exportStar(require("./operation-node/from-node.js"), exports);
105
+ __exportStar(require("./operation-node/generated-always-as-node.js"), exports);
120
106
  __exportStar(require("./operation-node/group-by-item-node.js"), exports);
121
107
  __exportStar(require("./operation-node/group-by-node.js"), exports);
122
108
  __exportStar(require("./operation-node/having-node.js"), exports);
@@ -125,10 +111,42 @@ __exportStar(require("./operation-node/insert-query-node.js"), exports);
125
111
  __exportStar(require("./operation-node/join-node.js"), exports);
126
112
  __exportStar(require("./operation-node/limit-node.js"), exports);
127
113
  __exportStar(require("./operation-node/list-node.js"), exports);
114
+ __exportStar(require("./operation-node/modify-column-node.js"), exports);
128
115
  __exportStar(require("./operation-node/offset-node.js"), exports);
129
- __exportStar(require("./operation-node//on-conflict-node.js"), exports);
130
- __exportStar(require("./operation-node/operation-node.js"), exports);
116
+ __exportStar(require("./operation-node/on-conflict-node.js"), exports);
117
+ __exportStar(require("./operation-node/on-duplicate-key-node.js"), exports);
118
+ __exportStar(require("./operation-node/on-node.js"), exports);
131
119
  __exportStar(require("./operation-node/operation-node-source.js"), exports);
120
+ __exportStar(require("./operation-node/operation-node-transformer.js"), exports);
121
+ __exportStar(require("./operation-node/operation-node-utils.js"), exports);
122
+ __exportStar(require("./operation-node/operation-node-visitor.js"), exports);
123
+ __exportStar(require("./operation-node/operation-node.js"), exports);
124
+ __exportStar(require("./operation-node/operator-node.js"), exports);
125
+ __exportStar(require("./operation-node/or-node.js"), exports);
126
+ __exportStar(require("./operation-node/order-by-item-node.js"), exports);
132
127
  __exportStar(require("./operation-node/order-by-node.js"), exports);
128
+ __exportStar(require("./operation-node/parens-node.js"), exports);
129
+ __exportStar(require("./operation-node/primary-constraint-node.js"), exports);
130
+ __exportStar(require("./operation-node/primitive-value-list-node.js"), exports);
131
+ __exportStar(require("./operation-node/query-node.js"), exports);
132
+ __exportStar(require("./operation-node/raw-node.js"), exports);
133
+ __exportStar(require("./operation-node/reference-node.js"), exports);
134
+ __exportStar(require("./operation-node/references-node.js"), exports);
135
+ __exportStar(require("./operation-node/rename-column-node.js"), exports);
136
+ __exportStar(require("./operation-node/returning-node.js"), exports);
137
+ __exportStar(require("./operation-node/select-all-node.js"), exports);
138
+ __exportStar(require("./operation-node/select-query-node.js"), exports);
139
+ __exportStar(require("./operation-node/select-query-node.js"), exports);
140
+ __exportStar(require("./operation-node/selection-node.js"), exports);
141
+ __exportStar(require("./operation-node/table-node.js"), exports);
142
+ __exportStar(require("./operation-node/union-node.js"), exports);
143
+ __exportStar(require("./operation-node/unique-constraint-node.js"), exports);
144
+ __exportStar(require("./operation-node/update-query-node.js"), exports);
145
+ __exportStar(require("./operation-node/value-list-node.js"), exports);
146
+ __exportStar(require("./operation-node/value-node.js"), exports);
147
+ __exportStar(require("./operation-node/values-node.js"), exports);
148
+ __exportStar(require("./operation-node/where-node.js"), exports);
149
+ __exportStar(require("./operation-node/with-node.js"), exports);
133
150
  __exportStar(require("./introspection/database-introspector.js"), exports);
134
151
  __exportStar(require("./util/compilable.js"), exports);
152
+ __exportStar(require("./util/log.js"), exports);