kysely 0.19.3 → 0.19.4
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/dist/cjs/dialect/sqlite/sqlite-introspector.js +0 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/operation-node/check-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/common-table-expression-name-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-schema-node.d.ts +1 -1
- package/dist/cjs/operation-node/delete-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-index-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-schema-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-table-node.d.ts +1 -1
- package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/insert-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/order-by-item-node.d.ts +1 -1
- package/dist/cjs/operation-node/primary-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/unique-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/update-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/with-node.d.ts +1 -1
- package/dist/cjs/parser/table-parser.d.ts +2 -11
- package/dist/cjs/query-builder/delete-query-builder.d.ts +35 -13
- package/dist/cjs/query-builder/select-query-builder.d.ts +34 -13
- package/dist/cjs/query-builder/update-query-builder.d.ts +35 -13
- package/dist/cjs/util/type-utils.d.ts +3 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +0 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/operation-node/check-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/common-table-expression-name-node.d.ts +1 -1
- package/dist/esm/operation-node/create-schema-node.d.ts +1 -1
- package/dist/esm/operation-node/delete-query-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-index-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-schema-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-table-node.d.ts +1 -1
- package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/insert-query-node.d.ts +1 -1
- package/dist/esm/operation-node/order-by-item-node.d.ts +1 -1
- package/dist/esm/operation-node/primary-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/select-query-node.d.ts +1 -1
- package/dist/esm/operation-node/unique-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/update-query-node.d.ts +1 -1
- package/dist/esm/operation-node/with-node.d.ts +1 -1
- package/dist/esm/parser/table-parser.d.ts +2 -11
- package/dist/esm/query-builder/delete-query-builder.d.ts +35 -13
- package/dist/esm/query-builder/select-query-builder.d.ts +34 -13
- package/dist/esm/query-builder/update-query-builder.d.ts +35 -13
- package/dist/esm/util/type-utils.d.ts +3 -0
- package/package.json +10 -10
- package/dist/cjs/query-builder/join-interface.d.ts +0 -130
- package/dist/cjs/query-builder/join-interface.js +0 -2
- package/dist/esm/query-builder/join-interface.d.ts +0 -130
- package/dist/esm/query-builder/join-interface.js +0 -2
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js';
|
|
2
|
-
import { FullJoinTableExpressionDatabase, LeftJoinTableExpressionDatabase, RightJoinTableExpressionDatabase, TableExpression, TableExpressionDatabase, TableExpressionTables } from '../parser/table-parser.js';
|
|
3
|
-
export interface JoinInterface<DB, TB extends keyof DB> {
|
|
4
|
-
/**
|
|
5
|
-
* Joins another table to the query using an inner join.
|
|
6
|
-
*
|
|
7
|
-
* ### Examples
|
|
8
|
-
*
|
|
9
|
-
* Simple usage by providing a table name and two columns to join:
|
|
10
|
-
*
|
|
11
|
-
* ```ts
|
|
12
|
-
* const result = await db
|
|
13
|
-
* .selectFrom('person')
|
|
14
|
-
* .innerJoin('pet', 'pet.owner_id', 'person.id')
|
|
15
|
-
* // `select` needs to come after the call to `innerJoin` so
|
|
16
|
-
* // that you can select from the joined table.
|
|
17
|
-
* .select('person.id', 'pet.name')
|
|
18
|
-
* .execute()
|
|
19
|
-
*
|
|
20
|
-
* result[0].id
|
|
21
|
-
* result[0].name
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* The generated SQL (PostgreSQL):
|
|
25
|
-
*
|
|
26
|
-
* ```sql
|
|
27
|
-
* select "person"."id", "pet"."name"
|
|
28
|
-
* from "person"
|
|
29
|
-
* inner join "pet"
|
|
30
|
-
* on "pet"."owner_id" = "person"."id"
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* You can give an alias for the joined table like this:
|
|
34
|
-
*
|
|
35
|
-
* ```ts
|
|
36
|
-
* await db.selectFrom('person')
|
|
37
|
-
* .innerJoin('pet as p', 'p.owner_id', 'person.id')
|
|
38
|
-
* .where('p.name', '=', 'Doggo')
|
|
39
|
-
* .selectAll()
|
|
40
|
-
* .execute()
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* The generated SQL (PostgreSQL):
|
|
44
|
-
*
|
|
45
|
-
* ```sql
|
|
46
|
-
* select *
|
|
47
|
-
* from "person"
|
|
48
|
-
* inner join "pet" as "p"
|
|
49
|
-
* on "p"."owner_id" = "person"."id"
|
|
50
|
-
* where "p".name" = $1
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* You can provide a function as the second argument to get a join
|
|
54
|
-
* builder for creating more complex joins. The join builder has a
|
|
55
|
-
* bunch of `on*` methods for building the `on` clause of the join.
|
|
56
|
-
* There's basically an equivalent for every `where` method
|
|
57
|
-
* (`on`, `onRef`, `onExists` etc.). You can do all the same things
|
|
58
|
-
* with the `on` method that you can with the corresponding `where`
|
|
59
|
-
* method. See the `where` method documentation for more examples.
|
|
60
|
-
*
|
|
61
|
-
* ```ts
|
|
62
|
-
* await db.selectFrom('person')
|
|
63
|
-
* .innerJoin(
|
|
64
|
-
* 'pet',
|
|
65
|
-
* (join) => join
|
|
66
|
-
* .onRef('pet.owner_id', '=', 'person.id')
|
|
67
|
-
* .on('pet.name', '=', 'Doggo')
|
|
68
|
-
* )
|
|
69
|
-
* .selectAll()
|
|
70
|
-
* .execute()
|
|
71
|
-
* ```
|
|
72
|
-
*
|
|
73
|
-
* The generated SQL (PostgreSQL):
|
|
74
|
-
*
|
|
75
|
-
* ```sql
|
|
76
|
-
* select *
|
|
77
|
-
* from "person"
|
|
78
|
-
* inner join "pet"
|
|
79
|
-
* on "pet"."owner_id" = "person"."id"
|
|
80
|
-
* and "pet"."name" = $1
|
|
81
|
-
* ```
|
|
82
|
-
*
|
|
83
|
-
* You can join a subquery by providing a select query (or a callback)
|
|
84
|
-
* as the first argument:
|
|
85
|
-
*
|
|
86
|
-
* ```ts
|
|
87
|
-
* await db.selectFrom('person')
|
|
88
|
-
* .innerJoin(
|
|
89
|
-
* qb.selectFrom('pet')
|
|
90
|
-
* .select(['owner_id', 'name'])
|
|
91
|
-
* .where('name', '=', 'Doggo')
|
|
92
|
-
* .as('doggos'),
|
|
93
|
-
* 'doggos.owner_id',
|
|
94
|
-
* 'person.id',
|
|
95
|
-
* )
|
|
96
|
-
* .selectAll()
|
|
97
|
-
* .execute()
|
|
98
|
-
* ```
|
|
99
|
-
*
|
|
100
|
-
* The generated SQL (PostgreSQL):
|
|
101
|
-
*
|
|
102
|
-
* ```sql
|
|
103
|
-
* select *
|
|
104
|
-
* from "person"
|
|
105
|
-
* inner join (
|
|
106
|
-
* select "owner_id", "name"
|
|
107
|
-
* from "pet"
|
|
108
|
-
* where "name" = $1
|
|
109
|
-
* ) as "doggos"
|
|
110
|
-
* on "doggos"."owner_id" = "person"."id"
|
|
111
|
-
* ```
|
|
112
|
-
*/
|
|
113
|
-
innerJoin<TE extends TableExpression<DB, TB>, K1 extends JoinReferenceExpression<DB, TB, TE>, K2 extends JoinReferenceExpression<DB, TB, TE>>(table: TE, k1: K1, k2: K2): JoinInterface<TableExpressionDatabase<DB, TE>, TableExpressionTables<DB, TB, TE>>;
|
|
114
|
-
innerJoin<TE extends TableExpression<DB, TB>, FN extends JoinCallbackExpression<DB, TB, TE>>(table: TE, callback: FN): JoinInterface<TableExpressionDatabase<DB, TE>, TableExpressionTables<DB, TB, TE>>;
|
|
115
|
-
/**
|
|
116
|
-
* Just like {@link innerJoin} but adds a left join nstead of an inner join.
|
|
117
|
-
*/
|
|
118
|
-
leftJoin<TE extends TableExpression<DB, TB>, K1 extends JoinReferenceExpression<DB, TB, TE>, K2 extends JoinReferenceExpression<DB, TB, TE>>(table: TE, k1: K1, k2: K2): JoinInterface<LeftJoinTableExpressionDatabase<DB, TE>, TableExpressionTables<DB, TB, TE>>;
|
|
119
|
-
leftJoin<TE extends TableExpression<DB, TB>, FN extends JoinCallbackExpression<DB, TB, TE>>(table: TE, callback: FN): JoinInterface<LeftJoinTableExpressionDatabase<DB, TE>, TableExpressionTables<DB, TB, TE>>;
|
|
120
|
-
/**
|
|
121
|
-
* Just like {@link innerJoin} but adds a right join instead of an inner join.
|
|
122
|
-
*/
|
|
123
|
-
rightJoin<TE extends TableExpression<DB, TB>, K1 extends JoinReferenceExpression<DB, TB, TE>, K2 extends JoinReferenceExpression<DB, TB, TE>>(table: TE, k1: K1, k2: K2): JoinInterface<RightJoinTableExpressionDatabase<DB, TB, TE>, TableExpressionTables<DB, TB, TE>>;
|
|
124
|
-
rightJoin<TE extends TableExpression<DB, TB>, FN extends JoinCallbackExpression<DB, TB, TE>>(table: TE, callback: FN): JoinInterface<RightJoinTableExpressionDatabase<DB, TB, TE>, TableExpressionTables<DB, TB, TE>>;
|
|
125
|
-
/**
|
|
126
|
-
* Just like {@link innerJoin} but adds a full join instead of an inner join.
|
|
127
|
-
*/
|
|
128
|
-
fullJoin<TE extends TableExpression<DB, TB>, K1 extends JoinReferenceExpression<DB, TB, TE>, K2 extends JoinReferenceExpression<DB, TB, TE>>(table: TE, k1: K1, k2: K2): JoinInterface<FullJoinTableExpressionDatabase<DB, TB, TE>, TableExpressionTables<DB, TB, TE>>;
|
|
129
|
-
fullJoin<TE extends TableExpression<DB, TB>, FN extends JoinCallbackExpression<DB, TB, TE>>(table: TE, callback: FN): JoinInterface<FullJoinTableExpressionDatabase<DB, TB, TE>, TableExpressionTables<DB, TB, TE>>;
|
|
130
|
-
}
|