kysely 0.16.8 → 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 (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -11
  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/index-nodeless.d.ts +2 -0
  8. package/dist/cjs/index-nodeless.js +2 -0
  9. package/dist/cjs/kysely.d.ts +3 -6
  10. package/dist/cjs/kysely.js +9 -14
  11. package/dist/cjs/migration/migrator.d.ts +22 -0
  12. package/dist/cjs/migration/migrator.js +27 -5
  13. package/dist/cjs/operation-node/delete-query-node.d.ts +7 -0
  14. package/dist/cjs/operation-node/delete-query-node.js +15 -0
  15. package/dist/cjs/operation-node/operation-node-transformer.js +1 -1
  16. package/dist/cjs/operation-node/raw-node.d.ts +4 -2
  17. package/dist/cjs/operation-node/raw-node.js +8 -2
  18. package/dist/cjs/parser/complex-expression-parser.d.ts +5 -5
  19. package/dist/cjs/parser/complex-expression-parser.js +5 -4
  20. package/dist/cjs/parser/filter-parser.d.ts +9 -9
  21. package/dist/cjs/parser/filter-parser.js +31 -30
  22. package/dist/cjs/parser/group-by-parser.d.ts +1 -2
  23. package/dist/cjs/parser/group-by-parser.js +2 -2
  24. package/dist/cjs/parser/insert-values-parser.d.ts +1 -2
  25. package/dist/cjs/parser/insert-values-parser.js +6 -6
  26. package/dist/cjs/parser/join-parser.d.ts +1 -2
  27. package/dist/cjs/parser/join-parser.js +8 -7
  28. package/dist/cjs/parser/order-by-parser.d.ts +1 -2
  29. package/dist/cjs/parser/order-by-parser.js +4 -4
  30. package/dist/cjs/parser/parse-utils.d.ts +10 -0
  31. package/dist/cjs/parser/parse-utils.js +38 -0
  32. package/dist/cjs/parser/reference-parser.d.ts +2 -3
  33. package/dist/cjs/parser/reference-parser.js +5 -5
  34. package/dist/cjs/parser/select-parser.d.ts +1 -2
  35. package/dist/cjs/parser/select-parser.js +5 -5
  36. package/dist/cjs/parser/table-parser.d.ts +2 -3
  37. package/dist/cjs/parser/table-parser.js +5 -5
  38. package/dist/cjs/parser/update-set-parser.d.ts +1 -2
  39. package/dist/cjs/parser/update-set-parser.js +2 -2
  40. package/dist/cjs/parser/value-parser.d.ts +3 -4
  41. package/dist/cjs/parser/value-parser.js +7 -7
  42. package/dist/cjs/parser/with-parser.d.ts +1 -2
  43. package/dist/cjs/parser/with-parser.js +3 -2
  44. package/dist/cjs/query-builder/delete-query-builder.d.ts +77 -20
  45. package/dist/cjs/query-builder/delete-query-builder.js +81 -14
  46. package/dist/cjs/query-builder/expression-builder.d.ts +4 -13
  47. package/dist/cjs/query-builder/expression-builder.js +12 -21
  48. package/dist/cjs/query-builder/function-builder.d.ts +2 -6
  49. package/dist/cjs/query-builder/function-builder.js +5 -8
  50. package/dist/cjs/query-builder/insert-query-builder.d.ts +11 -9
  51. package/dist/cjs/query-builder/insert-query-builder.js +8 -7
  52. package/dist/cjs/query-builder/join-builder.d.ts +0 -2
  53. package/dist/cjs/query-builder/join-builder.js +8 -8
  54. package/dist/cjs/query-builder/on-conflict-builder.d.ts +24 -20
  55. package/dist/cjs/query-builder/on-conflict-builder.js +17 -17
  56. package/dist/cjs/query-builder/returning-interface.d.ts +2 -2
  57. package/dist/cjs/query-builder/select-query-builder.d.ts +43 -32
  58. package/dist/cjs/query-builder/select-query-builder.js +28 -26
  59. package/dist/cjs/query-builder/update-query-builder.d.ts +29 -25
  60. package/dist/cjs/query-builder/update-query-builder.js +22 -20
  61. package/dist/cjs/query-builder/where-interface.d.ts +20 -16
  62. package/dist/cjs/query-compiler/default-query-compiler.js +16 -7
  63. package/dist/cjs/query-creator.d.ts +24 -138
  64. package/dist/cjs/query-creator.js +19 -145
  65. package/dist/cjs/query-executor/default-query-executor.d.ts +8 -1
  66. package/dist/cjs/query-executor/default-query-executor.js +13 -13
  67. package/dist/cjs/query-executor/noop-query-executor.d.ts +8 -0
  68. package/dist/cjs/query-executor/noop-query-executor.js +8 -1
  69. package/dist/cjs/query-executor/query-executor-provider.d.ts +8 -0
  70. package/dist/cjs/query-executor/query-executor-provider.js +2 -0
  71. package/dist/cjs/query-executor/query-executor.d.ts +7 -0
  72. package/dist/cjs/raw-builder/raw-builder.d.ts +42 -11
  73. package/dist/cjs/raw-builder/raw-builder.js +55 -56
  74. package/dist/cjs/raw-builder/sql.d.ts +323 -0
  75. package/dist/cjs/raw-builder/sql.js +153 -0
  76. package/dist/cjs/schema/alter-table-builder.d.ts +20 -8
  77. package/dist/cjs/schema/alter-table-builder.js +3 -3
  78. package/dist/cjs/schema/column-definition-builder.d.ts +20 -8
  79. package/dist/cjs/schema/create-index-builder.d.ts +3 -1
  80. package/dist/cjs/schema/create-index-builder.js +3 -1
  81. package/dist/cjs/schema/create-table-builder.d.ts +6 -2
  82. package/dist/cjs/schema/create-table-builder.js +8 -4
  83. package/dist/cjs/schema/create-view-builder.d.ts +3 -3
  84. package/dist/cjs/schema/create-view-builder.js +3 -3
  85. package/dist/cjs/util/query-id.js +10 -4
  86. package/dist/cjs/util/random-string.js +65 -2
  87. package/dist/esm/dialect/mysql/mysql-adapter.js +3 -4
  88. package/dist/esm/dialect/mysql/mysql-introspector.js +2 -1
  89. package/dist/esm/dialect/postgres/postgres-adapter.js +3 -2
  90. package/dist/esm/dialect/sqlite/sqlite-introspector.js +2 -1
  91. package/dist/esm/index-nodeless.d.ts +2 -0
  92. package/dist/esm/index-nodeless.js +2 -0
  93. package/dist/esm/kysely.d.ts +3 -6
  94. package/dist/esm/kysely.js +9 -14
  95. package/dist/esm/migration/migrator.d.ts +22 -0
  96. package/dist/esm/migration/migrator.js +27 -5
  97. package/dist/esm/operation-node/delete-query-node.d.ts +7 -0
  98. package/dist/esm/operation-node/delete-query-node.js +15 -0
  99. package/dist/esm/operation-node/operation-node-transformer.js +1 -1
  100. package/dist/esm/operation-node/raw-node.d.ts +4 -2
  101. package/dist/esm/operation-node/raw-node.js +8 -2
  102. package/dist/esm/parser/complex-expression-parser.d.ts +5 -5
  103. package/dist/esm/parser/complex-expression-parser.js +5 -4
  104. package/dist/esm/parser/filter-parser.d.ts +9 -9
  105. package/dist/esm/parser/filter-parser.js +31 -30
  106. package/dist/esm/parser/group-by-parser.d.ts +1 -2
  107. package/dist/esm/parser/group-by-parser.js +2 -2
  108. package/dist/esm/parser/insert-values-parser.d.ts +1 -2
  109. package/dist/esm/parser/insert-values-parser.js +6 -6
  110. package/dist/esm/parser/join-parser.d.ts +1 -2
  111. package/dist/esm/parser/join-parser.js +8 -7
  112. package/dist/esm/parser/order-by-parser.d.ts +1 -2
  113. package/dist/esm/parser/order-by-parser.js +4 -4
  114. package/dist/esm/parser/parse-utils.d.ts +10 -0
  115. package/dist/esm/parser/parse-utils.js +32 -0
  116. package/dist/esm/parser/reference-parser.d.ts +2 -3
  117. package/dist/esm/parser/reference-parser.js +5 -5
  118. package/dist/esm/parser/select-parser.d.ts +1 -2
  119. package/dist/esm/parser/select-parser.js +5 -5
  120. package/dist/esm/parser/table-parser.d.ts +2 -3
  121. package/dist/esm/parser/table-parser.js +5 -5
  122. package/dist/esm/parser/update-set-parser.d.ts +1 -2
  123. package/dist/esm/parser/update-set-parser.js +2 -2
  124. package/dist/esm/parser/value-parser.d.ts +3 -4
  125. package/dist/esm/parser/value-parser.js +7 -7
  126. package/dist/esm/parser/with-parser.d.ts +1 -2
  127. package/dist/esm/parser/with-parser.js +3 -2
  128. package/dist/esm/query-builder/delete-query-builder.d.ts +77 -20
  129. package/dist/esm/query-builder/delete-query-builder.js +81 -14
  130. package/dist/esm/query-builder/expression-builder.d.ts +4 -13
  131. package/dist/esm/query-builder/expression-builder.js +12 -21
  132. package/dist/esm/query-builder/function-builder.d.ts +2 -6
  133. package/dist/esm/query-builder/function-builder.js +5 -8
  134. package/dist/esm/query-builder/insert-query-builder.d.ts +11 -9
  135. package/dist/esm/query-builder/insert-query-builder.js +8 -7
  136. package/dist/esm/query-builder/join-builder.d.ts +0 -2
  137. package/dist/esm/query-builder/join-builder.js +8 -8
  138. package/dist/esm/query-builder/on-conflict-builder.d.ts +24 -20
  139. package/dist/esm/query-builder/on-conflict-builder.js +17 -17
  140. package/dist/esm/query-builder/returning-interface.d.ts +2 -2
  141. package/dist/esm/query-builder/select-query-builder.d.ts +43 -32
  142. package/dist/esm/query-builder/select-query-builder.js +28 -26
  143. package/dist/esm/query-builder/update-query-builder.d.ts +29 -25
  144. package/dist/esm/query-builder/update-query-builder.js +22 -20
  145. package/dist/esm/query-builder/where-interface.d.ts +20 -16
  146. package/dist/esm/query-compiler/default-query-compiler.js +16 -7
  147. package/dist/esm/query-creator.d.ts +24 -138
  148. package/dist/esm/query-creator.js +19 -145
  149. package/dist/esm/query-executor/default-query-executor.d.ts +8 -1
  150. package/dist/esm/query-executor/default-query-executor.js +13 -13
  151. package/dist/esm/query-executor/noop-query-executor.d.ts +8 -0
  152. package/dist/esm/query-executor/noop-query-executor.js +7 -0
  153. package/dist/esm/query-executor/query-executor-provider.d.ts +8 -0
  154. package/dist/esm/query-executor/query-executor-provider.js +2 -0
  155. package/dist/esm/query-executor/query-executor.d.ts +7 -0
  156. package/dist/esm/raw-builder/raw-builder.d.ts +42 -11
  157. package/dist/esm/raw-builder/raw-builder.js +56 -57
  158. package/dist/esm/raw-builder/sql.d.ts +323 -0
  159. package/dist/esm/raw-builder/sql.js +151 -0
  160. package/dist/esm/schema/alter-table-builder.d.ts +20 -8
  161. package/dist/esm/schema/alter-table-builder.js +3 -3
  162. package/dist/esm/schema/column-definition-builder.d.ts +20 -8
  163. package/dist/esm/schema/create-index-builder.d.ts +3 -1
  164. package/dist/esm/schema/create-index-builder.js +3 -1
  165. package/dist/esm/schema/create-table-builder.d.ts +6 -2
  166. package/dist/esm/schema/create-table-builder.js +8 -4
  167. package/dist/esm/schema/create-view-builder.d.ts +3 -3
  168. package/dist/esm/schema/create-view-builder.js +3 -3
  169. package/dist/esm/util/query-id.js +10 -4
  170. package/dist/esm/util/random-string.js +65 -2
  171. package/package.json +13 -13
  172. package/dist/cjs/parser/parse-context.d.ts +0 -55
  173. package/dist/cjs/parser/parse-context.js +0 -50
  174. package/dist/cjs/util/private-symbols.d.ts +0 -5
  175. package/dist/cjs/util/private-symbols.js +0 -8
  176. package/dist/esm/parser/parse-context.d.ts +0 -55
  177. package/dist/esm/parser/parse-context.js +0 -47
  178. package/dist/esm/util/private-symbols.d.ts +0 -5
  179. package/dist/esm/util/private-symbols.js +0 -6
@@ -34,10 +34,12 @@ export declare class CreateIndexBuilder implements OperationNodeSource, Compilab
34
34
  * ### Examples
35
35
  *
36
36
  * ```ts
37
+ * import { sql } from 'kysely'
38
+ *
37
39
  * await db.schema
38
40
  * .createIndex('person_first_name_index')
39
41
  * .on('person')
40
- * .expression(db.raw('first_name COLLATE "fi_FI"'))
42
+ * .expression(sql`first_name COLLATE "fi_FI"`)
41
43
  * .execute()
42
44
  * ```
43
45
  */
@@ -65,10 +65,12 @@ export class CreateIndexBuilder {
65
65
  * ### Examples
66
66
  *
67
67
  * ```ts
68
+ * import { sql } from 'kysely'
69
+ *
68
70
  * await db.schema
69
71
  * .createIndex('person_first_name_index')
70
72
  * .on('person')
71
- * .expression(db.raw('first_name COLLATE "fi_FI"'))
73
+ * .expression(sql`first_name COLLATE "fi_FI"`)
72
74
  * .execute()
73
75
  * ```
74
76
  */
@@ -39,13 +39,15 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
39
39
  * ### Examples
40
40
  *
41
41
  * ```ts
42
+ * import { sql } from 'kysely'
43
+ *
42
44
  * await db.schema
43
45
  * .createTable('person')
44
46
  * .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey()),
45
47
  * .addColumn('first_name', 'varchar(50)', (col) => col.notNull())
46
48
  * .addColumn('last_name', 'varchar(255)')
47
49
  * .addColumn('bank_balance', 'numeric(8, 2)')
48
- * .addColumn('data', db.raw('customtype'))
50
+ * .addColumn('data', sql`customtype`)
49
51
  * .addColumn('parent_id', 'integer', (col) =>
50
52
  * col.references('person.id').onDelete('cascade'))
51
53
  * )
@@ -111,7 +113,9 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
111
113
  * ### Examples
112
114
  *
113
115
  * ```ts
114
- * addCheckConstraint('check_legs', db.raw('number_of_legs < 5'))
116
+ * import { sql } from 'kysely'
117
+ *
118
+ * addCheckConstraint('check_legs', sql`number_of_legs < 5`)
115
119
  * ```
116
120
  */
117
121
  addCheckConstraint(constraintName: string, checkExpression: AnyRawBuilder): CreateTableBuilder<TB, C>;
@@ -6,12 +6,12 @@ import { ColumnDefinitionBuilder } from './column-definition-builder.js';
6
6
  import { freeze, noop } from '../util/object-utils.js';
7
7
  import { ForeignKeyConstraintNode } from '../operation-node/foreign-key-constraint-node.js';
8
8
  import { ColumnNode } from '../operation-node/column-node.js';
9
- import { TableNode } from '../operation-node/table-node.js';
10
9
  import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js';
11
10
  import { parseDataTypeExpression, } from '../parser/data-type-parser.js';
12
11
  import { PrimaryConstraintNode } from '../operation-node/primary-constraint-node.js';
13
12
  import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js';
14
13
  import { CheckConstraintNode } from '../operation-node/check-constraint-node.js';
14
+ import { parseTable } from '../parser/table-parser.js';
15
15
  /**
16
16
  * This builder can be used to create a `create table` query.
17
17
  */
@@ -66,13 +66,15 @@ export class CreateTableBuilder {
66
66
  * ### Examples
67
67
  *
68
68
  * ```ts
69
+ * import { sql } from 'kysely'
70
+ *
69
71
  * await db.schema
70
72
  * .createTable('person')
71
73
  * .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey()),
72
74
  * .addColumn('first_name', 'varchar(50)', (col) => col.notNull())
73
75
  * .addColumn('last_name', 'varchar(255)')
74
76
  * .addColumn('bank_balance', 'numeric(8, 2)')
75
- * .addColumn('data', db.raw('customtype'))
77
+ * .addColumn('data', sql`customtype`)
76
78
  * .addColumn('parent_id', 'integer', (col) =>
77
79
  * col.references('person.id').onDelete('cascade'))
78
80
  * )
