kysely 0.16.11 → 0.17.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 (170) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/dialect/mysql/mysql-adapter.js +3 -4
  3. package/dist/cjs/dialect/mysql/mysql-introspector.js +2 -1
  4. package/dist/cjs/dialect/postgres/postgres-adapter.js +3 -2
  5. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +2 -1
  6. package/dist/cjs/index-nodeless.d.ts +2 -0
  7. package/dist/cjs/index-nodeless.js +2 -0
  8. package/dist/cjs/kysely.d.ts +3 -6
  9. package/dist/cjs/kysely.js +7 -12
  10. package/dist/cjs/migration/migrator.js +4 -4
  11. package/dist/cjs/operation-node/operation-node-transformer.js +1 -1
  12. package/dist/cjs/operation-node/raw-node.d.ts +4 -2
  13. package/dist/cjs/operation-node/raw-node.js +8 -2
  14. package/dist/cjs/parser/complex-expression-parser.d.ts +5 -5
  15. package/dist/cjs/parser/complex-expression-parser.js +5 -4
  16. package/dist/cjs/parser/filter-parser.d.ts +9 -9
  17. package/dist/cjs/parser/filter-parser.js +31 -30
  18. package/dist/cjs/parser/group-by-parser.d.ts +1 -2
  19. package/dist/cjs/parser/group-by-parser.js +2 -2
  20. package/dist/cjs/parser/insert-values-parser.d.ts +1 -2
  21. package/dist/cjs/parser/insert-values-parser.js +6 -6
  22. package/dist/cjs/parser/join-parser.d.ts +1 -2
  23. package/dist/cjs/parser/join-parser.js +8 -7
  24. package/dist/cjs/parser/order-by-parser.d.ts +1 -2
  25. package/dist/cjs/parser/order-by-parser.js +4 -4
  26. package/dist/cjs/parser/parse-utils.d.ts +10 -0
  27. package/dist/cjs/parser/parse-utils.js +38 -0
  28. package/dist/cjs/parser/reference-parser.d.ts +2 -3
  29. package/dist/cjs/parser/reference-parser.js +5 -5
  30. package/dist/cjs/parser/select-parser.d.ts +1 -2
  31. package/dist/cjs/parser/select-parser.js +5 -5
  32. package/dist/cjs/parser/table-parser.d.ts +2 -3
  33. package/dist/cjs/parser/table-parser.js +5 -5
  34. package/dist/cjs/parser/update-set-parser.d.ts +1 -2
  35. package/dist/cjs/parser/update-set-parser.js +2 -2
  36. package/dist/cjs/parser/value-parser.d.ts +3 -4
  37. package/dist/cjs/parser/value-parser.js +7 -7
  38. package/dist/cjs/parser/with-parser.d.ts +1 -2
  39. package/dist/cjs/parser/with-parser.js +3 -2
  40. package/dist/cjs/query-builder/delete-query-builder.d.ts +23 -19
  41. package/dist/cjs/query-builder/delete-query-builder.js +15 -15
  42. package/dist/cjs/query-builder/expression-builder.d.ts +4 -13
  43. package/dist/cjs/query-builder/expression-builder.js +12 -21
  44. package/dist/cjs/query-builder/function-builder.d.ts +2 -6
  45. package/dist/cjs/query-builder/function-builder.js +5 -8
  46. package/dist/cjs/query-builder/insert-query-builder.d.ts +12 -8
  47. package/dist/cjs/query-builder/insert-query-builder.js +8 -7
  48. package/dist/cjs/query-builder/join-builder.d.ts +0 -2
  49. package/dist/cjs/query-builder/join-builder.js +8 -8
  50. package/dist/cjs/query-builder/on-conflict-builder.d.ts +24 -20
  51. package/dist/cjs/query-builder/on-conflict-builder.js +17 -17
  52. package/dist/cjs/query-builder/returning-interface.d.ts +3 -1
  53. package/dist/cjs/query-builder/select-query-builder.d.ts +41 -29
  54. package/dist/cjs/query-builder/select-query-builder.js +28 -26
  55. package/dist/cjs/query-builder/update-query-builder.d.ts +30 -24
  56. package/dist/cjs/query-builder/update-query-builder.js +22 -20
  57. package/dist/cjs/query-builder/where-interface.d.ts +20 -16
  58. package/dist/cjs/query-compiler/default-query-compiler.js +1 -1
  59. package/dist/cjs/query-creator.d.ts +10 -129
  60. package/dist/cjs/query-creator.js +5 -136
  61. package/dist/cjs/query-executor/default-query-executor.d.ts +8 -1
  62. package/dist/cjs/query-executor/default-query-executor.js +13 -13
  63. package/dist/cjs/query-executor/noop-query-executor.d.ts +8 -0
  64. package/dist/cjs/query-executor/noop-query-executor.js +8 -1
  65. package/dist/cjs/query-executor/query-executor-provider.d.ts +8 -0
  66. package/dist/cjs/query-executor/query-executor-provider.js +2 -0
  67. package/dist/cjs/query-executor/query-executor.d.ts +7 -0
  68. package/dist/cjs/raw-builder/raw-builder.d.ts +42 -11
  69. package/dist/cjs/raw-builder/raw-builder.js +55 -56
  70. package/dist/cjs/raw-builder/sql.d.ts +323 -0
  71. package/dist/cjs/raw-builder/sql.js +153 -0
  72. package/dist/cjs/schema/alter-table-builder.d.ts +20 -8
  73. package/dist/cjs/schema/column-definition-builder.d.ts +20 -8
  74. package/dist/cjs/schema/create-index-builder.d.ts +3 -1
  75. package/dist/cjs/schema/create-index-builder.js +3 -1
  76. package/dist/cjs/schema/create-table-builder.d.ts +6 -2
  77. package/dist/cjs/schema/create-table-builder.js +6 -2
  78. package/dist/cjs/schema/create-view-builder.d.ts +3 -3
  79. package/dist/cjs/schema/create-view-builder.js +3 -3
  80. package/dist/cjs/util/query-id.js +10 -4
  81. package/dist/cjs/util/random-string.js +65 -2
  82. package/dist/esm/dialect/mysql/mysql-adapter.js +3 -4
  83. package/dist/esm/dialect/mysql/mysql-introspector.js +2 -1
  84. package/dist/esm/dialect/postgres/postgres-adapter.js +3 -2
  85. package/dist/esm/dialect/sqlite/sqlite-introspector.js +2 -1
  86. package/dist/esm/index-nodeless.d.ts +2 -0
  87. package/dist/esm/index-nodeless.js +2 -0
  88. package/dist/esm/kysely.d.ts +3 -6
  89. package/dist/esm/kysely.js +7 -12
  90. package/dist/esm/migration/migrator.js +4 -4
  91. package/dist/esm/operation-node/operation-node-transformer.js +1 -1
  92. package/dist/esm/operation-node/raw-node.d.ts +4 -2
  93. package/dist/esm/operation-node/raw-node.js +8 -2
  94. package/dist/esm/parser/complex-expression-parser.d.ts +5 -5
  95. package/dist/esm/parser/complex-expression-parser.js +5 -4
  96. package/dist/esm/parser/filter-parser.d.ts +9 -9
  97. package/dist/esm/parser/filter-parser.js +31 -30
  98. package/dist/esm/parser/group-by-parser.d.ts +1 -2
  99. package/dist/esm/parser/group-by-parser.js +2 -2
  100. package/dist/esm/parser/insert-values-parser.d.ts +1 -2
  101. package/dist/esm/parser/insert-values-parser.js +6 -6
  102. package/dist/esm/parser/join-parser.d.ts +1 -2
  103. package/dist/esm/parser/join-parser.js +8 -7
  104. package/dist/esm/parser/order-by-parser.d.ts +1 -2
  105. package/dist/esm/parser/order-by-parser.js +4 -4
  106. package/dist/esm/parser/parse-utils.d.ts +10 -0
  107. package/dist/esm/parser/parse-utils.js +32 -0
  108. package/dist/esm/parser/reference-parser.d.ts +2 -3
  109. package/dist/esm/parser/reference-parser.js +5 -5
  110. package/dist/esm/parser/select-parser.d.ts +1 -2
  111. package/dist/esm/parser/select-parser.js +5 -5
  112. package/dist/esm/parser/table-parser.d.ts +2 -3
  113. package/dist/esm/parser/table-parser.js +5 -5
  114. package/dist/esm/parser/update-set-parser.d.ts +1 -2
  115. package/dist/esm/parser/update-set-parser.js +2 -2
  116. package/dist/esm/parser/value-parser.d.ts +3 -4
  117. package/dist/esm/parser/value-parser.js +7 -7
  118. package/dist/esm/parser/with-parser.d.ts +1 -2
  119. package/dist/esm/parser/with-parser.js +3 -2
  120. package/dist/esm/query-builder/delete-query-builder.d.ts +23 -19
  121. package/dist/esm/query-builder/delete-query-builder.js +15 -15
  122. package/dist/esm/query-builder/expression-builder.d.ts +4 -13
  123. package/dist/esm/query-builder/expression-builder.js +12 -21
  124. package/dist/esm/query-builder/function-builder.d.ts +2 -6
  125. package/dist/esm/query-builder/function-builder.js +5 -8
  126. package/dist/esm/query-builder/insert-query-builder.d.ts +12 -8
  127. package/dist/esm/query-builder/insert-query-builder.js +8 -7
  128. package/dist/esm/query-builder/join-builder.d.ts +0 -2
  129. package/dist/esm/query-builder/join-builder.js +8 -8
  130. package/dist/esm/query-builder/on-conflict-builder.d.ts +24 -20
  131. package/dist/esm/query-builder/on-conflict-builder.js +17 -17
  132. package/dist/esm/query-builder/returning-interface.d.ts +3 -1
  133. package/dist/esm/query-builder/select-query-builder.d.ts +41 -29
  134. package/dist/esm/query-builder/select-query-builder.js +28 -26
  135. package/dist/esm/query-builder/update-query-builder.d.ts +30 -24
  136. package/dist/esm/query-builder/update-query-builder.js +22 -20
  137. package/dist/esm/query-builder/where-interface.d.ts +20 -16
  138. package/dist/esm/query-compiler/default-query-compiler.js +1 -1
  139. package/dist/esm/query-creator.d.ts +10 -129
  140. package/dist/esm/query-creator.js +5 -136
  141. package/dist/esm/query-executor/default-query-executor.d.ts +8 -1
  142. package/dist/esm/query-executor/default-query-executor.js +13 -13
  143. package/dist/esm/query-executor/noop-query-executor.d.ts +8 -0
  144. package/dist/esm/query-executor/noop-query-executor.js +7 -0
  145. package/dist/esm/query-executor/query-executor-provider.d.ts +8 -0
  146. package/dist/esm/query-executor/query-executor-provider.js +2 -0
  147. package/dist/esm/query-executor/query-executor.d.ts +7 -0
  148. package/dist/esm/raw-builder/raw-builder.d.ts +42 -11
  149. package/dist/esm/raw-builder/raw-builder.js +56 -57
  150. package/dist/esm/raw-builder/sql.d.ts +323 -0
  151. package/dist/esm/raw-builder/sql.js +151 -0
  152. package/dist/esm/schema/alter-table-builder.d.ts +20 -8
  153. package/dist/esm/schema/column-definition-builder.d.ts +20 -8
  154. package/dist/esm/schema/create-index-builder.d.ts +3 -1
  155. package/dist/esm/schema/create-index-builder.js +3 -1
  156. package/dist/esm/schema/create-table-builder.d.ts +6 -2
  157. package/dist/esm/schema/create-table-builder.js +6 -2
  158. package/dist/esm/schema/create-view-builder.d.ts +3 -3
  159. package/dist/esm/schema/create-view-builder.js +3 -3
  160. package/dist/esm/util/query-id.js +10 -4
  161. package/dist/esm/util/random-string.js +65 -2
  162. package/package.json +13 -13
  163. package/dist/cjs/parser/parse-context.d.ts +0 -55
  164. package/dist/cjs/parser/parse-context.js +0 -50
  165. package/dist/cjs/util/private-symbols.d.ts +0 -5
  166. package/dist/cjs/util/private-symbols.js +0 -8
  167. package/dist/esm/parser/parse-context.d.ts +0 -55
  168. package/dist/esm/parser/parse-context.js +0 -47
  169. package/dist/esm/util/private-symbols.d.ts +0 -5
  170. package/dist/esm/util/private-symbols.js +0 -6
