kysely 0.23.3 → 0.23.5
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/README.md +25 -25
- package/dist/cjs/dialect/database-introspector.d.ts +4 -2
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +32 -6
- package/dist/cjs/dialect/dialect-adapter.d.ts +50 -8
- package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +32 -6
- package/dist/cjs/dialect/mysql/mysql-introspector.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-introspector.js +21 -15
- package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +32 -6
- package/dist/cjs/dialect/postgres/postgres-introspector.d.ts +1 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.js +5 -3
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +32 -6
- package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +1 -1
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +8 -7
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/migration/migrator.d.ts +8 -3
- package/dist/cjs/migration/migrator.js +15 -5
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +3 -2
- package/dist/cjs/operation-node/aggregate-function-node.js +2 -2
- package/dist/cjs/operation-node/create-index-node.d.ts +1 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +4 -1
- package/dist/cjs/operation-node/delete-query-node.js +11 -2
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +10 -1
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.js +1 -0
- package/dist/cjs/operation-node/using-node.d.ts +13 -0
- package/dist/cjs/operation-node/using-node.js +24 -0
- package/dist/cjs/parser/expression-parser.js +1 -1
- package/dist/cjs/parser/table-parser.d.ts +1 -0
- package/dist/cjs/parser/update-set-parser.d.ts +1 -1
- package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +7 -0
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +10 -4
- package/dist/cjs/query-builder/delete-query-builder.d.ts +103 -11
- package/dist/cjs/query-builder/delete-query-builder.js +40 -9
- package/dist/cjs/query-builder/function-module.d.ts +273 -39
- package/dist/cjs/query-builder/function-module.js +156 -34
- package/dist/cjs/query-builder/insert-query-builder.d.ts +25 -10
- package/dist/cjs/query-builder/insert-query-builder.js +32 -9
- package/dist/cjs/query-builder/select-query-builder.d.ts +51 -34
- package/dist/cjs/query-builder/select-query-builder.js +53 -29
- package/dist/cjs/query-builder/update-query-builder.d.ts +26 -10
- package/dist/cjs/query-builder/update-query-builder.js +33 -9
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +12 -1
- package/dist/cjs/query-creator.d.ts +29 -0
- package/dist/cjs/query-creator.js +2 -21
- package/dist/cjs/raw-builder/raw-builder.d.ts +4 -0
- package/dist/cjs/raw-builder/raw-builder.js +8 -2
- package/dist/cjs/schema/alter-table-builder.d.ts +5 -1
- package/dist/cjs/schema/alter-table-builder.js +8 -2
- package/dist/cjs/schema/create-index-builder.d.ts +6 -0
- package/dist/cjs/schema/create-index-builder.js +13 -0
- package/dist/cjs/schema/create-table-builder.d.ts +6 -2
- package/dist/cjs/schema/create-table-builder.js +9 -3
- package/dist/cjs/util/type-utils.d.ts +20 -1
- package/dist/esm/dialect/database-introspector.d.ts +4 -2
- package/dist/esm/dialect/dialect-adapter-base.d.ts +32 -6
- package/dist/esm/dialect/dialect-adapter.d.ts +50 -8
- package/dist/esm/dialect/mysql/mysql-adapter.d.ts +32 -6
- package/dist/esm/dialect/mysql/mysql-introspector.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-introspector.js +21 -15
- package/dist/esm/dialect/postgres/postgres-adapter.d.ts +32 -6
- package/dist/esm/dialect/postgres/postgres-introspector.d.ts +1 -1
- package/dist/esm/dialect/postgres/postgres-introspector.js +5 -3
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +32 -6
- package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +1 -1
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +8 -7
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/migration/migrator.d.ts +8 -3
- package/dist/esm/migration/migrator.js +15 -5
- package/dist/esm/operation-node/aggregate-function-node.d.ts +3 -2
- package/dist/esm/operation-node/aggregate-function-node.js +2 -2
- package/dist/esm/operation-node/create-index-node.d.ts +1 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +4 -1
- package/dist/esm/operation-node/delete-query-node.js +11 -2
- package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-transformer.js +10 -1
- package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-visitor.js +1 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.js +1 -0
- package/dist/esm/operation-node/using-node.d.ts +13 -0
- package/dist/esm/operation-node/using-node.js +22 -0
- package/dist/esm/parser/expression-parser.js +2 -2
- package/dist/esm/parser/table-parser.d.ts +1 -0
- package/dist/esm/parser/update-set-parser.d.ts +1 -1
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +7 -0
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +10 -4
- package/dist/esm/query-builder/delete-query-builder.d.ts +103 -11
- package/dist/esm/query-builder/delete-query-builder.js +40 -9
- package/dist/esm/query-builder/function-module.d.ts +273 -39
- package/dist/esm/query-builder/function-module.js +156 -34
- package/dist/esm/query-builder/insert-query-builder.d.ts +25 -10
- package/dist/esm/query-builder/insert-query-builder.js +33 -10
- package/dist/esm/query-builder/select-query-builder.d.ts +51 -34
- package/dist/esm/query-builder/select-query-builder.js +53 -29
- package/dist/esm/query-builder/update-query-builder.d.ts +26 -10
- package/dist/esm/query-builder/update-query-builder.js +33 -9
- package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -0
- package/dist/esm/query-compiler/default-query-compiler.js +12 -1
- package/dist/esm/query-creator.d.ts +29 -0
- package/dist/esm/query-creator.js +2 -21
- package/dist/esm/raw-builder/raw-builder.d.ts +4 -0
- package/dist/esm/raw-builder/raw-builder.js +8 -2
- package/dist/esm/schema/alter-table-builder.d.ts +5 -1
- package/dist/esm/schema/alter-table-builder.js +8 -2
- package/dist/esm/schema/create-index-builder.d.ts +6 -0
- package/dist/esm/schema/create-index-builder.js +13 -0
- package/dist/esm/schema/create-table-builder.d.ts +6 -2
- package/dist/esm/schema/create-table-builder.js +9 -3
- package/dist/esm/util/type-utils.d.ts +20 -1
- package/package.json +1 -1
|
@@ -198,6 +198,8 @@ export declare class QueryCreator<DB> {
|
|
|
198
198
|
*
|
|
199
199
|
* ### Examples
|
|
200
200
|
*
|
|
201
|
+
* Deleting person with id 1:
|
|
202
|
+
*
|
|
201
203
|
* ```ts
|
|
202
204
|
* const result = await db
|
|
203
205
|
* .deleteFrom('person')
|
|
@@ -206,7 +208,34 @@ export declare class QueryCreator<DB> {
|
|
|
206
208
|
*
|
|
207
209
|
* console.log(result.numDeletedRows)
|
|
208
210
|
* ```
|
|
211
|
+
*
|
|
212
|
+
* The generated SQL (PostgreSQL):
|
|
213
|
+
*
|
|
214
|
+
* ```sql
|
|
215
|
+
* delete from "person" where "person"."id" = $1
|
|
216
|
+
* ```
|
|
217
|
+
*
|
|
218
|
+
* Some databases such as MySQL support deleting from multiple tables:
|
|
219
|
+
*
|
|
220
|
+
* ```ts
|
|
221
|
+
* const result = await db
|
|
222
|
+
* .deleteFrom(['person', 'pet'])
|
|
223
|
+
* .using('person')
|
|
224
|
+
* .innerJoin('pet', 'pet.owner_id', '=', 'person.id')
|
|
225
|
+
* .where('person.id', '=', 1)
|
|
226
|
+
* .executeTakeFirst()
|
|
227
|
+
* ```
|
|
228
|
+
*
|
|
229
|
+
* The generated SQL (MySQL):
|
|
230
|
+
*
|
|
231
|
+
* ```sql
|
|
232
|
+
* delete from `person`, `pet`
|
|
233
|
+
* using `person`
|
|
234
|
+
* inner join `pet` on `pet`.`owner_id` = `person`.`id`
|
|
235
|
+
* where `person`.`id` = ?
|
|
236
|
+
* ```
|
|
209
237
|
*/
|
|
238
|
+
deleteFrom<TR extends TableReference<DB>>(tables: TR[]): DeleteQueryBuilder<From<DB, TR>, FromTables<DB, never, TR>, DeleteResult>;
|
|
210
239
|
deleteFrom<TR extends TableReference<DB>>(table: TR): DeleteQueryBuilder<From<DB, TR>, FromTables<DB, never, TR>, DeleteResult>;
|
|
211
240
|
/**
|
|
212
241
|
* Creates an update query.
|
|
@@ -103,30 +103,11 @@ export class QueryCreator {
|
|
|
103
103
|
queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode, true),
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
-
|
|
107
|
-
* Creates a delete query.
|
|
108
|
-
*
|
|
109
|
-
* See the {@link DeleteQueryBuilder.where} method for examples on how to specify
|
|
110
|
-
* a where clause for the delete operation.
|
|
111
|
-
*
|
|
112
|
-
* The return value of the query is an instance of {@link DeleteResult}.
|
|
113
|
-
*
|
|
114
|
-
* ### Examples
|
|
115
|
-
*
|
|
116
|
-
* ```ts
|
|
117
|
-
* const result = await db
|
|
118
|
-
* .deleteFrom('person')
|
|
119
|
-
* .where('person.id', '=', 1)
|
|
120
|
-
* .executeTakeFirst()
|
|
121
|
-
*
|
|
122
|
-
* console.log(result.numDeletedRows)
|
|
123
|
-
* ```
|
|
124
|
-
*/
|
|
125
|
-
deleteFrom(table) {
|
|
106
|
+
deleteFrom(tables) {
|
|
126
107
|
return new DeleteQueryBuilder({
|
|
127
108
|
queryId: createQueryId(),
|
|
128
109
|
executor: this.#props.executor,
|
|
129
|
-
queryNode: DeleteQueryNode.create(
|
|
110
|
+
queryNode: DeleteQueryNode.create(parseTableExpressionOrList(tables), this.#props.withNode),
|
|
130
111
|
});
|
|
131
112
|
}
|
|
132
113
|
/**
|
|
@@ -93,6 +93,10 @@ export declare class RawBuilder<O> implements Expression<O> {
|
|
|
93
93
|
* This method call doesn't change the SQL in any way. This methods simply
|
|
94
94
|
* returns a copy of this `RawBuilder` with a new output type.
|
|
95
95
|
*/
|
|
96
|
+
$castTo<T>(): RawBuilder<T>;
|
|
97
|
+
/**
|
|
98
|
+
* @deprecated Use `$castTo` instead.
|
|
99
|
+
*/
|
|
96
100
|
castTo<T>(): RawBuilder<T>;
|
|
97
101
|
/**
|
|
98
102
|
* Adds a plugin for this SQL snippet.
|
|
@@ -29,9 +29,15 @@ export class RawBuilder {
|
|
|
29
29
|
* This method call doesn't change the SQL in any way. This methods simply
|
|
30
30
|
* returns a copy of this `RawBuilder` with a new output type.
|
|
31
31
|
*/
|
|
32
|
-
castTo() {
|
|
32
|
+
$castTo() {
|
|
33
33
|
return new RawBuilder({ ...this.#props });
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use `$castTo` instead.
|
|
37
|
+
*/
|
|
38
|
+
castTo() {
|
|
39
|
+
return this.$castTo();
|
|
40
|
+
}
|
|
35
41
|
/**
|
|
36
42
|
* Adds a plugin for this SQL snippet.
|
|
37
43
|
*/
|
|
@@ -65,7 +71,7 @@ export class RawBuilder {
|
|
|
65
71
|
export function isRawBuilder(obj) {
|
|
66
72
|
return (isObject(obj) &&
|
|
67
73
|
isFunction(obj.as) &&
|
|
68
|
-
isFunction(obj
|
|
74
|
+
isFunction(obj.$castTo) &&
|
|
69
75
|
isFunction(obj.withPlugin) &&
|
|
70
76
|
isFunction(obj.toOperationNode) &&
|
|
71
77
|
isFunction(obj.execute));
|
|
@@ -52,7 +52,11 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface {
|
|
|
52
52
|
/**
|
|
53
53
|
* Calls the given function passing `this` as the only argument.
|
|
54
54
|
*
|
|
55
|
-
* See {@link CreateTableBuilder
|
|
55
|
+
* See {@link CreateTableBuilder.$call}
|
|
56
|
+
*/
|
|
57
|
+
$call<T>(func: (qb: this) => T): T;
|
|
58
|
+
/**
|
|
59
|
+
* @deprecated Use `$call` instead
|
|
56
60
|
*/
|
|
57
61
|
call<T>(func: (qb: this) => T): T;
|
|
58
62
|
}
|
|
@@ -126,11 +126,17 @@ export class AlterTableBuilder {
|
|
|
126
126
|
/**
|
|
127
127
|
* Calls the given function passing `this` as the only argument.
|
|
128
128
|
*
|
|
129
|
-
* See {@link CreateTableBuilder
|
|
129
|
+
* See {@link CreateTableBuilder.$call}
|
|
130
130
|
*/
|
|
131
|
-
call(func) {
|
|
131
|
+
$call(func) {
|
|
132
132
|
return func(this);
|
|
133
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* @deprecated Use `$call` instead
|
|
136
|
+
*/
|
|
137
|
+
call(func) {
|
|
138
|
+
return this.$call(func);
|
|
139
|
+
}
|
|
134
140
|
}
|
|
135
141
|
export class AlterTableColumnAlteringBuilder {
|
|
136
142
|
#props;
|
|
@@ -8,6 +8,12 @@ import { Expression } from '../expression/expression.js';
|
|
|
8
8
|
export declare class CreateIndexBuilder implements OperationNodeSource, Compilable {
|
|
9
9
|
#private;
|
|
10
10
|
constructor(props: CreateIndexBuilderProps);
|
|
11
|
+
/**
|
|
12
|
+
* Adds the "if not exists" modifier.
|
|
13
|
+
*
|
|
14
|
+
* If the index already exists, no error is thrown if this method has been called.
|
|
15
|
+
*/
|
|
16
|
+
ifNotExists(): CreateIndexBuilder;
|
|
11
17
|
/**
|
|
12
18
|
* Makes the index unique.
|
|
13
19
|
*/
|
|
@@ -11,6 +11,19 @@ export class CreateIndexBuilder {
|
|
|
11
11
|
constructor(props) {
|
|
12
12
|
this.#props = freeze(props);
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Adds the "if not exists" modifier.
|
|
16
|
+
*
|
|
17
|
+
* If the index already exists, no error is thrown if this method has been called.
|
|
18
|
+
*/
|
|
19
|
+
ifNotExists() {
|
|
20
|
+
return new CreateIndexBuilder({
|
|
21
|
+
...this.#props,
|
|
22
|
+
node: CreateIndexNode.cloneWith(this.#props.node, {
|
|
23
|
+
ifNotExists: true,
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
14
27
|
/**
|
|
15
28
|
* Makes the index unique.
|
|
16
29
|
*/
|
|
@@ -211,7 +211,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
211
211
|
* ```ts
|
|
212
212
|
* db.schema
|
|
213
213
|
* .createTable('test')
|
|
214
|
-
*
|
|
214
|
+
* .$call((builder) => builder.addColumn('id', 'integer'))
|
|
215
215
|
* .execute()
|
|
216
216
|
* ```
|
|
217
217
|
*
|
|
@@ -231,10 +231,14 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
|
|
|
231
231
|
*
|
|
232
232
|
* db.schema
|
|
233
233
|
* .createTable('test')
|
|
234
|
-
*
|
|
234
|
+
* .$call(addDefaultColumns)
|
|
235
235
|
* .execute()
|
|
236
236
|
* ```
|
|
237
237
|
*/
|
|
238
|
+
$call<T>(func: (qb: this) => T): T;
|
|
239
|
+
/**
|
|
240
|
+
* @deprecated Use `$call` instead
|
|
241
|
+
*/
|
|
238
242
|
call<T>(func: (qb: this) => T): T;
|
|
239
243
|
toOperationNode(): CreateTableNode;
|
|
240
244
|
compile(): CompiledQuery;
|
|
@@ -276,7 +276,7 @@ export class CreateTableBuilder {
|
|
|
276
276
|
* ```ts
|
|
277
277
|
* db.schema
|
|
278
278
|
* .createTable('test')
|
|
279
|
-
*
|
|
279
|
+
* .$call((builder) => builder.addColumn('id', 'integer'))
|
|
280
280
|
* .execute()
|
|
281
281
|
* ```
|
|
282
282
|
*
|
|
@@ -296,13 +296,19 @@ export class CreateTableBuilder {
|
|
|
296
296
|
*
|
|
297
297
|
* db.schema
|
|
298
298
|
* .createTable('test')
|
|
299
|
-
*
|
|
299
|
+
* .$call(addDefaultColumns)
|
|
300
300
|
* .execute()
|
|
301
301
|
* ```
|
|
302
302
|
*/
|
|
303
|
-
call(func) {
|
|
303
|
+
$call(func) {
|
|
304
304
|
return func(this);
|
|
305
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* @deprecated Use `$call` instead
|
|
308
|
+
*/
|
|
309
|
+
call(func) {
|
|
310
|
+
return this.$call(func);
|
|
311
|
+
}
|
|
306
312
|
toOperationNode() {
|
|
307
313
|
return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
|
|
308
314
|
}
|
|
@@ -96,9 +96,22 @@ export declare type AnyAliasedColumnWithTable<DB, TB extends keyof DB> = {
|
|
|
96
96
|
* Extracts the item type of an array.
|
|
97
97
|
*/
|
|
98
98
|
export declare type ArrayItemType<T> = T extends ReadonlyArray<infer I> ? I : never;
|
|
99
|
+
/**
|
|
100
|
+
* Any select query builder.
|
|
101
|
+
*/
|
|
99
102
|
export declare type AnySelectQueryBuilder = SelectQueryBuilder<any, any, any>;
|
|
100
|
-
export declare type
|
|
103
|
+
export declare type SimplifySingleResult<O> = O extends InsertResult ? O : O extends DeleteResult ? O : O extends UpdateResult ? O : Simplify<O> | undefined;
|
|
104
|
+
export declare type SimplifyResult<O> = O extends InsertResult ? O : O extends DeleteResult ? O : O extends UpdateResult ? O : Simplify<O>;
|
|
105
|
+
export declare type Simplify<T> = {
|
|
106
|
+
[K in keyof T]: T[K];
|
|
107
|
+
} & {};
|
|
108
|
+
/**
|
|
109
|
+
* Represents a database row whose column names and their types are unknown.
|
|
110
|
+
*/
|
|
101
111
|
export declare type UnknownRow = Record<string, unknown>;
|
|
112
|
+
/**
|
|
113
|
+
* Makes all properties of object type `T` nullable.
|
|
114
|
+
*/
|
|
102
115
|
export declare type Nullable<T> = {
|
|
103
116
|
[P in keyof T]: T[P] | null;
|
|
104
117
|
};
|
|
@@ -123,5 +136,11 @@ export declare type Nullable<T> = {
|
|
|
123
136
|
* // { name: string, age: number, species?: 'cat' | 'dog' }
|
|
124
137
|
*/
|
|
125
138
|
export declare type MergePartial<T1, T2> = T1 & Partial<Omit<T2, keyof T1>>;
|
|
139
|
+
/**
|
|
140
|
+
* Evaluates to `true` if `T` is `never`.
|
|
141
|
+
*/
|
|
126
142
|
export declare type IsNever<T> = [T] extends [never] ? true : false;
|
|
143
|
+
/**
|
|
144
|
+
* Evaluates to `true` if the types `T` and `U` are equal.
|
|
145
|
+
*/
|
|
127
146
|
export declare type Equals<T, U> = (<G>() => G extends T ? 1 : 2) extends <G>() => G extends U ? 1 : 2 ? true : false;
|