kysely 0.7.2 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +9 -5
  2. package/dist/cjs/dialect/dialect-adapter.d.ts +11 -9
  3. package/dist/cjs/index.d.ts +2 -1
  4. package/dist/cjs/index.js +2 -1
  5. package/dist/cjs/kysely.d.ts +2 -2
  6. package/dist/cjs/kysely.js +9 -7
  7. package/dist/cjs/operation-node/create-table-node.d.ts +2 -1
  8. package/dist/cjs/operation-node/create-table-node.js +1 -5
  9. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +12 -1
  10. package/dist/cjs/operation-node/foreign-key-constraint-node.js +6 -0
  11. package/dist/cjs/operation-node/join-node.d.ts +1 -0
  12. package/dist/cjs/operation-node/join-node.js +8 -0
  13. package/dist/cjs/operation-node/operation-node-transformer.js +3 -0
  14. package/dist/cjs/operation-node/references-node.d.ts +5 -3
  15. package/dist/cjs/operation-node/references-node.js +6 -0
  16. package/dist/cjs/operation-node/table-node.js +2 -2
  17. package/dist/cjs/parser/data-type-parser.d.ts +5 -0
  18. package/dist/cjs/parser/data-type-parser.js +11 -0
  19. package/dist/cjs/parser/default-value-parser.d.ts +6 -0
  20. package/dist/cjs/parser/default-value-parser.js +11 -0
  21. package/dist/cjs/parser/filter-parser.d.ts +2 -2
  22. package/dist/cjs/parser/filter-parser.js +34 -36
  23. package/dist/cjs/parser/join-parser.d.ts +1 -1
  24. package/dist/cjs/parser/join-parser.js +9 -11
  25. package/dist/cjs/parser/parse-context.d.ts +33 -6
  26. package/dist/cjs/parser/parse-context.js +40 -33
  27. package/dist/cjs/parser/reference-parser.d.ts +2 -2
  28. package/dist/cjs/parser/reference-parser.js +16 -12
  29. package/dist/cjs/parser/select-parser.d.ts +1 -2
  30. package/dist/cjs/parser/select-parser.js +4 -5
  31. package/dist/cjs/parser/table-parser.js +11 -6
  32. package/dist/cjs/parser/update-set-parser.js +1 -1
  33. package/dist/cjs/parser/value-parser.js +1 -1
  34. package/dist/cjs/query-builder/{sub-query-builder.d.ts → expression-builder.d.ts} +6 -6
  35. package/dist/cjs/query-builder/{sub-query-builder.js → expression-builder.js} +6 -10
  36. package/dist/cjs/query-builder/join-builder.d.ts +2 -2
  37. package/dist/cjs/query-builder/join-builder.js +8 -12
  38. package/dist/cjs/query-builder/query-builder.d.ts +2 -2
  39. package/dist/cjs/query-builder/query-builder.js +34 -36
  40. package/dist/cjs/query-builder/type-utils.d.ts +5 -5
  41. package/dist/cjs/query-compiler/default-query-compiler.js +13 -1
  42. package/dist/cjs/query-creator.d.ts +2 -2
  43. package/dist/cjs/query-creator.js +8 -12
  44. package/dist/cjs/schema/alter-table-builder.d.ts +26 -8
  45. package/dist/cjs/schema/alter-table-builder.js +75 -7
  46. package/dist/cjs/schema/column-definition-builder.d.ts +10 -4
  47. package/dist/cjs/schema/column-definition-builder.js +11 -6
  48. package/dist/cjs/schema/create-index-builder.d.ts +5 -5
  49. package/dist/cjs/schema/create-index-builder.js +19 -28
  50. package/dist/cjs/schema/create-schema-builder.d.ts +5 -5
  51. package/dist/cjs/schema/create-schema-builder.js +9 -13
  52. package/dist/cjs/schema/create-table-builder.d.ts +22 -10
  53. package/dist/cjs/schema/create-table-builder.js +41 -34
  54. package/dist/cjs/schema/drop-index-builder.d.ts +5 -5
  55. package/dist/cjs/schema/drop-index-builder.js +11 -16
  56. package/dist/cjs/schema/drop-schema-builder.d.ts +5 -5
  57. package/dist/cjs/schema/drop-schema-builder.js +9 -13
  58. package/dist/cjs/schema/drop-table-builder.d.ts +5 -5
  59. package/dist/cjs/schema/drop-table-builder.js +9 -13
  60. package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +14 -0
  61. package/dist/cjs/schema/foreign-key-constraint-builder.js +26 -0
  62. package/dist/esm/dialect/dialect-adapter.d.ts +11 -9
  63. package/dist/esm/index.d.ts +2 -1
  64. package/dist/esm/index.js +2 -1
  65. package/dist/esm/kysely.d.ts +2 -2
  66. package/dist/esm/kysely.js +9 -7
  67. package/dist/esm/operation-node/create-table-node.d.ts +2 -1
  68. package/dist/esm/operation-node/create-table-node.js +1 -5
  69. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +12 -1
  70. package/dist/esm/operation-node/foreign-key-constraint-node.js +6 -0
  71. package/dist/esm/operation-node/join-node.d.ts +1 -0
  72. package/dist/esm/operation-node/join-node.js +8 -0
  73. package/dist/esm/operation-node/operation-node-transformer.js +3 -0
  74. package/dist/esm/operation-node/references-node.d.ts +5 -3
  75. package/dist/esm/operation-node/references-node.js +6 -0
  76. package/dist/esm/operation-node/table-node.js +2 -2
  77. package/dist/esm/parser/data-type-parser.d.ts +5 -0
  78. package/dist/esm/parser/data-type-parser.js +7 -0
  79. package/dist/esm/parser/default-value-parser.d.ts +6 -0
  80. package/dist/esm/parser/default-value-parser.js +7 -0
  81. package/dist/esm/parser/filter-parser.d.ts +2 -2
  82. package/dist/esm/parser/filter-parser.js +31 -33
  83. package/dist/esm/parser/join-parser.d.ts +1 -1
  84. package/dist/esm/parser/join-parser.js +7 -9
  85. package/dist/esm/parser/parse-context.d.ts +33 -6
  86. package/dist/esm/parser/parse-context.js +38 -31
  87. package/dist/esm/parser/reference-parser.d.ts +2 -2
  88. package/dist/esm/parser/reference-parser.js +16 -12
  89. package/dist/esm/parser/select-parser.d.ts +1 -2
  90. package/dist/esm/parser/select-parser.js +3 -3
  91. package/dist/esm/parser/table-parser.js +11 -6
  92. package/dist/esm/parser/update-set-parser.js +1 -1
  93. package/dist/esm/parser/value-parser.js +1 -1
  94. package/dist/esm/query-builder/{sub-query-builder.d.ts → expression-builder.d.ts} +6 -6
  95. package/dist/esm/query-builder/{sub-query-builder.js → expression-builder.js} +4 -8
  96. package/dist/esm/query-builder/join-builder.d.ts +2 -2
  97. package/dist/esm/query-builder/join-builder.js +9 -13
  98. package/dist/esm/query-builder/query-builder.d.ts +2 -2
  99. package/dist/esm/query-builder/query-builder.js +37 -39
  100. package/dist/esm/query-builder/type-utils.d.ts +5 -5
  101. package/dist/esm/query-compiler/default-query-compiler.js +14 -2
  102. package/dist/esm/query-creator.d.ts +2 -2
  103. package/dist/esm/query-creator.js +8 -12
  104. package/dist/esm/schema/alter-table-builder.d.ts +26 -8
  105. package/dist/esm/schema/alter-table-builder.js +73 -6
  106. package/dist/esm/schema/column-definition-builder.d.ts +10 -4
  107. package/dist/esm/schema/column-definition-builder.js +12 -7
  108. package/dist/esm/schema/create-index-builder.d.ts +5 -5
  109. package/dist/esm/schema/create-index-builder.js +19 -28
  110. package/dist/esm/schema/create-schema-builder.d.ts +5 -5
  111. package/dist/esm/schema/create-schema-builder.js +9 -13
  112. package/dist/esm/schema/create-table-builder.d.ts +22 -10
  113. package/dist/esm/schema/create-table-builder.js +41 -34
  114. package/dist/esm/schema/drop-index-builder.d.ts +5 -5
  115. package/dist/esm/schema/drop-index-builder.js +11 -16
  116. package/dist/esm/schema/drop-schema-builder.d.ts +5 -5
  117. package/dist/esm/schema/drop-schema-builder.js +9 -13
  118. package/dist/esm/schema/drop-table-builder.d.ts +5 -5
  119. package/dist/esm/schema/drop-table-builder.js +9 -13
  120. package/dist/esm/schema/foreign-key-constraint-builder.d.ts +14 -0
  121. package/dist/esm/schema/foreign-key-constraint-builder.js +22 -0
  122. package/package.json +1 -1