@@ -1,8 +1,7 @@
1
1
  import { OrderByItemNode } from '../operation-node/order-by-item-node.js';
2
2
  import { AnyRawBuilder } from '../util/type-utils.js';
3
- import { ParseContext } from './parse-context.js';
4
3
  import { ReferenceExpression } from './reference-parser.js';
5
4
  export declare type OrderByDirection = 'asc' | 'desc';
6
5
  export declare type OrderByExpression<DB, TB extends keyof DB, O> = ReferenceExpression<DB, TB> | (keyof O & string);
7
6
  export declare type OrderByDirectionExpression = OrderByDirection | AnyRawBuilder;
8
- export declare function parseOrderBy(ctx: ParseContext, orderBy: OrderByExpression<any, any, any>, direction?: OrderByDirectionExpression): OrderByItemNode;
7
+ export declare function parseOrderBy(orderBy: OrderByExpression<any, any, any>, direction?: OrderByDirectionExpression): OrderByItemNode;
@@ -4,12 +4,12 @@ exports.parseOrderBy = void 0;
4
4
  const order_by_item_node_js_1 = require("../operation-node/order-by-item-node.js");
5
5
  const raw_node_js_1 = require("../operation-node/raw-node.js");
6
6
  const reference_parser_js_1 = require("./reference-parser.js");
