kysely 0.16.9 → 0.17.1

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 (189) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/dialect/mysql/mysql-adapter.js +3 -4
  4. package/dist/cjs/dialect/mysql/mysql-introspector.js +2 -1
  5. package/dist/cjs/dialect/postgres/postgres-adapter.js +3 -2
  6. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +2 -1
  7. package/dist/cjs/driver/connection-provider.d.ts +1 -1
  8. package/dist/cjs/driver/default-connection-provider.d.ts +1 -1
  9. package/dist/cjs/driver/default-connection-provider.js +1 -1
  10. package/dist/cjs/driver/single-connection-provider.d.ts +1 -1
  11. package/dist/cjs/driver/single-connection-provider.js +1 -1
  12. package/dist/cjs/index-nodeless.d.ts +2 -0
  13. package/dist/cjs/index-nodeless.js +2 -0
  14. package/dist/cjs/kysely.d.ts +3 -6
  15. package/dist/cjs/kysely.js +30 -41
  16. package/dist/cjs/migration/migrator.js +4 -4
  17. package/dist/cjs/operation-node/delete-query-node.d.ts +7 -0
  18. package/dist/cjs/operation-node/delete-query-node.js +15 -0
  19. package/dist/cjs/operation-node/operation-node-transformer.js +1 -1
  20. package/dist/cjs/operation-node/raw-node.d.ts +4 -2
  21. package/dist/cjs/operation-node/raw-node.js +8 -2
  22. package/dist/cjs/parser/complex-expression-parser.d.ts +5 -5
  23. package/dist/cjs/parser/complex-expression-parser.js +5 -4
  24. package/dist/cjs/parser/filter-parser.d.ts +9 -9
  25. package/dist/cjs/parser/filter-parser.js +31 -30
  26. package/dist/cjs/parser/group-by-parser.d.ts +1 -2
  27. package/dist/cjs/parser/group-by-parser.js +2 -2
  28. package/dist/cjs/parser/insert-values-parser.d.ts +1 -2
  29. package/dist/cjs/parser/insert-values-parser.js +6 -6
  30. package/dist/cjs/parser/join-parser.d.ts +1 -2
  31. package/dist/cjs/parser/join-parser.js +8 -7
  32. package/dist/cjs/parser/order-by-parser.d.ts +1 -2
  33. package/dist/cjs/parser/order-by-parser.js +4 -4
  34. package/dist/cjs/parser/parse-utils.d.ts +10 -0
  35. package/dist/cjs/parser/parse-utils.js +38 -0
  36. package/dist/cjs/parser/reference-parser.d.ts +2 -3
  37. package/dist/cjs/parser/reference-parser.js +5 -5
  38. package/dist/cjs/parser/select-parser.d.ts +1 -2
  39. package/dist/cjs/parser/select-parser.js +5 -5
  40. package/dist/cjs/parser/table-parser.d.ts +2 -3
  41. package/dist/cjs/parser/table-parser.js +5 -5
  42. package/dist/cjs/parser/update-set-parser.d.ts +1 -2
  43. package/dist/cjs/parser/update-set-parser.js +2 -2
  44. package/dist/cjs/parser/value-parser.d.ts +3 -4
  45. package/dist/cjs/parser/value-parser.js +7 -7
  46. package/dist/cjs/parser/with-parser.d.ts +1 -2
  47. package/dist/cjs/parser/with-parser.js +3 -2
  48. package/dist/cjs/query-builder/delete-query-builder.d.ts +77 -20
  49. package/dist/cjs/query-builder/delete-query-builder.js +81 -14
  50. package/dist/cjs/query-builder/expression-builder.d.ts +4 -13
  51. package/dist/cjs/query-builder/expression-builder.js +12 -21
  52. package/dist/cjs/query-builder/function-builder.d.ts +2 -6
  53. package/dist/cjs/query-builder/function-builder.js +5 -8
  54. package/dist/cjs/query-builder/insert-query-builder.d.ts +11 -9
  55. package/dist/cjs/query-builder/insert-query-builder.js +8 -7
  56. package/dist/cjs/query-builder/join-builder.d.ts +0 -2
  57. package/dist/cjs/query-builder/join-builder.js +8 -8
  58. package/dist/cjs/query-builder/on-conflict-builder.d.ts +24 -20
  59. package/dist/cjs/query-builder/on-conflict-builder.js +17 -17
  60. package/dist/cjs/query-builder/returning-interface.d.ts +2 -2
  61. package/dist/cjs/query-builder/select-query-builder.d.ts +43 -32
  62. package/dist/cjs/query-builder/select-query-builder.js +28 -26
  63. package/dist/cjs/query-builder/update-query-builder.d.ts +29 -25
  64. package/dist/cjs/query-builder/update-query-builder.js +22 -20
  65. package/dist/cjs/query-builder/where-interface.d.ts +20 -16
  66. package/dist/cjs/query-compiler/default-query-compiler.js +16 -7
  67. package/dist/cjs/query-creator.d.ts +24 -138
  68. package/dist/cjs/query-creator.js +19 -145
  69. package/dist/cjs/query-executor/default-query-executor.d.ts +14 -3
  70. package/dist/cjs/query-executor/default-query-executor.js +15 -17
  71. package/dist/cjs/query-executor/noop-query-executor.d.ts +13 -2
  72. package/dist/cjs/query-executor/noop-query-executor.js +9 -2
  73. package/dist/cjs/query-executor/query-executor-provider.d.ts +8 -0
  74. package/dist/cjs/query-executor/query-executor-provider.js +2 -0
  75. package/dist/cjs/query-executor/query-executor.d.ts +14 -6
  76. package/dist/cjs/query-executor/query-executor.js +4 -2
  77. package/dist/cjs/raw-builder/raw-builder.d.ts +42 -11
  78. package/dist/cjs/raw-builder/raw-builder.js +55 -56
  79. package/dist/cjs/raw-builder/sql.d.ts +323 -0
  80. package/dist/cjs/raw-builder/sql.js +153 -0
  81. package/dist/cjs/schema/alter-table-builder.d.ts +20 -8
  82. package/dist/cjs/schema/alter-table-builder.js +3 -3
  83. package/dist/cjs/schema/column-definition-builder.d.ts +20 -8
  84. package/dist/cjs/schema/create-index-builder.d.ts +3 -1
  85. package/dist/cjs/schema/create-index-builder.js +3 -1
  86. package/dist/cjs/schema/create-table-builder.d.ts +6 -2
  87. package/dist/cjs/schema/create-table-builder.js +8 -4
  88. package/dist/cjs/schema/create-view-builder.d.ts +3 -3
  89. package/dist/cjs/schema/create-view-builder.js +3 -3
  90. package/dist/cjs/util/query-id.js +10 -4
  91. package/dist/cjs/util/random-string.js +65 -2
  92. package/dist/esm/dialect/mysql/mysql-adapter.js +3 -4
  93. package/dist/esm/dialect/mysql/mysql-introspector.js +2 -1
  94. package/dist/esm/dialect/postgres/postgres-adapter.js +3 -2
  95. package/dist/esm/dialect/sqlite/sqlite-introspector.js +2 -1
  96. package/dist/esm/driver/connection-provider.d.ts +1 -1
  97. package/dist/esm/driver/default-connection-provider.d.ts +1 -1
  98. package/dist/esm/driver/default-connection-provider.js +1 -1
  99. package/dist/esm/driver/single-connection-provider.d.ts +1 -1
  100. package/dist/esm/driver/single-connection-provider.js +1 -1
  101. package/dist/esm/index-nodeless.d.ts +2 -0
  102. package/dist/esm/index-nodeless.js +2 -0
  103. package/dist/esm/kysely.d.ts +3 -6
  104. package/dist/esm/kysely.js +30 -41
  105. package/dist/esm/migration/migrator.js +4 -4
  106. package/dist/esm/operation-node/delete-query-node.d.ts +7 -0
  107. package/dist/esm/operation-node/delete-query-node.js +15 -0
  108. package/dist/esm/operation-node/operation-node-transformer.js +1 -1
  109. package/dist/esm/operation-node/raw-node.d.ts +4 -2
  110. package/dist/esm/operation-node/raw-node.js +8 -2
  111. package/dist/esm/parser/complex-expression-parser.d.ts +5 -5
  112. package/dist/esm/parser/complex-expression-parser.js +5 -4
  113. package/dist/esm/parser/filter-parser.d.ts +9 -9
  114. package/dist/esm/parser/filter-parser.js +31 -30
  115. package/dist/esm/parser/group-by-parser.d.ts +1 -2
  116. package/dist/esm/parser/group-by-parser.js +2 -2
  117. package/dist/esm/parser/insert-values-parser.d.ts +1 -2
  118. package/dist/esm/parser/insert-values-parser.js +6 -6
  119. package/dist/esm/parser/join-parser.d.ts +1 -2
  120. package/dist/esm/parser/join-parser.js +8 -7
  121. package/dist/esm/parser/order-by-parser.d.ts +1 -2
  122. package/dist/esm/parser/order-by-parser.js +4 -4
  123. package/dist/esm/parser/parse-utils.d.ts +10 -0
  124. package/dist/esm/parser/parse-utils.js +32 -0
  125. package/dist/esm/parser/reference-parser.d.ts +2 -3
  126. package/dist/esm/parser/reference-parser.js +5 -5
  127. package/dist/esm/parser/select-parser.d.ts +1 -2
  128. package/dist/esm/parser/select-parser.js +5 -5
  129. package/dist/esm/parser/table-parser.d.ts +2 -3
  130. package/dist/esm/parser/table-parser.js +5 -5
  131. package/dist/esm/parser/update-set-parser.d.ts +1 -2
  132. package/dist/esm/parser/update-set-parser.js +2 -2
  133. package/dist/esm/parser/value-parser.d.ts +3 -4
  134. package/dist/esm/parser/value-parser.js +7 -7
  135. package/dist/esm/parser/with-parser.d.ts +1 -2
  136. package/dist/esm/parser/with-parser.js +3 -2
  137. package/dist/esm/query-builder/delete-query-builder.d.ts +77 -20
  138. package/dist/esm/query-builder/delete-query-builder.js +81 -14
  139. package/dist/esm/query-builder/expression-builder.d.ts +4 -13
  140. package/dist/esm/query-builder/expression-builder.js +12 -21
  141. package/dist/esm/query-builder/function-builder.d.ts +2 -6
  142. package/dist/esm/query-builder/function-builder.js +5 -8
  143. package/dist/esm/query-builder/insert-query-builder.d.ts +11 -9
  144. package/dist/esm/query-builder/insert-query-builder.js +8 -7
  145. package/dist/esm/query-builder/join-builder.d.ts +0 -2
  146. package/dist/esm/query-builder/join-builder.js +8 -8
  147. package/dist/esm/query-builder/on-conflict-builder.d.ts +24 -20
  148. package/dist/esm/query-builder/on-conflict-builder.js +17 -17
  149. package/dist/esm/query-builder/returning-interface.d.ts +2 -2
  150. package/dist/esm/query-builder/select-query-builder.d.ts +43 -32
  151. package/dist/esm/query-builder/select-query-builder.js +28 -26
  152. package/dist/esm/query-builder/update-query-builder.d.ts +29 -25
  153. package/dist/esm/query-builder/update-query-builder.js +22 -20
  154. package/dist/esm/query-builder/where-interface.d.ts +20 -16
  155. package/dist/esm/query-compiler/default-query-compiler.js +16 -7
  156. package/dist/esm/query-creator.d.ts +24 -138
  157. package/dist/esm/query-creator.js +19 -145
  158. package/dist/esm/query-executor/default-query-executor.d.ts +14 -3
  159. package/dist/esm/query-executor/default-query-executor.js +15 -17
  160. package/dist/esm/query-executor/noop-query-executor.d.ts +13 -2
  161. package/dist/esm/query-executor/noop-query-executor.js +8 -1
  162. package/dist/esm/query-executor/query-executor-provider.d.ts +8 -0
  163. package/dist/esm/query-executor/query-executor-provider.js +2 -0
  164. package/dist/esm/query-executor/query-executor.d.ts +14 -6
  165. package/dist/esm/query-executor/query-executor.js +4 -2
  166. package/dist/esm/raw-builder/raw-builder.d.ts +42 -11
  167. package/dist/esm/raw-builder/raw-builder.js +56 -57
  168. package/dist/esm/raw-builder/sql.d.ts +323 -0
  169. package/dist/esm/raw-builder/sql.js +151 -0
  170. package/dist/esm/schema/alter-table-builder.d.ts +20 -8
  171. package/dist/esm/schema/alter-table-builder.js +3 -3
  172. package/dist/esm/schema/column-definition-builder.d.ts +20 -8
  173. package/dist/esm/schema/create-index-builder.d.ts +3 -1
  174. package/dist/esm/schema/create-index-builder.js +3 -1
  175. package/dist/esm/schema/create-table-builder.d.ts +6 -2
  176. package/dist/esm/schema/create-table-builder.js +8 -4
  177. package/dist/esm/schema/create-view-builder.d.ts +3 -3
  178. package/dist/esm/schema/create-view-builder.js +3 -3
  179. package/dist/esm/util/query-id.js +10 -4
  180. package/dist/esm/util/random-string.js +65 -2
  181. package/package.json +13 -13
  182. package/dist/cjs/parser/parse-context.d.ts +0 -55
  183. package/dist/cjs/parser/parse-context.js +0 -50
  184. package/dist/cjs/util/private-symbols.d.ts +0 -5
  185. package/dist/cjs/util/private-symbols.js +0 -8
  186. package/dist/esm/parser/parse-context.d.ts +0 -55
  187. package/dist/esm/parser/parse-context.js +0 -47
  188. package/dist/esm/util/private-symbols.d.ts +0 -5
  189. package/dist/esm/util/private-symbols.js +0 -6