@@ -1,43 +1,50 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createParseContext = void 0;
3
+ exports.DefaultParseContext = void 0;
4
4
  const join_node_js_1 = require("../operation-node/join-node.js");
5
5
  const select_query_node_js_1 = require("../operation-node/select-query-node.js");
6
6
  const join_builder_js_1 = require("../query-builder/join-builder.js");
7
7
  const query_builder_js_1 = require("../query-builder/query-builder.js");
8
- const sub_query_builder_js_1 = require("../query-builder/sub-query-builder.js");
8
+ const expression_builder_js_1 = require("../query-builder/expression-builder.js");
9
9
  const query_creator_js_1 = require("../query-creator.js");
10
10
  const noop_query_executor_js_1 = require("../query-executor/noop-query-executor.js");
11
- const object_utils_js_1 = require("../util/object-utils.js");
12
11
  const query_id_js_1 = require("../util/query-id.js");
13
- function createParseContext(adapter) {
14
- return (0, object_utils_js_1.freeze)({
15
- createEmptySelectQuery() {
16
- return new query_builder_js_1.QueryBuilder({
17
- queryId: (0, query_id_js_1.createQueryId)(),
18
- executor: new noop_query_executor_js_1.NoopQueryExecutor(),
19
- queryNode: select_query_node_js_1.SelectQueryNode.create([]),
20
- adapter,
21
- });
22
- },
23
- createSubQueryBuilder() {
24
- return new sub_query_builder_js_1.SubQueryBuilder({
25
- executor: new noop_query_executor_js_1.NoopQueryExecutor(),
26
- adapter,
27
- });
28
- },
29
- createQueryCreator() {
30
- return new query_creator_js_1.QueryCreator({
31
- executor: new noop_query_executor_js_1.NoopQueryExecutor(),
32
- adapter,
33
- });
34
- },
35
- createJoinBuilder(joinType, tableNode) {
36
- return new join_builder_js_1.JoinBuilder({
37
- joinNode: join_node_js_1.JoinNode.create(joinType, tableNode),
38
- adapter,
39
- });
40
- },
41
- });
12
+ const table_parser_js_1 = require("./table-parser.js");
13
+ class DefaultParseContext {
14
+ #adapter;
15
+ #noopExecutor;
16
+ constructor(adapter) {
17
+ this.#adapter = adapter;
18
+ this.#noopExecutor = new noop_query_executor_js_1.NoopQueryExecutor();
19
+ }
20
+ get adapter() {
21
+ return this.#adapter;
22
+ }
23
+ createSelectQueryBuilder(tables) {
24
+ return new query_builder_js_1.QueryBuilder({
25
+ queryId: (0, query_id_js_1.createQueryId)(),
26
+ executor: this.#noopExecutor,
27
+ parseContext: this,
28
+ queryNode: select_query_node_js_1.SelectQueryNode.create((0, table_parser_js_1.parseTableExpressionOrList)(this, tables)),
29
+ });
30
+ }
31
+ createJoinBuilder(joinType, table) {
32
+ return new join_builder_js_1.JoinBuilder({
33
+ joinNode: join_node_js_1.JoinNode.create(joinType, (0, table_parser_js_1.parseTableExpression)(this, table)),
34
+ parseContext: this,
35
+ });
36
+ }
37
+ createExpressionBuilder() {
38
+ return new expression_builder_js_1.ExpressionBuilder({
39
+ executor: this.#noopExecutor,
40
+ parseContext: this,
41
+ });
42
+ }
43
+ createQueryCreator() {
44
+ return new query_creator_js_1.QueryCreator({
45
+ executor: this.#noopExecutor,
46
+ parseContext: this,
47
+ });
48
+ }
42
49
  }
43
- exports.createParseContext = createParseContext;
50
+ exports.DefaultParseContext = DefaultParseContext;
@@ -14,7 +14,7 @@ export declare type ExtractTypeFromReferenceExpression<DB, TB extends keyof DB,
14
14
  declare type ExtractTypeFromStringReference<DB, TB extends keyof DB, S extends string, R = RowType<DB, TB>> = S extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : S extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : S extends keyof R ? R[S] : PrimitiveValue;
15
15
  export declare function parseReferenceExpressionOrList(ctx: ParseContext, arg: ReferenceExpressionOrList<any, any>): ReferenceExpressionNode[];
16
16
  export declare function parseReferenceExpression(ctx: ParseContext, arg: ReferenceExpression<any, any>): ReferenceExpressionNode;
17
- export declare function parseStringReference(str: string): ColumnNode | ReferenceNode;
18
- export declare function parseAliasedStringReference(str: string): ColumnNode | ReferenceNode | AliasNode;
17
+ export declare function parseStringReference(ref: string): ColumnNode | ReferenceNode;
18
+ export declare function parseAliasedStringReference(ref: string): ColumnNode | ReferenceNode | AliasNode;
19
19
  export declare function parseColumnName(column: AnyColumn<any, any>): ColumnNode;
20
20
  export {};
@@ -28,7 +28,7 @@ function parseReferenceExpression(ctx, arg) {
28
28
  }
29
29
  }
