kysely 0.9.0 → 0.9.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/mysql/mysql-dialect.d.ts +9 -0
- package/dist/cjs/dialect/mysql/mysql-dialect.js +7 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +2 -2
- package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +11 -1
- package/dist/cjs/dialect/postgres/postgres-dialect.js +10 -0
- package/dist/cjs/driver/runtime-driver.d.ts +3 -2
- package/dist/cjs/driver/runtime-driver.js +43 -4
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/kysely.d.ts +26 -9
- package/dist/cjs/kysely.js +16 -9
- package/dist/cjs/migration/migration.d.ts +32 -0
- package/dist/cjs/operation-node/create-schema-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-schema-node.js +2 -2
- package/dist/cjs/operation-node/create-table-node.d.ts +1 -5
- package/dist/cjs/operation-node/create-table-node.js +1 -31
- package/dist/cjs/operation-node/join-node.d.ts +2 -1
- package/dist/cjs/operation-node/join-node.js +8 -6
- package/dist/cjs/operation-node/operation-node-source.d.ts +1 -1
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +11 -1
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +61 -59
- package/dist/cjs/operation-node/operation-node-visitor.js +1 -316
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/query-node.d.ts +4 -3
- package/dist/cjs/operation-node/query-node.js +10 -2
- package/dist/cjs/operation-node/select-query-node.d.ts +5 -1
- package/dist/cjs/operation-node/select-query-node.js +18 -2
- package/dist/cjs/operation-node/union-node.d.ts +16 -0
- package/dist/cjs/operation-node/union-node.js +19 -0
- package/dist/cjs/parser/group-by-parser.d.ts +4 -0
- package/dist/cjs/parser/group-by-parser.js +9 -0
- package/dist/cjs/parser/insert-values-parser.d.ts +1 -1
- package/dist/cjs/parser/join-parser.d.ts +4 -4
- package/dist/cjs/parser/order-by-parser.d.ts +2 -4
- package/dist/cjs/parser/order-by-parser.js +6 -3
- package/dist/cjs/parser/reference-parser.d.ts +1 -1
- package/dist/cjs/parser/reference-parser.js +1 -1
- package/dist/cjs/parser/union-parser.d.ts +5 -0
- package/dist/cjs/parser/union-parser.js +13 -0
- package/dist/cjs/parser/value-parser.d.ts +1 -1
- package/dist/cjs/query-builder/join-builder.js +8 -8
- package/dist/cjs/query-builder/query-builder.d.ts +65 -1
- package/dist/cjs/query-builder/query-builder.js +103 -22
- package/dist/cjs/query-compiler/compiled-query.d.ts +1 -1
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +7 -2
- package/dist/cjs/query-compiler/default-query-compiler.js +21 -4
- package/dist/cjs/schema/create-schema-builder.js +1 -1
- package/dist/cjs/schema/create-table-builder.js +7 -4
- package/dist/cjs/util/log.d.ts +8 -0
- package/dist/cjs/util/log.js +21 -0
- package/dist/cjs/util/object-utils.d.ts +11 -11
- package/dist/cjs/util/object-utils.js +1 -1
- package/dist/cjs/util/random-string.js +6 -3
- package/dist/cjs/util/type-utils.d.ts +4 -4
- package/dist/esm/dialect/mysql/mysql-dialect.d.ts +9 -0
- package/dist/esm/dialect/mysql/mysql-dialect.js +7 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +3 -3
- package/dist/esm/dialect/postgres/postgres-dialect.d.ts +11 -1
- package/dist/esm/dialect/postgres/postgres-dialect.js +10 -0
- package/dist/esm/driver/runtime-driver.d.ts +3 -2
- package/dist/esm/driver/runtime-driver.js +43 -4
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/kysely.d.ts +26 -9
- package/dist/esm/kysely.js +16 -9
- package/dist/esm/migration/migration.d.ts +32 -0
- package/dist/esm/operation-node/create-schema-node.d.ts +1 -1
- package/dist/esm/operation-node/create-schema-node.js +2 -2
- package/dist/esm/operation-node/create-table-node.d.ts +1 -5
- package/dist/esm/operation-node/create-table-node.js +1 -31
- package/dist/esm/operation-node/join-node.d.ts +2 -1
- package/dist/esm/operation-node/join-node.js +8 -6
- package/dist/esm/operation-node/operation-node-source.d.ts +1 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-transformer.js +11 -1
- package/dist/esm/operation-node/operation-node-visitor.d.ts +61 -59
- package/dist/esm/operation-node/operation-node-visitor.js +1 -316
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/query-node.d.ts +4 -3
- package/dist/esm/operation-node/query-node.js +10 -2
- package/dist/esm/operation-node/select-query-node.d.ts +5 -1
- package/dist/esm/operation-node/select-query-node.js +18 -2
- package/dist/esm/operation-node/union-node.d.ts +16 -0
- package/dist/esm/operation-node/union-node.js +16 -0
- package/dist/esm/parser/group-by-parser.d.ts +4 -0
- package/dist/esm/parser/group-by-parser.js +5 -0
- package/dist/esm/parser/insert-values-parser.d.ts +1 -1
- package/dist/esm/parser/join-parser.d.ts +4 -4
- package/dist/esm/parser/order-by-parser.d.ts +2 -4
- package/dist/esm/parser/order-by-parser.js +6 -2
- package/dist/esm/parser/reference-parser.d.ts +1 -1
- package/dist/esm/parser/reference-parser.js +2 -2
- package/dist/esm/parser/union-parser.d.ts +5 -0
- package/dist/esm/parser/union-parser.js +9 -0
- package/dist/esm/parser/value-parser.d.ts +1 -1
- package/dist/esm/query-builder/join-builder.js +8 -8
- package/dist/esm/query-builder/query-builder.d.ts +65 -1
- package/dist/esm/query-builder/query-builder.js +104 -23
- package/dist/esm/query-compiler/compiled-query.d.ts +1 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +7 -2
- package/dist/esm/query-compiler/default-query-compiler.js +21 -4
- package/dist/esm/schema/create-schema-builder.js +1 -1
- package/dist/esm/schema/create-table-builder.js +7 -4
- package/dist/esm/util/log.d.ts +8 -0
- package/dist/esm/util/log.js +17 -0
- package/dist/esm/util/object-utils.d.ts +11 -11
- package/dist/esm/util/object-utils.js +1 -1
- package/dist/esm/util/random-string.js +6 -3
- package/dist/esm/util/type-utils.d.ts +4 -4
- package/package.json +1 -1
|
@@ -8,6 +8,9 @@ import { ColumnNode } from '../operation-node/column-node.js';
|
|
|
8
8
|
import { TableNode } from '../operation-node/table-node.js';
|
|
9
9
|
import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js';
|
|
10
10
|
import { parseDataTypeExpression, } from '../parser/data-type-parser.js';
|
|
11
|
+
import { PrimaryConstraintNode } from '../operation-node/primary-constraint-node.js';
|
|
12
|
+
import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js';
|
|
13
|
+
import { CheckConstraintNode } from '../operation-node/check-constraint-node.js';
|
|
11
14
|
/**
|
|
12
15
|
* This builder can be used to create a `create table` query.
|
|
13
16
|
*/
|
|
@@ -92,7 +95,7 @@ export class CreateTableBuilder {
|
|
|
92
95
|
addPrimaryKeyConstraint(constraintName, columns) {
|
|
93
96
|
return new CreateTableBuilder({
|
|
94
97
|
...this.#props,
|
|
95
|
-
createTableNode: CreateTableNode.
|
|
98
|
+
createTableNode: CreateTableNode.cloneWithConstraint(this.#props.createTableNode, PrimaryConstraintNode.create(columns, constraintName)),
|
|
96
99
|
});
|
|
97
100
|
}
|
|
98
101
|
/**
|
|
@@ -109,7 +112,7 @@ export class CreateTableBuilder {
|
|
|
109
112
|
addUniqueConstraint(constraintName, columns) {
|
|
110
113
|
return new CreateTableBuilder({
|
|
111
114
|
...this.#props,
|
|
112
|
-
createTableNode: CreateTableNode.
|
|
115
|
+
createTableNode: CreateTableNode.cloneWithConstraint(this.#props.createTableNode, UniqueConstraintNode.create(columns, constraintName)),
|
|
113
116
|
});
|
|
114
117
|
}
|
|
115
118
|
/**
|
|
@@ -126,7 +129,7 @@ export class CreateTableBuilder {
|
|
|
126
129
|
addCheckConstraint(constraintName, checkExpression) {
|
|
127
130
|
return new CreateTableBuilder({
|
|
128
131
|
...this.#props,
|
|
129
|
-
createTableNode: CreateTableNode.
|
|
132
|
+
createTableNode: CreateTableNode.cloneWithConstraint(this.#props.createTableNode, CheckConstraintNode.create(checkExpression, constraintName)),
|
|
130
133
|
});
|
|
131
134
|
}
|
|
132
135
|
/**
|
|
@@ -160,7 +163,7 @@ export class CreateTableBuilder {
|
|
|
160
163
|
const builder = build(new ForeignKeyConstraintBuilder(ForeignKeyConstraintNode.create(columns.map(ColumnNode.create), TableNode.create(targetTable), targetColumns.map(ColumnNode.create), constraintName)));
|
|
161
164
|
return new CreateTableBuilder({
|
|
162
165
|
...this.#props,
|
|
163
|
-
createTableNode: CreateTableNode.
|
|
166
|
+
createTableNode: CreateTableNode.cloneWithConstraint(this.#props.createTableNode, builder.toOperationNode()),
|
|
164
167
|
});
|
|
165
168
|
}
|
|
166
169
|
toOperationNode() {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ArrayItemType } from './type-utils.js';
|
|
2
|
+
export declare const LOG_LEVELS: readonly ["query"];
|
|
3
|
+
export declare type LogLevel = ArrayItemType<typeof LOG_LEVELS>;
|
|
4
|
+
export declare class Log {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(levels: ReadonlyArray<LogLevel>);
|
|
7
|
+
query(callback: (log: (message: string) => void) => void): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const LOG_LEVELS = ['query'];
|
|
2
|
+
export class Log {
|
|
3
|
+
#levels;
|
|
4
|
+
constructor(levels) {
|
|
5
|
+
this.#levels = {
|
|
6
|
+
query: levels.includes('query'),
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
query(callback) {
|
|
10
|
+
if (this.#levels.query) {
|
|
11
|
+
callback(this.#query);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
#query(message) {
|
|
15
|
+
console.log(`kysely:query: ${message}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
export declare type PrimitiveValue = string | number | boolean | null | Date | Buffer | BigInt;
|
|
3
|
-
export declare function isEmpty(obj: ArrayLike<
|
|
4
|
-
export declare function isString(obj:
|
|
5
|
-
export declare function isNumber(obj:
|
|
6
|
-
export declare function isBoolean(obj:
|
|
7
|
-
export declare function isNull(obj:
|
|
8
|
-
export declare function isDate(obj:
|
|
9
|
-
export declare function isBuffer(obj:
|
|
10
|
-
export declare function isBigInt(obj:
|
|
11
|
-
export declare function isPrimitive(obj:
|
|
12
|
-
export declare function isFunction(obj:
|
|
13
|
-
export declare function isObject(obj:
|
|
3
|
+
export declare function isEmpty(obj: ArrayLike<unknown> | string | object | Buffer): boolean;
|
|
4
|
+
export declare function isString(obj: unknown): obj is string;
|
|
5
|
+
export declare function isNumber(obj: unknown): obj is number;
|
|
6
|
+
export declare function isBoolean(obj: unknown): obj is boolean;
|
|
7
|
+
export declare function isNull(obj: unknown): obj is null;
|
|
8
|
+
export declare function isDate(obj: unknown): obj is Date;
|
|
9
|
+
export declare function isBuffer(obj: unknown): obj is Buffer;
|
|
10
|
+
export declare function isBigInt(obj: unknown): obj is BigInt;
|
|
11
|
+
export declare function isPrimitive(obj: unknown): obj is PrimitiveValue;
|
|
12
|
+
export declare function isFunction(obj: unknown): obj is Function;
|
|
13
|
+
export declare function isObject(obj: unknown): obj is Record<string, unknown>;
|
|
14
14
|
export declare function getLast<T>(arr: ArrayLike<T>): T | undefined;
|
|
15
15
|
export declare function freeze<T>(obj: T): Readonly<T>;
|
|
16
16
|
export declare function asArray<T>(arg: T | T[]): T[];
|
|
@@ -41,7 +41,7 @@ export function isFunction(obj) {
|
|
|
41
41
|
return typeof obj === 'function';
|
|
42
42
|
}
|
|
43
43
|
export function isObject(obj) {
|
|
44
|
-
return
|
|
44
|
+
return typeof obj === 'object' && obj !== null;
|
|
45
45
|
}
|
|
46
46
|
export function getLast(arr) {
|
|
47
47
|
return arr[arr.length - 1];
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
2
2
|
export function randomString(length) {
|
|
3
|
-
let chars =
|
|
3
|
+
let chars = '';
|
|
4
4
|
for (let i = 0; i < length; ++i) {
|
|
5
|
-
chars
|
|
5
|
+
chars += randomChar();
|
|
6
6
|
}
|
|
7
|
-
return chars
|
|
7
|
+
return chars;
|
|
8
|
+
}
|
|
9
|
+
function randomChar() {
|
|
10
|
+
return CHARS[Math.floor(Math.random() * CHARS.length)];
|
|
8
11
|
}
|
|
@@ -136,19 +136,19 @@ export declare type RawBuilderFactory<DB, TB extends keyof DB> = (qb: Expression
|
|
|
136
136
|
export declare type AliasedRawBuilderFactory<DB, TB extends keyof DB> = (qb: ExpressionBuilder<DB, TB>) => AnyAliasedRawBuilder;
|
|
137
137
|
export interface InsertResultTypeTag {
|
|
138
138
|
/** @internal */
|
|
139
|
-
__isInsertResultTypeTag__: true;
|
|
139
|
+
readonly __isInsertResultTypeTag__: true;
|
|
140
140
|
}
|
|
141
141
|
export interface DeleteResultTypeTag {
|
|
142
142
|
/** @internal */
|
|
143
|
-
__isDeleteResultTypeTag__: true;
|
|
143
|
+
readonly __isDeleteResultTypeTag__: true;
|
|
144
144
|
}
|
|
145
145
|
export interface UpdateResultTypeTag {
|
|
146
146
|
/** @internal */
|
|
147
|
-
__isUpdateResultTypeTag__: true;
|
|
147
|
+
readonly __isUpdateResultTypeTag__: true;
|
|
148
148
|
}
|
|
149
149
|
export interface GeneratedPlaceholder {
|
|
150
150
|
/** @internal */
|
|
151
|
-
__isGeneratedPlaceholder__: true;
|
|
151
|
+
readonly __isGeneratedPlaceholder__: true;
|
|
152
152
|
}
|
|
153
153
|
export declare type ManyResultRowType<O> = O extends InsertResultTypeTag ? number | undefined : O extends DeleteResultTypeTag ? number : O extends UpdateResultTypeTag ? number : O;
|
|
154
154
|
export declare type SingleResultRowType<O> = O extends InsertResultTypeTag ? number | undefined : O extends DeleteResultTypeTag ? number : O extends UpdateResultTypeTag ? number : O | undefined;
|