@@ -10,48 +10,49 @@ const parens_node_js_1 = require("../operation-node/parens-node.js");
10
10
  const reference_parser_js_1 = require("./reference-parser.js");
11
11
  const value_parser_js_1 = require("./value-parser.js");
12
12
  const value_node_js_1 = require("../operation-node/value-node.js");
13
- function parseWhereFilter(ctx, args) {
14
- return parseFilter(ctx, 'where', args);
13
+ const parse_utils_js_1 = require("./parse-utils.js");
14
+ function parseWhereFilter(args) {
15
+ return parseFilter('where', args);
15
16
  }
16
17
  exports.parseWhereFilter = parseWhereFilter;
17
- function parseHavingFilter(ctx, args) {
18
- return parseFilter(ctx, 'having', args);
18
+ function parseHavingFilter(args) {
19
+ return parseFilter('having', args);
19
20
  }
20
21
  exports.parseHavingFilter = parseHavingFilter;
21
- function parseOnFilter(ctx, args) {
22
- return parseFilter(ctx, 'on', args);
22
+ function parseOnFilter(args) {
23
+ return parseFilter('on', args);
23
24
  }
24
25
  exports.parseOnFilter = parseOnFilter;
25
- function parseReferenceFilter(ctx, lhs, op, rhs) {
26
- return filter_node_js_1.FilterNode.create((0, reference_parser_js_1.parseReferenceExpression)(ctx, lhs), parseFilterOperator(op), (0, reference_parser_js_1.parseReferenceExpression)(ctx, rhs));
26
+ function parseReferenceFilter(lhs, op, rhs) {
27
+ return filter_node_js_1.FilterNode.create((0, reference_parser_js_1.parseReferenceExpression)(lhs), parseFilterOperator(op), (0, reference_parser_js_1.parseReferenceExpression)(rhs));
27
28
  }
28
29
  exports.parseReferenceFilter = parseReferenceFilter;
29
- function parseExistFilter(ctx, arg) {
30
- return parseExistExpression(ctx, 'exists', arg);
30
+ function parseExistFilter(arg) {
31
+ return parseExistExpression('exists', arg);
31
32
  }
32
33
  exports.parseExistFilter = parseExistFilter;
33
- function parseNotExistFilter(ctx, arg) {
34
- return parseExistExpression(ctx, 'not exists', arg);
34
+ function parseNotExistFilter(arg) {
35
+ return parseExistExpression('not exists', arg);
35
36
  }
36
37
  exports.parseNotExistFilter = parseNotExistFilter;
37
- function parseFilter(ctx, type, args) {
38
+ function parseFilter(type, args) {
38
39
  if (args.length === 3) {
39
- return parseThreeArgFilter(ctx, args[0], args[1], args[2]);
40
+ return parseThreeArgFilter(args[0], args[1], args[2]);
40
41
  }
41
42
  else if (args.length === 1) {
42
- return parseOneArgFilter(ctx, type, args[0]);
43
+ return parseOneArgFilter(type, args[0]);
43
44
  }
44
45
  throw createFilterError(type, args);
45
46
  }
46
47
  exports.parseFilter = parseFilter;
47
- function parseThreeArgFilter(ctx, left, op, right) {
48
+ function parseThreeArgFilter(left, op, right) {
48
49
  if ((op === 'is' || op === 'is not') && ((0, object_utils_js_1.isNull)(right) || (0, object_utils_js_1.isBoolean)(right))) {
49
- return parseIsFilter(ctx, left, op, right);
50
+ return parseIsFilter(left, op, right);
50
51
  }
51
- return filter_node_js_1.FilterNode.create((0, reference_parser_js_1.parseReferenceExpression)(ctx, left), parseFilterOperator(op), (0, value_parser_js_1.parseValueExpressionOrList)(ctx, right));
52
+ return filter_node_js_1.FilterNode.create((0, reference_parser_js_1.parseReferenceExpression)(left), parseFilterOperator(op), (0, value_parser_js_1.parseValueExpressionOrList)(right));
52
53
  }
53
- function parseIsFilter(ctx, left, op, right) {
54
- return filter_node_js_1.FilterNode.create((0, reference_parser_js_1.parseReferenceExpression)(ctx, left), parseFilterOperator(op), value_node_js_1.ValueNode.createImmediate(right));
54
+ function parseIsFilter(left, op, right) {
55
+ return filter_node_js_1.FilterNode.create((0, reference_parser_js_1.parseReferenceExpression)(left), parseFilterOperator(op), value_node_js_1.ValueNode.createImmediate(right));
55
56
  }
56
57
  function parseFilterOperator(op) {
57
58
  if ((0, object_utils_js_1.isString)(op) && operator_node_js_1.OPERATORS.includes(op)) {
@@ -62,12 +63,12 @@ function parseFilterOperator(op) {
62
63
  }
63
64
  throw new Error(`invalid comparison operator ${JSON.stringify(op)} passed to a filter method`);
64
65
  }
65
- function parseExistExpression(ctx, type, arg) {
66
- return filter_node_js_1.FilterNode.create(undefined, operator_node_js_1.OperatorNode.create(type), (0, value_parser_js_1.parseValueExpressionOrList)(ctx, arg));
66
+ function parseExistExpression(type, arg) {
67
+ return filter_node_js_1.FilterNode.create(undefined, operator_node_js_1.OperatorNode.create(type), (0, value_parser_js_1.parseValueExpressionOrList)(arg));
67
68
  }
68
- function parseOneArgFilter(ctx, type, arg) {
69
+ function parseOneArgFilter(type, arg) {
69
70
  if ((0, object_utils_js_1.isFunction)(arg)) {
70
- return GROUP_PARSERS[type](ctx, arg);
71
+ return GROUP_PARSERS[type](arg);
71
72
  }
72
73
  else if ((0, operation_node_source_js_1.isOperationNodeSource)(arg)) {
73
74
  const node = arg.toOperationNode();
@@ -81,24 +82,24 @@ function createFilterError(type, args) {
81
82
  return new Error(`invalid arguments passed to a '${type}' method: ${JSON.stringify(args)}`);
82
83
  }
83
84
  const GROUP_PARSERS = (0, object_utils_js_1.freeze)({
84
- where(ctx, callback) {
85
- const query = callback(ctx.createSelectQueryBuilder());
85
+ where(callback) {
86
+ const query = callback((0, parse_utils_js_1.createSelectQueryBuilder)());
86
87
  const queryNode = query.toOperationNode();
87
88
  if (!queryNode.where) {
88
89
  throw new Error('no `where` methods called insided a group callback');
89
90
  }
90
91
  return parens_node_js_1.ParensNode.create(queryNode.where.where);
91
92
  },
92
- having(ctx, callback) {
93
- const query = callback(ctx.createSelectQueryBuilder());
93
+ having(callback) {
94
+ const query = callback((0, parse_utils_js_1.createSelectQueryBuilder)());
94
95
  const queryNode = query.toOperationNode();
95
96
  if (!queryNode.having) {
96
97
  throw new Error('no `having` methods called insided a group callback');
97
98
  }
98
99
  return parens_node_js_1.ParensNode.create(queryNode.having.having);
99
100
  },
100
- on(ctx, callback) {
101
- const joinBuilder = callback(ctx.createJoinBuilder('InnerJoin', 'table'));
101
+ on(callback) {
102
+ const joinBuilder = callback((0, parse_utils_js_1.createJoinBuilder)('InnerJoin', 'table'));
102
103
  const joinNode = joinBuilder.toOperationNode();
103
104
  if (!joinNode.on) {
104
105
  throw new Error('no `on` methods called insided a group callback');
@@ -1,4 +1,3 @@
1
1
  import { GroupByItemNode } from '../operation-node/group-by-item-node.js';
2
- import { ParseContext } from './parse-context.js';
3
2
  import { ReferenceExpressionOrList } from './reference-parser.js';
4
- export declare function parseGroupBy(ctx: ParseContext, orderBy: ReferenceExpressionOrList<any, any>): GroupByItemNode[];
3
+ export declare function parseGroupBy(orderBy: ReferenceExpressionOrList<any, any>): GroupByItemNode[];
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseGroupBy = void 0;
4
4
  const group_by_item_node_js_1 = require("../operation-node/group-by-item-node.js");
5
5
  const reference_parser_js_1 = require("./reference-parser.js");
6
- function parseGroupBy(ctx, orderBy) {
7
- return (0, reference_parser_js_1.parseReferenceExpressionOrList)(ctx, orderBy).map(group_by_item_node_js_1.GroupByItemNode.create);
6
+ function parseGroupBy(orderBy) {
7
+ return (0, reference_parser_js_1.parseReferenceExpressionOrList)(orderBy).map(group_by_item_node_js_1.GroupByItemNode.create);
8
8
  }
9
9
  exports.parseGroupBy = parseGroupBy;
@@ -1,5 +1,4 @@
1
1
  import { ColumnNode } from '../operation-node/column-node.js';
2
- import { ParseContext } from './parse-context.js';
3
2
  import { ValueExpression } from './value-parser.js';
4
3
  import { ValuesNode } from '../operation-node/values-node.js';
5
4
  import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from '../util/column-type.js';
@@ -9,4 +8,4 @@ export declare type InsertObject<DB, TB extends keyof DB> = {
9
8
  [C in NullableInsertKeys<DB[TB]>]?: ValueExpression<DB, TB, InsertType<DB[TB][C]>>;
10
9
  };
11
10
  export declare type InsertObjectOrList<DB, TB extends keyof DB> = InsertObject<DB, TB> | ReadonlyArray<InsertObject<DB, TB>>;
12
- export declare function parseInsertObjectOrList(ctx: ParseContext, args: InsertObjectOrList<any, any>): [ReadonlyArray<ColumnNode>, ValuesNode];
11
+ export declare function parseInsertObjectOrList(args: InsertObjectOrList<any, any>): [ReadonlyArray<ColumnNode>, ValuesNode];
@@ -8,15 +8,15 @@ const object_utils_js_1 = require("../util/object-utils.js");
8
8
  const value_parser_js_1 = require("./value-parser.js");
9
9
  const values_node_js_1 = require("../operation-node/values-node.js");
10
10
  const complex_expression_parser_js_1 = require("./complex-expression-parser.js");
11
- function parseInsertObjectOrList(ctx, args) {
12
- return parseInsertColumnsAndValues(ctx, Array.isArray(args) ? args : [args]);
11
+ function parseInsertObjectOrList(args) {
12
+ return parseInsertColumnsAndValues(Array.isArray(args) ? args : [args]);
13
13
  }
14
14
  exports.parseInsertObjectOrList = parseInsertObjectOrList;
15
- function parseInsertColumnsAndValues(ctx, rows) {
15
+ function parseInsertColumnsAndValues(rows) {
16
16
  const columns = parseColumnNamesAndIndexes(rows);
17
17
  return [
18
18
  (0, object_utils_js_1.freeze)([...columns.keys()].map(column_node_js_1.ColumnNode.create)),
19
- values_node_js_1.ValuesNode.create(rows.map((row) => parseRowValues(ctx, row, columns))),
19
+ values_node_js_1.ValuesNode.create(rows.map((row) => parseRowValues(row, columns))),
20
20
  ];
21
21
  }
22
22
  function parseColumnNamesAndIndexes(rows) {
@@ -31,7 +31,7 @@ function parseColumnNamesAndIndexes(rows) {
31
31
  }
32
32
  return columns;
33
33
  }
34
- function parseRowValues(ctx, row, columns) {
34
+ function parseRowValues(row, columns) {
35
35
  const rowColumns = Object.keys(row);
36
36
  const rowValues = new Array(columns.size).fill(null);
37
37
  for (const col of rowColumns) {
@@ -42,7 +42,7 @@ function parseRowValues(ctx, row, columns) {
42
42
  }
43
43
  }
44
44
  if (rowValues.some(complex_expression_parser_js_1.isComplexExpression)) {
45
- return value_list_node_js_1.ValueListNode.create(rowValues.map((it) => (0, value_parser_js_1.parseValueExpression)(ctx, it)));
45
+ return value_list_node_js_1.ValueListNode.create(rowValues.map((it) => (0, value_parser_js_1.parseValueExpression)(it)));
46
46
  }
47
47
  return primitive_value_list_node_js_1.PrimitiveValueListNode.create(rowValues);
48
48
  }
@@ -2,10 +2,9 @@ import { JoinNode, JoinType } from '../operation-node/join-node.js';
2
2
  import { AnyColumn, AnyColumnWithTable } from '../util/type-utils.js';
3
3
  import { TableExpressionDatabase, TableExpressionTables } from './table-parser.js';
4
4
  import { JoinBuilder } from '../query-builder/join-builder.js';
5
- import { ParseContext } from './parse-context.js';
6
5
  export declare type JoinReferenceExpression<DB, TB extends keyof DB, TE> = AnyJoinColumn<DB, TB, TE> | AnyJoinColumnWithTable<DB, TB, TE>;
7
6
  export declare type JoinCallbackExpression<DB, TB extends keyof DB, TE> = (join: JoinBuilder<TableExpressionDatabase<DB, TE>, TableExpressionTables<DB, TB, TE>>) => JoinBuilder<any, any>;
8
7
  declare type AnyJoinColumn<DB, TB extends keyof DB, TE> = AnyColumn<TableExpressionDatabase<DB, TE>, TableExpressionTables<DB, TB, TE>>;
9
8
  declare type AnyJoinColumnWithTable<DB, TB extends keyof DB, TE> = AnyColumnWithTable<TableExpressionDatabase<DB, TE>, TableExpressionTables<DB, TB, TE>>;
10
- export declare function parseJoin(ctx: ParseContext, joinType: JoinType, args: any[]): JoinNode;
9
+ export declare function parseJoin(joinType: JoinType, args: any[]): JoinNode;
11
10
  export {};
@@ -4,22 +4,23 @@ exports.parseJoin = void 0;
4
4
  const join_node_js_1 = require("../operation-node/join-node.js");
5
5
  const table_parser_js_1 = require("./table-parser.js");
6
6
  const filter_parser_js_1 = require("./filter-parser.js");
7
- function parseJoin(ctx, joinType, args) {
7
+ const parse_utils_js_1 = require("./parse-utils.js");
8
+ function parseJoin(joinType, args) {
8
9
  if (args.length === 3) {
9
- return parseSingleOnJoin(ctx, joinType, args[0], args[1], args[2]);
10
+ return parseSingleOnJoin(joinType, args[0], args[1], args[2]);
10
11
  }
11
12
  else if (args.length === 2) {
12
- return parseCallbackJoin(ctx, joinType, args[0], args[1]);
13
+ return parseCallbackJoin(joinType, args[0], args[1]);
13
14
  }
14
15
  else {
15
16
  throw new Error('not implemented');
16
17
  }
17
18
  }
18
19
  exports.parseJoin = parseJoin;
19
- function parseCallbackJoin(ctx, joinType, from, callback) {
20
- const joinBuilder = callback(ctx.createJoinBuilder(joinType, from));
20
+ function parseCallbackJoin(joinType, from, callback) {
21
+ const joinBuilder = callback((0, parse_utils_js_1.createJoinBuilder)(joinType, from));
21
22
  return joinBuilder.toOperationNode();
22
23
  }
23
- function parseSingleOnJoin(ctx, joinType, from, lhsColumn, rhsColumn) {
24
- return join_node_js_1.JoinNode.createWithOn(joinType, (0, table_parser_js_1.parseTableExpression)(ctx, from), (0, filter_parser_js_1.parseReferenceFilter)(ctx, lhsColumn, '=', rhsColumn));
24
+ function parseSingleOnJoin(joinType, from, lhsColumn, rhsColumn) {
25
+ return join_node_js_1.JoinNode.createWithOn(joinType, (0, table_parser_js_1.parseTableExpression)(from), (0, filter_parser_js_1.parseReferenceFilter)(lhsColumn, '=', rhsColumn));
25
26
  }
@@ -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;