@@ -154,7 +156,9 @@ export class CreateTableBuilder {
154
156
  * ### Examples
155
157
  *
156
158
  * ```ts
157
- * addCheckConstraint('check_legs', db.raw('number_of_legs < 5'))
159
+ * import { sql } from 'kysely'
160
+ *
161
+ * addCheckConstraint('check_legs', sql`number_of_legs < 5`)
158
162
  * ```
159
163
  */
160
164
  addCheckConstraint(constraintName, checkExpression) {
@@ -193,7 +197,7 @@ export class CreateTableBuilder {
193
197
  * ```
194
198
  */
195
199
  addForeignKeyConstraint(constraintName, columns, targetTable, targetColumns, build = noop) {
196
- const builder = build(new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.create(columns.map(ColumnNode.create), TableNode.create(targetTable), targetColumns.map(ColumnNode.create), constraintName)));
200
+ const builder = build(new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.create(columns.map(ColumnNode.create), parseTable(targetTable), targetColumns.map(ColumnNode.create), constraintName)));
197
201
  return new CreateTableBuilder({
198
202
  ...this.#props,
199
203
  createTableNode: CreateTableNode.cloneWithConstraint(this.#props.createTableNode, builder.toOperationNode()),
@@ -26,9 +26,9 @@ export declare class CreateViewBuilder implements OperationNodeSource, Compilabl
26
26
  *
27
27
  * WARNING!
28
28
  * Some dialects don't support parameterized queries in DDL statements and therefore
29
- * the query or `raw` expression passed here is interpolated into a single string
30
- * opening an SQL injection vulnerability. DO NOT pass unchecked user input into
31
- * the query or `raw` expression passed to this method!
29
+ * the query or raw {@link sql } expression passed here is interpolated into a single
30
+ * string opening an SQL injection vulnerability. DO NOT pass unchecked user input
31
+ * into the query or raw expression passed to this method!
32
32
  */
33
33
  as(query: AnySelectQueryBuilder | AnyRawBuilder): CreateViewBuilder;
34
34
  toOperationNode(): CreateViewNode;
@@ -62,9 +62,9 @@ export class CreateViewBuilder {
62
62
  *
63
63
  * WARNING!
64
64
  * Some dialects don't support parameterized queries in DDL statements and therefore
65
- * the query or `raw` expression passed here is interpolated into a single string
66
- * opening an SQL injection vulnerability. DO NOT pass unchecked user input into
67
- * the query or `raw` expression passed to this method!
65
+ * the query or raw {@link sql } expression passed here is interpolated into a single
66
+ * string opening an SQL injection vulnerability. DO NOT pass unchecked user input
67
+ * into the query or raw expression passed to this method!
68
68
  */
69
69
  as(query) {
70
70
  const queryNode = query
@@ -1,8 +1,14 @@
1
1
  /// <reference types="./query-id.d.ts" />
2
- import { freeze } from './object-utils.js';
3
2
  import { randomString } from './random-string.js';
4
3
  export function createQueryId() {
5
- return freeze({
6
- queryId: randomString(8),
7
- });
4
+ return new LazyQueryId();
5
+ }
6
+ class LazyQueryId {
7
+ #queryId;
8
+ get queryId() {
9
+ if (this.#queryId === undefined) {
10
+ this.#queryId = randomString(8);
11
+ }
12
+ return this.#queryId;
13
+ }
8
14
  }
@@ -1,5 +1,68 @@
1
1
  /// <reference types="./random-string.d.ts" />
2
- const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
2
+ const CHARS = [
3
+ 'A',
4
+ 'B',
5
+ 'C',
6
+ 'D',
7
+ 'E',
8
+ 'F',
9
+ 'G',
10
+ 'H',
11
+ 'I',
12
+ 'J',
13
+ 'K',
14
+ 'L',
15
+ 'M',
16
+ 'N',
17
+ 'O',
18
+ 'P',
19
+ 'Q',
20
+ 'R',
21
+ 'S',
22
+ 'T',
23
+ 'U',
24
+ 'V',
25
+ 'W',
26
+ 'X',
27
+ 'Y',
28
+ 'Z',
29
+ 'a',
30
+ 'b',
31
+ 'c',
32
+ 'd',
33
+ 'e',
34
+ 'f',
35
+ 'g',
36
+ 'h',
37
+ 'i',
38
+ 'j',
39
+ 'k',
40
+ 'l',
41
+ 'm',
42
+ 'n',
43
+ 'o',
44
+ 'p',
45
+ 'q',
46
+ 'r',
47
+ 's',
48
+ 't',
49
+ 'u',
50
+ 'v',
51
+ 'w',
52
+ 'x',
53
+ 'y',
54
+ 'z',
55
+ '0',
56
+ '1',
57
+ '2',
58
+ '3',
59
+ '4',
60
+ '5',
61
+ '6',
62
+ '7',
63
+ '8',
64
+ '9',
65
+ ];
3
66
  export function randomString(length) {
4
67
  let chars = '';
5
68
  for (let i = 0; i < length; ++i) {
@@ -8,5 +71,5 @@ export function randomString(length) {
8
71
  return chars;
9
72
  }
10
73
  function randomChar() {
11
- return CHARS[Math.floor(Math.random() * CHARS.length)];
74
+ return CHARS[~~(Math.random() * CHARS.length)];
12
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kysely",
3
- "version": "0.16.8",
3
+ "version": "0.17.0",
4
4
  "description": "Type safe SQL query builder",
5
5
  "repository": {
6
6
  "type": "git",
@@ -47,22 +47,22 @@
47
47
  "@types/node": "^16.11.9"
48
48
  },
49
49
  "devDependencies": {
50
- "@types/better-sqlite3": "^7.4.1",
50
+ "@types/better-sqlite3": "^7.4.2",
51
51
  "@types/chai": "^4.3.0",
52
52
  "@types/chai-subset": "^1.3.3",
53
- "@types/mocha": "^9.0.0",
54
- "@types/pg": "^8.6.1",
55
- "better-sqlite3": "^7.4.5",
56
- "chai": "^4.3.4",
53
+ "@types/mocha": "^9.1.0",
54
+ "@types/pg": "^8.6.4",
55
+ "better-sqlite3": "^7.5.0",
56
+ "chai": "^4.3.6",
57
57
  "chai-subset": "^1.6.0",
58
- "esbuild": "^0.14.11",
59
- "mocha": "^9.1.3",
58
+ "esbuild": "^0.14.22",
59
+ "mocha": "^9.2.0",
60
60
  "mysql2": "^2.3.3",
61
- "pg": "^8.7.1",
62
- "playwright": "^1.17.2",
61
+ "pg": "^8.7.3",
62
+ "playwright": "^1.19.1",
63
63
  "prettier": "^2.5.1",
64
- "tsd": "^0.19.0",
65
- "typedoc": "^0.22.10",
66
- "typescript": "4.5.3"
64
+ "tsd": "^0.19.1",
65
+ "typedoc": "^0.22.11",
66
+ "typescript": "4.5.5"
67
67
  }
68
68
  }
@@ -1,55 +0,0 @@
1
- import { DialectAdapter } from '../dialect/dialect-adapter.js';
2
- import { JoinType } from '../operation-node/join-node.js';
3
- import { JoinBuilder } from '../query-builder/join-builder.js';
4
- import { SelectQueryBuilder } from '../query-builder/select-query-builder.js';
5
- import { ExpressionBuilder } from '../query-builder/expression-builder.js';
6
- import { QueryCreator } from '../query-creator.js';
7
- import { TableExpression } from './table-parser.js';
8
- /**
9
- * This interface exposes everything the parsers need to be able to parse
10
- * method calls into {@link OperationNode} trees.
11
- */
12
- export interface ParseContext {
13
- readonly adapter: DialectAdapter;
14
- /**
15
- * Creates a select query builder with a {@link NoopQueryExecutor}.
16
- */
17
- createSelectQueryBuilder(): SelectQueryBuilder<any, any, any>;
18
- /**
19
- * Creates an expression builder for building stuff like subqueries.
20
- * {@link NoopQueryExecutor} is used as the executor and the queries
21
- * built using the returned builder can never be executed.
22
- */
23
- createExpressionBuilder(): ExpressionBuilder<any, any>;
24
- /**
25
- * Creates a query creator with a {@link NoopQueryExecutor}.
26
- */
27
- createQueryCreator(): QueryCreator<any>;
28
- /**
29
- * Creates an instance of a join builder.
30
- */
31
- createJoinBuilder(joinType: JoinType, table: TableExpression<any, any>): JoinBuilder<any, any>;
32
- }
33
- export declare class DefaultParseContext implements ParseContext {
34
- #private;
35
- constructor(adapter: DialectAdapter);
36
- get adapter(): DialectAdapter;
37
- /**
38
- * Creates a select query builder with a {@link NoopQueryExecutor}.
39
- */
40
- createSelectQueryBuilder(): SelectQueryBuilder<any, any, any>;
41
- /**
42
- * Creates an expression builder for building stuff like subqueries.
43
- * {@link NoopQueryExecutor} is used as the executor and the queries
44
- * built using the returned builder can never be executed.
45
- */
46
- createExpressionBuilder(): ExpressionBuilder<any, any>;
47
- /**
48
- * Creates a query creator with a {@link NoopQueryExecutor}.
49
- */
50
- createQueryCreator(): QueryCreator<any>;
51
- /**
52
- * Creates an instance of a join builder.
53
- */
54
- createJoinBuilder(joinType: JoinType, table: TableExpression<any, any>): JoinBuilder<any, any>;
55
- }
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultParseContext = 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 join_builder_js_1 = require("../query-builder/join-builder.js");
7
- const select_query_builder_js_1 = require("../query-builder/select-query-builder.js");
8
- const expression_builder_js_1 = require("../query-builder/expression-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
- 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() {
24
- return new select_query_builder_js_1.SelectQueryBuilder({
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, [])),
29
- });
30
- }
31
- createExpressionBuilder() {
32
- return new expression_builder_js_1.ExpressionBuilder({
33
- executor: this.#noopExecutor,
34
- parseContext: this,
35
- });
36
- }
37
- createQueryCreator() {
38
- return new query_creator_js_1.QueryCreator({
39
- executor: this.#noopExecutor,
40
- parseContext: this,
41
- });
42
- }
43
- createJoinBuilder(joinType, table) {
44
- return new join_builder_js_1.JoinBuilder({
45
- joinNode: join_node_js_1.JoinNode.create(joinType, (0, table_parser_js_1.parseTableExpression)(this, table)),
46
- parseContext: this,
47
- });
48
- }
49
- }
50
- exports.DefaultParseContext = DefaultParseContext;
@@ -1,5 +0,0 @@
1
- /**
2
- * @internal
3
- * @private
4
- */
5
- export declare const PRIVATE_ADAPTER: unique symbol;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PRIVATE_ADAPTER = void 0;
4
- /**
5
- * @internal
6
- * @private
7
- */
8
- exports.PRIVATE_ADAPTER = Symbol();
@@ -1,55 +0,0 @@
1
- import { DialectAdapter } from '../dialect/dialect-adapter.js';
2
- import { JoinType } from '../operation-node/join-node.js';
3
- import { JoinBuilder } from '../query-builder/join-builder.js';
4
- import { SelectQueryBuilder } from '../query-builder/select-query-builder.js';
5
- import { ExpressionBuilder } from '../query-builder/expression-builder.js';
6
- import { QueryCreator } from '../query-creator.js';
7
- import { TableExpression } from './table-parser.js';
8
- /**
9
- * This interface exposes everything the parsers need to be able to parse
10
- * method calls into {@link OperationNode} trees.
11
- */
12
- export interface ParseContext {
13
- readonly adapter: DialectAdapter;
14
- /**
15
- * Creates a select query builder with a {@link NoopQueryExecutor}.
16
- */
17
- createSelectQueryBuilder(): SelectQueryBuilder<any, any, any>;
18
- /**
19
- * Creates an expression builder for building stuff like subqueries.
20
- * {@link NoopQueryExecutor} is used as the executor and the queries
21
- * built using the returned builder can never be executed.
22
- */
23
- createExpressionBuilder(): ExpressionBuilder<any, any>;
24
- /**
25
- * Creates a query creator with a {@link NoopQueryExecutor}.
26
- */
27
- createQueryCreator(): QueryCreator<any>;
28
- /**
29
- * Creates an instance of a join builder.
30
- */
31
- createJoinBuilder(joinType: JoinType, table: TableExpression<any, any>): JoinBuilder<any, any>;
32
- }
33
- export declare class DefaultParseContext implements ParseContext {
34
- #private;
35
- constructor(adapter: DialectAdapter);
36
- get adapter(): DialectAdapter;
37
- /**
38
- * Creates a select query builder with a {@link NoopQueryExecutor}.
39
- */
40
- createSelectQueryBuilder(): SelectQueryBuilder<any, any, any>;
41
- /**
42
- * Creates an expression builder for building stuff like subqueries.
43
- * {@link NoopQueryExecutor} is used as the executor and the queries
44
- * built using the returned builder can never be executed.
45
- */
46
- createExpressionBuilder(): ExpressionBuilder<any, any>;
47
- /**
48
- * Creates a query creator with a {@link NoopQueryExecutor}.
49
- */
50
- createQueryCreator(): QueryCreator<any>;
51
- /**
52
- * Creates an instance of a join builder.
53
- */
54
- createJoinBuilder(joinType: JoinType, table: TableExpression<any, any>): JoinBuilder<any, any>;
55
- }
@@ -1,47 +0,0 @@
1
- /// <reference types="./parse-context.d.ts" />
2
- import { JoinNode } from '../operation-node/join-node.js';
3
- import { SelectQueryNode } from '../operation-node/select-query-node.js';
4
- import { JoinBuilder } from '../query-builder/join-builder.js';
5
- import { SelectQueryBuilder } from '../query-builder/select-query-builder.js';
6
- import { ExpressionBuilder } from '../query-builder/expression-builder.js';
7
- import { QueryCreator } from '../query-creator.js';
8
- import { NoopQueryExecutor } from '../query-executor/noop-query-executor.js';
9
- import { createQueryId } from '../util/query-id.js';
10
- import { parseTableExpression, parseTableExpressionOrList, } from './table-parser.js';
11
- export class DefaultParseContext {
12
- #adapter;
13
- #noopExecutor;
14
- constructor(adapter) {
15
- this.#adapter = adapter;
16
- this.#noopExecutor = new NoopQueryExecutor();
17
- }
18
- get adapter() {
19
- return this.#adapter;
20
- }
21
- createSelectQueryBuilder() {
22
- return new SelectQueryBuilder({
23
- queryId: createQueryId(),
24
- executor: this.#noopExecutor,
25
- parseContext: this,
26
- queryNode: SelectQueryNode.create(parseTableExpressionOrList(this, [])),
27
- });
28
- }
29
- createExpressionBuilder() {
30
- return new ExpressionBuilder({
31
- executor: this.#noopExecutor,
32
- parseContext: this,
33
- });
34
- }
35
- createQueryCreator() {
36
- return new QueryCreator({
37
- executor: this.#noopExecutor,
38
- parseContext: this,
39
- });
40
- }
41
- createJoinBuilder(joinType, table) {
42
- return new JoinBuilder({
43
- joinNode: JoinNode.create(joinType, parseTableExpression(this, table)),
44
- parseContext: this,
45
- });
46
- }
47
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * @internal
3
- * @private
4
- */
5
- export declare const PRIVATE_ADAPTER: unique symbol;
@@ -1,6 +0,0 @@
1
- /// <reference types="./private-symbols.d.ts" />
2
- /**
3
- * @internal
4
- * @private
5
- */
6
- export const PRIVATE_ADAPTER = Symbol();