kysely 0.24.1 → 0.25.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/README.md +30 -13
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +2 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.js +4 -1
- package/dist/cjs/driver/runtime-driver.js +6 -6
- package/dist/cjs/dynamic/dynamic.d.ts +1 -1
- package/dist/cjs/dynamic/dynamic.js +1 -1
- package/dist/cjs/expression/expression-builder.d.ts +56 -1
- package/dist/cjs/expression/expression-builder.js +10 -0
- package/dist/cjs/helpers/mysql.d.ts +3 -3
- package/dist/cjs/helpers/mysql.js +2 -2
- package/dist/cjs/helpers/postgres.d.ts +1 -1
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/kysely.d.ts +19 -2
- package/dist/cjs/kysely.js +28 -1
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +3 -7
- package/dist/cjs/operation-node/aggregate-function-node.js +1 -1
- package/dist/cjs/operation-node/alter-column-node.d.ts +1 -2
- package/dist/cjs/operation-node/alter-table-node.d.ts +1 -1
- package/dist/cjs/operation-node/alter-table-node.js +1 -2
- package/dist/cjs/operation-node/case-node.d.ts +19 -0
- package/dist/cjs/operation-node/case-node.js +42 -0
- package/dist/cjs/operation-node/create-index-node.d.ts +2 -1
- package/dist/cjs/operation-node/create-index-node.js +6 -0
- package/dist/cjs/operation-node/data-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +4 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +20 -2
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +4 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +2 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/when-node.d.ts +14 -0
- package/dist/cjs/operation-node/when-node.js +24 -0
- package/dist/cjs/parser/binary-operation-parser.d.ts +1 -0
- package/dist/cjs/parser/binary-operation-parser.js +18 -2
- package/dist/cjs/parser/expression-parser.d.ts +2 -1
- package/dist/cjs/parser/order-by-parser.d.ts +1 -0
- package/dist/cjs/parser/order-by-parser.js +5 -1
- package/dist/cjs/parser/reference-parser.d.ts +6 -2
- package/dist/cjs/parser/reference-parser.js +16 -1
- package/dist/cjs/parser/select-parser.d.ts +4 -4
- package/dist/cjs/parser/table-parser.d.ts +5 -4
- package/dist/cjs/parser/with-parser.d.ts +4 -3
- package/dist/cjs/query-builder/case-builder.d.ts +111 -0
- package/dist/cjs/query-builder/case-builder.js +75 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +55 -13
- package/dist/cjs/query-builder/delete-query-builder.js +44 -0
- package/dist/cjs/query-builder/function-module.d.ts +36 -5
- package/dist/cjs/query-builder/function-module.js +12 -16
- package/dist/cjs/query-builder/insert-query-builder.d.ts +44 -3
- package/dist/cjs/query-builder/insert-query-builder.js +49 -1
- package/dist/cjs/query-builder/select-query-builder.d.ts +54 -13
- package/dist/cjs/query-builder/select-query-builder.js +43 -0
- package/dist/cjs/query-builder/update-query-builder.d.ts +65 -20
- package/dist/cjs/query-builder/update-query-builder.js +47 -0
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +4 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +30 -3
- package/dist/cjs/schema/alter-column-builder.d.ts +2 -2
- package/dist/cjs/schema/alter-column-builder.js +2 -2
- package/dist/cjs/schema/create-index-builder.d.ts +49 -7
- package/dist/cjs/schema/create-index-builder.js +51 -13
- package/dist/cjs/schema/schema.js +1 -1
- package/dist/cjs/util/column-type.d.ts +3 -2
- package/dist/cjs/util/log.d.ts +3 -3
- package/dist/cjs/util/log.js +4 -4
- package/dist/cjs/util/object-utils.d.ts +2 -1
- package/dist/cjs/util/type-utils.d.ts +43 -29
- package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +2 -1
- package/dist/esm/dialect/postgres/postgres-introspector.js +4 -1
- package/dist/esm/driver/runtime-driver.js +6 -6
- package/dist/esm/dynamic/dynamic.d.ts +1 -1
- package/dist/esm/dynamic/dynamic.js +1 -1
- package/dist/esm/expression/expression-builder.d.ts +56 -1
- package/dist/esm/expression/expression-builder.js +11 -1
- package/dist/esm/helpers/mysql.d.ts +3 -3
- package/dist/esm/helpers/mysql.js +2 -2
- package/dist/esm/helpers/postgres.d.ts +1 -1
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/kysely.d.ts +19 -2
- package/dist/esm/kysely.js +29 -2
- package/dist/esm/operation-node/aggregate-function-node.d.ts +3 -7
- package/dist/esm/operation-node/aggregate-function-node.js +1 -1
- package/dist/esm/operation-node/alter-column-node.d.ts +1 -2
- package/dist/esm/operation-node/alter-table-node.d.ts +1 -1
- package/dist/esm/operation-node/alter-table-node.js +1 -2
- package/dist/esm/operation-node/case-node.d.ts +19 -0
- package/dist/esm/operation-node/case-node.js +40 -0
- package/dist/esm/operation-node/create-index-node.d.ts +2 -1
- package/dist/esm/operation-node/create-index-node.js +6 -0
- package/dist/esm/operation-node/data-type-node.d.ts +1 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +4 -0
- package/dist/esm/operation-node/operation-node-transformer.js +20 -2
- package/dist/esm/operation-node/operation-node-visitor.d.ts +4 -0
- package/dist/esm/operation-node/operation-node-visitor.js +2 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/when-node.d.ts +14 -0
- package/dist/esm/operation-node/when-node.js +22 -0
- package/dist/esm/parser/binary-operation-parser.d.ts +1 -0
- package/dist/esm/parser/binary-operation-parser.js +16 -1
- package/dist/esm/parser/expression-parser.d.ts +2 -1
- package/dist/esm/parser/order-by-parser.d.ts +1 -0
- package/dist/esm/parser/order-by-parser.js +3 -0
- package/dist/esm/parser/reference-parser.d.ts +6 -2
- package/dist/esm/parser/reference-parser.js +14 -0
- package/dist/esm/parser/select-parser.d.ts +4 -4
- package/dist/esm/parser/table-parser.d.ts +5 -4
- package/dist/esm/parser/with-parser.d.ts +4 -3
- package/dist/esm/query-builder/case-builder.d.ts +111 -0
- package/dist/esm/query-builder/case-builder.js +69 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +55 -13
- package/dist/esm/query-builder/delete-query-builder.js +44 -0
- package/dist/esm/query-builder/function-module.d.ts +36 -5
- package/dist/esm/query-builder/function-module.js +13 -17
- package/dist/esm/query-builder/insert-query-builder.d.ts +44 -3
- package/dist/esm/query-builder/insert-query-builder.js +49 -1
- package/dist/esm/query-builder/select-query-builder.d.ts +54 -13
- package/dist/esm/query-builder/select-query-builder.js +43 -0
- package/dist/esm/query-builder/update-query-builder.d.ts +65 -20
- package/dist/esm/query-builder/update-query-builder.js +47 -0
- package/dist/esm/query-compiler/default-query-compiler.d.ts +4 -0
- package/dist/esm/query-compiler/default-query-compiler.js +30 -3
- package/dist/esm/schema/alter-column-builder.d.ts +2 -2
- package/dist/esm/schema/alter-column-builder.js +2 -2
- package/dist/esm/schema/create-index-builder.d.ts +49 -7
- package/dist/esm/schema/create-index-builder.js +52 -14
- package/dist/esm/schema/schema.js +1 -1
- package/dist/esm/util/column-type.d.ts +3 -2
- package/dist/esm/util/log.d.ts +3 -3
- package/dist/esm/util/log.js +4 -4
- package/dist/esm/util/object-utils.d.ts +2 -1
- package/dist/esm/util/type-utils.d.ts +43 -29
- package/package.json +1 -1
|
@@ -2,10 +2,7 @@ import { SelectQueryBuilder } from '../query-builder/select-query-builder.js';
|
|
|
2
2
|
import { InsertResult } from '../query-builder/insert-result.js';
|
|
3
3
|
import { DeleteResult } from '../query-builder/delete-result.js';
|
|
4
4
|
import { UpdateResult } from '../query-builder/update-result.js';
|
|
5
|
-
|
|
6
|
-
* Given an object type, extracts the union of all value types.
|
|
7
|
-
*/
|
|
8
|
-
export declare type ValueType<T> = T[keyof T];
|
|
5
|
+
import { KyselyTypeError } from './type-error.js';
|
|
9
6
|
/**
|
|
10
7
|
* Given a database type and a union of table names in that db, returns
|
|
11
8
|
* a union type with all possible column names.
|
|
@@ -37,9 +34,9 @@ export declare type ValueType<T> = T[keyof T];
|
|
|
37
34
|
* // Columns == 'id' | 'name' | 'species'
|
|
38
35
|
* ```
|
|
39
36
|
*/
|
|
40
|
-
export declare type AnyColumn<DB, TB extends keyof DB> = {
|
|
37
|
+
export declare type AnyColumn<DB, TB extends keyof DB> = DrainOuterGeneric<{
|
|
41
38
|
[T in TB]: keyof DB[T];
|
|
42
|
-
}[TB] & string
|
|
39
|
+
}[TB] & string>;
|
|
43
40
|
/**
|
|
44
41
|
* Extracts a column type.
|
|
45
42
|
*/
|
|
@@ -102,9 +99,9 @@ export declare type ArrayItemType<T> = T extends ReadonlyArray<infer I> ? I : ne
|
|
|
102
99
|
export declare type AnySelectQueryBuilder = SelectQueryBuilder<any, any, any>;
|
|
103
100
|
export declare type SimplifySingleResult<O> = O extends InsertResult ? O : O extends DeleteResult ? O : O extends UpdateResult ? O : Simplify<O> | undefined;
|
|
104
101
|
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> = {
|
|
102
|
+
export declare type Simplify<T> = DrainOuterGeneric<{
|
|
106
103
|
[K in keyof T]: T[K];
|
|
107
|
-
} & {}
|
|
104
|
+
} & {}>;
|
|
108
105
|
/**
|
|
109
106
|
* Represents a database row whose column names and their types are unknown.
|
|
110
107
|
*/
|
|
@@ -115,33 +112,50 @@ export declare type UnknownRow = Record<string, unknown>;
|
|
|
115
112
|
export declare type Nullable<T> = {
|
|
116
113
|
[P in keyof T]: T[P] | null;
|
|
117
114
|
};
|
|
118
|
-
/**
|
|
119
|
-
* Takes all properties from T1 and merges all properties from T2
|
|
120
|
-
* that don't exist in T1 as optional properties.
|
|
121
|
-
*
|
|
122
|
-
* Example:
|
|
123
|
-
*
|
|
124
|
-
* interface Person {
|
|
125
|
-
* name: string
|
|
126
|
-
* age: number
|
|
127
|
-
* }
|
|
128
|
-
*
|
|
129
|
-
* interface Pet {
|
|
130
|
-
* name: string
|
|
131
|
-
* species: 'cat' | 'dog'
|
|
132
|
-
* }
|
|
133
|
-
*
|
|
134
|
-
* type Merged = MergePartial<Person, Pet>
|
|
135
|
-
*
|
|
136
|
-
* // { name: string, age: number, species?: 'cat' | 'dog' }
|
|
137
|
-
*/
|
|
138
|
-
export declare type MergePartial<T1, T2> = T1 & Partial<Omit<T2, keyof T1>>;
|
|
139
115
|
/**
|
|
140
116
|
* Evaluates to `true` if `T` is `never`.
|
|
141
117
|
*/
|
|
142
118
|
export declare type IsNever<T> = [T] extends [never] ? true : false;
|
|
119
|
+
/**
|
|
120
|
+
* Evaluates to `true` if `T` is `any`.
|
|
121
|
+
*/
|
|
122
|
+
export declare type IsAny<T> = 0 extends T & 1 ? true : false;
|
|
143
123
|
/**
|
|
144
124
|
* Evaluates to `true` if the types `T` and `U` are equal.
|
|
145
125
|
*/
|
|
146
126
|
export declare type Equals<T, U> = (<G>() => G extends T ? 1 : 2) extends <G>() => G extends U ? 1 : 2 ? true : false;
|
|
127
|
+
export declare type NarrowPartial<S, T> = DrainOuterGeneric<{
|
|
128
|
+
[K in keyof S & string]: K extends keyof T ? T[K] extends S[K] ? T[K] : KyselyTypeError<`$narrowType() call failed: passed type does not exist in '${K}'s type union`> : S[K];
|
|
129
|
+
}>;
|
|
147
130
|
export declare type SqlBool = boolean | 0 | 1;
|
|
131
|
+
/**
|
|
132
|
+
* Utility to reduce depth of TypeScript's internal type instantiation stack.
|
|
133
|
+
*
|
|
134
|
+
* Example:
|
|
135
|
+
*
|
|
136
|
+
* ```ts
|
|
137
|
+
* type A<T> = { item: T }
|
|
138
|
+
*
|
|
139
|
+
* type Test<T> = A<
|
|
140
|
+
* A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<T>>>>>>>>>>>>>>>>>>>>>>>>
|
|
141
|
+
* >
|
|
142
|
+
*
|
|
143
|
+
* type Error = Test<number> // Type instantiation is excessively deep and possibly infinite.ts (2589)
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* To fix this, we can use `DrainOuterGeneric`:
|
|
147
|
+
*
|
|
148
|
+
* ```ts
|
|
149
|
+
* type A<T> = DrainOuterGeneric<{ item: T }>
|
|
150
|
+
*
|
|
151
|
+
* type Test<T> = A<
|
|
152
|
+
* A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<T>>>>>>>>>>>>>>>>>>>>>>>>
|
|
153
|
+
* >
|
|
154
|
+
*
|
|
155
|
+
* type Ok = Test<number> // Ok
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
export declare type DrainOuterGeneric<T> = [T] extends [unknown] ? T : never;
|
|
159
|
+
export declare type ShallowRecord<K extends keyof any, T> = DrainOuterGeneric<{
|
|
160
|
+
[P in K]: T;
|
|
161
|
+
}>;
|