7
- function parseOrderBy(ctx, orderBy, direction) {
8
- return order_by_item_node_js_1.OrderByItemNode.create(parseOrderByExpression(ctx, orderBy), parseOrderByDirectionExpression(direction));
7
+ function parseOrderBy(orderBy, direction) {
8
+ return order_by_item_node_js_1.OrderByItemNode.create(parseOrderByExpression(orderBy), parseOrderByDirectionExpression(direction));
9
9
  }
10
10
  exports.parseOrderBy = parseOrderBy;
11
- function parseOrderByExpression(ctx, expr) {
12
- return (0, reference_parser_js_1.parseReferenceExpression)(ctx, expr);
11
+ function parseOrderByExpression(expr) {
12
+ return (0, reference_parser_js_1.parseReferenceExpression)(expr);
13
13
  }
14
14
  function parseOrderByDirectionExpression(expr) {
15
15
  if (!expr) {
@@ -0,0 +1,10 @@
1
+ import { JoinType } from '../operation-node/join-node.js';
2
+ import { ExpressionBuilder } from '../query-builder/expression-builder.js';
3
+ import { JoinBuilder } from '../query-builder/join-builder.js';
4
+ import { SelectQueryBuilder } from '../query-builder/select-query-builder.js';
5
+ import { QueryCreator } from '../query-creator.js';
6
+ import { TableExpression } from './table-parser.js';
7
+ export declare function createSelectQueryBuilder(): SelectQueryBuilder<any, any, any>;
8
+ export declare function createExpressionBuilder(): ExpressionBuilder<any, any>;
9
+ export declare function createQueryCreator(): QueryCreator<any>;
10
+ export declare function createJoinBuilder(joinType: JoinType, table: TableExpression<any, any>): JoinBuilder<any, any>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createJoinBuilder = exports.createQueryCreator = exports.createExpressionBuilder = exports.createSelectQueryBuilder = void 0;
4
+ const join_node_js_1 = require("../operation-node/join-node.js");
5
+ const select_query_node_js_1 = require("../operation-node/select-query-node.js");
6
+ const expression_builder_js_1 = require("../query-builder/expression-builder.js");
7
+ const join_builder_js_1 = require("../query-builder/join-builder.js");
8
+ const select_query_builder_js_1 = require("../query-builder/select-query-builder.js");
9
+ const query_creator_js_1 = require("../query-creator.js");
10
+ const noop_query_executor_js_1 = require("../query-executor/noop-query-executor.js");
11
+ const query_id_js_1 = require("../util/query-id.js");
12
+ const table_parser_js_1 = require("./table-parser.js");
13
+ function createSelectQueryBuilder() {
14
+ return new select_query_builder_js_1.SelectQueryBuilder({
15
+ queryId: (0, query_id_js_1.createQueryId)(),
16
+ executor: noop_query_executor_js_1.NOOP_QUERY_EXECUTOR,
17
+ queryNode: select_query_node_js_1.SelectQueryNode.create((0, table_parser_js_1.parseTableExpressionOrList)([])),
18
+ });
19
+ }
20
+ exports.createSelectQueryBuilder = createSelectQueryBuilder;
21
+ function createExpressionBuilder() {
22
+ return new expression_builder_js_1.ExpressionBuilder({
23
+ executor: noop_query_executor_js_1.NOOP_QUERY_EXECUTOR,
24
+ });
25
+ }
26
+ exports.createExpressionBuilder = createExpressionBuilder;
27
+ function createQueryCreator() {
28
+ return new query_creator_js_1.QueryCreator({
29
+ executor: noop_query_executor_js_1.NOOP_QUERY_EXECUTOR,
30
+ });
31
+ }
32
+ exports.createQueryCreator = createQueryCreator;
33
+ function createJoinBuilder(joinType, table) {
34
+ return new join_builder_js_1.JoinBuilder({
35
+ joinNode: join_node_js_1.JoinNode.create(joinType, (0, table_parser_js_1.parseTableExpression)(table)),
36
+ });
37
+ }
38
+ exports.createJoinBuilder = createJoinBuilder;
@@ -5,7 +5,6 @@ import { ReferenceNode } from '../operation-node/reference-node.js';
5
5
  import { AnyColumn, AnyColumnWithTable, ExtractColumnType, ValueType } from '../util/type-utils.js';
6
6
  import { RawBuilder } from '../raw-builder/raw-builder.js';
7
7
  import { SelectQueryBuilder } from '../query-builder/select-query-builder.js';
8
- import { ParseContext } from './parse-context.js';
9
8
  import { ComplexExpression } from './complex-expression-parser.js';
10
9
  import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
11
10
  import { SelectType } from '../util/column-type.js';
@@ -14,8 +13,8 @@ export declare type ReferenceExpressionOrList<DB, TB extends keyof DB> = Referen
14
13
  export declare type StringReference<DB, TB extends keyof DB> = AnyColumn<DB, TB> | AnyColumnWithTable<DB, TB>;
15
14
  export declare type ExtractTypeFromReferenceExpression<DB, TB extends keyof DB, RE> = RE extends string ? SelectType<ExtractTypeFromStringReference<DB, TB, RE>> : RE extends RawBuilder<infer O> ? O : RE extends (qb: any) => RawBuilder<infer O> ? O : RE extends SelectQueryBuilder<any, any, infer O> ? ValueType<O> : RE extends (qb: any) => SelectQueryBuilder<any, any, infer O> ? ValueType<O> : unknown;
16
15
  declare type ExtractTypeFromStringReference<DB, TB extends keyof DB, RE extends string> = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn<DB, TB> ? ExtractColumnType<DB, TB, RE> : unknown;
17
- export declare function parseReferenceExpressionOrList(ctx: ParseContext, arg: ReferenceExpressionOrList<any, any>): ReferenceExpressionNode[];
18
- export declare function parseReferenceExpression(ctx: ParseContext, exp: ReferenceExpression<any, any>): ReferenceExpressionNode;
16
+ export declare function parseReferenceExpressionOrList(arg: ReferenceExpressionOrList<any, any>): ReferenceExpressionNode[];
17
+ export declare function parseReferenceExpression(exp: ReferenceExpression<any, any>): ReferenceExpressionNode;
19
18
  export declare function parseStringReference(ref: string): ColumnNode | ReferenceNode;
20
19
  export declare function parseAliasedStringReference(ref: string): ColumnNode | ReferenceNode | AliasNode;
21
20
  export declare function parseColumnName(column: AnyColumn<any, any>): ColumnNode;
@@ -8,23 +8,23 @@ const table_node_js_1 = require("../operation-node/table-node.js");
8
8
  const object_utils_js_1 = require("../util/object-utils.js");
9
9
  const complex_expression_parser_js_1 = require("./complex-expression-parser.js");
10
10
  const dynamic_reference_builder_js_1 = require("../dynamic/dynamic-reference-builder.js");
11
- function parseReferenceExpressionOrList(ctx, arg) {
11
+ function parseReferenceExpressionOrList(arg) {
12
12
  if ((0, object_utils_js_1.isReadonlyArray)(arg)) {
13
- return arg.map((it) => parseReferenceExpression(ctx, it));
13
+ return arg.map((it) => parseReferenceExpression(it));
14
14
  }
15
15
  else {
16
- return [parseReferenceExpression(ctx, arg)];
16
+ return [parseReferenceExpression(arg)];
17
17
  }
18
18
  }
19
19
  exports.parseReferenceExpressionOrList = parseReferenceExpressionOrList;
20
- function parseReferenceExpression(ctx, exp) {
20
+ function parseReferenceExpression(exp) {
21
21
  if ((0, object_utils_js_1.isString)(exp)) {
22
22
  return parseStringReference(exp);
23
23
  }
24
24
  else if ((0, dynamic_reference_builder_js_1.isDynamicReferenceBuilder)(exp)) {
25
25
  return exp.toOperationNode();
26
26
  }
27
- return (0, complex_expression_parser_js_1.parseComplexExpression)(ctx, exp);
27
+ return (0, complex_expression_parser_js_1.parseComplexExpression)(exp);
28
28
  }
29
29
  exports.parseReferenceExpression = parseReferenceExpression;
30
30
  function parseStringReference(ref) {
@@ -3,7 +3,6 @@ import { AliasedQueryBuilder, SelectQueryBuilder } from '../query-builder/select
3
3
  import { SelectionNode } from '../operation-node/selection-node.js';
4
4
  import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, ExtractColumnType, ValueType } from '../util/type-utils.js';
5
5
  import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
6
- import { ParseContext } from './parse-context.js';
7
6
  import { AliasedComplexExpression } from './complex-expression-parser.js';
8
7
  import { Selectable, SelectType } from '../util/column-type.js';
9
8
  export declare type SelectExpression<DB, TB extends keyof DB> = AnyAliasedColumnWithTable<DB, TB> | AnyAliasedColumn<DB, TB> | AnyColumnWithTable<DB, TB> | AnyColumn<DB, TB> | DynamicReferenceBuilder<any> | AliasedComplexExpression<DB, TB>;
@@ -29,6 +28,6 @@ declare type AllSelection<DB, TB extends keyof DB> = Selectable<{
29
28
  [T in TB]: C extends keyof DB[T] ? DB[T][C] : never;
30
29
  }[TB];
31
30
  }>;
32
- export declare function parseSelectExpressionOrList(ctx: ParseContext, selection: SelectExpressionOrList<any, any>): SelectionNode[];
31
+ export declare function parseSelectExpressionOrList(selection: SelectExpressionOrList<any, any>): SelectionNode[];
33
32
  export declare function parseSelectAll(table?: string | string[]): SelectionNode[];
34
33
  export {};
@@ -6,16 +6,16 @@ const selection_node_js_1 = require("../operation-node/selection-node.js");
6
6
  const reference_parser_js_1 = require("./reference-parser.js");
7
7
  const dynamic_reference_builder_js_1 = require("../dynamic/dynamic-reference-builder.js");
8
8
  const complex_expression_parser_js_1 = require("./complex-expression-parser.js");
9
- function parseSelectExpressionOrList(ctx, selection) {
9
+ function parseSelectExpressionOrList(selection) {
10
10
  if ((0, object_utils_js_1.isReadonlyArray)(selection)) {
11
- return selection.map((it) => parseSelectExpression(ctx, it));
11
+ return selection.map((it) => parseSelectExpression(it));
12
12
  }
13
13
  else {
14
- return [parseSelectExpression(ctx, selection)];
14
+ return [parseSelectExpression(selection)];
15
15
  }
16
16
  }
17
17
  exports.parseSelectExpressionOrList = parseSelectExpressionOrList;
18
- function parseSelectExpression(ctx, selection) {
18
+ function parseSelectExpression(selection) {
19
19
  if ((0, object_utils_js_1.isString)(selection)) {
20
20
  return selection_node_js_1.SelectionNode.create((0, reference_parser_js_1.parseAliasedStringReference)(selection));
21
21
  }
@@ -23,7 +23,7 @@ function parseSelectExpression(ctx, selection) {
23
23
  return selection_node_js_1.SelectionNode.create(selection.toOperationNode());
24
24
  }
25
25
  else {
26
- return selection_node_js_1.SelectionNode.create((0, complex_expression_parser_js_1.parseAliasedComplexExpression)(ctx, selection));
26
+ return selection_node_js_1.SelectionNode.create((0, complex_expression_parser_js_1.parseAliasedComplexExpression)(selection));
27
27
  }
28
28
  }
29
29
  function parseSelectAll(table) {
@@ -3,7 +3,6 @@ import { TableNode } from '../operation-node/table-node.js';
3
3
  import { AnyAliasedRawBuilder, Nullable } from '../util/type-utils.js';
4
4
  import { AliasedRawBuilder } from '../raw-builder/raw-builder.js';
5
5
  import { TableExpressionNode } from '../operation-node/operation-node-utils.js';
6
- import { ParseContext } from './parse-context.js';
7
6
  import { AliasedComplexExpression } from './complex-expression-parser.js';
8
7
  export declare type TableExpression<DB, TB extends keyof DB> = TableReference<DB> | AliasedComplexExpression<DB, TB>;
9
8
  export declare type TableExpressionOrList<DB, TB extends keyof DB> = TableExpression<DB, TB> | ReadonlyArray<TableExpression<DB, TB>>;
@@ -25,8 +24,8 @@ export declare type TableExpressionTables<DB, TB extends keyof DB, TE> = TB | Ex
25
24
  declare type ExtractRowTypeFromTableExpression<DB, TE, A extends keyof any> = TE extends `${infer T} as ${infer TA}` ? TA extends A ? T extends keyof DB ? DB[T] : never : never : TE extends A ? TE extends keyof DB ? DB[TE] : never : TE extends AliasedQueryBuilder<any, any, infer O, infer QA> ? QA extends A ? O : never : TE extends (qb: any) => AliasedQueryBuilder<any, any, infer O, infer QA> ? QA extends A ? O : never : TE extends AliasedRawBuilder<infer O, infer RA> ? RA extends A ? O : never : TE extends (qb: any) => AliasedRawBuilder<infer O, infer RA> ? RA extends A ? O : never : never;
26
25
  declare type AnyAliasedTable<DB> = `${AnyTable<DB>} as ${string}`;
27
26
  declare type AnyTable<DB> = keyof DB & string;
28
- export declare function parseTableExpressionOrList(ctx: ParseContext, table: TableExpressionOrList<any, any>): TableExpressionNode[];
29
- export declare function parseTableExpression(ctx: ParseContext, table: TableExpression<any, any>): TableExpressionNode;
27
+ export declare function parseTableExpressionOrList(table: TableExpressionOrList<any, any>): TableExpressionNode[];
28
+ export declare function parseTableExpression(table: TableExpression<any, any>): TableExpressionNode;
30
29
  export declare function parseAliasedTable(from: string): TableExpressionNode;
31
30
  export declare function parseTable(from: string): TableNode;
32
31
  export {};
@@ -5,21 +5,21 @@ const object_utils_js_1 = require("../util/object-utils.js");
5
5
  const alias_node_js_1 = require("../operation-node/alias-node.js");
6
6
  const table_node_js_1 = require("../operation-node/table-node.js");
7
7
  const complex_expression_parser_js_1 = require("./complex-expression-parser.js");
8
- function parseTableExpressionOrList(ctx, table) {
8
+ function parseTableExpressionOrList(table) {
9
9
  if ((0, object_utils_js_1.isReadonlyArray)(table)) {
10
- return table.map((it) => parseTableExpression(ctx, it));
10
+ return table.map((it) => parseTableExpression(it));
11
11
  }
12
12
  else {
13
- return [parseTableExpression(ctx, table)];
13
+ return [parseTableExpression(table)];
14
14
  }
15
15
  }
16
16
  exports.parseTableExpressionOrList = parseTableExpressionOrList;
17
- function parseTableExpression(ctx, table) {
17
+ function parseTableExpression(table) {
18
18
  if ((0, object_utils_js_1.isString)(table)) {
19
19
  return parseAliasedTable(table);
20
20
  }
21
21
  else {
22
- return (0, complex_expression_parser_js_1.parseAliasedComplexExpression)(ctx, table);
22
+ return (0, complex_expression_parser_js_1.parseAliasedComplexExpression)(table);
23
23
  }
24
24
  }
25
25
  exports.parseTableExpression = parseTableExpression;
@@ -1,8 +1,7 @@
1
1
  import { ColumnUpdateNode } from '../operation-node/column-update-node.js';
2
2
  import { UpdateKeys, UpdateType } from '../util/column-type.js';
3
- import { ParseContext } from './parse-context.js';
4
3
  import { ValueExpression } from './value-parser.js';
5
4
  export declare type MutationObject<DB, TB extends keyof DB> = {
6
5
  [C in UpdateKeys<DB[TB]>]?: ValueExpression<DB, TB, UpdateType<DB[TB][C]>>;
7
6
  };
8
- export declare function parseUpdateObject(ctx: ParseContext, row: MutationObject<any, any>): ReadonlyArray<ColumnUpdateNode>;
7
+ export declare function parseUpdateObject(row: MutationObject<any, any>): ReadonlyArray<ColumnUpdateNode>;
@@ -4,11 +4,11 @@ exports.parseUpdateObject = void 0;
4
4
  const column_node_js_1 = require("../operation-node/column-node.js");
5
5
  const column_update_node_js_1 = require("../operation-node/column-update-node.js");
6
6
  const value_parser_js_1 = require("./value-parser.js");
7
- function parseUpdateObject(ctx, row) {
7
+ function parseUpdateObject(row) {
8
8
  return Object.entries(row)
9
9
  .filter(([_, value]) => value !== undefined)
10
10
  .map(([key, value]) => {
11
- return column_update_node_js_1.ColumnUpdateNode.create(column_node_js_1.ColumnNode.create(key), (0, value_parser_js_1.parseValueExpression)(ctx, value));
11
+ return column_update_node_js_1.ColumnUpdateNode.create(column_node_js_1.ColumnNode.create(key), (0, value_parser_js_1.parseValueExpression)(value));
12
12
  });
13
13
  }
14
14
  exports.parseUpdateObject = parseUpdateObject;
@@ -1,10 +1,9 @@
1
1
  import { ValueExpressionNode } from '../operation-node/operation-node-utils.js';
2
2
  import { ValueNode } from '../operation-node/value-node.js';
3
- import { ParseContext } from './parse-context.js';
4
3
  import { SelectQueryNode } from '../operation-node/select-query-node.js';
5
4
  import { RawNode } from '../operation-node/raw-node.js';
6
5
  import { ComplexExpression } from './complex-expression-parser.js';
7
- export declare type ValueExpression<DB, TB extends keyof DB, V> = V | ComplexExpression<DB, TB>;
6
+ export declare type ValueExpression<DB, TB extends keyof DB, V> = V | ComplexExpression<DB, TB, V>;
8
7
  export declare type ValueExpressionOrList<DB, TB extends keyof DB, V> = ValueExpression<DB, TB, V> | ReadonlyArray<ValueExpression<DB, TB, V>>;
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;
8
+ export declare function parseValueExpressionOrList(arg: ValueExpressionOrList<any, any, unknown>): ValueExpressionNode;
9
+ export declare function parseValueExpression(exp: ValueExpression<any, any, unknown>): ValueNode | SelectQueryNode | RawNode;
@@ -6,25 +6,25 @@ const value_list_node_js_1 = require("../operation-node/value-list-node.js");
6
6
  const value_node_js_1 = require("../operation-node/value-node.js");
7
7
  const object_utils_js_1 = require("../util/object-utils.js");
8
8
  const complex_expression_parser_js_1 = require("./complex-expression-parser.js");
9
- function parseValueExpressionOrList(ctx, arg) {
9
+ function parseValueExpressionOrList(arg) {
10
10
  if ((0, object_utils_js_1.isReadonlyArray)(arg)) {
11
- return parseValueExpressionList(ctx, arg);
11
+ return parseValueExpressionList(arg);
12
12
  }
13
13
  else {
14
- return parseValueExpression(ctx, arg);
14
+ return parseValueExpression(arg);
15
15
  }
16
16
  }
17
17
  exports.parseValueExpressionOrList = parseValueExpressionOrList;
18
- function parseValueExpression(ctx, exp) {
18
+ function parseValueExpression(exp) {
19
19
  if ((0, complex_expression_parser_js_1.isComplexExpression)(exp)) {
20
- return (0, complex_expression_parser_js_1.parseComplexExpression)(ctx, exp);
20
+ return (0, complex_expression_parser_js_1.parseComplexExpression)(exp);
21
21
  }
22
22
  return value_node_js_1.ValueNode.create(exp);
23
23
  }
24
24
  exports.parseValueExpression = parseValueExpression;
25
- function parseValueExpressionList(ctx, arg) {
25
+ function parseValueExpressionList(arg) {
26
26
  if (arg.some(complex_expression_parser_js_1.isComplexExpression)) {
27
- return value_list_node_js_1.ValueListNode.create(arg.map((it) => parseValueExpression(ctx, it)));
27
+ return value_list_node_js_1.ValueListNode.create(arg.map((it) => parseValueExpression(it)));
28
28
  }
29
29
  return primitive_value_list_node_js_1.PrimitiveValueListNode.create(arg);
30
30
  }
@@ -5,7 +5,6 @@ import { InsertQueryBuilder } from '../query-builder/insert-query-builder.js';
5
5
  import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js';
6
6
  import { QueryCreator } from '../query-creator.js';
7
7
  import { RawBuilder } from '../raw-builder/raw-builder.js';
8
- import { ParseContext } from './parse-context.js';
9
8
  export declare type CommonTableExpression<DB, CN extends string> = (creator: QueryCreator<DB>) => CommonTableExpressionOutput<DB, CN>;
10
9
  export declare type RecursiveCommonTableExpression<DB, CN extends string> = (creator: QueryCreator<DB & Record<ExtractTableFromCommonTableExpressionName<CN>, ExtractRowFromCommonTableExpressionName<CN>>>) => CommonTableExpressionOutput<DB, CN>;
11
10
  export declare type QueryCreatorWithCommonTableExpression<DB, CN extends string, CTE> = QueryCreator<DB & Record<ExtractTableFromCommonTableExpressionName<CN>, ExtractRowFromCommonTableExpression<CTE>>>;
@@ -37,5 +36,5 @@ declare type ExtractRowFromCommonTableExpressionName<CN extends string> = CN ext
37
36
  * Parses a string like 'id, first_name' into a type 'id' | 'first_name'
38
37
  */
39
38
  declare type ExtractColumnNamesFromColumnList<R extends string> = R extends `${infer C}, ${infer RS}` ? C | ExtractColumnNamesFromColumnList<RS> : R;
40
- export declare function parseCommonTableExpression(ctx: ParseContext, name: string, expression: CommonTableExpression<any, any>): CommonTableExpressionNode;
39
+ export declare function parseCommonTableExpression(name: string, expression: CommonTableExpression<any, any>): CommonTableExpressionNode;
41
40
  export {};
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseCommonTableExpression = void 0;
4
4
  const common_table_expression_node_js_1 = require("../operation-node/common-table-expression-node.js");
5
5
  const common_table_expression_name_node_js_1 = require("../operation-node/common-table-expression-name-node.js");
6
- function parseCommonTableExpression(ctx, name, expression) {
7
- const builder = expression(ctx.createQueryCreator());
6
+ const parse_utils_js_1 = require("./parse-utils.js");
7
+ function parseCommonTableExpression(name, expression) {
8
+ const builder = expression((0, parse_utils_js_1.createQueryCreator)());
8
9
  return common_table_expression_node_js_1.CommonTableExpressionNode.create(parseCommonTableExpressionName(name), builder.toOperationNode());
9
10
  }
10
11
  exports.parseCommonTableExpression = parseCommonTableExpression;
@@ -10,7 +10,6 @@ import { AnyRawBuilder, MergePartial, SingleResultType } from '../util/type-util
10
10
  import { Compilable } from '../util/compilable.js';
11
11
  import { QueryExecutor } from '../query-executor/query-executor.js';
12
12
  import { QueryId } from '../util/query-id.js';
13
- import { ParseContext } from '../parser/parse-context.js';
14
13
  import { KyselyPlugin } from '../plugin/kysely-plugin.js';
15
14
  import { WhereInterface } from './where-interface.js';
16
15
  import { JoinInterface } from './join-interface.js';
@@ -47,7 +46,7 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
47
46
  * ```
48
47
  *
49
48
  * Operator can be any supported operator or if the typings don't support it
50
- * you can always use `db.raw('your operator')`.
49
+ * you can always use `sql\`your operator\``.
51
50
  *
52
51
  * ```ts
53
52
  * const persons = await db
@@ -117,7 +116,7 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
117
116
  *
118
117
  * A `where in` query can be built by using the `in` operator and an array
119
118
  * of values. The values in the array can also be subqueries or raw
120
- * instances.
119
+ * {@link sql} expressions.
121
120
  *
122
121
  * ```ts
123
122
  * const persons = await db
@@ -133,15 +132,17 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
133
132
  * select * from "person" where "id" in ($1, $2, $3)
134
133
  * ```
135
134
  *
136
- * If everything else fails, you can always pass {@link Kysely.raw | raw}
135
+ * If everything else fails, you can always use the {@link sql} tag
137
136
  * as any of the arguments, including the operator:
138
137
  *
139
138
  * ```ts
139
+ * import { sql } from 'kysely'
140
+ *
140
141
  * const persons = await db
141
142
  * .selectFrom('person')
142
143
  * .selectAll()
143
144
  * .where(
144
- * db.raw('coalesce(first_name, last_name)'),
145
+ * sql`coalesce(first_name, last_name)`,
145
146
  * 'like',
146
147
  * '%' + name + '%',
147
148
  * )
@@ -176,24 +177,25 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
176
177
  * ```
177
178
  *
178
179
  * In all examples above the columns were known at compile time
179
- * (except for the `raw` expressions). By default kysely only allows
180
- * you to refer to columns that exist in the database **and** can be
181
- * referred to in the current query and context.
180
+ * (except for the raw {@link sql} expressions). By default kysely only
181
+ * allows you to refer to columns that exist in the database **and**
182
+ * can be referred to in the current query and context.
182
183
  *
183
184
  * Sometimes you may want to refer to columns that come from the user
184
185
  * input and thus are not available at compile time.
185
186
  *
186
- * You have two options, `db.raw` or `db.dynamic`. The example below
187
+ * You have two options, the {@link sql} tag or `db.dynamic`. The example below
187
188
  * uses both:
188
189
  *
189
190
  * ```ts
191
+ * import { sql } from 'kysely'
190
192
  * const { ref } = db.dynamic
191
193
  *
192
194
  * const persons = await db
193
195
  * .selectFrom('person')
194
196
  * .selectAll()
195
197
  * .where(ref(columnFromUserInput), '=', 1)
196
- * .orWhere(db.raw('??', [columnFromUserInput]), '=', 2)
198
+ * .orWhere(sql.id(columnFromUserInput), '=', 2)
197
199
  * .execute()
198
200
  * ```
199
201
  */
@@ -327,13 +329,14 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
327
329
  /**
328
330
  * Adds a `where exists` clause to the query.
329
331
  *
330
- * You can either use a subquery or a raw instance.
332
+ * You can either use a subquery or a raw {@link sql} snippet.
331
333
  *
332
334
  * ### Examples
333
335
  *
334
336
  * The query below selets all persons that own a pet named Catto:
335
337
  *
336
338
  * ```ts
339
+ * const petName = 'Catto'
337
340
  * const persons = await db
338
341
  * .selectFrom('person')
339
342
  * .selectAll()
@@ -341,7 +344,7 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
341
344
  * .selectFrom('pet')
342
345
  * .select('pet.id')
343
346
  * .whereRef('person.id', '=', 'pet.owner_id')
344
- * .where('pet.name', '=', 'Catto')
347
+ * .where('pet.name', '=', petName)
345
348
  * )
346
349
  * .execute()
347
350
  * ```
@@ -358,16 +361,16 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
358
361
  * )
359
362
  * ```
360
363
  *
361
- * The same query as in the previous example but with using raw:
364
+ * The same query as in the previous example but with using raw {@link sql}:
362
365
  *
363
366
  * ```ts
367
+ * import { sql } from 'kysely'
368
+ *
369
+ * const petName = 'Catto'
364
370
  * db.selectFrom('person')
365
371
  * .selectAll()
366
372
  * .whereExists(
367
- * db.raw(
368
- * '(select pet.id from pet where person.id = pet.owner_id and pet.name = ?)',
369
- * ['Catto']
370
- * )
373
+ * sql`(select pet.id from pet where person.id = pet.owner_id and pet.name = ${petName})`
371
374
  * )
372
375
  * ```
373
376
  *
@@ -565,6 +568,8 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
565
568
  * Return arbitrary expressions:
566
569
  *
567
570
  * ```ts
571
+ * import { sql } from 'kysely'
572
+ *
568
573
  * const { id, full_name, first_pet_id } = await db
569
574
  * .insertInto('person')
570
575
  * .values({
@@ -573,7 +578,7 @@ export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements W
573
578
  * })
574
579
  * .returning([
575
580
  * 'id as id',
576
- * db.raw<string>(`concat(first_name, ' ', last_name)`).as('full_name'),
581
+ * sql<string>`concat(first_name, ' ', last_name)`.as('full_name'),
577
582
  * (qb) => qb.selectFrom('pets').select('pet.id').limit(1).as('first_pet_id')
578
583
  * ])
579
584
  * .executeTakeFirst()
@@ -736,5 +741,4 @@ export interface DeleteQueryBuilderProps {
736
741
  readonly queryId: QueryId;
737
742
  readonly queryNode: DeleteQueryNode;
738
743
  readonly executor: QueryExecutor;
739
- readonly parseContext: ParseContext;
740
744
  }
@@ -20,79 +20,79 @@ class DeleteQueryBuilder {
20
20
  where(...args) {
21
21
  return new DeleteQueryBuilder({
22
22
  ...this.#props,
23
- queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseWhereFilter)(this.#props.parseContext, args)),
23
+ queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseWhereFilter)(args)),
24
24
  });
25
25
  }
26
26
  whereRef(lhs, op, rhs) {
27
27
  return new DeleteQueryBuilder({
28
28
  ...this.#props,
29
- queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
29
+ queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
30
30
  });
31
31
  }
32
32
  orWhere(...args) {
33
33
  return new DeleteQueryBuilder({
34
34
  ...this.#props,
35
- queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseWhereFilter)(this.#props.parseContext, args)),
35
+ queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseWhereFilter)(args)),
36
36
  });
37
37
  }
38
38
  orWhereRef(lhs, op, rhs) {
39
39
  return new DeleteQueryBuilder({
40
40
  ...this.#props,
41
- queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
41
+ queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
42
42
  });
43
43
  }
44
44
  whereExists(arg) {
45
45
  return new DeleteQueryBuilder({
46
46
  ...this.#props,
47
- queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
47
+ queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
48
48
  });
49
49
  }
50
50
  whereNotExists(arg) {
51
51
  return new DeleteQueryBuilder({
52
52
  ...this.#props,
53
- queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
53
+ queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
54
54
  });
55
55
  }
56
56
  orWhereExists(arg) {
57
57
  return new DeleteQueryBuilder({
58
58
  ...this.#props,
59
- queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
59
+ queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
60
60
  });
61
61
  }
62
62
  orWhereNotExists(arg) {
63
63
  return new DeleteQueryBuilder({
64
64
  ...this.#props,
65
- queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
65
+ queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
66
66
  });
67
67
  }
68
68
  innerJoin(...args) {
69
69
  return new DeleteQueryBuilder({
70
70
  ...this.#props,
71
- queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(this.#props.parseContext, 'InnerJoin', args)),
71
+ queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('InnerJoin', args)),
72
72
  });
73
73
  }
74
74
  leftJoin(...args) {
75
75
  return new DeleteQueryBuilder({
76
76
  ...this.#props,
77
- queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(this.#props.parseContext, 'LeftJoin', args)),
77
+ queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('LeftJoin', args)),
78
78
  });
79
79
  }
80
80
  rightJoin(...args) {
81
81
  return new DeleteQueryBuilder({
82
82
  ...this.#props,
83
- queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(this.#props.parseContext, 'RightJoin', args)),
83
+ queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('RightJoin', args)),
84
84
  });
85
85
  }
86
86
  fullJoin(...args) {
87
87
  return new DeleteQueryBuilder({
88
88
  ...this.#props,
89
- queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(this.#props.parseContext, 'FullJoin', args)),
89
+ queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('FullJoin', args)),
90
90
  });
91
91
  }
92
92
  returning(selection) {
93
93
  return new DeleteQueryBuilder({
94
94
  ...this.#props,
95
- queryNode: query_node_js_1.QueryNode.cloneWithReturning(this.#props.queryNode, (0, select_parser_js_1.parseSelectExpressionOrList)(this.#props.parseContext, selection)),
95
+ queryNode: query_node_js_1.QueryNode.cloneWithReturning(this.#props.queryNode, (0, select_parser_js_1.parseSelectExpressionOrList)(selection)),
96
96
  });
97
97
  }
98
98
  returningAll() {
@@ -138,7 +138,7 @@ class DeleteQueryBuilder {
138
138
  orderBy(orderBy, direction) {
139
139
  return new DeleteQueryBuilder({
140
140
  ...this.#props,
141
- queryNode: delete_query_node_js_1.DeleteQueryNode.cloneWithOrderByItem(this.#props.queryNode, (0, order_by_parser_js_1.parseOrderBy)(this.#props.parseContext, orderBy, direction)),
141
+ queryNode: delete_query_node_js_1.DeleteQueryNode.cloneWithOrderByItem(this.#props.queryNode, (0, order_by_parser_js_1.parseOrderBy)(orderBy, direction)),
142
142
  });
143
143
  }
144
144
  /**
@@ -265,7 +265,7 @@ class DeleteQueryBuilder {
265
265
  const compildQuery = this.compile();
266
266
  const query = compildQuery.query;
267
267
  const result = await this.#props.executor.executeQuery(compildQuery, this.#props.queryId);
268
- if (this.#props.parseContext.adapter.supportsReturning && query.returning) {
268
+ if (this.#props.executor.adapter.supportsReturning && query.returning) {
269
269
  return result.rows;
270
270
  }
271
271
  else {
@@ -1,10 +1,9 @@
1
1
  import { SelectQueryBuilder } from './select-query-builder.js';
2
2
  import { TableExpression, TableExpressionDatabase, TableExpressionTables } from '../parser/table-parser.js';
3
- import { NoopQueryExecutor } from '../query-executor/noop-query-executor.js';
4
- import { ParseContext } from '../parser/parse-context.js';
5
3
  import { FunctionBuilder } from './function-builder.js';
6
4
  import { ExtractTypeFromReferenceExpression, StringReference } from '../parser/reference-parser.js';
7
5
  import { RawBuilder } from '../raw-builder/raw-builder.js';
6
+ import { QueryExecutor } from '../index-nodeless.js';
8
7
  export declare class ExpressionBuilder<DB, TB extends keyof DB> {
9
8
  #private;
10
9
  constructor(props: ExpressionBuilderProps);
@@ -90,10 +89,6 @@ export declare class ExpressionBuilder<DB, TB extends keyof DB> {
90
89
  * See {@link QueryCreator.withSchema}
91
90
  */
92
91
  withSchema(schema: string): ExpressionBuilder<DB, TB>;
93
- /**
94
- * See {@link QueryCreator.raw}.
95
- */
96
- raw<T = unknown>(sql: string, parameters?: unknown[]): RawBuilder<T>;
97
92
  /**
98
93
  * This can be used to reference columns.
99
94
  *
@@ -115,21 +110,17 @@ export declare class ExpressionBuilder<DB, TB extends keyof DB> {
115
110
  * )
116
111
  * ```
117
112
  *
118
- * In the next example we use `ref` in a raw expression. Unless you
113
+ * In the next example we use `ref` in a raw sql expression. Unless you
119
114
  * want to be as type-safe as possible, this is probably overkill:
120
115
  *
121
116
  * ```ts
122
117
  * db.update('pet').set({
123
- * name: (eb) => eb.raw('concat(?, ?)', [
124
- * eb.ref('pet.name'),
125
- * suffix,
126
- * ])
118
+ * name: (eb) => sql`concat(${eb.ref('pet.name')}, ${suffix})`
127
119
  * })
128
120
  * ```
129
121
  */
130
122
  ref<RE extends StringReference<DB, TB>>(reference: RE): RawBuilder<ExtractTypeFromReferenceExpression<DB, TB, RE>>;
131
123
  }
132
124
  export interface ExpressionBuilderProps {
133
- readonly executor: NoopQueryExecutor;
134
- readonly parseContext: ParseContext;
125
+ readonly executor: QueryExecutor;
135
126
  }