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.
- package/LICENSE +21 -0
- package/README.md +23 -11
- package/dist/cjs/dialect/mysql/mysql-adapter.js +3 -4
- package/dist/cjs/dialect/mysql/mysql-introspector.js +2 -1
- package/dist/cjs/dialect/postgres/postgres-adapter.js +3 -2
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +2 -1
- package/dist/cjs/index-nodeless.d.ts +2 -0
- package/dist/cjs/index-nodeless.js +2 -0
- package/dist/cjs/kysely.d.ts +3 -6
- package/dist/cjs/kysely.js +9 -14
- package/dist/cjs/migration/migrator.d.ts +22 -0
- package/dist/cjs/migration/migrator.js +27 -5
- package/dist/cjs/operation-node/delete-query-node.d.ts +7 -0
- package/dist/cjs/operation-node/delete-query-node.js +15 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +1 -1
- package/dist/cjs/operation-node/raw-node.d.ts +4 -2
- package/dist/cjs/operation-node/raw-node.js +8 -2
- package/dist/cjs/parser/complex-expression-parser.d.ts +5 -5
- package/dist/cjs/parser/complex-expression-parser.js +5 -4
- package/dist/cjs/parser/filter-parser.d.ts +9 -9
- package/dist/cjs/parser/filter-parser.js +31 -30
- package/dist/cjs/parser/group-by-parser.d.ts +1 -2
- package/dist/cjs/parser/group-by-parser.js +2 -2
- package/dist/cjs/parser/insert-values-parser.d.ts +1 -2
- package/dist/cjs/parser/insert-values-parser.js +6 -6
- package/dist/cjs/parser/join-parser.d.ts +1 -2
- package/dist/cjs/parser/join-parser.js +8 -7
- package/dist/cjs/parser/order-by-parser.d.ts +1 -2
- package/dist/cjs/parser/order-by-parser.js +4 -4
- package/dist/cjs/parser/parse-utils.d.ts +10 -0
- package/dist/cjs/parser/parse-utils.js +38 -0
- package/dist/cjs/parser/reference-parser.d.ts +2 -3
- package/dist/cjs/parser/reference-parser.js +5 -5
- package/dist/cjs/parser/select-parser.d.ts +1 -2
- package/dist/cjs/parser/select-parser.js +5 -5
- package/dist/cjs/parser/table-parser.d.ts +2 -3
- package/dist/cjs/parser/table-parser.js +5 -5
- package/dist/cjs/parser/update-set-parser.d.ts +1 -2
- package/dist/cjs/parser/update-set-parser.js +2 -2
- package/dist/cjs/parser/value-parser.d.ts +3 -4
- package/dist/cjs/parser/value-parser.js +7 -7
- package/dist/cjs/parser/with-parser.d.ts +1 -2
- package/dist/cjs/parser/with-parser.js +3 -2
- package/dist/cjs/query-builder/delete-query-builder.d.ts +77 -20
- package/dist/cjs/query-builder/delete-query-builder.js +81 -14
- package/dist/cjs/query-builder/expression-builder.d.ts +4 -13
- package/dist/cjs/query-builder/expression-builder.js +12 -21
- package/dist/cjs/query-builder/function-builder.d.ts +2 -6
- package/dist/cjs/query-builder/function-builder.js +5 -8
- package/dist/cjs/query-builder/insert-query-builder.d.ts +11 -9
- package/dist/cjs/query-builder/insert-query-builder.js +8 -7
- package/dist/cjs/query-builder/join-builder.d.ts +0 -2
- package/dist/cjs/query-builder/join-builder.js +8 -8
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +24 -20
- package/dist/cjs/query-builder/on-conflict-builder.js +17 -17
- package/dist/cjs/query-builder/returning-interface.d.ts +2 -2
- package/dist/cjs/query-builder/select-query-builder.d.ts +43 -32
- package/dist/cjs/query-builder/select-query-builder.js +28 -26
- package/dist/cjs/query-builder/update-query-builder.d.ts +29 -25
- package/dist/cjs/query-builder/update-query-builder.js +22 -20
- package/dist/cjs/query-builder/where-interface.d.ts +20 -16
- package/dist/cjs/query-compiler/default-query-compiler.js +16 -7
- package/dist/cjs/query-creator.d.ts +24 -138
- package/dist/cjs/query-creator.js +19 -145
- package/dist/cjs/query-executor/default-query-executor.d.ts +8 -1
- package/dist/cjs/query-executor/default-query-executor.js +13 -13
- package/dist/cjs/query-executor/noop-query-executor.d.ts +8 -0
- package/dist/cjs/query-executor/noop-query-executor.js +8 -1
- package/dist/cjs/query-executor/query-executor-provider.d.ts +8 -0
- package/dist/cjs/query-executor/query-executor-provider.js +2 -0
- package/dist/cjs/query-executor/query-executor.d.ts +7 -0
- package/dist/cjs/raw-builder/raw-builder.d.ts +42 -11
- package/dist/cjs/raw-builder/raw-builder.js +55 -56
- package/dist/cjs/raw-builder/sql.d.ts +323 -0
- package/dist/cjs/raw-builder/sql.js +153 -0
- package/dist/cjs/schema/alter-table-builder.d.ts +20 -8
- package/dist/cjs/schema/alter-table-builder.js +3 -3
- package/dist/cjs/schema/column-definition-builder.d.ts +20 -8
- package/dist/cjs/schema/create-index-builder.d.ts +3 -1
- package/dist/cjs/schema/create-index-builder.js +3 -1
- package/dist/cjs/schema/create-table-builder.d.ts +6 -2
- package/dist/cjs/schema/create-table-builder.js +8 -4
- package/dist/cjs/schema/create-view-builder.d.ts +3 -3
- package/dist/cjs/schema/create-view-builder.js +3 -3
- package/dist/cjs/util/query-id.js +10 -4
- package/dist/cjs/util/random-string.js +65 -2
- package/dist/esm/dialect/mysql/mysql-adapter.js +3 -4
- package/dist/esm/dialect/mysql/mysql-introspector.js +2 -1
- package/dist/esm/dialect/postgres/postgres-adapter.js +3 -2
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +2 -1
- package/dist/esm/index-nodeless.d.ts +2 -0
- package/dist/esm/index-nodeless.js +2 -0
- package/dist/esm/kysely.d.ts +3 -6
- package/dist/esm/kysely.js +9 -14
- package/dist/esm/migration/migrator.d.ts +22 -0
- package/dist/esm/migration/migrator.js +27 -5
- package/dist/esm/operation-node/delete-query-node.d.ts +7 -0
- package/dist/esm/operation-node/delete-query-node.js +15 -0
- package/dist/esm/operation-node/operation-node-transformer.js +1 -1
- package/dist/esm/operation-node/raw-node.d.ts +4 -2
- package/dist/esm/operation-node/raw-node.js +8 -2
- package/dist/esm/parser/complex-expression-parser.d.ts +5 -5
- package/dist/esm/parser/complex-expression-parser.js +5 -4
- package/dist/esm/parser/filter-parser.d.ts +9 -9
- package/dist/esm/parser/filter-parser.js +31 -30
- package/dist/esm/parser/group-by-parser.d.ts +1 -2
- package/dist/esm/parser/group-by-parser.js +2 -2
- package/dist/esm/parser/insert-values-parser.d.ts +1 -2
- package/dist/esm/parser/insert-values-parser.js +6 -6
- package/dist/esm/parser/join-parser.d.ts +1 -2
- package/dist/esm/parser/join-parser.js +8 -7
- package/dist/esm/parser/order-by-parser.d.ts +1 -2
- package/dist/esm/parser/order-by-parser.js +4 -4
- package/dist/esm/parser/parse-utils.d.ts +10 -0
- package/dist/esm/parser/parse-utils.js +32 -0
- package/dist/esm/parser/reference-parser.d.ts +2 -3
- package/dist/esm/parser/reference-parser.js +5 -5
- package/dist/esm/parser/select-parser.d.ts +1 -2
- package/dist/esm/parser/select-parser.js +5 -5
- package/dist/esm/parser/table-parser.d.ts +2 -3
- package/dist/esm/parser/table-parser.js +5 -5
- package/dist/esm/parser/update-set-parser.d.ts +1 -2
- package/dist/esm/parser/update-set-parser.js +2 -2
- package/dist/esm/parser/value-parser.d.ts +3 -4
- package/dist/esm/parser/value-parser.js +7 -7
- package/dist/esm/parser/with-parser.d.ts +1 -2
- package/dist/esm/parser/with-parser.js +3 -2
- package/dist/esm/query-builder/delete-query-builder.d.ts +77 -20
- package/dist/esm/query-builder/delete-query-builder.js +81 -14
- package/dist/esm/query-builder/expression-builder.d.ts +4 -13
- package/dist/esm/query-builder/expression-builder.js +12 -21
- package/dist/esm/query-builder/function-builder.d.ts +2 -6
- package/dist/esm/query-builder/function-builder.js +5 -8
- package/dist/esm/query-builder/insert-query-builder.d.ts +11 -9
- package/dist/esm/query-builder/insert-query-builder.js +8 -7
- package/dist/esm/query-builder/join-builder.d.ts +0 -2
- package/dist/esm/query-builder/join-builder.js +8 -8
- package/dist/esm/query-builder/on-conflict-builder.d.ts +24 -20
- package/dist/esm/query-builder/on-conflict-builder.js +17 -17
- package/dist/esm/query-builder/returning-interface.d.ts +2 -2
- package/dist/esm/query-builder/select-query-builder.d.ts +43 -32
- package/dist/esm/query-builder/select-query-builder.js +28 -26
- package/dist/esm/query-builder/update-query-builder.d.ts +29 -25
- package/dist/esm/query-builder/update-query-builder.js +22 -20
- package/dist/esm/query-builder/where-interface.d.ts +20 -16
- package/dist/esm/query-compiler/default-query-compiler.js +16 -7
- package/dist/esm/query-creator.d.ts +24 -138
- package/dist/esm/query-creator.js +19 -145
- package/dist/esm/query-executor/default-query-executor.d.ts +8 -1
- package/dist/esm/query-executor/default-query-executor.js +13 -13
- package/dist/esm/query-executor/noop-query-executor.d.ts +8 -0
- package/dist/esm/query-executor/noop-query-executor.js +7 -0
- package/dist/esm/query-executor/query-executor-provider.d.ts +8 -0
- package/dist/esm/query-executor/query-executor-provider.js +2 -0
- package/dist/esm/query-executor/query-executor.d.ts +7 -0
- package/dist/esm/raw-builder/raw-builder.d.ts +42 -11
- package/dist/esm/raw-builder/raw-builder.js +56 -57
- package/dist/esm/raw-builder/sql.d.ts +323 -0
- package/dist/esm/raw-builder/sql.js +151 -0
- package/dist/esm/schema/alter-table-builder.d.ts +20 -8
- package/dist/esm/schema/alter-table-builder.js +3 -3
- package/dist/esm/schema/column-definition-builder.d.ts +20 -8
- package/dist/esm/schema/create-index-builder.d.ts +3 -1
- package/dist/esm/schema/create-index-builder.js +3 -1
- package/dist/esm/schema/create-table-builder.d.ts +6 -2
- package/dist/esm/schema/create-table-builder.js +8 -4
- package/dist/esm/schema/create-view-builder.d.ts +3 -3
- package/dist/esm/schema/create-view-builder.js +3 -3
- package/dist/esm/util/query-id.js +10 -4
- package/dist/esm/util/random-string.js +65 -2
- package/package.json +13 -13
- package/dist/cjs/parser/parse-context.d.ts +0 -55
- package/dist/cjs/parser/parse-context.js +0 -50
- package/dist/cjs/util/private-symbols.d.ts +0 -5
- package/dist/cjs/util/private-symbols.js +0 -8
- package/dist/esm/parser/parse-context.d.ts +0 -55
- package/dist/esm/parser/parse-context.js +0 -47
- package/dist/esm/util/private-symbols.d.ts +0 -5
- 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(
|
|
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(
|
|
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',
|
|
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
|
-
*
|
|
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',
|
|
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
|
-
*
|
|
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),
|
|
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
|
|
30
|
-
* opening an SQL injection vulnerability. DO NOT pass unchecked user input
|
|
31
|
-
* the query or
|
|
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
|
|
66
|
-
* opening an SQL injection vulnerability. DO NOT pass unchecked user input
|
|
67
|
-
* the query or
|
|
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
|
|
6
|
-
|
|
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 =
|
|
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[
|
|
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.
|
|
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.
|
|
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.
|
|
54
|
-
"@types/pg": "^8.6.
|
|
55
|
-
"better-sqlite3": "^7.
|
|
56
|
-
"chai": "^4.3.
|
|
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.
|
|
59
|
-
"mocha": "^9.
|
|
58
|
+
"esbuild": "^0.14.22",
|
|
59
|
+
"mocha": "^9.2.0",
|
|
60
60
|
"mysql2": "^2.3.3",
|
|
61
|
-
"pg": "^8.7.
|
|
62
|
-
"playwright": "^1.
|
|
61
|
+
"pg": "^8.7.3",
|
|
62
|
+
"playwright": "^1.19.1",
|
|
63
63
|
"prettier": "^2.5.1",
|
|
64
|
-
"tsd": "^0.19.
|
|
65
|
-
"typedoc": "^0.22.
|
|
66
|
-
"typescript": "4.5.
|
|
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,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
|
-
}
|