30
30
  else if ((0, object_utils_js_1.isFunction)(arg)) {
31
- const node = arg(ctx.createSubQueryBuilder()).toOperationNode();
31
+ const node = arg(ctx.createExpressionBuilder()).toOperationNode();
32
32
  if (!query_node_js_1.QueryNode.isMutating(node)) {
33
33
  return node;
34
34
  }
@@ -36,9 +36,10 @@ function parseReferenceExpression(ctx, arg) {
36
36
  throw new Error(`invalid reference expression ${JSON.stringify(arg)}`);
37
37
  }
38
38
  exports.parseReferenceExpression = parseReferenceExpression;
39
- function parseStringReference(str) {
40
- if (str.includes('.')) {
41
- const parts = str.split('.').map((it) => it.trim());
39
+ function parseStringReference(ref) {
40
+ const COLUMN_SEPARATOR = '.';
41
+ if (ref.includes(COLUMN_SEPARATOR)) {
42
+ const parts = ref.split(COLUMN_SEPARATOR).map(trim);
42
43
  if (parts.length === 3) {
43
44
  return parseStringReferenceWithTableAndSchema(parts);
44
45
  }
@@ -46,22 +47,22 @@ function parseStringReference(str) {
46
47
  return parseStringReferenceWithTable(parts);
47
48
  }
48
49
  else {
49
- throw new Error(`invalid column reference ${str}`);
50
+ throw new Error(`invalid column reference ${ref}`);
50
51
  }
51
52
  }
52
53
  else {
53
- return column_node_js_1.ColumnNode.create(str);
54
+ return column_node_js_1.ColumnNode.create(ref);
54
55
  }
55
56
  }
56
57
  exports.parseStringReference = parseStringReference;
57
- function parseAliasedStringReference(str) {
58
- if (str.includes(' as ')) {
59
- const [tableColumn, alias] = str.split(' as ').map((it) => it.trim());
60
- const tableColumnNode = parseStringReference(tableColumn);
61
- return alias_node_js_1.AliasNode.create(tableColumnNode, alias);
58
+ function parseAliasedStringReference(ref) {
59
+ const ALIAS_SEPARATOR = ' as ';
60
+ if (ref.includes(ALIAS_SEPARATOR)) {
61
+ const [columnRef, alias] = ref.split(ALIAS_SEPARATOR).map(trim);
62
+ return alias_node_js_1.AliasNode.create(parseStringReference(columnRef), alias);
62
63
  }
63
64
  else {
64
- return parseStringReference(str);
65
+ return parseStringReference(ref);
65
66
  }
66
67
  }
67
68
  exports.parseAliasedStringReference = parseAliasedStringReference;
@@ -77,3 +78,6 @@ function parseStringReferenceWithTable(parts) {
77
78
  const [table, column] = parts;
78
79
  return reference_node_js_1.ReferenceNode.create(table_node_js_1.TableNode.create(table), column_node_js_1.ColumnNode.create(column));
79
80
  }
81
+ function trim(str) {
82
+ return str.trim();
83
+ }
@@ -26,6 +26,5 @@ declare type ExtractAliasFromStringSelectExpression<S extends string> = S extend
26
26
  declare type ExtractTypeFromSelectExpression<DB, TB extends keyof DB, S, A extends keyof any> = S extends string ? ExtractTypeFromStringSelectExpression<DB, TB, S, A> : S extends AliasedRawBuilder<infer O, infer RA> ? RA extends A ? O : never : S extends (qb: any) => AliasedRawBuilder<infer O, infer RA> ? RA extends A ? O : never : S extends AliasedQueryBuilder<any, any, infer O, infer QA> ? QA extends A ? ValueType<O> : never : S extends (qb: any) => AliasedQueryBuilder<any, any, infer O, infer QA> ? QA extends A ? ValueType<O> : never : S extends DynamicReferenceBuilder<infer RA> ? A extends ExtractAliasFromStringSelectExpression<RA> ? ExtractTypeFromStringSelectExpression<DB, TB, RA, A> | undefined : never : never;
27
27
  declare type ExtractTypeFromStringSelectExpression<DB, TB extends keyof DB, S extends string, A extends keyof any, R = RowType<DB, TB>> = S extends `${infer SC}.${infer T}.${infer C} as ${infer RA}` ? RA extends A ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : never : S extends `${infer T}.${infer C} as ${infer RA}` ? RA extends A ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : never : S extends `${infer C} as ${infer RA}` ? RA extends A ? C extends keyof R ? R[C] : never : never : S extends `${infer SC}.${infer T}.${infer C}` ? C extends A ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : never : S extends `${infer T}.${infer C}` ? C extends A ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : never : S extends A ? S extends keyof R ? R[S] : never : never;
28
28
  export declare function parseSelectExpressionOrList(ctx: ParseContext, selection: SelectExpressionOrList<any, any>): SelectionNode[];
29
- export declare function parseSelectAllArgs(table?: string | string[]): SelectionNode[];
30
- export declare function parseSelectAllArg(table: string): SelectionNode;
29
+ export declare function parseSelectAll(table?: string | string[]): SelectionNode[];
31
30
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseSelectAllArg = exports.parseSelectAllArgs = exports.parseSelectExpressionOrList = void 0;
3
+ exports.parseSelectAll = exports.parseSelectExpressionOrList = void 0;
4
4
  const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
5
5
  const object_utils_js_1 = require("../util/object-utils.js");
6
6
  const selection_node_js_1 = require("../operation-node/selection-node.js");
@@ -22,13 +22,13 @@ function parseSelectExpression(ctx, selection) {
22
22
  return selection_node_js_1.SelectionNode.create(selection.toOperationNode());
23
23
  }
24
24
  else if ((0, object_utils_js_1.isFunction)(selection)) {
25
- return selection_node_js_1.SelectionNode.create(selection(ctx.createSubQueryBuilder()).toOperationNode());
25
+ return selection_node_js_1.SelectionNode.create(selection(ctx.createExpressionBuilder()).toOperationNode());
26
26
  }
27
27
  else {
28
28
  throw new Error(`invalid value passed to select method: ${JSON.stringify(selection)}`);
29
29
  }
30
30
  }
31
- function parseSelectAllArgs(table) {
31
+ function parseSelectAll(table) {
32
32
  if (!table) {
33
33
  return [selection_node_js_1.SelectionNode.createSelectAll()];
34
34
  }
@@ -39,7 +39,7 @@ function parseSelectAllArgs(table) {
39
39
  return [parseSelectAllArg(table)];
40
40
  }
41
41
  }
42
- exports.parseSelectAllArgs = parseSelectAllArgs;
42
+ exports.parseSelectAll = parseSelectAll;
43
43
  function parseSelectAllArg(table) {
44
44
  if ((0, object_utils_js_1.isString)(table)) {
45
45
  return selection_node_js_1.SelectionNode.createSelectAllFromTable(table);
@@ -48,4 +48,3 @@ function parseSelectAllArg(table) {
48
48
  throw new Error(`invalid value passed to selectAll method: ${JSON.stringify(table)}`);
49
49
  }
50
50
  }
51
- exports.parseSelectAllArg = parseSelectAllArg;
@@ -22,7 +22,7 @@ function parseTableExpression(ctx, table) {
22
22
  return table.toOperationNode();
23
23
  }
24
24
  else if ((0, object_utils_js_1.isFunction)(table)) {
25
- return table(ctx.createSubQueryBuilder()).toOperationNode();
25
+ return table(ctx.createExpressionBuilder()).toOperationNode();
26
26
  }
27
27
  else {
28
28
  throw new Error(`invalid table expression ${JSON.stringify(table)}`);
@@ -30,18 +30,20 @@ function parseTableExpression(ctx, table) {
30
30
  }
31
31
  exports.parseTableExpression = parseTableExpression;
32
32
  function parseAliasedTable(from) {
33
- const [table, alias] = from.split(' as ').map((it) => it.trim());
34
- if (alias) {
33
+ const ALIAS_SEPARATOR = ' as ';
34
+ if (from.includes(ALIAS_SEPARATOR)) {
35
+ const [table, alias] = from.split(ALIAS_SEPARATOR).map(trim);
35
36
  return alias_node_js_1.AliasNode.create(parseTable(table), alias);
36
37
  }
37
38
  else {
38
- return parseTable(table);
39
+ return parseTable(from);
39
40
  }
40
41
  }
41
42
  exports.parseAliasedTable = parseAliasedTable;
42
43
  function parseTable(from) {
43
- if (from.includes('.')) {
44
- const [schema, table] = from.split('.').map((it) => it.trim());
44
+ const SCHEMA_SEPARATOR = '.';
45
+ if (from.includes(SCHEMA_SEPARATOR)) {
46
+ const [schema, table] = from.split(SCHEMA_SEPARATOR).map(trim);
45
47
  return table_node_js_1.TableNode.createWithSchema(schema, table);
46
48
  }
47
49
  else {
@@ -49,3 +51,6 @@ function parseTable(from) {
49
51
  }
50
52
  }
51
53
  exports.parseTable = parseTable;
54
+ function trim(str) {
55
+ return str.trim();
56
+ }
@@ -24,7 +24,7 @@ function parseMutationValueExpression(ctx, value) {
24
24
  }
25
25
  }
26
26
  else if ((0, object_utils_js_1.isFunction)(value)) {
27
- const node = value(ctx.createSubQueryBuilder()).toOperationNode();
27
+ const node = value(ctx.createExpressionBuilder()).toOperationNode();
28
28
  if (!query_node_js_1.QueryNode.isMutating(node)) {
29
29
  return node;
30
30
  }
@@ -28,7 +28,7 @@ function parseValueExpression(ctx, arg) {
28
28
  }
29
29
  }
30
30
  else if ((0, object_utils_js_1.isFunction)(arg)) {
31
- const node = arg(ctx.createSubQueryBuilder()).toOperationNode();
31
+ const node = arg(ctx.createExpressionBuilder()).toOperationNode();
32
32
  if (!query_node_js_1.QueryNode.isMutating(node)) {
33
33
  return node;
34
34
  }
@@ -1,9 +1,9 @@
1
1
  import { TableExpression, QueryBuilderWithTable } from '../parser/table-parser.js';
2
2
  import { NoopQueryExecutor } from '../query-executor/noop-query-executor.js';
3
- import { DialectAdapter } from '../dialect/dialect-adapter.js';
4
- export declare class SubQueryBuilder<DB, TB extends keyof DB> {
3
+ import { ParseContext } from '../parser/parse-context.js';
4
+ export declare class ExpressionBuilder<DB, TB extends keyof DB> {
5
5
  #private;
6
- constructor(props: SubQueryBuilderProps);
6
+ constructor(props: ExpressionBuilderProps);
7
7
  /**
8
8
  * Creates a subquery.
9
9
  *
@@ -50,9 +50,9 @@ export declare class SubQueryBuilder<DB, TB extends keyof DB> {
50
50
  /**
51
51
  * See {@link QueryCreator.withSchema}
52
52
  */
53
- withSchema(schema: string): SubQueryBuilder<DB, TB>;
53
+ withSchema(schema: string): ExpressionBuilder<DB, TB>;
54
54
  }
55
- export interface SubQueryBuilderProps {
55
+ export interface ExpressionBuilderProps {
56
56
  readonly executor: NoopQueryExecutor;
57
- readonly adapter: DialectAdapter;
57
+ readonly parseContext: ParseContext;
58
58
  }
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SubQueryBuilder = void 0;
3
+ exports.ExpressionBuilder = void 0;
4
4
  const query_builder_js_1 = require("./query-builder.js");
5
5
  const select_query_node_js_1 = require("../operation-node/select-query-node.js");
6
6
  const table_parser_js_1 = require("../parser/table-parser.js");
7
7
  const with_schema_plugin_js_1 = require("../plugin/with-schema/with-schema-plugin.js");
8
8
  const query_id_js_1 = require("../util/query-id.js");
9
9
  const object_utils_js_1 = require("../util/object-utils.js");
10
- const parse_context_js_1 = require("../parser/parse-context.js");
11
- class SubQueryBuilder {
10
+ class ExpressionBuilder {
12
11
  #props;
13
12
  constructor(props) {
14
13
  this.#props = (0, object_utils_js_1.freeze)(props);
@@ -17,21 +16,18 @@ class SubQueryBuilder {
17
16
  return new query_builder_js_1.QueryBuilder({
18
17
  queryId: (0, query_id_js_1.createQueryId)(),
19
18
  executor: this.#props.executor,
20
- adapter: this.#props.adapter,
21
- queryNode: select_query_node_js_1.SelectQueryNode.create((0, table_parser_js_1.parseTableExpressionOrList)(this.#parseContext, table)),
19
+ parseContext: this.#props.parseContext,
20
+ queryNode: select_query_node_js_1.SelectQueryNode.create((0, table_parser_js_1.parseTableExpressionOrList)(this.#props.parseContext, table)),
22
21
  });
23
22
  }
24
23
  /**
25
24
  * See {@link QueryCreator.withSchema}
26
25
  */
27
26
  withSchema(schema) {
28
- return new SubQueryBuilder({
27
+ return new ExpressionBuilder({
29
28
  ...this.#props,
30
29
  executor: this.#props.executor.withPluginAtFront(new with_schema_plugin_js_1.WithSchemaPlugin(schema)),
31
30
  });
32
31
  }
33
- get #parseContext() {
34
- return (0, parse_context_js_1.createParseContext)(this.#props.adapter);
35
- }
36
32
  }
37
- exports.SubQueryBuilder = SubQueryBuilder;
33
+ exports.ExpressionBuilder = ExpressionBuilder;
@@ -1,7 +1,7 @@
1
- import { DialectAdapter } from '../dialect/dialect-adapter.js';
2
1
  import { JoinNode } from '../operation-node/join-node.js';
3
2
  import { OperationNodeSource } from '../operation-node/operation-node-source.js';
4
3
  import { ExistsExpression, FilterOperator } from '../parser/filter-parser.js';
4
+ import { ParseContext } from '../parser/parse-context.js';
5
5
  import { ReferenceExpression } from '../parser/reference-parser.js';
6
6
  import { ValueExpressionOrList } from '../parser/value-parser.js';
7
7
  export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
@@ -69,5 +69,5 @@ export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNo
69
69
  }
70
70
  export interface JoinBuilderProps {
71
71
  readonly joinNode: JoinNode;
72
- readonly adapter: DialectAdapter;
72
+ readonly parseContext: ParseContext;
73
73
  }
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JoinBuilder = void 0;
4
4
  const join_node_js_1 = require("../operation-node/join-node.js");
5
5
  const filter_parser_js_1 = require("../parser/filter-parser.js");
6
- const parse_context_js_1 = require("../parser/parse-context.js");
7
6
  const object_utils_js_1 = require("../util/object-utils.js");
8
7
  const prevent_await_js_1 = require("../util/prevent-await.js");
9
8
  class JoinBuilder {
@@ -14,13 +13,13 @@ class JoinBuilder {
14
13
  on(...args) {
15
14
  return new JoinBuilder({
16
15
  ...this.#props,
17
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'And', (0, filter_parser_js_1.parseOnFilter)(this.#parseContext, args)),
16
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'And', (0, filter_parser_js_1.parseOnFilter)(this.#props.parseContext, args)),
18
17
  });
19
18
  }
20
19
  orOn(...args) {
21
20
  return new JoinBuilder({
22
21
  ...this.#props,
23
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'Or', (0, filter_parser_js_1.parseOnFilter)(this.#parseContext, args)),
22
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'Or', (0, filter_parser_js_1.parseOnFilter)(this.#props.parseContext, args)),
24
23
  });
25
24
  }
26
25
  /**
@@ -32,7 +31,7 @@ class JoinBuilder {
32
31
  onRef(lhs, op, rhs) {
33
32
  return new JoinBuilder({
34
33
  ...this.#props,
35
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'And', (0, filter_parser_js_1.parseReferenceFilter)(this.#parseContext, lhs, op, rhs)),
34
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'And', (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
36
35
  });
37
36
  }
38
37
  /**
@@ -44,7 +43,7 @@ class JoinBuilder {
44
43
  orOnRef(lhs, op, rhs) {
45
44
  return new JoinBuilder({
46
45
  ...this.#props,
47
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'Or', (0, filter_parser_js_1.parseReferenceFilter)(this.#parseContext, lhs, op, rhs)),
46
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'Or', (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
48
47
  });
49
48
  }
50
49
  /**
@@ -56,7 +55,7 @@ class JoinBuilder {
56
55
  onExists(arg) {
57
56
  return new JoinBuilder({
58
57
  ...this.#props,
59
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'And', (0, filter_parser_js_1.parseExistExpression)(this.#parseContext, arg)),
58
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'And', (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
60
59
  });
61
60
  }
62
61
  /**
@@ -68,7 +67,7 @@ class JoinBuilder {
68
67
  onNotExists(arg) {
69
68
  return new JoinBuilder({
70
69
  ...this.#props,
71
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'And', (0, filter_parser_js_1.parseNotExistExpression)(this.#parseContext, arg)),
70
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'And', (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
72
71
  });
73
72
  }
74
73
  /**
@@ -80,7 +79,7 @@ class JoinBuilder {
80
79
  orOnExists(arg) {
81
80
  return new JoinBuilder({
82
81
  ...this.#props,
83
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'Or', (0, filter_parser_js_1.parseExistExpression)(this.#parseContext, arg)),
82
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'Or', (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
84
83
  });
85
84
  }
86
85
  /**
@@ -92,15 +91,12 @@ class JoinBuilder {
92
91
  orOnNotExists(arg) {
93
92
  return new JoinBuilder({
94
93
  ...this.#props,
95
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'Or', (0, filter_parser_js_1.parseNotExistExpression)(this.#parseContext, arg)),
94
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, 'Or', (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
96
95
  });
97
96
  }
98
97
  toOperationNode() {
99
98
  return this.#props.joinNode;
100
99
  }
101
- get #parseContext() {
102
- return (0, parse_context_js_1.createParseContext)(this.#props.adapter);
103
- }
104
100
  }
105
101
  exports.JoinBuilder = JoinBuilder;
106
102
  (0, prevent_await_js_1.preventAwait)(JoinBuilder, "don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");
@@ -18,7 +18,7 @@ import { Compilable } from '../util/compilable.js';
18
18
  import { QueryExecutor } from '../query-executor/query-executor.js';
19
19
  import { QueryId } from '../util/query-id.js';
20
20
  import { OnConflictConstraintTarget } from '../parser/on-conflict-parser.js';
21
- import { DialectAdapter } from '../dialect/dialect-adapter.js';
21
+ import { ParseContext } from '../parser/parse-context.js';
22
22
  /**
23
23
  * The main query builder class.
24
24
  *
@@ -1605,7 +1605,7 @@ export interface QueryBuilderProps {
1605
1605
  readonly queryId: QueryId;
1606
1606
  readonly queryNode: QueryNode;
1607
1607
  readonly executor: QueryExecutor;
1608
- readonly adapter: DialectAdapter;
1608
+ readonly parseContext: ParseContext;
1609
1609
  }
1610
1610
  /**
1611
1611
  * {@link QueryBuilder} with an alias. The result of calling {@link QueryBuilder.as}.