Files
notesnook/packages/core/patches/kysely+0.26.3.patch
2024-03-21 11:14:54 +05:00

8945 lines
479 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts
index dc87916..e3fb628 100644
--- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts
+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts
@@ -7,6 +7,14 @@ import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js';
* they are added and there will be less breaking changes.
*/
export declare abstract class DialectAdapterBase implements DialectAdapter {
+ /**
+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc.
+ *
+ * If this is false, Kysely's internal migrations tables and schemas are created
+ * without `if not exists` in migrations. This is not a problem if the dialect
+ * supports transactional DDL.
+ */
+ get supportsCreateIfNotExists(): boolean;
/**
* Whether or not this dialect supports transactional DDL.
*
diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js
index a8a950f..53c47b0 100644
--- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js
+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js
@@ -8,6 +8,9 @@ exports.DialectAdapterBase = void 0;
* they are added and there will be less breaking changes.
*/
class DialectAdapterBase {
+ get supportsCreateIfNotExists() {
+ return true;
+ }
get supportsTransactionalDdl() {
return false;
}
diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts
index 73a925a..73baab0 100644
--- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts
+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts
@@ -1,4 +1,4 @@
-import { Kysely } from '../kysely.js';
+import { Kysely } from 'kysely/dist/cjs/kysely.js';
/**
* A `DialectAdapter` encapsulates all differences between dialects outside
* of `Driver` and `QueryCompiler`.
@@ -8,6 +8,14 @@ import { Kysely } from '../kysely.js';
* it. For that there's a `supportsTransactionalDdl` boolean in this interface.
*/
export interface DialectAdapter {
+ /**
+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc.
+ *
+ * If this is false, Kysely's internal migrations tables and schemas are created
+ * without `if not exists` in migrations. This is not a problem if the dialect
+ * supports transactional DDL.
+ */
+ readonly supportsCreateIfNotExists: boolean;
/**
* Whether or not this dialect supports transactional DDL.
*
diff --git a/node_modules/kysely/dist/cjs/dialect/dialect.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect.d.ts
index 58c74f9..a84ed23 100644
--- a/node_modules/kysely/dist/cjs/dialect/dialect.d.ts
+++ b/node_modules/kysely/dist/cjs/dialect/dialect.d.ts
@@ -1,8 +1,8 @@
-import { Driver } from '../driver/driver.js';
-import { Kysely } from '../kysely.js';
-import { QueryCompiler } from '../query-compiler/query-compiler.js';
-import { DatabaseIntrospector } from './database-introspector.js';
-import { DialectAdapter } from './dialect-adapter.js';
+import { Driver } from 'kysely/dist/cjs/driver/driver.js';
+import { Kysely } from 'kysely/dist/cjs/kysely.js';
+import { QueryCompiler } from 'kysely/dist/cjs/query-compiler/query-compiler.js';
+import { DatabaseIntrospector } from 'kysely/dist/cjs/dialect/database-introspector.js';
+import { DialectAdapter } from 'kysely/dist/cjs/dialect/dialect-adapter.js';
/**
* A Dialect is the glue between Kysely and the underlying database engine.
*
diff --git a/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js b/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js
index 4f205f4..a67ea6f 100644
--- a/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js
+++ b/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js
@@ -28,7 +28,7 @@ class PostgresDriver {
// The driver must take care of calling `onCreateConnection` when a new
// connection is created. The `pg` module doesn't provide an async hook
// for the connection creation. We need to call the method explicitly.
- if (this.#config?.onCreateConnection) {
+ if (this.#config.onCreateConnection) {
await this.#config.onCreateConnection(connection);
}
}
diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts
index 69a0a7d..550df53 100644
--- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts
+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts
@@ -1,7 +1,7 @@
import { Kysely } from '../../kysely.js';
import { DialectAdapterBase } from '../dialect-adapter-base.js';
import { MigrationLockOptions } from '../dialect-adapter.js';
-export declare class SqliteAdapter implements DialectAdapterBase {
+export declare class SqliteAdapter extends DialectAdapterBase {
/**
* Whether or not this dialect supports transactional DDL.
*
diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js
index 78850a0..ef9f504 100644
--- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js
+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js
@@ -1,7 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SqliteAdapter = void 0;
-class SqliteAdapter {
+const dialect_adapter_base_js_1 = require("../dialect-adapter-base.js");
+class SqliteAdapter extends dialect_adapter_base_js_1.DialectAdapterBase {
get supportsTransactionalDdl() {
return false;
}
diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts
index 810af98..a873682 100644
--- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts
+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts
@@ -37,4 +37,5 @@ export interface SqliteStatement {
changes: number | bigint;
lastInsertRowid: number | bigint;
};
+ iterate(parameters: ReadonlyArray<unknown>): IterableIterator<unknown>;
}
diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js
index 13594af..99676cf 100644
--- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js
+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js
@@ -1,6 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SqliteDriver = void 0;
+const select_query_node_js_1 = require("../../operation-node/select-query-node.js");
const compiled_query_js_1 = require("../../query-compiler/compiled-query.js");
const object_utils_js_1 = require("../../util/object-utils.js");
class SqliteDriver {
@@ -70,8 +71,20 @@ class SqliteConnection {
});
}
}
- async *streamQuery() {
- throw new Error("Sqlite driver doesn't support streaming");
+ async *streamQuery(compiledQuery, _chunkSize) {
+ const { sql, parameters, query } = compiledQuery;
+ const stmt = this.#db.prepare(sql);
+ if (select_query_node_js_1.SelectQueryNode.is(query)) {
+ const iter = stmt.iterate(parameters);
+ for (const row of iter) {
+ yield {
+ rows: [row],
+ };
+ }
+ }
+ else {
+ throw new Error('Sqlite driver only supports streaming of select queries');
+ }
}
}
class ConnectionMutex {
diff --git a/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts b/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts
index a75244c..8a5003c 100644
--- a/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts
+++ b/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts
@@ -1,4 +1,4 @@
-import { DatabaseConnection } from './database-connection.js';
+import { DatabaseConnection } from 'kysely/dist/cjs/driver/database-connection.js';
export interface ConnectionProvider {
/**
* Provides a connection for the callback and takes care of disposing
diff --git a/node_modules/kysely/dist/cjs/driver/database-connection.d.ts b/node_modules/kysely/dist/cjs/driver/database-connection.d.ts
index 8a4766e..2902362 100644
--- a/node_modules/kysely/dist/cjs/driver/database-connection.d.ts
+++ b/node_modules/kysely/dist/cjs/driver/database-connection.d.ts
@@ -1,4 +1,4 @@
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
/**
* A single connection to the database engine.
*
diff --git a/node_modules/kysely/dist/cjs/driver/driver.d.ts b/node_modules/kysely/dist/cjs/driver/driver.d.ts
index 00babcb..5f317f4 100644
--- a/node_modules/kysely/dist/cjs/driver/driver.d.ts
+++ b/node_modules/kysely/dist/cjs/driver/driver.d.ts
@@ -1,5 +1,5 @@
-import { ArrayItemType } from '../util/type-utils.js';
-import { DatabaseConnection } from './database-connection.js';
+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js';
+import { DatabaseConnection } from 'kysely/dist/cjs/driver/database-connection.js';
/**
* A Driver creates and releases {@link DatabaseConnection | database connections}
* and is also responsible for connection pooling (if the dialect supports pooling).
@@ -40,5 +40,5 @@ export interface Driver {
export interface TransactionSettings {
readonly isolationLevel?: IsolationLevel;
}
-export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"];
+export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable", "snapshot"];
export type IsolationLevel = ArrayItemType<typeof TRANSACTION_ISOLATION_LEVELS>;
diff --git a/node_modules/kysely/dist/cjs/driver/driver.js b/node_modules/kysely/dist/cjs/driver/driver.js
index 8acf3ea..80b9c33 100644
--- a/node_modules/kysely/dist/cjs/driver/driver.js
+++ b/node_modules/kysely/dist/cjs/driver/driver.js
@@ -6,4 +6,5 @@ exports.TRANSACTION_ISOLATION_LEVELS = [
'read committed',
'repeatable read',
'serializable',
+ 'snapshot',
];
diff --git a/node_modules/kysely/dist/cjs/driver/single-connection-provider.js b/node_modules/kysely/dist/cjs/driver/single-connection-provider.js
index cf064c4..db6bca0 100644
--- a/node_modules/kysely/dist/cjs/driver/single-connection-provider.js
+++ b/node_modules/kysely/dist/cjs/driver/single-connection-provider.js
@@ -1,6 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SingleConnectionProvider = void 0;
+const ignoreError = () => { };
class SingleConnectionProvider {
#connection;
#runningPromise;
@@ -9,17 +10,15 @@ class SingleConnectionProvider {
}
async provideConnection(consumer) {
while (this.#runningPromise) {
- await this.#runningPromise;
+ await this.#runningPromise.catch(ignoreError);
}
- const promise = this.#run(consumer);
- this.#runningPromise = promise
- .then(() => {
- this.#runningPromise = undefined;
- })
- .catch(() => {
+ // `#runningPromise` must be set to undefined before it's
+ // resolved or rejected. Otherwise the while loop above
+ // will misbehave.
+ this.#runningPromise = this.#run(consumer).finally(() => {
this.#runningPromise = undefined;
});
- return promise;
+ return this.#runningPromise;
}
// Run the runner in an async function to make sure it doesn't
// throw synchronous errors.
diff --git a/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts b/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts
index 650ce82..5c6fec7 100644
--- a/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts
@@ -1,5 +1,5 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { SimpleReferenceExpressionNode } from '../operation-node/simple-reference-expression-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js';
export declare class DynamicReferenceBuilder<R extends string = never> implements OperationNodeSource {
#private;
get dynamicReference(): string;
diff --git a/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts b/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts
index f32b5ba..da5a1b7 100644
--- a/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts
+++ b/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts
@@ -1,4 +1,4 @@
-import { DynamicReferenceBuilder } from './dynamic-reference-builder.js';
+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js';
export declare class DynamicModule {
/**
* Creates a dynamic reference to a column that is not know at compile time.
diff --git a/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts b/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts
index 7b4a340..ba5c3a0 100644
--- a/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts
@@ -1,19 +1,20 @@
-import { SelectQueryBuilder } from '../query-builder/select-query-builder.js';
-import { TableExpression, From, FromTables, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from '../parser/table-parser.js';
-import { FunctionModule } from '../query-builder/function-module.js';
-import { ExtractTypeFromReferenceExpression, ReferenceExpression, SimpleReferenceExpression, StringReference } from '../parser/reference-parser.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { BinaryOperatorExpression, ComparisonOperatorExpression, FilterObject, OperandValueExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { Expression } from './expression.js';
-import { ExpressionWrapper } from './expression-wrapper.js';
-import { ComparisonOperator, JSONOperatorWith$, UnaryOperator } from '../operation-node/operator-node.js';
-import { SqlBool } from '../util/type-utils.js';
-import { ExtractTypeFromValueExpression } from '../parser/value-parser.js';
-import { CaseBuilder } from '../query-builder/case-builder.js';
-import { JSONPathBuilder } from '../query-builder/json-path-builder.js';
-import { OperandExpression } from '../parser/expression-parser.js';
-import { CallbackSelection, SelectCallback, SelectExpression, Selection } from '../parser/select-parser.js';
-import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js';
+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js';
+import { TableExpression, From, FromTables, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js';
+import { FunctionModule } from 'kysely/dist/cjs/query-builder/function-module.js';
+import { ExtractTypeFromReferenceExpression, ReferenceExpression, SimpleReferenceExpression, StringReference } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { BinaryOperatorExpression, ComparisonOperatorExpression, FilterObject, OperandValueExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js';
+import { ComparisonOperator, JSONOperatorWith$, UnaryOperator } from 'kysely/dist/cjs/operation-node/operator-node.js';
+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { ExtractTypeFromValueExpression } from 'kysely/dist/cjs/parser/value-parser.js';
+import { CaseBuilder } from 'kysely/dist/cjs/query-builder/case-builder.js';
+import { JSONPathBuilder } from 'kysely/dist/cjs/query-builder/json-path-builder.js';
+import { OperandExpression } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js';
+import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from 'kysely/dist/cjs/parser/tuple-parser.js';
+import { Selectable } from 'kysely/dist/cjs/util/column-type.js';
export interface ExpressionBuilder<DB, TB extends keyof DB> {
/**
* Creates a binary expression.
@@ -344,6 +345,30 @@ export interface ExpressionBuilder<DB, TB extends keyof DB> {
*/
ref<RE extends StringReference<DB, TB>>(reference: RE): ExpressionWrapper<DB, TB, ExtractTypeFromReferenceExpression<DB, TB, RE>>;
ref<RE extends StringReference<DB, TB>>(reference: RE, op: JSONOperatorWith$): JSONPathBuilder<ExtractTypeFromReferenceExpression<DB, TB, RE>>;
+ /**
+ * Creates a table reference.
+ *
+ * ```ts
+ * db.selectFrom('person')
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
+ * .select(eb => [
+ * 'person.id',
+ * sql<Pet[]>`jsonb_agg(${eb.table('pet')})`.as('pets')
+ * ])
+ * .groupBy('person.id')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * select "person"."id", jsonb_agg("pet") as "pets"
+ * from "person"
+ * inner join "pet" on "pet"."owner_id" = "person"."id"
+ * group by "person"."id"
+ * ```
+ */
+ table<T extends TB & string>(table: T): ExpressionWrapper<DB, TB, Selectable<DB[T]>>;
/**
* Returns a value expression.
*
diff --git a/node_modules/kysely/dist/cjs/expression/expression-builder.js b/node_modules/kysely/dist/cjs/expression/expression-builder.js
index 172dfab..cdcef14 100644
--- a/node_modules/kysely/dist/cjs/expression/expression-builder.js
+++ b/node_modules/kysely/dist/cjs/expression/expression-builder.js
@@ -60,8 +60,11 @@ function createExpressionBuilder(executor = noop_query_executor_js_1.NOOP_QUERY_
}
return new json_path_builder_js_1.JSONPathBuilder((0, reference_parser_js_1.parseJSONReference)(reference, op));
},
+ table(table) {
+ return new expression_wrapper_js_1.ExpressionWrapper((0, table_parser_js_1.parseTable)(table));
+ },
val(value) {
- return new expression_wrapper_js_1.ExpressionWrapper((0, value_parser_js_1.parseValueExpressionOrList)(value));
+ return new expression_wrapper_js_1.ExpressionWrapper((0, value_parser_js_1.parseValueExpression)(value));
},
refTuple(...values) {
return new expression_wrapper_js_1.ExpressionWrapper(tuple_node_js_1.TupleNode.create(values.map(reference_parser_js_1.parseReferenceExpression)));
diff --git a/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts b/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts
index 19799fd..d3c7b9f 100644
--- a/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts
+++ b/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts
@@ -1,14 +1,14 @@
-import { AliasNode } from '../operation-node/alias-node.js';
-import { AndNode } from '../operation-node/and-node.js';
-import { OperationNode } from '../operation-node/operation-node.js';
-import { OrNode } from '../operation-node/or-node.js';
-import { ParensNode } from '../operation-node/parens-node.js';
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { OperandExpression } from '../parser/expression-parser.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { KyselyTypeError } from '../util/type-error.js';
-import { SqlBool } from '../util/type-utils.js';
-import { AliasableExpression, AliasedExpression, Expression } from './expression.js';
+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js';
+import { AndNode } from 'kysely/dist/cjs/operation-node/and-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { OrNode } from 'kysely/dist/cjs/operation-node/or-node.js';
+import { ParensNode } from 'kysely/dist/cjs/operation-node/parens-node.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { OperandExpression } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js';
+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js';
export declare class ExpressionWrapper<DB, TB extends keyof DB, T> implements AliasableExpression<T> {
#private;
constructor(node: OperationNode);
diff --git a/node_modules/kysely/dist/cjs/expression/expression.d.ts b/node_modules/kysely/dist/cjs/expression/expression.d.ts
index 336ff2a..426f092 100644
--- a/node_modules/kysely/dist/cjs/expression/expression.d.ts
+++ b/node_modules/kysely/dist/cjs/expression/expression.d.ts
@@ -1,6 +1,6 @@
-import { AliasNode } from '../operation-node/alias-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { OperationNode } from '../operation-node/operation-node.js';
+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
/**
* `Expression` represents an arbitrary SQL expression with a type.
*
diff --git a/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts b/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts
index 6d18663..35715c2 100644
--- a/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts
+++ b/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts
@@ -1,7 +1,7 @@
-import { Expression } from '../expression/expression.js';
-import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js';
-import { RawBuilder } from '../raw-builder/raw-builder.js';
-import { Simplify } from '../util/type-utils.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js';
+import { RawBuilder } from 'kysely/dist/cjs/raw-builder/raw-builder.js';
+import { Simplify } from 'kysely/dist/cjs/util/type-utils.js';
/**
* A SQLite helper for aggregating a subquery into a JSON array.
*
diff --git a/node_modules/kysely/dist/cjs/index.d.ts b/node_modules/kysely/dist/cjs/index.d.ts
index cf166f8..37cf701 100644
--- a/node_modules/kysely/dist/cjs/index.d.ts
+++ b/node_modules/kysely/dist/cjs/index.d.ts
@@ -72,6 +72,12 @@ export * from './dialect/postgres/postgres-dialect.js';
export * from './dialect/sqlite/sqlite-query-compiler.js';
export * from './dialect/sqlite/sqlite-introspector.js';
export * from './dialect/sqlite/sqlite-adapter.js';
+export * from './dialect/mssql/mssql-adapter.js';
+export * from './dialect/mssql/mssql-dialect-config.js';
+export * from './dialect/mssql/mssql-dialect.js';
+export * from './dialect/mssql/mssql-driver.js';
+export * from './dialect/mssql/mssql-introspector.js';
+export * from './dialect/mssql/mssql-query-compiler.js';
export * from './query-compiler/default-query-compiler.js';
export * from './query-compiler/query-compiler.js';
export * from './migration/migrator.js';
@@ -176,7 +182,7 @@ export * from './util/compilable.js';
export * from './util/explainable.js';
export * from './util/streamable.js';
export * from './util/log.js';
-export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, } from './util/type-utils.js';
+export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, Nullable, } from './util/type-utils.js';
export * from './util/infer-result.js';
export { logOnce } from './util/log-once.js';
export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js';
diff --git a/node_modules/kysely/dist/cjs/kysely.d.ts b/node_modules/kysely/dist/cjs/kysely.d.ts
index 52e909a..b10152e 100644
--- a/node_modules/kysely/dist/cjs/kysely.d.ts
+++ b/node_modules/kysely/dist/cjs/kysely.d.ts
@@ -1,21 +1,21 @@
-import { Dialect } from './dialect/dialect.js';
-import { SchemaModule } from './schema/schema.js';
-import { DynamicModule } from './dynamic/dynamic.js';
-import { QueryExecutor } from './query-executor/query-executor.js';
-import { QueryCreator } from './query-creator.js';
-import { KyselyPlugin } from './plugin/kysely-plugin.js';
-import { DatabaseIntrospector } from './dialect/database-introspector.js';
-import { Driver, IsolationLevel } from './driver/driver.js';
-import { FunctionModule } from './query-builder/function-module.js';
-import { LogConfig } from './util/log.js';
-import { QueryExecutorProvider } from './query-executor/query-executor-provider.js';
-import { QueryResult } from './driver/database-connection.js';
-import { CompiledQuery } from './query-compiler/compiled-query.js';
-import { QueryId } from './util/query-id.js';
-import { Compilable } from './util/compilable.js';
-import { CaseBuilder } from './query-builder/case-builder.js';
-import { Expression } from './expression/expression.js';
-import { DrainOuterGeneric } from './util/type-utils.js';
+import { Dialect } from 'kysely/dist/cjs/dialect/dialect.js';
+import { SchemaModule } from 'kysely/dist/cjs/schema/schema.js';
+import { DynamicModule } from 'kysely/dist/cjs/dynamic/dynamic.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryCreator } from 'kysely/dist/cjs/query-creator.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { DatabaseIntrospector } from 'kysely/dist/cjs/dialect/database-introspector.js';
+import { Driver, IsolationLevel } from 'kysely/dist/cjs/driver/driver.js';
+import { FunctionModule } from 'kysely/dist/cjs/query-builder/function-module.js';
+import { LogConfig } from 'kysely/dist/cjs/util/log.js';
+import { QueryExecutorProvider } from 'kysely/dist/cjs/query-executor/query-executor-provider.js';
+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { CaseBuilder } from 'kysely/dist/cjs/query-builder/case-builder.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js';
/**
* The main Kysely class.
*
@@ -66,7 +66,7 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
/**
* Returns the {@link SchemaModule} module for building database schema.
*/
- get schema(): SchemaModule;
+ get schema(): SchemaModule<DB>;
/**
* Returns a the {@link DynamicModule} module.
*
diff --git a/node_modules/kysely/dist/cjs/migration/migrator.js b/node_modules/kysely/dist/cjs/migration/migrator.js
index 76f2d83..6f1c144 100644
--- a/node_modules/kysely/dist/cjs/migration/migrator.js
+++ b/node_modules/kysely/dist/cjs/migration/migrator.js
@@ -220,10 +220,7 @@ class Migrator {
}
if (!(await this.#doesSchemaExists())) {
try {
- await this.#props.db.schema
- .createSchema(this.#migrationTableSchema)
- .ifNotExists()
- .execute();
+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema));
}
catch (error) {
// At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema`
@@ -239,20 +236,15 @@ class Migrator {
if (!(await this.#doesTableExists(this.#migrationTable))) {
try {
if (this.#migrationTableSchema) {
- await this.#props.db.schema
- .createSchema(this.#migrationTableSchema)
- .ifNotExists()
- .execute();
+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema));
}
- await this.#props.db.schema
+ await this.#createIfNotExists(this.#props.db.schema
.withPlugin(this.#schemaPlugin)
.createTable(this.#migrationTable)
- .ifNotExists()
.addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey())
// The migration run time as ISO string. This is not a real date type as we
// can't know which data type is supported by all future dialects.
- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull())
- .execute();
+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()));
}
catch (error) {
// At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
@@ -267,13 +259,11 @@ class Migrator {
async #ensureMigrationLockTableExists() {
if (!(await this.#doesTableExists(this.#migrationLockTable))) {
try {
- await this.#props.db.schema
+ await this.#createIfNotExists(this.#props.db.schema
.withPlugin(this.#schemaPlugin)
.createTable(this.#migrationLockTable)
- .ifNotExists()
.addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey())
- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0))
- .execute();
+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)));
}
catch (error) {
// At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
@@ -481,6 +471,12 @@ class Migrator {
}
return { results };
}
+ async #createIfNotExists(qb) {
+ if (this.#props.db.getExecutor().adapter.supportsCreateIfNotExists) {
+ qb = qb.ifNotExists();
+ }
+ await qb.execute();
+ }
}
exports.Migrator = Migrator;
class MigrationResultSetError extends Error {
diff --git a/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts
index 03b5cff..fd8cd43 100644
--- a/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts
@@ -1,5 +1,5 @@
-import { ColumnDefinitionNode } from './column-definition-node.js';
-import { OperationNode } from './operation-node.js';
+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface AddColumnNode extends OperationNode {
readonly kind: 'AddColumnNode';
readonly column: ColumnDefinitionNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts
index a342b5b..aa7c2bd 100644
--- a/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { ConstraintNode } from './constraint-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ConstraintNode } from 'kysely/dist/cjs/operation-node/constraint-node.js';
export interface AddConstraintNode extends OperationNode {
readonly kind: 'AddConstraintNode';
readonly constraint: ConstraintNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts
new file mode 100644
index 0000000..5328a2a
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts
@@ -0,0 +1,21 @@
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js';
+export type AddIndexNodeProps = Omit<AddIndexNode, 'kind' | 'name'>;
+export interface AddIndexNode extends OperationNode {
+ readonly kind: 'AddIndexNode';
+ readonly name: IdentifierNode;
+ readonly columns?: OperationNode[];
+ readonly unique?: boolean;
+ readonly using?: RawNode;
+ readonly ifNotExists?: boolean;
+}
+/**
+ * @internal
+ */
+export declare const AddIndexNode: Readonly<{
+ is(node: OperationNode): node is AddIndexNode;
+ create(name: string): AddIndexNode;
+ cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode;
+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode;
+}>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/add-index-node.js b/node_modules/kysely/dist/cjs/operation-node/add-index-node.js
new file mode 100644
index 0000000..0341e28
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/add-index-node.js
@@ -0,0 +1,31 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.AddIndexNode = void 0;
+const object_utils_js_1 = require("../util/object-utils.js");
+const identifier_node_js_1 = require("./identifier-node.js");
+/**
+ * @internal
+ */
+exports.AddIndexNode = (0, object_utils_js_1.freeze)({
+ is(node) {
+ return node.kind === 'AddIndexNode';
+ },
+ create(name) {
+ return (0, object_utils_js_1.freeze)({
+ kind: 'AddIndexNode',
+ name: identifier_node_js_1.IdentifierNode.create(name)
+ });
+ },
+ cloneWith(node, props) {
+ return (0, object_utils_js_1.freeze)({
+ ...node,
+ ...props,
+ });
+ },
+ cloneWithColumns(node, columns) {
+ return (0, object_utils_js_1.freeze)({
+ ...node,
+ columns: [...(node.columns || []), ...columns],
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts
index a2a6857..b85dba9 100644
--- a/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts
@@ -1,6 +1,6 @@
-import { OperationNode } from './operation-node.js';
-import { OverNode } from './over-node.js';
-import { WhereNode } from './where-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { OverNode } from 'kysely/dist/cjs/operation-node/over-node.js';
+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js';
export interface AggregateFunctionNode extends OperationNode {
readonly kind: 'AggregateFunctionNode';
readonly func: string;
diff --git a/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts
index 552c69b..acd28e0 100644
--- a/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface AliasNode extends OperationNode {
readonly kind: 'AliasNode';
readonly node: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts
index e888419..07d95d4 100644
--- a/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts
@@ -1,6 +1,6 @@
-import { OperationNode } from './operation-node.js';
-import { ColumnNode } from './column-node.js';
-import { RawNode } from './raw-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js';
export type AlterColumnNodeProps = Omit<AlterColumnNode, 'kind' | 'column'>;
export interface AlterColumnNode extends OperationNode {
readonly kind: 'AlterColumnNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts
index 5b03535..0f2da61 100644
--- a/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts
@@ -1,14 +1,16 @@
-import { OperationNode } from './operation-node.js';
-import { AddColumnNode } from './add-column-node.js';
-import { DropColumnNode } from './drop-column-node.js';
-import { TableNode } from './table-node.js';
-import { IdentifierNode } from './identifier-node.js';
-import { RenameColumnNode } from './rename-column-node.js';
-import { AlterColumnNode } from './alter-column-node.js';
-import { AddConstraintNode } from './add-constraint-node.js';
-import { DropConstraintNode } from './drop-constraint-node.js';
-import { ModifyColumnNode } from './modify-column-node.js';
-export type AlterTableNodeTableProps = Pick<AlterTableNode, 'renameTo' | 'setSchema' | 'addConstraint' | 'dropConstraint'>;
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { AddColumnNode } from 'kysely/dist/cjs/operation-node/add-column-node.js';
+import { DropColumnNode } from 'kysely/dist/cjs/operation-node/drop-column-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { RenameColumnNode } from 'kysely/dist/cjs/operation-node/rename-column-node.js';
+import { AlterColumnNode } from 'kysely/dist/cjs/operation-node/alter-column-node.js';
+import { AddConstraintNode } from 'kysely/dist/cjs/operation-node/add-constraint-node.js';
+import { DropConstraintNode } from 'kysely/dist/cjs/operation-node/drop-constraint-node.js';
+import { ModifyColumnNode } from 'kysely/dist/cjs/operation-node/modify-column-node.js';
+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js';
+import { AddIndexNode } from 'kysely/dist/cjs/operation-node/add-index-node.js';
+export type AlterTableNodeTableProps = Pick<AlterTableNode, 'renameTo' | 'setSchema' | 'addConstraint' | 'dropConstraint' | 'addIndex' | 'dropIndex'>;
export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode;
export interface AlterTableNode extends OperationNode {
readonly kind: 'AlterTableNode';
@@ -18,6 +20,8 @@ export interface AlterTableNode extends OperationNode {
readonly columnAlterations?: ReadonlyArray<AlterTableColumnAlterationNode>;
readonly addConstraint?: AddConstraintNode;
readonly dropConstraint?: DropConstraintNode;
+ readonly addIndex?: AddIndexNode;
+ readonly dropIndex?: DropIndexNode;
}
/**
* @internal
diff --git a/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts
index ba1ffa4..5e24df8 100644
--- a/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface AndNode extends OperationNode {
readonly kind: 'AndNode';
readonly left: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts
index c4adeab..b9087e9 100644
--- a/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface BinaryOperationNode extends OperationNode {
readonly kind: 'BinaryOperationNode';
readonly leftOperand: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts
index 9a6dec1..5b55a5d 100644
--- a/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { WhenNode } from './when-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { WhenNode } from 'kysely/dist/cjs/operation-node/when-node.js';
export interface CaseNode extends OperationNode {
readonly kind: 'CaseNode';
readonly value?: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts
index 6e74d7c..24ec7bb 100644
--- a/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { IdentifierNode } from './identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
export interface CheckConstraintNode extends OperationNode {
readonly kind: 'CheckConstraintNode';
readonly expression: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts
index 6442d83..5e84167 100644
--- a/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts
@@ -1,9 +1,9 @@
-import { CheckConstraintNode } from './check-constraint-node.js';
-import { ColumnNode } from './column-node.js';
-import { DefaultValueNode } from './default-value-node.js';
-import { GeneratedNode } from './generated-node.js';
-import { OperationNode } from './operation-node.js';
-import { ReferencesNode } from './references-node.js';
+import { CheckConstraintNode } from 'kysely/dist/cjs/operation-node/check-constraint-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { DefaultValueNode } from 'kysely/dist/cjs/operation-node/default-value-node.js';
+import { GeneratedNode } from 'kysely/dist/cjs/operation-node/generated-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ReferencesNode } from 'kysely/dist/cjs/operation-node/references-node.js';
export type ColumnDefinitionNodeProps = Omit<Partial<ColumnDefinitionNode>, 'kind' | 'dataType'>;
export interface ColumnDefinitionNode extends OperationNode {
readonly kind: 'ColumnDefinitionNode';
@@ -20,6 +20,7 @@ export interface ColumnDefinitionNode extends OperationNode {
readonly unsigned?: boolean;
readonly frontModifiers?: ReadonlyArray<OperationNode>;
readonly endModifiers?: ReadonlyArray<OperationNode>;
+ readonly nullsNotDistinct?: boolean;
}
/**
* @internal
diff --git a/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts
index d07a8b4..9c71e55 100644
--- a/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts
@@ -1,5 +1,5 @@
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface ColumnNode extends OperationNode {
readonly kind: 'ColumnNode';
readonly column: IdentifierNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts
index 2e8ab34..865997c 100644
--- a/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts
@@ -1,8 +1,7 @@
-import { ColumnNode } from './column-node.js';
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface ColumnUpdateNode extends OperationNode {
readonly kind: 'ColumnUpdateNode';
- readonly column: ColumnNode;
+ readonly column: OperationNode;
readonly value: OperationNode;
}
/**
@@ -10,5 +9,5 @@ export interface ColumnUpdateNode extends OperationNode {
*/
export declare const ColumnUpdateNode: Readonly<{
is(node: OperationNode): node is ColumnUpdateNode;
- create(column: ColumnNode, value: OperationNode): ColumnUpdateNode;
+ create(column: OperationNode, value: OperationNode): ColumnUpdateNode;
}>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts
index fd1fb2f..83d7924 100644
--- a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts
@@ -1,6 +1,6 @@
-import { ColumnNode } from './column-node.js';
-import { OperationNode } from './operation-node.js';
-import { TableNode } from './table-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
export interface CommonTableExpressionNameNode extends OperationNode {
readonly kind: 'CommonTableExpressionNameNode';
readonly table: TableNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts
index c8a2f8a..34c1780 100644
--- a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts
@@ -1,5 +1,5 @@
-import { CommonTableExpressionNameNode } from './common-table-expression-name-node.js';
-import { OperationNode } from './operation-node.js';
+import { CommonTableExpressionNameNode } from 'kysely/dist/cjs/operation-node/common-table-expression-name-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
type CommonTableExpressionNodeProps = Pick<CommonTableExpressionNode, 'materialized'>;
export interface CommonTableExpressionNode extends OperationNode {
readonly kind: 'CommonTableExpressionNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts
index ef3548e..6da12df 100644
--- a/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts
@@ -1,5 +1,5 @@
-import { CheckConstraintNode } from './check-constraint-node.js';
-import { ForeignKeyConstraintNode } from './foreign-key-constraint-node.js';
-import { PrimaryKeyConstraintNode } from './primary-constraint-node.js';
-import { UniqueConstraintNode } from './unique-constraint-node.js';
+import { CheckConstraintNode } from 'kysely/dist/cjs/operation-node/check-constraint-node.js';
+import { ForeignKeyConstraintNode } from 'kysely/dist/cjs/operation-node/foreign-key-constraint-node.js';
+import { PrimaryKeyConstraintNode } from 'kysely/dist/cjs/operation-node/primary-constraint-node.js';
+import { UniqueConstraintNode } from 'kysely/dist/cjs/operation-node/unique-constraint-node.js';
export type ConstraintNode = PrimaryKeyConstraintNode | UniqueConstraintNode | CheckConstraintNode | ForeignKeyConstraintNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts
index a3a99d1..a18aa4a 100644
--- a/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts
@@ -1,8 +1,8 @@
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
-import { RawNode } from './raw-node.js';
-import { TableNode } from './table-node.js';
-import { WhereNode } from './where-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js';
export type CreateIndexNodeProps = Omit<CreateIndexNode, 'kind' | 'name'>;
export type IndexType = 'btree' | 'hash' | 'gist' | 'gin';
export interface CreateIndexNode extends OperationNode {
@@ -14,6 +14,7 @@ export interface CreateIndexNode extends OperationNode {
readonly using?: RawNode;
readonly ifNotExists?: boolean;
readonly where?: WhereNode;
+ readonly nullsNotDistinct?: boolean;
}
/**
* @internal
diff --git a/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts
index bb609f3..6a4fa7a 100644
--- a/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts
@@ -1,5 +1,5 @@
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type CreateSchemaNodeParams = Omit<Partial<CreateSchemaNode>, 'kind' | 'schema'>;
export interface CreateSchemaNode extends OperationNode {
readonly kind: 'CreateSchemaNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts
index cc8ceda..988b651 100644
--- a/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts
@@ -1,8 +1,8 @@
-import { OperationNode } from './operation-node.js';
-import { TableNode } from './table-node.js';
-import { ConstraintNode } from './constraint-node.js';
-import { ColumnDefinitionNode } from './column-definition-node.js';
-import { ArrayItemType } from '../util/type-utils.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
+import { ConstraintNode } from 'kysely/dist/cjs/operation-node/constraint-node.js';
+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js';
+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js';
export declare const ON_COMMIT_ACTIONS: string[];
export type OnCommitAction = ArrayItemType<typeof ON_COMMIT_ACTIONS>;
export type CreateTableNodeParams = Omit<CreateTableNode, 'kind' | 'table' | 'columns' | 'constraints' | 'frontModifiers' | 'endModifiers'>;
@@ -16,6 +16,7 @@ export interface CreateTableNode extends OperationNode {
readonly onCommit?: OnCommitAction;
readonly frontModifiers?: ReadonlyArray<OperationNode>;
readonly endModifiers?: ReadonlyArray<OperationNode>;
+ readonly selectQuery?: OperationNode;
}
/**
* @internal
diff --git a/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts
new file mode 100644
index 0000000..2eb8ae8
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts
@@ -0,0 +1,34 @@
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js';
+import { TriggerEventNode } from 'kysely/dist/cjs/operation-node/trigger-event-node.js';
+import { TriggerOrderNode } from 'kysely/dist/cjs/operation-node/trigger-order-node.js';
+import { FunctionNode } from 'kysely/dist/cjs/operation-node/function-node.js';
+export type TriggerTime = 'after' | 'before' | 'instead of';
+export type CreateTriggerNodeParams = Omit<CreateTriggerNode, 'kind' | 'name' | 'queries'>;
+export interface CreateTriggerNode extends OperationNode {
+ readonly kind: 'CreateTriggerNode';
+ readonly name: IdentifierNode;
+ readonly queries?: ReadonlyArray<QueryNode>;
+ readonly function?: FunctionNode;
+ readonly time?: TriggerTime;
+ readonly events?: ReadonlyArray<TriggerEventNode>;
+ readonly table?: TableNode;
+ readonly orReplace?: boolean;
+ readonly ifNotExists?: boolean;
+ readonly when?: OperationNode;
+ readonly temporary?: boolean;
+ readonly forEach?: 'row' | 'statement';
+ readonly order?: TriggerOrderNode;
+}
+/**
+ * @internal
+ */
+export declare const CreateTriggerNode: Readonly<{
+ is(node: OperationNode): node is CreateTriggerNode;
+ create(name: IdentifierNode): CreateTriggerNode;
+ cloneWithQuery(createTrigger: CreateTriggerNode, query: QueryNode): CreateTriggerNode;
+ cloneWithEvent(createTrigger: CreateTriggerNode, event: TriggerEventNode): CreateTriggerNode;
+ cloneWith(createTrigger: CreateTriggerNode, params: CreateTriggerNodeParams): CreateTriggerNode;
+}>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js
new file mode 100644
index 0000000..47ba119
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js
@@ -0,0 +1,36 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.CreateTriggerNode = void 0;
+const object_utils_js_1 = require("../util/object-utils.js");
+/**
+ * @internal
+ */
+exports.CreateTriggerNode = (0, object_utils_js_1.freeze)({
+ is(node) {
+ return node.kind === 'CreateTriggerNode';
+ },
+ create(name) {
+ return (0, object_utils_js_1.freeze)({
+ kind: 'CreateTriggerNode',
+ name,
+ });
+ },
+ cloneWithQuery(createTrigger, query) {
+ return (0, object_utils_js_1.freeze)({
+ ...createTrigger,
+ queries: (0, object_utils_js_1.freeze)([...(createTrigger.queries || []), query]),
+ });
+ },
+ cloneWithEvent(createTrigger, event) {
+ return (0, object_utils_js_1.freeze)({
+ ...createTrigger,
+ events: (0, object_utils_js_1.freeze)([...(createTrigger.events || []), event]),
+ });
+ },
+ cloneWith(createTrigger, params) {
+ return (0, object_utils_js_1.freeze)({
+ ...createTrigger,
+ ...params,
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts
index 3ab9c3b..382285f 100644
--- a/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts
@@ -1,6 +1,6 @@
-import { OperationNode } from './operation-node.js';
-import { SchemableIdentifierNode } from './schemable-identifier-node.js';
-import { ValueListNode } from './value-list-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js';
+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js';
export type CreateTypeNodeParams = Omit<Partial<CreateTypeNode>, 'kind'>;
export interface CreateTypeNode extends OperationNode {
readonly kind: 'CreateTypeNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts
index 9aa1faa..8db7a40 100644
--- a/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts
@@ -1,8 +1,8 @@
-import { ColumnNode } from './column-node.js';
-import { OperationNode } from './operation-node.js';
-import { RawNode } from './raw-node.js';
-import { SchemableIdentifierNode } from './schemable-identifier-node.js';
-import { SelectQueryNode } from './select-query-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js';
+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js';
+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js';
export type CreateViewNodeParams = Omit<Partial<CreateViewNode>, 'kind' | 'name'>;
export interface CreateViewNode extends OperationNode {
readonly kind: 'CreateViewNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts
index 1ab9f33..83557e4 100644
--- a/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type ColumnDataType = 'varchar' | `varchar(${number})` | 'char' | `char(${number})` | 'text' | 'integer' | 'int2' | 'int4' | 'int8' | 'bigint' | 'boolean' | 'real' | 'double precision' | 'float4' | 'float8' | 'decimal' | `decimal(${number}, ${number})` | 'numeric' | `numeric(${number}, ${number})` | 'binary' | `binary(${number})` | 'bytea' | 'date' | 'datetime' | `datetime(${number})` | 'time' | `time(${number})` | 'timetz' | `timetz(${number})` | 'timestamp' | `timestamp(${number})` | 'timestamptz' | `timestamptz(${number})` | 'serial' | 'bigserial' | 'uuid' | 'json' | 'jsonb' | 'blob';
export type DataTypeParams = Omit<DataTypeNode, 'kind' | 'dataType'>;
export interface DataTypeNode extends OperationNode {
diff --git a/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts
index 2df8841..0884b9c 100644
--- a/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface DefaultValueNode extends OperationNode {
readonly kind: 'DefaultValueNode';
readonly defaultValue: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts
index 10d7f15..a993d3f 100644
--- a/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts
@@ -1,14 +1,14 @@
-import { FromNode } from './from-node.js';
-import { JoinNode } from './join-node.js';
-import { OperationNode } from './operation-node.js';
-import { ReturningNode } from './returning-node.js';
-import { WhereNode } from './where-node.js';
-import { WithNode } from './with-node.js';
-import { LimitNode } from './limit-node.js';
-import { OrderByNode } from './order-by-node.js';
-import { OrderByItemNode } from './order-by-item-node.js';
-import { ExplainNode } from './explain-node.js';
-import { UsingNode } from './using-node.js';
+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js';
+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js';
+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js';
+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js';
+import { LimitNode } from 'kysely/dist/cjs/operation-node/limit-node.js';
+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js';
+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js';
+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js';
+import { UsingNode } from 'kysely/dist/cjs/operation-node/using-node.js';
export interface DeleteQueryNode extends OperationNode {
readonly kind: 'DeleteQueryNode';
readonly from: FromNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts
index 10e13a2..83fb6d7 100644
--- a/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { ColumnNode } from './column-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
export interface DropColumnNode extends OperationNode {
readonly kind: 'DropColumnNode';
readonly column: ColumnNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts
index f5ccb05..f7f7660 100644
--- a/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { IdentifierNode } from './identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
export type DropConstraintNodeProps = Omit<DropConstraintNode, 'kind' | 'constraintName'>;
export interface DropConstraintNode extends OperationNode {
readonly kind: 'DropConstraintNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts
index 2cc565e..8159449 100644
--- a/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts
@@ -1,6 +1,6 @@
-import { OperationNode } from './operation-node.js';
-import { SchemableIdentifierNode } from './schemable-identifier-node.js';
-import { TableNode } from './table-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
export type DropIndexNodeProps = Omit<DropIndexNode, 'kind' | 'name'>;
export interface DropIndexNode extends OperationNode {
readonly kind: 'DropIndexNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts
index 98166ad..34147fc 100644
--- a/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts
@@ -1,5 +1,5 @@
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type DropSchemaNodeParams = Omit<Partial<DropSchemaNode>, 'kind' | 'schema'>;
export interface DropSchemaNode extends OperationNode {
readonly kind: 'DropSchemaNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts
index ab35e3e..ae42660 100644
--- a/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { TableNode } from './table-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
export type DropTablexNodeParams = Omit<Partial<DropTableNode>, 'kind' | 'table'>;
export interface DropTableNode extends OperationNode {
readonly kind: 'DropTableNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts
new file mode 100644
index 0000000..e391cf9
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts
@@ -0,0 +1,17 @@
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js';
+export type DropTriggerNodeParams = Omit<Partial<DropTriggerNode>, 'kind' | 'name'>;
+export interface DropTriggerNode extends OperationNode {
+ readonly kind: 'DropTriggerNode';
+ readonly name: SchemableIdentifierNode;
+ readonly ifExists?: boolean;
+ readonly cascade?: boolean;
+}
+/**
+ * @internal
+ */
+export declare const DropTriggerNode: Readonly<{
+ is(node: OperationNode): node is DropTriggerNode;
+ create(name: SchemableIdentifierNode): DropTriggerNode;
+ cloneWith(dropTrigger: DropTriggerNode, params: DropTriggerNodeParams): DropTriggerNode;
+}>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js
new file mode 100644
index 0000000..2bb067e
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js
@@ -0,0 +1,24 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.DropTriggerNode = void 0;
+const object_utils_js_1 = require("../util/object-utils.js");
+/**
+ * @internal
+ */
+exports.DropTriggerNode = (0, object_utils_js_1.freeze)({
+ is(node) {
+ return node.kind === 'DropTriggerNode';
+ },
+ create(name) {
+ return (0, object_utils_js_1.freeze)({
+ kind: 'DropTriggerNode',
+ name,
+ });
+ },
+ cloneWith(dropTrigger, params) {
+ return (0, object_utils_js_1.freeze)({
+ ...dropTrigger,
+ ...params,
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts
index 9693550..b162606 100644
--- a/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { SchemableIdentifierNode } from './schemable-identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js';
export type DropTypeNodeParams = Omit<Partial<DropTypeNode>, 'kind' | 'name'>;
export interface DropTypeNode extends OperationNode {
readonly kind: 'DropTypeNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts
index 2c4bf89..316775d 100644
--- a/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { SchemableIdentifierNode } from './schemable-identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js';
export type DropViewNodeParams = Omit<Partial<DropViewNode>, 'kind' | 'name'>;
export interface DropViewNode extends OperationNode {
readonly kind: 'DropViewNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts
index 8cf89b5..ddd4cd0 100644
--- a/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts
@@ -1,5 +1,5 @@
-import { ExplainFormat } from '../util/explainable.js';
-import { OperationNode } from './operation-node.js';
+import { ExplainFormat } from 'kysely/dist/cjs/util/explainable.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface ExplainNode extends OperationNode {
readonly kind: 'ExplainNode';
readonly format?: ExplainFormat;
diff --git a/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts
index c7fe574..408bd48 100644
--- a/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts
@@ -1,8 +1,8 @@
-import { ColumnNode } from './column-node.js';
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
-import { OnModifyForeignAction, ReferencesNode } from './references-node.js';
-import { TableNode } from './table-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { OnModifyForeignAction, ReferencesNode } from 'kysely/dist/cjs/operation-node/references-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
export type ForeignKeyConstraintNodeProps = Omit<ForeignKeyConstraintNode, 'kind' | 'columns' | 'references'>;
export interface ForeignKeyConstraintNode extends OperationNode {
readonly kind: 'ForeignKeyConstraintNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts
index 2c46520..3d63e3b 100644
--- a/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface FromNode extends OperationNode {
readonly kind: 'FromNode';
readonly froms: ReadonlyArray<OperationNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts
index 49aab00..05a1632 100644
--- a/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface FunctionNode extends OperationNode {
readonly kind: 'FunctionNode';
readonly func: string;
diff --git a/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts
index 5c86a9f..9a4c356 100644
--- a/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type GeneratedNodeParams = Omit<GeneratedNode, 'kind' | 'expression'>;
export interface GeneratedNode extends OperationNode {
readonly kind: 'GeneratedNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts
index 475ce87..5aeb92c 100644
--- a/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface GroupByItemNode extends OperationNode {
readonly kind: 'GroupByItemNode';
readonly groupBy: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts
index 9b0b108..c8e9315 100644
--- a/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { GroupByItemNode } from './group-by-item-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js';
export interface GroupByNode extends OperationNode {
readonly kind: 'GroupByNode';
readonly items: ReadonlyArray<GroupByItemNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts
index 14830a3..fe2c59e 100644
--- a/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface HavingNode extends OperationNode {
readonly kind: 'HavingNode';
readonly having: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts
index f74014d..2ee967e 100644
--- a/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface IdentifierNode extends OperationNode {
readonly kind: 'IdentifierNode';
readonly name: string;
diff --git a/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts
index f28ce2c..56406a5 100644
--- a/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts
@@ -1,11 +1,11 @@
-import { ColumnNode } from './column-node.js';
-import { ExplainNode } from './explain-node.js';
-import { OnConflictNode } from './on-conflict-node.js';
-import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
-import { OperationNode } from './operation-node.js';
-import { ReturningNode } from './returning-node.js';
-import { TableNode } from './table-node.js';
-import { WithNode } from './with-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js';
+import { OnConflictNode } from 'kysely/dist/cjs/operation-node/on-conflict-node.js';
+import { OnDuplicateKeyNode } from 'kysely/dist/cjs/operation-node/on-duplicate-key-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js';
export type InsertQueryNodeProps = Omit<InsertQueryNode, 'kind' | 'into'>;
export interface InsertQueryNode extends OperationNode {
readonly kind: 'InsertQueryNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts
index ceb98ea..f95944b 100644
--- a/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts
@@ -1,5 +1,5 @@
-import { OnNode } from './on-node.js';
-import { OperationNode } from './operation-node.js';
+import { OnNode } from 'kysely/dist/cjs/operation-node/on-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin';
export interface JoinNode extends OperationNode {
readonly kind: 'JoinNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts
index 87cacdf..2dbbb66 100644
--- a/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts
@@ -1,6 +1,6 @@
-import { OperationNode } from './operation-node.js';
-import { OperatorNode } from './operator-node.js';
-import { ValueNode } from './value-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { OperatorNode } from 'kysely/dist/cjs/operation-node/operator-node.js';
+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js';
export interface JSONOperatorChainNode extends OperationNode {
readonly kind: 'JSONOperatorChainNode';
readonly operator: OperatorNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts
index f0b498b..8b25b88 100644
--- a/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type JSONPathLegType = 'Member' | 'ArrayLocation';
export interface JSONPathLegNode extends OperationNode {
readonly kind: 'JSONPathLegNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts
index 91243ed..93c8ccf 100644
--- a/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts
@@ -1,6 +1,6 @@
-import { JSONPathLegNode } from './json-path-leg-node.js';
-import { OperationNode } from './operation-node.js';
-import { OperatorNode } from './operator-node.js';
+import { JSONPathLegNode } from 'kysely/dist/cjs/operation-node/json-path-leg-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { OperatorNode } from 'kysely/dist/cjs/operation-node/operator-node.js';
export interface JSONPathNode extends OperationNode {
readonly kind: 'JSONPathNode';
readonly inOperator?: OperatorNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts
index 9ba1b27..e225b19 100644
--- a/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts
@@ -1,7 +1,7 @@
-import { JSONOperatorChainNode } from './json-operator-chain-node.js';
-import { JSONPathNode } from './json-path-node.js';
-import { OperationNode } from './operation-node.js';
-import { ReferenceNode } from './reference-node.js';
+import { JSONOperatorChainNode } from 'kysely/dist/cjs/operation-node/json-operator-chain-node.js';
+import { JSONPathNode } from 'kysely/dist/cjs/operation-node/json-path-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js';
export interface JSONReferenceNode extends OperationNode {
readonly kind: 'JSONReferenceNode';
readonly reference: ReferenceNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts
index 3c3de76..25d3c5a 100644
--- a/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { ValueNode } from './value-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js';
export interface LimitNode extends OperationNode {
readonly kind: 'LimitNode';
readonly limit: ValueNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts
index e25d4cf..c414d3a 100644
--- a/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts
@@ -1,5 +1,5 @@
-import { ColumnDefinitionNode } from './column-definition-node.js';
-import { OperationNode } from './operation-node.js';
+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface ModifyColumnNode extends OperationNode {
readonly kind: 'ModifyColumnNode';
readonly column: ColumnDefinitionNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts
index 03158b0..daa5e72 100644
--- a/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { ValueNode } from './value-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js';
export interface OffsetNode extends OperationNode {
readonly kind: 'OffsetNode';
readonly offset: ValueNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts
index bbd7b2c..71072c8 100644
--- a/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts
@@ -1,8 +1,8 @@
-import { ColumnNode } from './column-node.js';
-import { ColumnUpdateNode } from './column-update-node.js';
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
-import { WhereNode } from './where-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js';
export type OnConflictNodeProps = Omit<OnConflictNode, 'kind' | 'indexWhere' | 'updateWhere'>;
export interface OnConflictNode extends OperationNode {
readonly kind: 'OnConflictNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts
index 63aa5b8..e2a6bdc 100644
--- a/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts
@@ -1,5 +1,5 @@
-import { ColumnUpdateNode } from './column-update-node.js';
-import { OperationNode } from './operation-node.js';
+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type OnDuplicateKeyNodeProps = Omit<OnDuplicateKeyNode, 'kind'>;
export interface OnDuplicateKeyNode extends OperationNode {
readonly kind: 'OnDuplicateKeyNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts
index 97f6383..f2508e3 100644
--- a/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface OnNode extends OperationNode {
readonly kind: 'OnNode';
readonly on: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts
index 6dc3661..24698c3 100644
--- a/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface OperationNodeSource {
toOperationNode(): OperationNode;
}
diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts
index 6b3a13c..5d7fd9d 100644
--- a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts
@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js';
import { JSONPathLegNode } from './json-path-leg-node.js';
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
import { TupleNode } from './tuple-node.js';
+import { AddIndexNode } from './add-index-node.js';
+import { CreateTriggerNode } from './create-trigger-node.js';
+import { DropTriggerNode } from './drop-trigger-node.js';
+import { TriggerEventNode } from './trigger-event-node.js';
+import { TriggerOrderNode } from './trigger-order-node.js';
/**
* Transforms an operation node tree into another one.
*
@@ -139,9 +144,13 @@ export declare class OperationNodeTransformer {
protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode;
protected transformReturning(node: ReturningNode): ReturningNode;
protected transformCreateTable(node: CreateTableNode): CreateTableNode;
+ protected transformCreateTrigger(node: CreateTriggerNode): CreateTriggerNode;
+ protected transformTriggerEvent(node: TriggerEventNode): TriggerEventNode;
+ protected transformTriggerOrder(node: TriggerOrderNode): TriggerOrderNode;
protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode;
protected transformAddColumn(node: AddColumnNode): AddColumnNode;
protected transformDropTable(node: DropTableNode): DropTableNode;
+ protected transformDropTrigger(node: DropTriggerNode): DropTriggerNode;
protected transformOrderBy(node: OrderByNode): OrderByNode;
protected transformOrderByItem(node: OrderByItemNode): OrderByItemNode;
protected transformGroupBy(node: GroupByNode): GroupByNode;
@@ -199,6 +208,7 @@ export declare class OperationNodeTransformer {
protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode;
protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode;
protected transformTuple(node: TupleNode): TupleNode;
+ protected transformAddIndex(node: AddIndexNode): AddIndexNode;
protected transformDataType(node: DataTypeNode): DataTypeNode;
protected transformSelectAll(node: SelectAllNode): SelectAllNode;
protected transformIdentifier(node: IdentifierNode): IdentifierNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js
index bc3d0a4..839914f 100644
--- a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js
+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js
@@ -121,6 +121,11 @@ class OperationNodeTransformer {
JSONPathLegNode: this.transformJSONPathLeg.bind(this),
JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this),
TupleNode: this.transformTuple.bind(this),
+ AddIndexNode: this.transformAddIndex.bind(this),
+ CreateTriggerNode: this.transformCreateTrigger.bind(this),
+ TriggerEventNode: this.transformTriggerEvent.bind(this),
+ TriggerOrderNode: this.transformTriggerOrder.bind(this),
+ DropTriggerNode: this.transformDropTrigger.bind(this),
});
transformNode(node) {
if (!node) {
@@ -297,6 +302,38 @@ class OperationNodeTransformer {
onCommit: node.onCommit,
frontModifiers: this.transformNodeList(node.frontModifiers),
endModifiers: this.transformNodeList(node.endModifiers),
+ selectQuery: this.transformNode(node.selectQuery),
+ });
+ }
+ transformCreateTrigger(node) {
+ return (0, require_all_props_js_1.requireAllProps)({
+ kind: 'CreateTriggerNode',
+ name: this.transformNode(node.name),
+ table: this.transformNode(node.table),
+ ifNotExists: node.ifNotExists,
+ time: node.time,
+ events: this.transformNodeList(node.events),
+ forEach: node.forEach,
+ orReplace: node.orReplace,
+ temporary: node.temporary,
+ queries: this.transformNodeList(node.queries),
+ function: this.transformNode(node.function),
+ when: this.transformNode(node.when),
+ order: this.transformNode(node.order),
+ });
+ }
+ transformTriggerEvent(node) {
+ return (0, require_all_props_js_1.requireAllProps)({
+ kind: 'TriggerEventNode',
+ event: node.event,
+ columns: this.transformNodeList(node.columns),
+ });
+ }
+ transformTriggerOrder(node) {
+ return (0, require_all_props_js_1.requireAllProps)({
+ kind: 'TriggerOrderNode',
+ order: node.order,
+ otherTriggerName: this.transformNode(node.otherTriggerName),
});
}
transformColumnDefinition(node) {
@@ -315,6 +352,7 @@ class OperationNodeTransformer {
generated: this.transformNode(node.generated),
frontModifiers: this.transformNodeList(node.frontModifiers),
endModifiers: this.transformNodeList(node.endModifiers),
+ nullsNotDistinct: node.nullsNotDistinct,
});
}
transformAddColumn(node) {
@@ -331,6 +369,14 @@ class OperationNodeTransformer {
cascade: node.cascade,
});
}
+ transformDropTrigger(node) {
+ return (0, require_all_props_js_1.requireAllProps)({
+ kind: 'DropTriggerNode',
+ name: this.transformNode(node.name),
+ ifExists: node.ifExists,
+ cascade: node.cascade,
+ });
+ }
transformOrderBy(node) {
return (0, require_all_props_js_1.requireAllProps)({
kind: 'OrderByNode',
@@ -416,6 +462,7 @@ class OperationNodeTransformer {
using: this.transformNode(node.using),
ifNotExists: node.ifNotExists,
where: this.transformNode(node.where),
+ nullsNotDistinct: node.nullsNotDistinct,
});
}
transformList(node) {
@@ -445,6 +492,7 @@ class OperationNodeTransformer {
kind: 'UniqueConstraintNode',
columns: this.transformNodeList(node.columns),
name: this.transformNode(node.name),
+ nullsNotDistinct: node.nullsNotDistinct,
});
}
transformForeignKeyConstraint(node) {
@@ -533,6 +581,8 @@ class OperationNodeTransformer {
columnAlterations: this.transformNodeList(node.columnAlterations),
addConstraint: this.transformNode(node.addConstraint),
dropConstraint: this.transformNode(node.dropConstraint),
+ addIndex: this.transformNode(node.addIndex),
+ dropIndex: this.transformNode(node.dropIndex),
});
}
transformDropColumn(node) {
@@ -765,6 +815,16 @@ class OperationNodeTransformer {
values: this.transformNodeList(node.values),
});
}
+ transformAddIndex(node) {
+ return (0, require_all_props_js_1.requireAllProps)({
+ kind: 'AddIndexNode',
+ name: this.transformNode(node.name),
+ columns: this.transformNodeList(node.columns),
+ unique: node.unique,
+ using: this.transformNode(node.using),
+ ifNotExists: node.ifNotExists,
+ });
+ }
transformDataType(node) {
// An Object.freezed leaf node. No need to clone.
return node;
diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts
index 7c267cd..6a66bc7 100644
--- a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts
@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js';
import { JSONPathLegNode } from './json-path-leg-node.js';
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
import { TupleNode } from './tuple-node.js';
+import { AddIndexNode } from './add-index-node.js';
+import { CreateTriggerNode } from './create-trigger-node.js';
+import { DropTriggerNode } from './drop-trigger-node.js';
+import { TriggerEventNode } from './trigger-event-node.js';
+import { TriggerOrderNode } from './trigger-order-node.js';
export declare abstract class OperationNodeVisitor {
#private;
protected readonly nodeStack: OperationNode[];
@@ -108,9 +113,13 @@ export declare abstract class OperationNodeVisitor {
protected abstract visitDeleteQuery(node: DeleteQueryNode): void;
protected abstract visitReturning(node: ReturningNode): void;
protected abstract visitCreateTable(node: CreateTableNode): void;
+ protected abstract visitCreateTrigger(node: CreateTriggerNode): void;
+ protected abstract visitTriggerEvent(node: TriggerEventNode): void;
+ protected abstract visitTriggerOrder(node: TriggerOrderNode): void;
protected abstract visitAddColumn(node: AddColumnNode): void;
protected abstract visitColumnDefinition(node: ColumnDefinitionNode): void;
protected abstract visitDropTable(node: DropTableNode): void;
+ protected abstract visitDropTrigger(node: DropTriggerNode): void;
protected abstract visitOrderBy(node: OrderByNode): void;
protected abstract visitOrderByItem(node: OrderByItemNode): void;
protected abstract visitGroupBy(node: GroupByNode): void;
@@ -176,4 +185,5 @@ export declare abstract class OperationNodeVisitor {
protected abstract visitJSONPathLeg(node: JSONPathLegNode): void;
protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void;
protected abstract visitTuple(node: TupleNode): void;
+ protected abstract visitAddIndex(node: AddIndexNode): void;
}
diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js
index 8a50e0b..acc4d6e 100644
--- a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js
+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js
@@ -94,6 +94,11 @@ class OperationNodeVisitor {
JSONPathLegNode: this.visitJSONPathLeg.bind(this),
JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this),
TupleNode: this.visitTuple.bind(this),
+ AddIndexNode: this.visitAddIndex.bind(this),
+ CreateTriggerNode: this.visitCreateTrigger.bind(this),
+ TriggerEventNode: this.visitTriggerEvent.bind(this),
+ TriggerOrderNode: this.visitTriggerOrder.bind(this),
+ DropTriggerNode: this.visitDropTrigger.bind(this),
});
visitNode = (node) => {
this.nodeStack.push(node);
diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts
index 24cad68..a01b9ed 100644
--- a/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts
@@ -1,4 +1,4 @@
-export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode';
+export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'AddIndexNode' | 'CreateTriggerNode' | 'TriggerEventNode' | 'TriggerOrderNode' | 'DropTriggerNode';
export interface OperationNode {
readonly kind: OperationNodeKind;
}
diff --git a/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts
index 1076866..20a5fcb 100644
--- a/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts
@@ -1,11 +1,11 @@
-import { OperationNode } from './operation-node.js';
-export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"];
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"];
export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"];
export declare const JSON_OPERATORS: readonly ["->", "->>"];
-export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"];
+export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"];
export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"];
export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"];
-export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"];
+export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"];
export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number];
export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number];
export type JSONOperator = (typeof JSON_OPERATORS)[number];
diff --git a/node_modules/kysely/dist/cjs/operation-node/operator-node.js b/node_modules/kysely/dist/cjs/operation-node/operator-node.js
index 1b4ff0a..5407a85 100644
--- a/node_modules/kysely/dist/cjs/operation-node/operator-node.js
+++ b/node_modules/kysely/dist/cjs/operation-node/operator-node.js
@@ -37,6 +37,8 @@ exports.COMPARISON_OPERATORS = [
'!!',
'<->',
'regexp',
+ 'is distinct from',
+ 'is not distinct from',
];
exports.ARITHMETIC_OPERATORS = [
'+',
diff --git a/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts
index 4d8e9ce..ca76ae2 100644
--- a/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface OrNode extends OperationNode {
readonly kind: 'OrNode';
readonly left: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts
index 5a926f7..2964b97 100644
--- a/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface OrderByItemNode extends OperationNode {
readonly kind: 'OrderByItemNode';
readonly orderBy: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts
index ec862ab..aad64f5 100644
--- a/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { OrderByItemNode } from './order-by-item-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js';
export interface OrderByNode extends OperationNode {
readonly kind: 'OrderByNode';
readonly items: ReadonlyArray<OrderByItemNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts
index 90fa893..9f04bf1 100644
--- a/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts
@@ -1,8 +1,8 @@
-import { OperationNode } from './operation-node.js';
-import { OrderByItemNode } from './order-by-item-node.js';
-import { OrderByNode } from './order-by-node.js';
-import { PartitionByItemNode } from './partition-by-item-node.js';
-import { PartitionByNode } from './partition-by-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js';
+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js';
+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js';
+import { PartitionByNode } from 'kysely/dist/cjs/operation-node/partition-by-node.js';
export interface OverNode extends OperationNode {
readonly kind: 'OverNode';
readonly orderBy?: OrderByNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts
index 8a84c5d..8052a4f 100644
--- a/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface ParensNode extends OperationNode {
readonly kind: 'ParensNode';
readonly node: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts
index 91b1035..d851bf5 100644
--- a/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js';
export interface PartitionByItemNode extends OperationNode {
readonly kind: 'PartitionByItemNode';
readonly partitionBy: SimpleReferenceExpressionNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts
index 92f2c3d..3b9595c 100644
--- a/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts
@@ -1,5 +1,5 @@
-import { PartitionByItemNode } from './partition-by-item-node.js';
-import { OperationNode } from './operation-node.js';
+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface PartitionByNode extends OperationNode {
readonly kind: 'PartitionByNode';
readonly items: ReadonlyArray<PartitionByItemNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts
index 63de5ec..be729e7 100644
--- a/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts
@@ -1,6 +1,6 @@
-import { ColumnNode } from './column-node.js';
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface PrimaryKeyConstraintNode extends OperationNode {
readonly kind: 'PrimaryKeyConstraintNode';
readonly columns: ReadonlyArray<ColumnNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts
index d47b86f..142ebae 100644
--- a/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
/**
* This node is basically just a performance optimization over the normal ValueListNode.
* The queries often contain large arrays of primitive values (for example in a `where in` list)
diff --git a/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts
index bf6ef92..133557d 100644
--- a/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts
@@ -1,15 +1,15 @@
-import { InsertQueryNode } from './insert-query-node.js';
-import { SelectQueryNode } from './select-query-node.js';
-import { UpdateQueryNode } from './update-query-node.js';
-import { DeleteQueryNode } from './delete-query-node.js';
-import { WhereNode } from './where-node.js';
-import { JoinNode } from './join-node.js';
-import { SelectionNode } from './selection-node.js';
-import { ReturningNode } from './returning-node.js';
-import { OperationNode } from './operation-node.js';
-import { ExplainNode } from './explain-node.js';
-import { ExplainFormat } from '../util/explainable.js';
-import { Expression } from '../expression/expression.js';
+import { InsertQueryNode } from 'kysely/dist/cjs/operation-node/insert-query-node.js';
+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js';
+import { UpdateQueryNode } from 'kysely/dist/cjs/operation-node/update-query-node.js';
+import { DeleteQueryNode } from 'kysely/dist/cjs/operation-node/delete-query-node.js';
+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js';
+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js';
+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js';
+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js';
+import { ExplainFormat } from 'kysely/dist/cjs/util/explainable.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
export type QueryNode = SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode;
type HasJoins = {
joins?: ReadonlyArray<JoinNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts
index d0ebaa1..e8493de 100644
--- a/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface RawNode extends OperationNode {
readonly kind: 'RawNode';
readonly sqlFragments: ReadonlyArray<string>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts
index 25451af..06b6906 100644
--- a/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts
@@ -1,7 +1,7 @@
-import { OperationNode } from './operation-node.js';
-import { ColumnNode } from './column-node.js';
-import { TableNode } from './table-node.js';
-import { SelectAllNode } from './select-all-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
+import { SelectAllNode } from 'kysely/dist/cjs/operation-node/select-all-node.js';
export interface ReferenceNode extends OperationNode {
readonly kind: 'ReferenceNode';
readonly column: ColumnNode | SelectAllNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts
index bca9b92..261c6ca 100644
--- a/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts
@@ -1,7 +1,7 @@
-import { OperationNode } from './operation-node.js';
-import { ColumnNode } from './column-node.js';
-import { TableNode } from './table-node.js';
-import { ArrayItemType } from '../util/type-utils.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js';
export declare const ON_MODIFY_FOREIGN_ACTIONS: readonly ["no action", "restrict", "cascade", "set null", "set default"];
export type OnModifyForeignAction = ArrayItemType<typeof ON_MODIFY_FOREIGN_ACTIONS>;
export interface ReferencesNode extends OperationNode {
diff --git a/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts
index 6aaa14a..14f4d87 100644
--- a/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { ColumnNode } from './column-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
export interface RenameColumnNode extends OperationNode {
readonly kind: 'RenameColumnNode';
readonly column: ColumnNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts
index 6504839..2000c94 100644
--- a/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { SelectionNode } from './selection-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js';
export interface ReturningNode extends OperationNode {
readonly kind: 'ReturningNode';
readonly selections: ReadonlyArray<SelectionNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts
index 0373909..18afb74 100644
--- a/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts
@@ -1,5 +1,5 @@
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface SchemableIdentifierNode extends OperationNode {
readonly kind: 'SchemableIdentifierNode';
readonly schema?: IdentifierNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts
index ebdb84d..facdf67 100644
--- a/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface SelectAllNode extends OperationNode {
readonly kind: 'SelectAllNode';
}
diff --git a/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts
index 6cafd87..2d3273f 100644
--- a/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type SelectModifier = 'ForUpdate' | 'ForNoKeyUpdate' | 'ForShare' | 'ForKeyShare' | 'NoWait' | 'SkipLocked' | 'Distinct';
export interface SelectModifierNode extends OperationNode {
readonly kind: 'SelectModifierNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts
index 8566716..f6adbb0 100644
--- a/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts
@@ -1,19 +1,19 @@
-import { FromNode } from './from-node.js';
-import { GroupByItemNode } from './group-by-item-node.js';
-import { GroupByNode } from './group-by-node.js';
-import { HavingNode } from './having-node.js';
-import { JoinNode } from './join-node.js';
-import { LimitNode } from './limit-node.js';
-import { OffsetNode } from './offset-node.js';
-import { OperationNode } from './operation-node.js';
-import { OrderByItemNode } from './order-by-item-node.js';
-import { OrderByNode } from './order-by-node.js';
-import { SelectionNode } from './selection-node.js';
-import { WhereNode } from './where-node.js';
-import { WithNode } from './with-node.js';
-import { SelectModifierNode } from './select-modifier-node.js';
-import { ExplainNode } from './explain-node.js';
-import { SetOperationNode } from './set-operation-node.js';
+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js';
+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js';
+import { GroupByNode } from 'kysely/dist/cjs/operation-node/group-by-node.js';
+import { HavingNode } from 'kysely/dist/cjs/operation-node/having-node.js';
+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js';
+import { LimitNode } from 'kysely/dist/cjs/operation-node/limit-node.js';
+import { OffsetNode } from 'kysely/dist/cjs/operation-node/offset-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js';
+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js';
+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js';
+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js';
+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js';
+import { SelectModifierNode } from 'kysely/dist/cjs/operation-node/select-modifier-node.js';
+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js';
+import { SetOperationNode } from 'kysely/dist/cjs/operation-node/set-operation-node.js';
export interface SelectQueryNode extends OperationNode {
readonly kind: 'SelectQueryNode';
readonly from?: FromNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts
index 65c3567..f82ed6a 100644
--- a/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts
@@ -1,8 +1,8 @@
-import { AliasNode } from './alias-node.js';
-import { OperationNode } from './operation-node.js';
-import { SelectAllNode } from './select-all-node.js';
-import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js';
-import { TableNode } from './table-node.js';
+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SelectAllNode } from 'kysely/dist/cjs/operation-node/select-all-node.js';
+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
type SelectionNodeChild = SimpleReferenceExpressionNode | AliasNode | SelectAllNode;
export interface SelectionNode extends OperationNode {
readonly kind: 'SelectionNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts
index 31f9efc..b924286 100644
--- a/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type SetOperator = 'union' | 'intersect' | 'except';
export interface SetOperationNode extends OperationNode {
kind: 'SetOperationNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts
index f89eb48..7c6ef63 100644
--- a/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts
@@ -1,3 +1,3 @@
-import { ColumnNode } from './column-node.js';
-import { ReferenceNode } from './reference-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js';
export type SimpleReferenceExpressionNode = ColumnNode | ReferenceNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts
index b6fba34..c6c3673 100644
--- a/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { SchemableIdentifierNode } from './schemable-identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js';
export interface TableNode extends OperationNode {
readonly kind: 'TableNode';
readonly table: SchemableIdentifierNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts
new file mode 100644
index 0000000..fcdf121
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts
@@ -0,0 +1,15 @@
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+export type TriggerEvent = 'delete' | 'update' | 'insert' | 'truncate';
+export type TriggerEventNodeParams = Omit<TriggerEventNode, 'kind'>;
+export interface TriggerEventNode extends OperationNode {
+ readonly kind: 'TriggerEventNode';
+ readonly event: TriggerEvent;
+ readonly columns?: ReadonlyArray<OperationNode>;
+}
+/**
+ * @internal
+ */
+export declare const TriggerEventNode: Readonly<{
+ is(node: OperationNode): node is TriggerEventNode;
+ create(event: TriggerEvent, columns?: ReadonlyArray<OperationNode>): TriggerEventNode;
+}>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js
new file mode 100644
index 0000000..85f3975
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js
@@ -0,0 +1,19 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.TriggerEventNode = void 0;
+const object_utils_js_1 = require("../util/object-utils.js");
+/**
+ * @internal
+ */
+exports.TriggerEventNode = (0, object_utils_js_1.freeze)({
+ is(node) {
+ return node.kind === 'TriggerEventNode';
+ },
+ create(event, columns) {
+ return (0, object_utils_js_1.freeze)({
+ kind: 'TriggerEventNode',
+ event,
+ columns,
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts
new file mode 100644
index 0000000..5db90ed
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts
@@ -0,0 +1,16 @@
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+export type TriggerOrder = 'follows' | 'precedes';
+export type TriggerOrderNodeParams = Omit<TriggerOrderNode, 'kind'>;
+export interface TriggerOrderNode extends OperationNode {
+ readonly kind: 'TriggerOrderNode';
+ readonly order: TriggerOrder;
+ readonly otherTriggerName: IdentifierNode;
+}
+/**
+ * @internal
+ */
+export declare const TriggerOrderNode: Readonly<{
+ is(node: OperationNode): node is TriggerOrderNode;
+ create(order: TriggerOrder, otherTriggerName: IdentifierNode): TriggerOrderNode;
+}>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js
new file mode 100644
index 0000000..2b40780
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js
@@ -0,0 +1,19 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.TriggerOrderNode = void 0;
+const object_utils_js_1 = require("../util/object-utils.js");
+/**
+ * @internal
+ */
+exports.TriggerOrderNode = (0, object_utils_js_1.freeze)({
+ is(node) {
+ return node.kind === 'TriggerOrderNode';
+ },
+ create(order, otherTriggerName) {
+ return (0, object_utils_js_1.freeze)({
+ kind: 'TriggerOrderNode',
+ order,
+ otherTriggerName,
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts
index c179f1f..5111298 100644
--- a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts
@@ -1,15 +1,18 @@
-import { ColumnNode } from './column-node.js';
-import { IdentifierNode } from './identifier-node.js';
-import { OperationNode } from './operation-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface UniqueConstraintNode extends OperationNode {
readonly kind: 'UniqueConstraintNode';
readonly columns: ReadonlyArray<ColumnNode>;
readonly name?: IdentifierNode;
+ readonly nullsNotDistinct?: boolean;
}
+export type UniqueConstraintNodeProps = Omit<Partial<UniqueConstraintNode>, 'kind'>;
/**
* @internal
*/
export declare const UniqueConstraintNode: Readonly<{
is(node: OperationNode): node is UniqueConstraintNode;
- create(columns: string[], constraintName?: string): UniqueConstraintNode;
+ create(columns: string[], constraintName?: string, nullsNotDistinct?: boolean): UniqueConstraintNode;
+ cloneWith(node: UniqueConstraintNode, props: UniqueConstraintNodeProps): UniqueConstraintNode;
}>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js
index d615f74..ba9b265 100644
--- a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js
+++ b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js
@@ -11,11 +11,18 @@ exports.UniqueConstraintNode = (0, object_utils_js_1.freeze)({
is(node) {
return node.kind === 'UniqueConstraintNode';
},
- create(columns, constraintName) {
+ create(columns, constraintName, nullsNotDistinct) {
return (0, object_utils_js_1.freeze)({
kind: 'UniqueConstraintNode',
columns: (0, object_utils_js_1.freeze)(columns.map(column_node_js_1.ColumnNode.create)),
name: constraintName ? identifier_node_js_1.IdentifierNode.create(constraintName) : undefined,
+ nullsNotDistinct,
+ });
+ },
+ cloneWith(node, props) {
+ return (0, object_utils_js_1.freeze)({
+ ...node,
+ ...props,
});
},
});
diff --git a/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts
index 6fcc5e7..29fb124 100644
--- a/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts
@@ -1,13 +1,13 @@
-import { ColumnUpdateNode } from './column-update-node.js';
-import { JoinNode } from './join-node.js';
-import { OperationNode } from './operation-node.js';
-import { PrimitiveValueListNode } from './primitive-value-list-node.js';
-import { ReturningNode } from './returning-node.js';
-import { ValueListNode } from './value-list-node.js';
-import { WhereNode } from './where-node.js';
-import { WithNode } from './with-node.js';
-import { FromNode } from './from-node.js';
-import { ExplainNode } from './explain-node.js';
+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js';
+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { PrimitiveValueListNode } from 'kysely/dist/cjs/operation-node/primitive-value-list-node.js';
+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js';
+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js';
+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js';
+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js';
+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js';
+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js';
export type UpdateValuesNode = ValueListNode | PrimitiveValueListNode;
export interface UpdateQueryNode extends OperationNode {
readonly kind: 'UpdateQueryNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts
index 01da795..901c8e5 100644
--- a/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface UsingNode extends OperationNode {
readonly kind: 'UsingNode';
readonly tables: ReadonlyArray<OperationNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts
index e48e781..bf4a346 100644
--- a/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface ValueListNode extends OperationNode {
readonly kind: 'ValueListNode';
readonly values: ReadonlyArray<OperationNode>;
diff --git a/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts
index c5fdc09..6068adc 100644
--- a/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface ValueNode extends OperationNode {
readonly kind: 'ValueNode';
readonly value: unknown;
diff --git a/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts
index 86590c6..bb8127c 100644
--- a/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts
@@ -1,6 +1,6 @@
-import { OperationNode } from './operation-node.js';
-import { PrimitiveValueListNode } from './primitive-value-list-node.js';
-import { ValueListNode } from './value-list-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { PrimitiveValueListNode } from 'kysely/dist/cjs/operation-node/primitive-value-list-node.js';
+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js';
export type ValuesItemNode = ValueListNode | PrimitiveValueListNode;
export interface ValuesNode extends OperationNode {
readonly kind: 'ValuesNode';
diff --git a/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts
index c6f1db8..8be8ebb 100644
--- a/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface WhenNode extends OperationNode {
readonly kind: 'WhenNode';
readonly condition: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts
index 44f9fbd..a3e79d1 100644
--- a/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts
@@ -1,4 +1,4 @@
-import { OperationNode } from './operation-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export interface WhereNode extends OperationNode {
readonly kind: 'WhereNode';
readonly where: OperationNode;
diff --git a/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts
index 78fecfd..d4fcebc 100644
--- a/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts
+++ b/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts
@@ -1,5 +1,5 @@
-import { OperationNode } from './operation-node.js';
-import { CommonTableExpressionNode } from './common-table-expression-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js';
export type WithNodeParams = Omit<WithNode, 'kind' | 'expressions'>;
export interface WithNode extends OperationNode {
readonly kind: 'WithNode';
diff --git a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts
index 442aeb2..2585655 100644
--- a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts
@@ -1,11 +1,11 @@
-import { BinaryOperationNode } from '../operation-node/binary-operation-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { ComparisonOperator, BinaryOperator, Operator } from '../operation-node/operator-node.js';
-import { ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, ReferenceExpression, StringReference } from './reference-parser.js';
-import { ValueExpression, ValueExpressionOrList } from './value-parser.js';
-import { OperationNode } from '../operation-node/operation-node.js';
-import { Expression } from '../expression/expression.js';
-import { SelectType } from '../util/column-type.js';
+import { BinaryOperationNode } from 'kysely/dist/cjs/operation-node/binary-operation-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { ComparisonOperator, BinaryOperator, Operator } from 'kysely/dist/cjs/operation-node/operator-node.js';
+import { ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, ReferenceExpression, StringReference } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { ValueExpression, ValueExpressionOrList } from 'kysely/dist/cjs/parser/value-parser.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { SelectType } from 'kysely/dist/cjs/util/column-type.js';
export type OperandValueExpression<DB, TB extends keyof DB, RE> = ValueExpression<DB, TB, ExtractTypeFromReferenceExpression<DB, TB, RE>>;
export type OperandValueExpressionOrList<DB, TB extends keyof DB, RE> = ValueExpressionOrList<DB, TB, ExtractTypeFromReferenceExpression<DB, TB, RE> | null>;
export type OperatorExpression = Operator | Expression<unknown>;
diff --git a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js
index 2ebff87..b5e9a08 100644
--- a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js
+++ b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js
@@ -41,7 +41,7 @@ exports.parseFilterObject = parseFilterObject;
function parseFilterList(list, combinator) {
const combine = combinator === 'and' ? and_node_js_1.AndNode.create : or_node_js_1.OrNode.create;
if (list.length === 0) {
- return value_node_js_1.ValueNode.createImmediate(combinator === 'and');
+ return binary_operation_node_js_1.BinaryOperationNode.create(value_node_js_1.ValueNode.createImmediate(1), operator_node_js_1.OperatorNode.create('='), value_node_js_1.ValueNode.createImmediate(combinator === 'and' ? 1 : 0));
}
let node = toOperationNode(list[0]);
for (let i = 1; i < list.length; ++i) {
diff --git a/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts b/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts
index ad11860..d71013b 100644
--- a/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts
@@ -1,2 +1,2 @@
-import { ExtractTypeFromReferenceExpression, ReferenceExpression } from './reference-parser.js';
+import { ExtractTypeFromReferenceExpression, ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
export type CoalesceReferenceExpressionList<DB, TB extends keyof DB, RE extends unknown[], O = never> = RE extends [] ? O : RE extends [infer L, ...infer R] ? L extends ReferenceExpression<any, any> ? null extends ExtractTypeFromReferenceExpression<DB, TB, L> ? CoalesceReferenceExpressionList<DB, TB, R extends ReferenceExpression<any, any>[] ? R : never, O | ExtractTypeFromReferenceExpression<DB, TB, L>> : Exclude<O, null> | ExtractTypeFromReferenceExpression<DB, TB, L> : never : never;
diff --git a/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts b/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts
index 5469925..2d9e6e9 100644
--- a/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts
@@ -1,5 +1,5 @@
-import { Expression } from '../expression/expression.js';
-import { ColumnDataType } from '../operation-node/data-type-node.js';
-import { OperationNode } from '../operation-node/operation-node.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ColumnDataType } from 'kysely/dist/cjs/operation-node/data-type-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type DataTypeExpression = ColumnDataType | Expression<any>;
export declare function parseDataTypeExpression(dataType: DataTypeExpression): OperationNode;
diff --git a/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts b/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts
index 332773a..dda387f 100644
--- a/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts
@@ -1,4 +1,4 @@
-import { Expression } from '../expression/expression.js';
-import { OperationNode } from '../operation-node/operation-node.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export type DefaultValueExpression = unknown | Expression<unknown>;
export declare function parseDefaultValueExpression(value: DefaultValueExpression): OperationNode;
diff --git a/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts b/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts
index ad657a1..dc6f087 100644
--- a/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts
@@ -1,8 +1,8 @@
-import { AliasedExpression, Expression } from '../expression/expression.js';
-import { AliasNode } from '../operation-node/alias-node.js';
-import { OperationNode } from '../operation-node/operation-node.js';
-import { ExpressionBuilder } from '../expression/expression-builder.js';
-import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js';
+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js';
+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js';
/**
* Like `Expression<V>` but also accepts a select query with an output
* type extending `Record<string, V>`. This type is useful because SQL
diff --git a/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts
index 2338e36..19ffb2e 100644
--- a/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts
@@ -1,6 +1,6 @@
-import { GroupByItemNode } from '../operation-node/group-by-item-node.js';
-import { ExpressionBuilder } from '../expression/expression-builder.js';
-import { ReferenceExpression } from './reference-parser.js';
+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js';
+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
export type GroupByExpression<DB, TB extends keyof DB, O> = ReferenceExpression<DB, TB> | (keyof O & string);
export type GroupByArg<DB, TB extends keyof DB, O> = GroupByExpression<DB, TB, O> | ReadonlyArray<GroupByExpression<DB, TB, O>> | ((eb: ExpressionBuilder<DB, TB>) => ReadonlyArray<GroupByExpression<DB, TB, O>>);
export declare function parseGroupBy(groupBy: GroupByArg<any, any, any>): GroupByItemNode[];
diff --git a/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts b/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts
index 4560fab..bd1a505 100644
--- a/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts
@@ -1,8 +1,8 @@
-import { ColumnNode } from '../operation-node/column-node.js';
-import { ValueExpression } from './value-parser.js';
-import { ValuesNode } from '../operation-node/values-node.js';
-import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from '../util/column-type.js';
-import { ExpressionBuilder } from '../expression/expression-builder.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js';
+import { ValuesNode } from 'kysely/dist/cjs/operation-node/values-node.js';
+import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from 'kysely/dist/cjs/util/column-type.js';
+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js';
export type InsertObject<DB, TB extends keyof DB> = {
[C in NonNullableInsertKeys<DB[TB]>]: ValueExpression<DB, TB, InsertType<DB[TB][C]>>;
} & {
diff --git a/node_modules/kysely/dist/cjs/parser/join-parser.d.ts b/node_modules/kysely/dist/cjs/parser/join-parser.d.ts
index fcf33ef..91e1f85 100644
--- a/node_modules/kysely/dist/cjs/parser/join-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/join-parser.d.ts
@@ -1,7 +1,7 @@
-import { JoinNode, JoinType } from '../operation-node/join-node.js';
-import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from '../util/type-utils.js';
-import { From, FromTables } from './table-parser.js';
-import { JoinBuilder } from '../query-builder/join-builder.js';
+import { JoinNode, JoinType } from 'kysely/dist/cjs/operation-node/join-node.js';
+import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js';
+import { From, FromTables } from 'kysely/dist/cjs/parser/table-parser.js';
+import { JoinBuilder } from 'kysely/dist/cjs/query-builder/join-builder.js';
export type JoinReferenceExpression<DB, TB extends keyof DB, TE> = DrainOuterGeneric<AnyJoinColumn<DB, TB, TE> | AnyJoinColumnWithTable<DB, TB, TE>>;
export type JoinCallbackExpression<DB, TB extends keyof DB, TE> = (join: JoinBuilder<From<DB, TE>, FromTables<DB, TB, TE>>) => JoinBuilder<any, any>;
type AnyJoinColumn<DB, TB extends keyof DB, TE> = AnyColumn<From<DB, TE>, FromTables<DB, TB, TE>>;
diff --git a/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts
index 40d5d0e..329449c 100644
--- a/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts
@@ -1,7 +1,7 @@
-import { Expression } from '../expression/expression.js';
-import { OrderByItemNode } from '../operation-node/order-by-item-node.js';
-import { StringReference } from './reference-parser.js';
-import { ReferenceExpression } from './reference-parser.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js';
+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
export type OrderByDirection = 'asc' | 'desc';
export declare function isOrderByDirection(thing: unknown): thing is OrderByDirection;
export type DirectedOrderByStringReference<DB, TB extends keyof DB, O> = `${StringReference<DB, TB> | (keyof O & string)} ${OrderByDirection}`;
diff --git a/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts
index 4a08f74..15a1c3e 100644
--- a/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts
@@ -1,6 +1,6 @@
-import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
-import { PartitionByItemNode } from '../operation-node/partition-by-item-node.js';
-import { StringReference } from './reference-parser.js';
+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js';
+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js';
+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js';
export type PartitionByExpression<DB, TB extends keyof DB> = StringReference<DB, TB> | DynamicReferenceBuilder<any>;
export type PartitionByExpressionOrList<DB, TB extends keyof DB> = ReadonlyArray<PartitionByExpression<DB, TB>> | PartitionByExpression<DB, TB>;
export declare function parsePartitionBy(partitionBy: PartitionByExpressionOrList<any, any>): PartitionByItemNode[];
diff --git a/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts b/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts
index cd4d656..9c530cf 100644
--- a/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts
@@ -1,22 +1,23 @@
-import { AliasNode } from '../operation-node/alias-node.js';
-import { ColumnNode } from '../operation-node/column-node.js';
-import { ReferenceNode } from '../operation-node/reference-node.js';
-import { AnyColumn, AnyColumnWithTable, ExtractColumnType } from '../util/type-utils.js';
-import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js';
-import { ExpressionOrFactory } from './expression-parser.js';
-import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
-import { SelectType } from '../util/column-type.js';
-import { OperationNode } from '../operation-node/operation-node.js';
-import { Expression } from '../expression/expression.js';
-import { SimpleReferenceExpressionNode } from '../operation-node/simple-reference-expression-node.js';
-import { OrderByDirection } from './order-by-parser.js';
-import { JSONOperatorWith$ } from '../operation-node/operator-node.js';
-import { JSONReferenceNode } from '../operation-node/json-reference-node.js';
+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js';
+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js';
+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js';
+import { AnyColumn, AnyColumnWithTable, ExtractColumnType } from 'kysely/dist/cjs/util/type-utils.js';
+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js';
+import { SelectType } from 'kysely/dist/cjs/util/column-type.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js';
+import { OrderByDirection } from 'kysely/dist/cjs/parser/order-by-parser.js';
+import { JSONOperatorWith$ } from 'kysely/dist/cjs/operation-node/operator-node.js';
+import { JSONReferenceNode } from 'kysely/dist/cjs/operation-node/json-reference-node.js';
export type StringReference<DB, TB extends keyof DB> = AnyColumn<DB, TB> | AnyColumnWithTable<DB, TB>;
export type SimpleReferenceExpression<DB, TB extends keyof DB> = StringReference<DB, TB> | DynamicReferenceBuilder<any>;
export type ReferenceExpression<DB, TB extends keyof DB> = SimpleReferenceExpression<DB, TB> | ExpressionOrFactory<DB, TB, any>;
export type ReferenceExpressionOrList<DB, TB extends keyof DB> = ReferenceExpression<DB, TB> | ReadonlyArray<ReferenceExpression<DB, TB>>;
-export type ExtractTypeFromReferenceExpression<DB, TB extends keyof DB, RE, DV = unknown> = RE extends string ? SelectType<ExtractTypeFromStringReference<DB, TB, RE>> : RE extends SelectQueryBuilderExpression<infer O> ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression<infer O> ? O[keyof O] | null : RE extends Expression<infer O> ? O : RE extends (qb: any) => Expression<infer O> ? O : DV;
+export type ExtractTypeFromReferenceExpression<DB, TB extends keyof DB, RE, DV = unknown> = SelectType<ExtractRawTypeFromReferenceExpression<DB, TB, RE, DV>>;
+export type ExtractRawTypeFromReferenceExpression<DB, TB extends keyof DB, RE, DV = unknown> = RE extends string ? ExtractTypeFromStringReference<DB, TB, RE> : RE extends SelectQueryBuilderExpression<infer O> ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression<infer O> ? O[keyof O] | null : RE extends Expression<infer O> ? O : RE extends (qb: any) => Expression<infer O> ? O : DV;
export type ExtractTypeFromStringReference<DB, TB extends keyof DB, RE extends string, DV = unknown> = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn<DB, TB> ? ExtractColumnType<DB, TB, RE> : DV;
export type OrderedColumnName<C extends string> = C extends `${string} ${infer O}` ? O extends OrderByDirection ? C : never : C;
export type ExtractColumnNameFromOrderedColumnName<C extends string> = C extends `${infer CL} ${infer O}` ? O extends OrderByDirection ? CL : never : C;
diff --git a/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts b/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts
index 4a41b30..35ccad7 100644
--- a/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts
@@ -1,7 +1,7 @@
-import { DeleteResult } from '../query-builder/delete-result.js';
-import { InsertResult } from '../query-builder/insert-result.js';
-import { UpdateResult } from '../query-builder/update-result.js';
-import { Selection, AllSelection, CallbackSelection } from './select-parser.js';
+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js';
+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js';
+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js';
+import { Selection, AllSelection, CallbackSelection } from 'kysely/dist/cjs/parser/select-parser.js';
export type ReturningRow<DB, TB extends keyof DB, O, SE> = O extends InsertResult ? Selection<DB, TB, SE> : O extends DeleteResult ? Selection<DB, TB, SE> : O extends UpdateResult ? Selection<DB, TB, SE> : O & Selection<DB, TB, SE>;
export type ReturningCallbackRow<DB, TB extends keyof DB, O, CB> = O extends InsertResult ? CallbackSelection<DB, TB, CB> : O extends DeleteResult ? CallbackSelection<DB, TB, CB> : O extends UpdateResult ? CallbackSelection<DB, TB, CB> : O & CallbackSelection<DB, TB, CB>;
export type ReturningAllRow<DB, TB extends keyof DB, O> = O extends InsertResult ? AllSelection<DB, TB> : O extends DeleteResult ? AllSelection<DB, TB> : O extends UpdateResult ? AllSelection<DB, TB> : O & AllSelection<DB, TB>;
diff --git a/node_modules/kysely/dist/cjs/parser/select-parser.d.ts b/node_modules/kysely/dist/cjs/parser/select-parser.d.ts
index d15c377..be1bcdb 100644
--- a/node_modules/kysely/dist/cjs/parser/select-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/select-parser.d.ts
@@ -1,11 +1,11 @@
-import { AliasedSelectQueryBuilder } from '../query-builder/select-query-builder.js';
-import { SelectionNode } from '../operation-node/selection-node.js';
-import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, DrainOuterGeneric, ExtractColumnType } from '../util/type-utils.js';
-import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
-import { AliasedExpressionOrFactory } from './expression-parser.js';
-import { SelectType } from '../util/column-type.js';
-import { AliasedExpression } from '../expression/expression.js';
-import { ExpressionBuilder } from '../expression/expression-builder.js';
+import { AliasedSelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js';
+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js';
+import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, DrainOuterGeneric, ExtractColumnType } from 'kysely/dist/cjs/util/type-utils.js';
+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js';
+import { AliasedExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { SelectType } from 'kysely/dist/cjs/util/column-type.js';
+import { AliasedExpression } from 'kysely/dist/cjs/expression/expression.js';
+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js';
export type SelectExpression<DB, TB extends keyof DB> = AnyAliasedColumnWithTable<DB, TB> | AnyAliasedColumn<DB, TB> | AnyColumnWithTable<DB, TB> | AnyColumn<DB, TB> | DynamicReferenceBuilder<any> | AliasedExpressionOrFactory<DB, TB>;
export type SelectCallback<DB, TB extends keyof DB> = (eb: ExpressionBuilder<DB, TB>) => ReadonlyArray<SelectExpression<DB, TB>>;
/**
diff --git a/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts b/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts
index 34ffc3e..df5c497 100644
--- a/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts
@@ -1,5 +1,5 @@
-import { ExpressionBuilder } from '../expression/expression-builder.js';
-import { Expression } from '../expression/expression.js';
-import { SetOperator, SetOperationNode } from '../operation-node/set-operation-node.js';
+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { SetOperator, SetOperationNode } from 'kysely/dist/cjs/operation-node/set-operation-node.js';
export type SetOperandExpression<DB, O> = Expression<O> | ReadonlyArray<Expression<O>> | ((eb: ExpressionBuilder<DB, never>) => Expression<O> | ReadonlyArray<Expression<O>>);
export declare function parseSetOperations(operator: SetOperator, expression: SetOperandExpression<any, any>, all: boolean): SetOperationNode[];
diff --git a/node_modules/kysely/dist/cjs/parser/table-parser.d.ts b/node_modules/kysely/dist/cjs/parser/table-parser.d.ts
index 05b58c4..98c5817 100644
--- a/node_modules/kysely/dist/cjs/parser/table-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/table-parser.d.ts
@@ -1,9 +1,9 @@
-import { AliasNode } from '../operation-node/alias-node.js';
-import { TableNode } from '../operation-node/table-node.js';
-import { AliasedExpressionOrFactory } from './expression-parser.js';
-import { OperationNode } from '../operation-node/operation-node.js';
-import { AliasedExpression } from '../expression/expression.js';
-import { DrainOuterGeneric, ShallowRecord } from '../util/type-utils.js';
+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js';
+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js';
+import { AliasedExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { AliasedExpression } from 'kysely/dist/cjs/expression/expression.js';
+import { DrainOuterGeneric, ShallowRecord } from 'kysely/dist/cjs/util/type-utils.js';
export type TableExpression<DB, TB extends keyof DB> = AnyAliasedTable<DB> | AnyTable<DB> | AliasedExpressionOrFactory<DB, TB>;
export type TableExpressionOrList<DB, TB extends keyof DB> = TableExpression<DB, TB> | ReadonlyArray<TableExpression<DB, TB>>;
export type TableReference<DB> = AnyAliasedTable<DB> | AnyTable<DB> | AliasedExpression<any, any>;
diff --git a/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts b/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts
index 032ea46..2101bdf 100644
--- a/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts
@@ -1,6 +1,6 @@
-import { DrainOuterGeneric } from '../util/type-utils.js';
-import { ExtractTypeFromReferenceExpression } from './reference-parser.js';
-import { ExtractTypeFromValueExpression } from './value-parser.js';
+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js';
+import { ExtractTypeFromReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { ExtractTypeFromValueExpression } from 'kysely/dist/cjs/parser/value-parser.js';
export type RefTuple2<DB, TB extends keyof DB, R1, R2> = DrainOuterGeneric<[
ExtractTypeFromReferenceExpression<DB, TB, R1>,
ExtractTypeFromReferenceExpression<DB, TB, R2>
diff --git a/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts b/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts
index d4b2dd0..184e344 100644
--- a/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts
@@ -1,10 +1,13 @@
-import { ColumnUpdateNode } from '../operation-node/column-update-node.js';
-import { ExpressionBuilder } from '../expression/expression-builder.js';
-import { UpdateKeys, UpdateType } from '../util/column-type.js';
-import { ValueExpression } from './value-parser.js';
+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js';
+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js';
+import { UpdateKeys, UpdateType } from 'kysely/dist/cjs/util/column-type.js';
+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js';
+import { ExtractRawTypeFromReferenceExpression, ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
export type UpdateObject<DB, TB extends keyof DB, UT extends keyof DB = TB> = {
[C in UpdateKeys<DB[UT]>]?: ValueExpression<DB, TB, UpdateType<DB[UT][C]>> | undefined;
};
export type UpdateObjectFactory<DB, TB extends keyof DB, UT extends keyof DB> = (eb: ExpressionBuilder<DB, TB>) => UpdateObject<DB, TB, UT>;
-export type UpdateExpression<DB, TB extends keyof DB, UT extends keyof DB = TB> = UpdateObject<DB, TB, UT> | UpdateObjectFactory<DB, TB, UT>;
-export declare function parseUpdateExpression(update: UpdateExpression<any, any, any>): ReadonlyArray<ColumnUpdateNode>;
+export type UpdateObjectExpression<DB, TB extends keyof DB, UT extends keyof DB = TB> = UpdateObject<DB, TB, UT> | UpdateObjectFactory<DB, TB, UT>;
+export type ExtractUpdateTypeFromReferenceExpression<DB, TB extends keyof DB, RE, DV = unknown> = UpdateType<ExtractRawTypeFromReferenceExpression<DB, TB, RE, DV>>;
+export declare function parseUpdate(...args: [UpdateObjectExpression<any, any, any>] | [ReferenceExpression<any, any>, ValueExpression<any, any, any>]): ReadonlyArray<ColumnUpdateNode>;
+export declare function parseUpdateObjectExpression(update: UpdateObjectExpression<any, any, any>): ReadonlyArray<ColumnUpdateNode>;
diff --git a/node_modules/kysely/dist/cjs/parser/update-set-parser.js b/node_modules/kysely/dist/cjs/parser/update-set-parser.js
index bbb1618..e741a9e 100644
--- a/node_modules/kysely/dist/cjs/parser/update-set-parser.js
+++ b/node_modules/kysely/dist/cjs/parser/update-set-parser.js
@@ -1,12 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.parseUpdateExpression = void 0;
+exports.parseUpdateObjectExpression = exports.parseUpdate = void 0;
const column_node_js_1 = require("../operation-node/column-node.js");
const column_update_node_js_1 = require("../operation-node/column-update-node.js");
const expression_builder_js_1 = require("../expression/expression-builder.js");
const object_utils_js_1 = require("../util/object-utils.js");
const value_parser_js_1 = require("./value-parser.js");
-function parseUpdateExpression(update) {
+const reference_parser_js_1 = require("./reference-parser.js");
+function parseUpdate(...args) {
+ if (args.length === 2) {
+ return [
+ column_update_node_js_1.ColumnUpdateNode.create((0, reference_parser_js_1.parseReferenceExpression)(args[0]), (0, value_parser_js_1.parseValueExpression)(args[1])),
+ ];
+ }
+ return parseUpdateObjectExpression(args[0]);
+}
+exports.parseUpdate = parseUpdate;
+function parseUpdateObjectExpression(update) {
const updateObj = (0, object_utils_js_1.isFunction)(update) ? update((0, expression_builder_js_1.expressionBuilder)()) : update;
return Object.entries(updateObj)
.filter(([_, value]) => value !== undefined)
@@ -14,4 +24,4 @@ function parseUpdateExpression(update) {
return column_update_node_js_1.ColumnUpdateNode.create(column_node_js_1.ColumnNode.create(key), (0, value_parser_js_1.parseValueExpression)(value));
});
}
-exports.parseUpdateExpression = parseUpdateExpression;
+exports.parseUpdateObjectExpression = parseUpdateObjectExpression;
diff --git a/node_modules/kysely/dist/cjs/parser/value-parser.d.ts b/node_modules/kysely/dist/cjs/parser/value-parser.d.ts
index 353d16e..ce7dc8b 100644
--- a/node_modules/kysely/dist/cjs/parser/value-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/value-parser.d.ts
@@ -1,8 +1,8 @@
-import { ValueNode } from '../operation-node/value-node.js';
-import { ExpressionOrFactory } from './expression-parser.js';
-import { OperationNode } from '../operation-node/operation-node.js';
-import { Expression } from '../expression/expression.js';
-import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js';
+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js';
export type ValueExpression<DB, TB extends keyof DB, V> = V | ExpressionOrFactory<DB, TB, V>;
export type ValueExpressionOrList<DB, TB extends keyof DB, V> = ValueExpression<DB, TB, V> | ReadonlyArray<ValueExpression<DB, TB, V>>;
export type ExtractTypeFromValueExpressionOrList<VE> = VE extends ReadonlyArray<infer AV> ? ExtractTypeFromValueExpression<AV> : ExtractTypeFromValueExpression<VE>;
diff --git a/node_modules/kysely/dist/cjs/parser/with-parser.d.ts b/node_modules/kysely/dist/cjs/parser/with-parser.d.ts
index 63183fc..d4092ce 100644
--- a/node_modules/kysely/dist/cjs/parser/with-parser.d.ts
+++ b/node_modules/kysely/dist/cjs/parser/with-parser.d.ts
@@ -1,11 +1,11 @@
-import { UpdateQueryBuilder } from '../query-builder/update-query-builder.js';
-import { DeleteQueryBuilder } from '../query-builder/delete-query-builder.js';
-import { InsertQueryBuilder } from '../query-builder/insert-query-builder.js';
-import { QueryCreator } from '../query-creator.js';
-import { Expression } from '../expression/expression.js';
-import { ShallowRecord } from '../util/type-utils.js';
-import { CTEBuilderCallback } from '../query-builder/cte-builder.js';
-import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js';
+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js';
+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js';
+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js';
+import { QueryCreator } from 'kysely/dist/cjs/query-creator.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ShallowRecord } from 'kysely/dist/cjs/util/type-utils.js';
+import { CTEBuilderCallback } from 'kysely/dist/cjs/query-builder/cte-builder.js';
+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js';
export type CommonTableExpression<DB, CN extends string> = (creator: QueryCreator<DB>) => CommonTableExpressionOutput<DB, CN>;
export type RecursiveCommonTableExpression<DB, CN extends string> = (creator: QueryCreator<DB & {
[K in ExtractTableFromCommonTableExpressionName<CN>]: ExtractRowFromCommonTableExpressionName<CN>;
diff --git a/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts b/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts
index 098e5c8..35ca9da 100644
--- a/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts
+++ b/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts
@@ -1,7 +1,7 @@
-import { QueryResult } from '../driver/database-connection.js';
-import { RootOperationNode } from '../query-compiler/query-compiler.js';
-import { QueryId } from '../util/query-id.js';
-import { UnknownRow } from '../util/type-utils.js';
+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js';
+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { UnknownRow } from 'kysely/dist/cjs/util/type-utils.js';
export interface KyselyPlugin {
/**
* This is called for each query before it is executed. You can modify the query by
diff --git a/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js b/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js
index 4b3caa6..97287a4 100644
--- a/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js
+++ b/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js
@@ -19,12 +19,14 @@ const ROOT_OPERATION_NODES = (0, object_utils_js_1.freeze)({
CreateTableNode: true,
CreateTypeNode: true,
CreateViewNode: true,
+ CreateTriggerNode: true,
DeleteQueryNode: true,
DropIndexNode: true,
DropSchemaNode: true,
DropTableNode: true,
DropTypeNode: true,
DropViewNode: true,
+ DropTriggerNode: true,
InsertQueryNode: true,
RawNode: true,
SelectQueryNode: true,
diff --git a/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts
index 6f9b8ee..85401ee 100644
--- a/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts
@@ -1,11 +1,11 @@
-import { AggregateFunctionNode } from '../operation-node/aggregate-function-node.js';
-import { AliasNode } from '../operation-node/alias-node.js';
-import { OverBuilder } from './over-builder.js';
-import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { SqlBool } from '../util/type-utils.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
+import { AggregateFunctionNode } from 'kysely/dist/cjs/operation-node/aggregate-function-node.js';
+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js';
+import { OverBuilder } from 'kysely/dist/cjs/query-builder/over-builder.js';
+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
export declare class AggregateFunctionBuilder<DB, TB extends keyof DB, O = unknown> implements AliasableExpression<O> {
#private;
constructor(props: AggregateFunctionBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts
index bbe83c7..4bc9062 100644
--- a/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts
@@ -1,9 +1,9 @@
-import { Expression } from '../expression/expression.js';
-import { ExpressionWrapper } from '../expression/expression-wrapper.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { CaseNode } from '../operation-node/case-node.js';
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { KyselyTypeError } from '../util/type-error.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { CaseNode } from 'kysely/dist/cjs/operation-node/case-node.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js';
export declare class CaseBuilder<DB, TB extends keyof DB, W = unknown, O = never> implements Whenable<DB, TB, W, O> {
#private;
constructor(props: CaseBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts
index 8564d5b..ef22570 100644
--- a/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts
@@ -1,5 +1,5 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js';
export declare class CTEBuilder<N extends string> implements OperationNodeSource {
#private;
constructor(props: CTEBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts
index f510d14..841ec03 100644
--- a/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts
@@ -1,28 +1,28 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js';
-import { From, FromTables, TableExpression } from '../parser/table-parser.js';
-import { SelectExpression, SelectCallback } from '../parser/select-parser.js';
-import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { QueryNode } from '../operation-node/query-node.js';
-import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
-import { KyselyPlugin } from '../plugin/kysely-plugin.js';
-import { WhereInterface } from './where-interface.js';
-import { ReturningInterface } from './returning-interface.js';
-import { NoResultErrorConstructor } from './no-result-error.js';
-import { DeleteResult } from './delete-result.js';
-import { DeleteQueryNode } from '../operation-node/delete-query-node.js';
-import { OrderByDirectionExpression, OrderByExpression } from '../parser/order-by-parser.js';
-import { Explainable, ExplainFormat } from '../util/explainable.js';
-import { AliasedExpression, Expression } from '../expression/expression.js';
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { KyselyTypeError } from '../util/type-error.js';
-import { Streamable } from '../util/streamable.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js';
+import { From, FromTables, TableExpression } from 'kysely/dist/cjs/parser/table-parser.js';
+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js';
+import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js';
+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js';
+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js';
+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js';
+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js';
+import { DeleteQueryNode } from 'kysely/dist/cjs/operation-node/delete-query-node.js';
+import { OrderByDirectionExpression, OrderByExpression } from 'kysely/dist/cjs/parser/order-by-parser.js';
+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js';
+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js';
+import { Streamable } from 'kysely/dist/cjs/util/streamable.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
export declare class DeleteQueryBuilder<DB, TB extends keyof DB, O> implements WhereInterface<DB, TB>, ReturningInterface<DB, TB, O>, OperationNodeSource, Compilable<O>, Explainable, Streamable<O> {
#private;
constructor(props: DeleteQueryBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts b/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts
index 592c5e9..5620351 100644
--- a/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts
@@ -1,12 +1,13 @@
-import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
-import { ExpressionWrapper } from '../expression/expression-wrapper.js';
-import { Expression } from '../expression/expression.js';
-import { CoalesceReferenceExpressionList } from '../parser/coalesce-parser.js';
-import { ExtractTypeFromReferenceExpression, ReferenceExpression, StringReference, ExtractTypeFromStringReference } from '../parser/reference-parser.js';
-import { KyselyTypeError } from '../util/type-error.js';
-import { Equals, IsAny } from '../util/type-utils.js';
-import { AggregateFunctionBuilder } from './aggregate-function-builder.js';
-import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js';
+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js';
+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { CoalesceReferenceExpressionList } from 'kysely/dist/cjs/parser/coalesce-parser.js';
+import { ExtractTypeFromReferenceExpression, ReferenceExpression, StringReference, ExtractTypeFromStringReference } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js';
+import { Equals, IsAny } from 'kysely/dist/cjs/util/type-utils.js';
+import { AggregateFunctionBuilder } from 'kysely/dist/cjs/query-builder/aggregate-function-builder.js';
+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js';
+import { Selectable } from 'kysely/dist/cjs/util/column-type.js';
/**
* Helpers for type safe SQL function calls.
*
@@ -17,21 +18,47 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil
*
* <!-- siteExample("select", "Function calls", 60) -->
*
- * This example uses the `fn` module to select some aggregates:
+ * This example shows how to create function calls. These examples also work in any
+ * other place (`where` calls, updates, inserts etc.). The only difference is that you
+ * leave out the alias (the `as` call) if you use these in any other place than `select`.
*
* ```ts
+ * import { sql } from 'kysely'
+ *
* const result = await db.selectFrom('person')
* .innerJoin('pet', 'pet.owner_id', 'person.id')
- * .select(({ fn }) => [
+ * .select(({ fn, val, ref }) => [
* 'person.id',
*
* // The `fn` module contains the most common
* // functions.
* fn.count<number>('pet.id').as('pet_count'),
*
- * // You can call any function using the
- * // `agg` method
- * fn.agg<string[]>('array_agg', ['pet.name']).as('pet_names')
+ * // You can call any function by calling `fn`
+ * // directly. The arguments are treated as column
+ * // references by default. If you want to pass in
+ * // values, use the `val` function.
+ * fn<string>('concat', [
+ * val('Ms. '),
+ * 'first_name',
+ * val(' '),
+ * 'last_name'
+ * ]).as('full_name_with_title'),
+ *
+ * // You can call any aggregate function using the
+ * // `fn.agg` function.
+ * fn.agg<string[]>('array_agg', ['pet.name']).as('pet_names'),
+ *
+ * // And once again, you can use the `sql`
+ * // template tag. The template tag substitutions
+ * // are treated as values by default. If you want
+ * // to reference columns, you can use the `ref`
+ * // function.
+ * sql<string>`concat(
+ * ${ref('first_name')},
+ * ' ',
+ * ${ref('last_name')}
+ * )`.as('full_name')
* ])
* .groupBy('person.id')
* .having((eb) => eb.fn.count('pet.id'), '>', 10)
@@ -44,11 +71,13 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil
* select
* "person"."id",
* count("pet"."id") as "pet_count",
- * array_agg("pet"."name") as "pet_names"
+ * concat($1, "first_name", $2, "last_name") as "full_name_with_title",
+ * array_agg("pet"."name") as "pet_names",
+ * concat("first_name", ' ', "last_name") as "full_name"
* from "person"
* inner join "pet" on "pet"."owner_id" = "person"."id"
* group by "person"."id"
- * having count("pet"."id") > $1
+ * having count("pet"."id") > $3
* ```
*/
export interface FunctionModule<DB, TB extends keyof DB> {
@@ -540,6 +569,50 @@ export interface FunctionModule<DB, TB extends keyof DB> {
any<RE extends StringReference<DB, TB>>(expr: RE): Exclude<ExtractTypeFromStringReference<DB, TB, RE>, null> extends ReadonlyArray<infer I> ? ExpressionWrapper<DB, TB, I> : KyselyTypeError<'any(expr) call failed: expr must be an array'>;
any<T>(subquery: SelectQueryBuilderExpression<Record<string, T>>): ExpressionWrapper<DB, TB, T>;
any<T>(expr: Expression<ReadonlyArray<T>>): ExpressionWrapper<DB, TB, T>;
+ /**
+ * Creates a json_agg function call.
+ *
+ * This function is only available on PostgreSQL.
+ *
+ * ```ts
+ * db.selectFrom('person')
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
+ * .select((eb) => ['first_name', eb.fn.jsonAgg('pet').as('pets')])
+ * .groupBy('person.first_name')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * select "first_name", json_agg("pet") as "pets"
+ * from "person"
+ * inner join "pet" on "pet"."owner_id" = "person"."id"
+ * group by "person"."first_name"
+ * ```
+ */
+ jsonAgg<T extends (TB & string) | Expression<unknown>>(table: T): AggregateFunctionBuilder<DB, TB, T extends TB ? Selectable<DB[T]>[] : T extends Expression<infer O> ? O[] : never>;
+ /**
+ * Creates a to_json function call.
+ *
+ * This function is only available on PostgreSQL.
+ *
+ * ```ts
+ * db.selectFrom('person')
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
+ * .select((eb) => ['first_name', eb.fn.toJson('pet').as('pet')])
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * select "first_name", to_json("pet") as "pet"
+ * from "person"
+ * inner join "pet" on "pet"."owner_id" = "person"."id"
+ * ```
+ */
+ toJson<T extends (TB & string) | Expression<unknown>>(table: T): ExpressionWrapper<DB, TB, T extends TB ? Selectable<DB[T]> : T extends Expression<infer O> ? O : never>;
}
export declare function createFunctionModule<DB, TB extends keyof DB>(): FunctionModule<DB, TB>;
type OutputBoundStringReference<DB, TB extends keyof DB, C extends StringReference<DB, TB>, O> = IsAny<O> extends true ? C : Equals<ExtractTypeFromReferenceExpression<DB, TB, C> | null, O | null> extends true ? C : never;
diff --git a/node_modules/kysely/dist/cjs/query-builder/function-module.js b/node_modules/kysely/dist/cjs/query-builder/function-module.js
index b894b62..01a2a51 100644
--- a/node_modules/kysely/dist/cjs/query-builder/function-module.js
+++ b/node_modules/kysely/dist/cjs/query-builder/function-module.js
@@ -7,6 +7,8 @@ const function_node_js_1 = require("../operation-node/function-node.js");
const reference_parser_js_1 = require("../parser/reference-parser.js");
const select_parser_js_1 = require("../parser/select-parser.js");
const aggregate_function_builder_js_1 = require("./aggregate-function-builder.js");
+const object_utils_js_1 = require("../util/object-utils.js");
+const table_parser_js_1 = require("../parser/table-parser.js");
function createFunctionModule() {
const fn = (name, args) => {
return new expression_wrapper_js_1.ExpressionWrapper(function_node_js_1.FunctionNode.create(name, (0, reference_parser_js_1.parseReferenceExpressionOrList)(args)));
@@ -44,6 +46,18 @@ function createFunctionModule() {
any(column) {
return fn('any', [column]);
},
+ jsonAgg(table) {
+ return new aggregate_function_builder_js_1.AggregateFunctionBuilder({
+ aggregateFunctionNode: aggregate_function_node_js_1.AggregateFunctionNode.create('json_agg', [
+ (0, object_utils_js_1.isString)(table) ? (0, table_parser_js_1.parseTable)(table) : table.toOperationNode(),
+ ]),
+ });
+ },
+ toJson(table) {
+ return new expression_wrapper_js_1.ExpressionWrapper(function_node_js_1.FunctionNode.create('to_json', [
+ (0, object_utils_js_1.isString)(table) ? (0, table_parser_js_1.parseTable)(table) : table.toOperationNode(),
+ ]));
+ },
});
}
exports.createFunctionModule = createFunctionModule;
diff --git a/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts
index b9f72e1..529d504 100644
--- a/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts
@@ -1,7 +1,7 @@
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { SqlBool } from '../util/type-utils.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
export interface HavingInterface<DB, TB extends keyof DB> {
/**
* Just like {@link WhereInterface.where | where} but adds a `having` statement
diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts
index 6be4113..f4c749a 100644
--- a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts
@@ -1,26 +1,26 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { SelectExpression, SelectCallback } from '../parser/select-parser.js';
-import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert-values-parser.js';
-import { InsertQueryNode } from '../operation-node/insert-query-node.js';
-import { QueryNode } from '../operation-node/query-node.js';
-import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js';
-import { UpdateExpression } from '../parser/update-set-parser.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
-import { InsertResult } from './insert-result.js';
-import { KyselyPlugin } from '../plugin/kysely-plugin.js';
-import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js';
-import { NoResultErrorConstructor } from './no-result-error.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
-import { ReturningInterface } from './returning-interface.js';
-import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from './on-conflict-builder.js';
-import { Selectable } from '../util/column-type.js';
-import { Explainable, ExplainFormat } from '../util/explainable.js';
-import { Expression } from '../expression/expression.js';
-import { KyselyTypeError } from '../util/type-error.js';
-import { Streamable } from '../util/streamable.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js';
+import { InsertObjectOrList, InsertObjectOrListFactory } from 'kysely/dist/cjs/parser/insert-values-parser.js';
+import { InsertQueryNode } from 'kysely/dist/cjs/operation-node/insert-query-node.js';
+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js';
+import { NarrowPartial, SimplifyResult, SimplifySingleResult } from 'kysely/dist/cjs/util/type-utils.js';
+import { UpdateObjectExpression } from 'kysely/dist/cjs/parser/update-set-parser.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js';
+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js';
+import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from 'kysely/dist/cjs/query-builder/on-conflict-builder.js';
+import { Selectable } from 'kysely/dist/cjs/util/column-type.js';
+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js';
+import { Streamable } from 'kysely/dist/cjs/util/streamable.js';
export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements ReturningInterface<DB, TB, O>, OperationNodeSource, Compilable<O>, Explainable, Streamable<O> {
#private;
constructor(props: InsertQueryBuilderProps);
@@ -60,13 +60,18 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* })
* .executeTakeFirst()
*
+ * // `insertId` is only available on dialects that
+ * // automatically return the id of the inserted row
+ * // such as MySQL and SQLite. On PostgreSQL, for example,
+ * // you need to add a `returning` clause to the query to
+ * // get anything out. See the "returning data" example.
* console.log(result.insertId)
* ```
*
- * The generated SQL (PostgreSQL):
+ * The generated SQL (MySQL):
*
* ```sql
- * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3)
+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?)
* ```
*
* <!-- siteExample("insert", "Multiple rows", 20) -->
@@ -131,11 +136,14 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* ```ts
* import { sql } from 'kysely'
*
+ * const ani = "Ani"
+ * const ston = "ston"
+ *
* const result = await db
* .insertInto('person')
* .values(({ ref, selectFrom, fn }) => ({
* first_name: 'Jennifer',
- * last_name: sql`${'Ani'} || ${'ston'}`,
+ * last_name: sql`concat(${ani}, ${ston})`,
* middle_name: ref('first_name'),
* age: selectFrom('person')
* .select(fn.avg<number>('age')
@@ -147,8 +155,18 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* The generated SQL (PostgreSQL):
*
* ```sql
- * insert into "person" ("first_name", "last_name", "age")
- * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person"))
+ * insert into "person" (
+ * "first_name",
+ * "last_name",
+ * "middle_name",
+ * "age"
+ * )
+ * values (
+ * $1,
+ * concat($2, $3),
+ * "first_name",
+ * (select avg("age") as "avg_age" from "person")
+ * )
* ```
*
* You can also use the callback version of subqueries or raw expressions:
@@ -208,7 +226,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* .select((eb) => [
* 'pet.name',
* eb.val('Petson').as('last_name'),
- * eb.val(7).as('age'),
+ * eb.lit(7).as('age'),
* ])
* )
* .execute()
@@ -218,7 +236,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
*
* ```sql
* insert into "person" ("first_name", "last_name", "age")
- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet"
+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet"
* ```
*/
expression(expression: ExpressionOrFactory<DB, TB, any>): InsertQueryBuilder<DB, TB, O>;
@@ -414,7 +432,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* .onDuplicateKeyUpdate({ species: 'hamster' })
* ```
*/
- onDuplicateKeyUpdate(update: UpdateExpression<DB, TB, TB>): InsertQueryBuilder<DB, TB, O>;
+ onDuplicateKeyUpdate(update: UpdateObjectExpression<DB, TB, TB>): InsertQueryBuilder<DB, TB, O>;
/**
* Allows you to return data from modified rows.
*
diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js
index ba57ff0..d89d1b8 100644
--- a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js
+++ b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js
@@ -77,7 +77,7 @@ class InsertQueryBuilder {
* .select((eb) => [
* 'pet.name',
* eb.val('Petson').as('last_name'),
- * eb.val(7).as('age'),
+ * eb.lit(7).as('age'),
* ])
* )
* .execute()
@@ -87,7 +87,7 @@ class InsertQueryBuilder {
*
* ```sql
* insert into "person" ("first_name", "last_name", "age")
- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet"
+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet"
* ```
*/
expression(expression) {
@@ -310,7 +310,7 @@ class InsertQueryBuilder {
return new InsertQueryBuilder({
...this.#props,
queryNode: insert_query_node_js_1.InsertQueryNode.cloneWith(this.#props.queryNode, {
- onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateExpression)(update)),
+ onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateObjectExpression)(update)),
}),
});
}
diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts b/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts
index c16fb08..d22a9e5 100644
--- a/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts
@@ -23,7 +23,14 @@
*/
export declare class InsertResult {
/**
- * The auto incrementing primary key
+ * The auto incrementing primary key of the inserted row.
+ *
+ * This property can be undefined when the query contains an `on conflict`
+ * clause that makes the query succeed even when nothing gets inserted.
+ *
+ * This property is always undefined on dialects like PostgreSQL that
+ * don't return the inserted id by default. On those dialects you need
+ * to use the {@link ReturningInterface.returning | returning} method.
*/
readonly insertId: bigint | undefined;
/**
diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-result.js b/node_modules/kysely/dist/cjs/query-builder/insert-result.js
index 6a3246d..b564a4a 100644
--- a/node_modules/kysely/dist/cjs/query-builder/insert-result.js
+++ b/node_modules/kysely/dist/cjs/query-builder/insert-result.js
@@ -26,7 +26,14 @@ exports.InsertResult = void 0;
*/
class InsertResult {
/**
- * The auto incrementing primary key
+ * The auto incrementing primary key of the inserted row.
+ *
+ * This property can be undefined when the query contains an `on conflict`
+ * clause that makes the query succeed even when nothing gets inserted.
+ *
+ * This property is always undefined on dialects like PostgreSQL that
+ * don't return the inserted id by default. On those dialects you need
+ * to use the {@link ReturningInterface.returning | returning} method.
*/
insertId;
/**
diff --git a/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts
index 475acb1..06a0488 100644
--- a/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts
@@ -1,9 +1,9 @@
-import { JoinNode } from '../operation-node/join-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { SqlBool } from '../util/type-utils.js';
+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
#private;
constructor(props: JoinBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts
index f173489..93dfff0 100644
--- a/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts
@@ -1,7 +1,7 @@
-import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js';
-import { AliasNode } from '../operation-node/alias-node.js';
-import { JSONReferenceNode } from '../operation-node/json-reference-node.js';
-import { OperationNode } from '../operation-node/operation-node.js';
+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js';
+import { JSONReferenceNode } from 'kysely/dist/cjs/operation-node/json-reference-node.js';
+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js';
export declare class JSONPathBuilder<S, O = S> {
#private;
constructor(node: JSONReferenceNode);
diff --git a/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts b/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts
index b6423c2..2ac85ee 100644
--- a/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts
@@ -1,4 +1,4 @@
-import { QueryNode } from '../operation-node/query-node.js';
+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js';
export type NoResultErrorConstructor = new (node: QueryNode) => Error;
export declare class NoResultError extends Error {
/**
diff --git a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts
index 803563e..f1bfe85 100644
--- a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts
@@ -1,12 +1,12 @@
-import { Expression } from '../expression/expression.js';
-import { OnConflictNode } from '../operation-node/on-conflict-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { UpdateExpression } from '../parser/update-set-parser.js';
-import { AnyColumn, SqlBool } from '../util/type-utils.js';
-import { WhereInterface } from './where-interface.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { OnConflictNode } from 'kysely/dist/cjs/operation-node/on-conflict-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { UpdateObjectExpression } from 'kysely/dist/cjs/parser/update-set-parser.js';
+import { AnyColumn, SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js';
export declare class OnConflictBuilder<DB, TB extends keyof DB> implements WhereInterface<DB, TB> {
#private;
constructor(props: OnConflictBuilderProps);
@@ -435,7 +435,7 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
* )
* ```
*/
- doUpdateSet(update: UpdateExpression<OnConflictDatabase<DB, TB>, OnConflictTables<TB>, OnConflictTables<TB>>): OnConflictUpdateBuilder<OnConflictDatabase<DB, TB>, OnConflictTables<TB>>;
+ doUpdateSet(update: UpdateObjectExpression<OnConflictDatabase<DB, TB>, OnConflictTables<TB>, OnConflictTables<TB>>): OnConflictUpdateBuilder<OnConflictDatabase<DB, TB>, OnConflictTables<TB>>;
/**
* Simply calls the provided function passing `this` as the only argument. `$call` returns
* what the provided function returns.
diff --git a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js
index cfb3a0b..b3b7e7e 100644
--- a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js
+++ b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js
@@ -175,7 +175,7 @@ class OnConflictBuilder {
return new OnConflictUpdateBuilder({
...this.#props,
onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWith(this.#props.onConflictNode, {
- updates: (0, update_set_parser_js_1.parseUpdateExpression)(update),
+ updates: (0, update_set_parser_js_1.parseUpdateObjectExpression)(update),
}),
});
}
diff --git a/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts
index 8517b91..1564fc1 100644
--- a/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts
@@ -1,9 +1,9 @@
-import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { OverNode } from '../operation-node/over-node.js';
-import { OrderByDirectionExpression } from '../parser/order-by-parser.js';
-import { PartitionByExpression } from '../parser/partition-by-parser.js';
-import { StringReference } from '../parser/reference-parser.js';
+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { OverNode } from 'kysely/dist/cjs/operation-node/over-node.js';
+import { OrderByDirectionExpression } from 'kysely/dist/cjs/parser/order-by-parser.js';
+import { PartitionByExpression } from 'kysely/dist/cjs/parser/partition-by-parser.js';
+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js';
export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
#private;
constructor(props: OverBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts
index 6c10c86..fb1bd5c 100644
--- a/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts
@@ -1,6 +1,6 @@
-import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js';
-import { SelectCallback, SelectExpression } from '../parser/select-parser.js';
-import { Selectable } from '../util/column-type.js';
+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js';
+import { SelectCallback, SelectExpression } from 'kysely/dist/cjs/parser/select-parser.js';
+import { Selectable } from 'kysely/dist/cjs/util/column-type.js';
export interface ReturningInterface<DB, TB extends keyof DB, O> {
/**
* Allows you to return data from modified rows.
diff --git a/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts b/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts
index 3593f25..42c4c56 100644
--- a/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts
@@ -1,5 +1,5 @@
-import { AliasableExpression } from '../expression/expression.js';
-import { SelectQueryNode } from '../operation-node/select-query-node.js';
+import { AliasableExpression } from 'kysely/dist/cjs/expression/expression.js';
+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js';
export interface SelectQueryBuilderExpression<O> extends AliasableExpression<O> {
get isSelectQueryBuilder(): true;
/**
diff --git a/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts
index b26ebf1..8221028 100644
--- a/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts
@@ -1,30 +1,30 @@
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js';
-import { TableExpression } from '../parser/table-parser.js';
-import { SelectExpression, Selection, AllSelection, SelectCallback, CallbackSelection } from '../parser/select-parser.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { SelectQueryNode } from '../operation-node/select-query-node.js';
-import { QueryNode } from '../operation-node/query-node.js';
-import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, Simplify, SimplifySingleResult, SqlBool } from '../util/type-utils.js';
-import { OrderByDirectionExpression, OrderByExpression, DirectedOrderByStringReference, UndirectedOrderByExpression } from '../parser/order-by-parser.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
-import { GroupByArg } from '../parser/group-by-parser.js';
-import { KyselyPlugin } from '../plugin/kysely-plugin.js';
-import { WhereInterface } from './where-interface.js';
-import { NoResultErrorConstructor } from './no-result-error.js';
-import { HavingInterface } from './having-interface.js';
-import { Explainable, ExplainFormat } from '../util/explainable.js';
-import { SetOperandExpression } from '../parser/set-operation-parser.js';
-import { AliasedExpression, Expression } from '../expression/expression.js';
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { KyselyTypeError } from '../util/type-error.js';
-import { Selectable } from '../util/column-type.js';
-import { Streamable } from '../util/streamable.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
-import { ExpressionWrapper } from '../expression/expression-wrapper.js';
-import { SelectQueryBuilderExpression } from './select-query-builder-expression.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js';
+import { TableExpression } from 'kysely/dist/cjs/parser/table-parser.js';
+import { SelectExpression, Selection, AllSelection, SelectCallback, CallbackSelection } from 'kysely/dist/cjs/parser/select-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js';
+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js';
+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, Simplify, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { OrderByDirectionExpression, OrderByExpression, DirectedOrderByStringReference, UndirectedOrderByExpression } from 'kysely/dist/cjs/parser/order-by-parser.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { GroupByArg } from 'kysely/dist/cjs/parser/group-by-parser.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js';
+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js';
+import { HavingInterface } from 'kysely/dist/cjs/query-builder/having-interface.js';
+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js';
+import { SetOperandExpression } from 'kysely/dist/cjs/parser/set-operation-parser.js';
+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js';
+import { Selectable } from 'kysely/dist/cjs/util/column-type.js';
+import { Streamable } from 'kysely/dist/cjs/util/streamable.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js';
+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js';
export interface SelectQueryBuilder<DB, TB extends keyof DB, O> extends WhereInterface<DB, TB>, HavingInterface<DB, TB>, SelectQueryBuilderExpression<O>, Compilable<O>, Explainable, Streamable<O> {
/**
* Adds a `where` expression to the query.
diff --git a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts
index 3d30eed..f98f0b3 100644
--- a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts
@@ -1,29 +1,30 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js';
-import { TableExpression, From, FromTables } from '../parser/table-parser.js';
-import { SelectExpression, SelectCallback } from '../parser/select-parser.js';
-import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { QueryNode } from '../operation-node/query-node.js';
-import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js';
-import { UpdateQueryNode } from '../operation-node/update-query-node.js';
-import { UpdateObject, UpdateObjectFactory } from '../parser/update-set-parser.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
-import { UpdateResult } from './update-result.js';
-import { KyselyPlugin } from '../plugin/kysely-plugin.js';
-import { WhereInterface } from './where-interface.js';
-import { ReturningInterface } from './returning-interface.js';
-import { NoResultErrorConstructor } from './no-result-error.js';
-import { Selectable } from '../util/column-type.js';
-import { Explainable, ExplainFormat } from '../util/explainable.js';
-import { AliasedExpression, Expression } from '../expression/expression.js';
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { KyselyTypeError } from '../util/type-error.js';
-import { Streamable } from '../util/streamable.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js';
+import { TableExpression, From, FromTables } from 'kysely/dist/cjs/parser/table-parser.js';
+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js';
+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js';
+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { UpdateQueryNode } from 'kysely/dist/cjs/operation-node/update-query-node.js';
+import { UpdateObject, UpdateObjectFactory, ExtractUpdateTypeFromReferenceExpression } from 'kysely/dist/cjs/parser/update-set-parser.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js';
+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js';
+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js';
+import { Selectable } from 'kysely/dist/cjs/util/column-type.js';
+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js';
+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js';
+import { Streamable } from 'kysely/dist/cjs/util/streamable.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js';
export declare class UpdateQueryBuilder<DB, UT extends keyof DB, TB extends keyof DB, O> implements WhereInterface<DB, TB>, ReturningInterface<DB, TB, O>, OperationNodeSource, Compilable<O>, Explainable, Streamable<O> {
#private;
constructor(props: UpdateQueryBuilderProps);
@@ -625,6 +626,20 @@ export declare class UpdateQueryBuilder<DB, UT extends keyof DB, TB extends keyo
* "id" = $4
* ```
*
+ * If you provide two arguments the first one is interpreted as the column
+ * (or other target) and the second as the value:
+ *
+ * ```ts
+ * const result = await db
+ * .updateTable('person')
+ * .set('first_name', 'Foo')
+ * // As always, both arguments can be arbitrary expressions or
+ * // callbacks that give you access to an expression builder:
+ * .set(sql`address['postalCode']`, (eb) => eb.val('61710))
+ * .where('id', '=', '1')
+ * .executeTakeFirst()
+ * ```
+ *
* On PostgreSQL you can chain `returning` to the query to get
* the updated rows' columns (or any other expression) as the
* return value:
@@ -682,6 +697,7 @@ export declare class UpdateQueryBuilder<DB, UT extends keyof DB, TB extends keyo
*/
set(update: UpdateObject<DB, TB, UT>): UpdateQueryBuilder<DB, UT, TB, O>;
set(update: UpdateObjectFactory<DB, TB, UT>): UpdateQueryBuilder<DB, UT, TB, O>;
+ set<RE extends ReferenceExpression<DB, UT>>(key: RE, value: ValueExpression<DB, TB, ExtractUpdateTypeFromReferenceExpression<DB, UT, RE>>): UpdateQueryBuilder<DB, UT, TB, O>;
/**
* Allows you to return data from modified rows.
*
diff --git a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js
index 1207bfd..6d24d8f 100644
--- a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js
+++ b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js
@@ -65,10 +65,10 @@ class UpdateQueryBuilder {
queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('FullJoin', args)),
});
}
- set(update) {
+ set(...args) {
return new UpdateQueryBuilder({
...this.#props,
- queryNode: update_query_node_js_1.UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, (0, update_set_parser_js_1.parseUpdateExpression)(update)),
+ queryNode: update_query_node_js_1.UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, (0, update_set_parser_js_1.parseUpdate)(...args)),
});
}
returning(selection) {
diff --git a/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts
index 9de8d7e..2225ee1 100644
--- a/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts
+++ b/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts
@@ -1,7 +1,7 @@
-import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
-import { ReferenceExpression } from '../parser/reference-parser.js';
-import { SqlBool } from '../util/type-utils.js';
-import { ExpressionOrFactory } from '../parser/expression-parser.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
export interface WhereInterface<DB, TB extends keyof DB> {
/**
* Adds a `where` expression to the query.
diff --git a/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts b/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts
index 9635b1f..5c4caec 100644
--- a/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts
+++ b/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts
@@ -1,4 +1,4 @@
-import { RootOperationNode } from './query-compiler.js';
+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js';
export interface CompiledQuery<O = unknown> {
readonly query: RootOperationNode;
readonly sql: string;
diff --git a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts
index dbd954a..2f73125 100644
--- a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts
+++ b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts
@@ -48,7 +48,7 @@ import { RootOperationNode, QueryCompiler } from './query-compiler.js';
import { HavingNode } from '../operation-node/having-node.js';
import { CreateSchemaNode } from '../operation-node/create-schema-node.js';
import { DropSchemaNode } from '../operation-node/drop-schema-node.js';
-import { AlterTableNode } from '../operation-node/alter-table-node.js';
+import { AlterTableColumnAlterationNode, AlterTableNode } from '../operation-node/alter-table-node.js';
import { DropColumnNode } from '../operation-node/drop-column-node.js';
import { RenameColumnNode } from '../operation-node/rename-column-node.js';
import { AlterColumnNode } from '../operation-node/alter-column-node.js';
@@ -88,6 +88,11 @@ import { JSONPathNode } from '../operation-node/json-path-node.js';
import { JSONPathLegNode } from '../operation-node/json-path-leg-node.js';
import { JSONOperatorChainNode } from '../operation-node/json-operator-chain-node.js';
import { TupleNode } from '../operation-node/tuple-node.js';
+import { AddIndexNode } from '../operation-node/add-index-node.js';
+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js';
+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js';
+import { TriggerEventNode } from '../operation-node/trigger-event-node.js';
+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js';
export declare class DefaultQueryCompiler extends OperationNodeVisitor implements QueryCompiler {
#private;
protected get numParameters(): number;
@@ -124,6 +129,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement
protected visitTable(node: TableNode): void;
protected visitSchemableIdentifier(node: SchemableIdentifierNode): void;
protected visitCreateTable(node: CreateTableNode): void;
+ protected visitCreateTrigger(node: CreateTriggerNode): void;
+ protected visitTriggerEvent(node: TriggerEventNode): void;
+ protected visitTriggerOrder(node: TriggerOrderNode): void;
+ protected visitDropTrigger(node: DropTriggerNode): void;
protected visitColumnDefinition(node: ColumnDefinitionNode): void;
protected getAutoIncrement(): string;
protected visitReferences(node: ReferencesNode): void;
@@ -184,6 +193,7 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement
protected visitJSONPath(node: JSONPathNode): void;
protected visitJSONPathLeg(node: JSONPathLegNode): void;
protected visitJSONOperatorChain(node: JSONOperatorChainNode): void;
+ protected visitAddIndex(node: AddIndexNode): void;
protected append(str: string): void;
protected appendValue(parameter: unknown): void;
protected getLeftIdentifierWrapper(): string;
@@ -197,4 +207,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement
protected addParameter(parameter: unknown): void;
protected appendImmediateValue(value: unknown): void;
protected sortSelectModifiers(arr: SelectModifierNode[]): ReadonlyArray<SelectModifierNode>;
+ protected compileColumnAlterations(columnAlterations: readonly AlterTableColumnAlterationNode[]): void;
+ /**
+ * controls whether the dialect adds a "type" keyword before a column's new data
+ * type in an ALTER TABLE statement.
+ */
+ protected announcesNewColumnDataType(): boolean;
}
diff --git a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js
index faf80c6..e1c4561 100644
--- a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js
+++ b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js
@@ -1,6 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultQueryCompiler = void 0;
+const create_table_node_js_1 = require("../operation-node/create-table-node.js");
const insert_query_node_js_1 = require("../operation-node/insert-query-node.js");
const operation_node_visitor_js_1 = require("../operation-node/operation-node-visitor.js");
const operator_node_js_1 = require("../operation-node/operator-node.js");
@@ -32,6 +33,7 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
const wrapInParens = this.parentNode !== undefined &&
!parens_node_js_1.ParensNode.is(this.parentNode) &&
!insert_query_node_js_1.InsertQueryNode.is(this.parentNode) &&
+ !create_table_node_js_1.CreateTableNode.is(this.parentNode) &&
!create_view_node_js_1.CreateViewNode.is(this.parentNode) &&
!set_operation_node_js_1.SetOperationNode.is(this.parentNode);
if (this.parentNode === undefined && node.explain) {
@@ -348,17 +350,83 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
this.append('if not exists ');
}
this.visitNode(node.table);
- this.append(' (');
- this.compileList([...node.columns, ...(node.constraints ?? [])]);
- this.append(')');
- if (node.onCommit) {
- this.append(' on commit ');
- this.append(node.onCommit);
+ if (node.selectQuery) {
+ this.append(' as ');
+ this.visitNode(node.selectQuery);
}
- if (node.endModifiers && node.endModifiers.length > 0) {
- this.append(' ');
- this.compileList(node.endModifiers, ' ');
+ else {
+ this.append(' (');
+ this.compileList([...node.columns, ...(node.constraints ?? [])]);
+ this.append(')');
+ if (node.onCommit) {
+ this.append(' on commit ');
+ this.append(node.onCommit);
+ }
+ if (node.endModifiers && node.endModifiers.length > 0) {
+ this.append(' ');
+ this.compileList(node.endModifiers, ' ');
+ }
+ }
+ }
+ visitCreateTrigger(node) {
+ if (!node.time)
+ throw new Error('Trigger time is required.');
+ if (!node.events)
+ throw new Error('Trigger event is required.');
+ if (!node.table)
+ throw new Error('Trigger table is required.');
+ this.append('create ');
+ if (node.temporary) {
+ this.append('temporary ');
}
+ if (node.orReplace) {
+ this.append('or replace ');
+ }
+ this.append('trigger ');
+ if (node.ifNotExists) {
+ this.append('if not exists ');
+ }
+ this.visitNode(node.name);
+ this.append(` ${node.time} `);
+ this.compileList(node.events, ' or ');
+ this.append(' on ');
+ this.visitNode(node.table);
+ if (node.forEach)
+ this.append(` for each ${node.forEach} `);
+ if (node.when) {
+ this.append(' when ');
+ this.visitNode(node.when);
+ }
+ if (node.order)
+ this.visitNode(node.order);
+ if (node.queries) {
+ this.append(' begin ');
+ this.compileList(node.queries, '; ');
+ this.append('; ');
+ this.append('end');
+ }
+ else if (node.function) {
+ this.append(' execute function ');
+ this.visitNode(node.function);
+ }
+ }
+ visitTriggerEvent(node) {
+ this.append(`${node.event} `);
+ if (node.event === 'update' && node.columns) {
+ this.append('of ');
+ this.compileList(node.columns, ', ');
+ }
+ }
+ visitTriggerOrder(node) {
+ this.append(`${node.order} `);
+ this.visitNode(node.otherTriggerName);
+ }
+ visitDropTrigger(node) {
+ this.append('drop trigger ');
+ if (node.ifExists) {
+ this.append('if exists ');
+ }
+ this.visitNode(node.name);
}
visitColumnDefinition(node) {
this.visitNode(node.column);
@@ -385,6 +453,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
if (node.unique) {
this.append(' unique');
}
+ if (node.nullsNotDistinct) {
+ this.append(' nulls not distinct');
+ }
if (node.primaryKey) {
this.append(' primary key');
}
@@ -565,6 +636,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
this.compileList(node.columns);
this.append(')');
}
+ if (node.nullsNotDistinct) {
+ this.append(' nulls not distinct');
+ }
if (node.where) {
this.append(' ');
this.visitNode(node.where);
@@ -617,7 +691,11 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
this.visitNode(node.name);
this.append(' ');
}
- this.append('unique (');
+ this.append('unique');
+ if (node.nullsNotDistinct) {
+ this.append(' nulls not distinct');
+ }
+ this.append(' (');
this.compileList(node.columns);
this.append(')');
}
@@ -698,7 +776,13 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
this.visitNode(node.dropConstraint);
}
if (node.columnAlterations) {
- this.compileList(node.columnAlterations);
+ this.compileColumnAlterations(node.columnAlterations);
+ }
+ if (node.addIndex) {
+ this.visitNode(node.addIndex);
+ }
+ if (node.dropIndex) {
+ this.visitNode(node.dropIndex);
}
}
visitAddColumn(node) {
@@ -720,7 +804,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
this.visitNode(node.column);
this.append(' ');
if (node.dataType) {
- this.append('type ');
+ if (this.announcesNewColumnDataType()) {
+ this.append('type ');
+ }
this.visitNode(node.dataType);
if (node.dataTypeExpression) {
this.append('using ');
@@ -1006,6 +1092,23 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
this.visitNode(node.values[i]);
}
}
+ visitAddIndex(node) {
+ this.append('add ');
+ if (node.unique) {
+ this.append('unique ');
+ }
+ this.append('index ');
+ this.visitNode(node.name);
+ if (node.columns) {
+ this.append(' (');
+ this.compileList(node.columns);
+ this.append(')');
+ }
+ if (node.using) {
+ this.append(' using ');
+ this.visitNode(node.using);
+ }
+ }
append(str) {
this.#sql += str;
}
@@ -1079,6 +1182,16 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi
: 1);
return (0, object_utils_js_1.freeze)(arr);
}
+ compileColumnAlterations(columnAlterations) {
+ this.compileList(columnAlterations);
+ }
+ /**
+ * controls whether the dialect adds a "type" keyword before a column's new data
+ * type in an ALTER TABLE statement.
+ */
+ announcesNewColumnDataType() {
+ return true;
+ }
}
exports.DefaultQueryCompiler = DefaultQueryCompiler;
const SELECT_MODIFIER_SQL = (0, object_utils_js_1.freeze)({
diff --git a/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts b/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts
index e3a8555..96702eb 100644
--- a/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts
+++ b/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts
@@ -1,18 +1,20 @@
-import { AlterTableNode } from '../operation-node/alter-table-node.js';
-import { CreateIndexNode } from '../operation-node/create-index-node.js';
-import { CreateSchemaNode } from '../operation-node/create-schema-node.js';
-import { CreateTableNode } from '../operation-node/create-table-node.js';
-import { CreateTypeNode } from '../operation-node/create-type-node.js';
-import { CreateViewNode } from '../operation-node/create-view-node.js';
-import { DropIndexNode } from '../operation-node/drop-index-node.js';
-import { DropSchemaNode } from '../operation-node/drop-schema-node.js';
-import { DropTableNode } from '../operation-node/drop-table-node.js';
-import { DropTypeNode } from '../operation-node/drop-type-node.js';
-import { DropViewNode } from '../operation-node/drop-view-node.js';
-import { QueryNode } from '../operation-node/query-node.js';
-import { RawNode } from '../operation-node/raw-node.js';
-import { CompiledQuery } from './compiled-query.js';
-export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode;
+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js';
+import { CreateIndexNode } from 'kysely/dist/cjs/operation-node/create-index-node.js';
+import { CreateSchemaNode } from 'kysely/dist/cjs/operation-node/create-schema-node.js';
+import { CreateTableNode } from 'kysely/dist/cjs/operation-node/create-table-node.js';
+import { CreateTriggerNode } from 'kysely/dist/cjs/operation-node/create-trigger-node.js';
+import { CreateTypeNode } from 'kysely/dist/cjs/operation-node/create-type-node.js';
+import { CreateViewNode } from 'kysely/dist/cjs/operation-node/create-view-node.js';
+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js';
+import { DropSchemaNode } from 'kysely/dist/cjs/operation-node/drop-schema-node.js';
+import { DropTableNode } from 'kysely/dist/cjs/operation-node/drop-table-node.js';
+import { DropTriggerNode } from 'kysely/dist/cjs/operation-node/drop-trigger-node.js';
+import { DropTypeNode } from 'kysely/dist/cjs/operation-node/drop-type-node.js';
+import { DropViewNode } from 'kysely/dist/cjs/operation-node/drop-view-node.js';
+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js';
+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode | CreateTriggerNode | DropTriggerNode;
/**
* a `QueryCompiler` compiles a query expressed as a tree of `OperationNodes` into SQL.
*/
diff --git a/node_modules/kysely/dist/cjs/query-creator.d.ts b/node_modules/kysely/dist/cjs/query-creator.d.ts
index 8399ab7..b8262e4 100644
--- a/node_modules/kysely/dist/cjs/query-creator.d.ts
+++ b/node_modules/kysely/dist/cjs/query-creator.d.ts
@@ -1,17 +1,17 @@
-import { SelectQueryBuilder } from './query-builder/select-query-builder.js';
-import { InsertQueryBuilder } from './query-builder/insert-query-builder.js';
-import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js';
-import { UpdateQueryBuilder } from './query-builder/update-query-builder.js';
-import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from './parser/table-parser.js';
-import { QueryExecutor } from './query-executor/query-executor.js';
-import { CommonTableExpression, QueryCreatorWithCommonTableExpression, RecursiveCommonTableExpression } from './parser/with-parser.js';
-import { WithNode } from './operation-node/with-node.js';
-import { InsertResult } from './query-builder/insert-result.js';
-import { DeleteResult } from './query-builder/delete-result.js';
-import { UpdateResult } from './query-builder/update-result.js';
-import { KyselyPlugin } from './plugin/kysely-plugin.js';
-import { CTEBuilderCallback } from './query-builder/cte-builder.js';
-import { CallbackSelection, SelectCallback, SelectExpression, Selection } from './parser/select-parser.js';
+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js';
+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js';
+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js';
+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js';
+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { CommonTableExpression, QueryCreatorWithCommonTableExpression, RecursiveCommonTableExpression } from 'kysely/dist/cjs/parser/with-parser.js';
+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js';
+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js';
+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js';
+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { CTEBuilderCallback } from 'kysely/dist/cjs/query-builder/cte-builder.js';
+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js';
export declare class QueryCreator<DB> {
#private;
constructor(props: QueryCreatorProps);
diff --git a/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts b/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts
index 9b5ec45..767ca78 100644
--- a/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts
+++ b/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts
@@ -1,4 +1,4 @@
-import { QueryExecutor } from './query-executor.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
/**
* @internal
* @private
diff --git a/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts b/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts
index 6c57fca..c17e603 100644
--- a/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts
+++ b/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts
@@ -1,10 +1,10 @@
-import { ConnectionProvider } from '../driver/connection-provider.js';
-import { QueryResult } from '../driver/database-connection.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { RootOperationNode } from '../query-compiler/query-compiler.js';
-import { KyselyPlugin } from '../plugin/kysely-plugin.js';
-import { QueryId } from '../util/query-id.js';
-import { DialectAdapter } from '../dialect/dialect-adapter.js';
+import { ConnectionProvider } from 'kysely/dist/cjs/driver/connection-provider.js';
+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { DialectAdapter } from 'kysely/dist/cjs/dialect/dialect-adapter.js';
/**
* This interface abstracts away the details of how to compile a query into SQL
* and execute it. Instead of passing around all those details, {@link SelectQueryBuilder}
diff --git a/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts b/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts
index 9016b18..c9e130b 100644
--- a/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts
@@ -1,10 +1,10 @@
-import { QueryResult } from '../driver/database-connection.js';
-import { RawNode } from '../operation-node/raw-node.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { KyselyPlugin } from '../plugin/kysely-plugin.js';
-import { QueryExecutorProvider } from '../query-executor/query-executor-provider.js';
-import { QueryId } from '../util/query-id.js';
-import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js';
+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js';
+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { QueryExecutorProvider } from 'kysely/dist/cjs/query-executor/query-executor-provider.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js';
/**
* An instance of this class can be used to create raw SQL snippets or queries.
*
diff --git a/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts
index 01a5163..f53cd32 100644
--- a/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts
@@ -1,7 +1,7 @@
-import { AlterColumnNode } from '../operation-node/alter-column-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { DataTypeExpression } from '../parser/data-type-parser.js';
-import { DefaultValueExpression } from '../parser/default-value-parser.js';
+import { AlterColumnNode } from 'kysely/dist/cjs/operation-node/alter-column-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js';
+import { DefaultValueExpression } from 'kysely/dist/cjs/parser/default-value-parser.js';
export declare class AlterColumnBuilder {
#private;
constructor(column: string);
diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts
index 62afe0f..12e0dcf 100644
--- a/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts
@@ -1,11 +1,11 @@
-import { AlterTableNode } from '../operation-node/alter-table-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { OnModifyForeignAction } from '../operation-node/references-node.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryId } from '../util/query-id.js';
-import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from './foreign-key-constraint-builder.js';
+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from 'kysely/dist/cjs/schema/foreign-key-constraint-builder.js';
export declare class AlterTableAddForeignKeyConstraintBuilder implements ForeignKeyConstraintBuilderInterface<AlterTableAddForeignKeyConstraintBuilder>, OperationNodeSource, Compilable {
#private;
constructor(props: AlterTableAddForeignKeyConstraintBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts
new file mode 100644
index 0000000..7b94e46
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts
@@ -0,0 +1,104 @@
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js';
+import { IndexType } from 'kysely/dist/cjs/operation-node/create-index-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { OrderedColumnName } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+export declare class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable {
+ #private;
+ constructor(props: AlterTableAddIndexBuilderProps);
+ /**
+ * Makes the index unique.
+ */
+ unique(): AlterTableAddIndexBuilder;
+ /**
+ * Adds a column to the index.
+ *
+ * Also see {@link columns} for adding multiple columns at once or {@link expression}
+ * for specifying an arbitrary expression.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * await db.schema
+ * .alterTable('person')
+ * .createIndex('person_first_name_and_age_index')
+ * .column('first_name')
+ * .column('age desc')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
+ * ```
+ */
+ column<CL extends string>(column: OrderedColumnName<CL>): AlterTableAddIndexBuilder;
+ /**
+ * Specifies a list of columns for the index.
+ *
+ * Also see {@link column} for adding a single column or {@link expression} for
+ * specifying an arbitrary expression.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * await db.schema
+ * .alterTable('person')
+ * .addIndex('person_first_name_and_age_index')
+ * .columns(['first_name', 'age desc'])
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
+ * ```
+ */
+ columns<CL extends string>(columns: OrderedColumnName<CL>[]): AlterTableAddIndexBuilder;
+ /**
+ * Specifies an arbitrary expression for the index.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * import { sql } from 'kysely'
+ *
+ * await db.schema
+ * .alterTable('person')
+ * .addIndex('person_first_name_index')
+ * .expression(sql`(first_name < 'Sami')`)
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami'))
+ * ```
+ */
+ expression(expression: Expression<any>): AlterTableAddIndexBuilder;
+ /**
+ * Specifies the index type.
+ */
+ using(indexType: IndexType): AlterTableAddIndexBuilder;
+ using(indexType: string): AlterTableAddIndexBuilder;
+ /**
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
+ * what the provided function returns.
+ */
+ $call<T>(func: (qb: this) => T): T;
+ toOperationNode(): AlterTableNode;
+ compile(): CompiledQuery;
+ execute(): Promise<void>;
+}
+export interface AlterTableAddIndexBuilderProps {
+ readonly queryId: QueryId;
+ readonly executor: QueryExecutor;
+ readonly node: AlterTableNode;
+}
diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js
new file mode 100644
index 0000000..005284b
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js
@@ -0,0 +1,146 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.AlterTableAddIndexBuilder = void 0;
+const add_index_node_js_1 = require("../operation-node/add-index-node.js");
+const alter_table_node_js_1 = require("../operation-node/alter-table-node.js");
+const raw_node_js_1 = require("../operation-node/raw-node.js");
+const reference_parser_js_1 = require("../parser/reference-parser.js");
+const object_utils_js_1 = require("../util/object-utils.js");
+const prevent_await_js_1 = require("../util/prevent-await.js");
+class AlterTableAddIndexBuilder {
+ #props;
+ constructor(props) {
+ this.#props = (0, object_utils_js_1.freeze)(props);
+ }
+ /**
+ * Makes the index unique.
+ */
+ unique() {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: add_index_node_js_1.AddIndexNode.cloneWith(this.#props.node.addIndex, {
+ unique: true,
+ }),
+ }),
+ });
+ }
+ /**
+ * Adds a column to the index.
+ *
+ * Also see {@link columns} for adding multiple columns at once or {@link expression}
+ * for specifying an arbitrary expression.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * await db.schema
+ * .alterTable('person')
+ * .createIndex('person_first_name_and_age_index')
+ * .column('first_name')
+ * .column('age desc')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
+ * ```
+ */
+ column(column) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [(0, reference_parser_js_1.parseOrderedColumnName)(column)]),
+ }),
+ });
+ }
+ /**
+ * Specifies a list of columns for the index.
+ *
+ * Also see {@link column} for adding a single column or {@link expression} for
+ * specifying an arbitrary expression.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * await db.schema
+ * .alterTable('person')
+ * .addIndex('person_first_name_and_age_index')
+ * .columns(['first_name', 'age desc'])
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
+ * ```
+ */
+ columns(columns) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, columns.map(reference_parser_js_1.parseOrderedColumnName)),
+ }),
+ });
+ }
+ /**
+ * Specifies an arbitrary expression for the index.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * import { sql } from 'kysely'
+ *
+ * await db.schema
+ * .alterTable('person')
+ * .addIndex('person_first_name_index')
+ * .expression(sql`(first_name < 'Sami')`)
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami'))
+ * ```
+ */
+ expression(expression) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [expression.toOperationNode()]),
+ }),
+ });
+ }
+ using(indexType) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: add_index_node_js_1.AddIndexNode.cloneWith(this.#props.node.addIndex, {
+ using: raw_node_js_1.RawNode.createWithSql(indexType),
+ }),
+ }),
+ });
+ }
+ /**
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
+ * what the provided function returns.
+ */
+ $call(func) {
+ return func(this);
+ }
+ toOperationNode() {
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
+ }
+ compile() {
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
+ }
+ async execute() {
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
+ }
+}
+exports.AlterTableAddIndexBuilder = AlterTableAddIndexBuilder;
+(0, prevent_await_js_1.preventAwait)(AlterTableAddIndexBuilder, "don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`");
diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts
index b0726ca..07e7284 100644
--- a/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts
@@ -1,16 +1,18 @@
-import { AlterTableNode } from '../operation-node/alter-table-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { ColumnDefinitionBuilderCallback } from './column-definition-builder.js';
-import { QueryId } from '../util/query-id.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { DataTypeExpression } from '../parser/data-type-parser.js';
-import { Expression } from '../expression/expression.js';
-import { AlterColumnBuilderCallback } from './alter-column-builder.js';
-import { AlterTableExecutor } from './alter-table-executor.js';
-import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js';
-import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js';
+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { ColumnDefinitionBuilderCallback } from 'kysely/dist/cjs/schema/column-definition-builder.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { AlterColumnBuilderCallback } from 'kysely/dist/cjs/schema/alter-column-builder.js';
+import { AlterTableExecutor } from 'kysely/dist/cjs/schema/alter-table-executor.js';
+import { AlterTableAddForeignKeyConstraintBuilder } from 'kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js';
+import { AlterTableDropConstraintBuilder } from 'kysely/dist/cjs/schema/alter-table-drop-constraint-builder.js';
+import { AlterTableAddIndexBuilder } from 'kysely/dist/cjs/schema/alter-table-add-index-builder.js';
+import { UniqueConstraintNodeBuilderCallback } from 'kysely/dist/cjs/schema/unique-constraint-builder.js';
/**
* This builder can be used to create a `alter table` query.
*/
@@ -35,7 +37,7 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface {
/**
* See {@link CreateTableBuilder.addUniqueConstraint}
*/
- addUniqueConstraint(constraintName: string, columns: string[]): AlterTableExecutor;
+ addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor;
/**
* See {@link CreateTableBuilder.addCheckConstraint}
*/
@@ -53,6 +55,44 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface {
*/
addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor;
dropConstraint(constraintName: string): AlterTableDropConstraintBuilder;
+ /**
+ * This can be used to add index to table.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.alterTable('person')
+ * .addIndex('person_email_index')
+ * .column('email')
+ * .unique()
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add unique index `person_email_index` (`email`)
+ * ```
+ */
+ addIndex(indexName: string): AlterTableAddIndexBuilder;
+ /**
+ * This can be used to drop index from table.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.alterTable('person')
+ * .dropIndex('person_email_index')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` drop index `test_first_name_index`
+ * ```
+ */
+ dropIndex(indexName: string): AlterTableExecutor;
/**
* Calls the given function passing `this` as the only argument.
*
diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-builder.js b/node_modules/kysely/dist/cjs/schema/alter-table-builder.js
index a3fb975..0c586d8 100644
--- a/node_modules/kysely/dist/cjs/schema/alter-table-builder.js
+++ b/node_modules/kysely/dist/cjs/schema/alter-table-builder.js
@@ -25,6 +25,10 @@ const alter_table_executor_js_1 = require("./alter-table-executor.js");
const alter_table_add_foreign_key_constraint_builder_js_1 = require("./alter-table-add-foreign-key-constraint-builder.js");
const alter_table_drop_constraint_builder_js_1 = require("./alter-table-drop-constraint-builder.js");
const primary_constraint_node_js_1 = require("../operation-node/primary-constraint-node.js");
+const drop_index_node_js_1 = require("../operation-node/drop-index-node.js");
+const add_index_node_js_1 = require("../operation-node/add-index-node.js");
+const alter_table_add_index_builder_js_1 = require("./alter-table-add-index-builder.js");
+const unique_constraint_builder_js_1 = require("./unique-constraint-builder.js");
/**
* This builder can be used to create a `alter table` query.
*/
@@ -85,11 +89,12 @@ class AlterTableBuilder {
/**
* See {@link CreateTableBuilder.addUniqueConstraint}
*/
- addUniqueConstraint(constraintName, columns) {
+ addUniqueConstraint(constraintName, columns, build = object_utils_js_1.noop) {
+ const uniqueConstraintBuilder = build(new unique_constraint_builder_js_1.UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)));
return new alter_table_executor_js_1.AlterTableExecutor({
...this.#props,
node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, {
- addConstraint: add_constraint_node_js_1.AddConstraintNode.create(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)),
+ addConstraint: add_constraint_node_js_1.AddConstraintNode.create(uniqueConstraintBuilder.toOperationNode()),
}),
});
}
@@ -136,6 +141,58 @@ class AlterTableBuilder {
}),
});
}
+ /**
+ * This can be used to add index to table.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.alterTable('person')
+ * .addIndex('person_email_index')
+ * .column('email')
+ * .unique()
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add unique index `person_email_index` (`email`)
+ * ```
+ */
+ addIndex(indexName) {
+ return new alter_table_add_index_builder_js_1.AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: add_index_node_js_1.AddIndexNode.create(indexName),
+ }),
+ });
+ }
+ /**
+ * This can be used to drop index from table.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.alterTable('person')
+ * .dropIndex('person_email_index')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` drop index `test_first_name_index`
+ * ```
+ */
+ dropIndex(indexName) {
+ return new alter_table_executor_js_1.AlterTableExecutor({
+ ...this.#props,
+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, {
+ dropIndex: drop_index_node_js_1.DropIndexNode.create(indexName),
+ }),
+ });
+ }
/**
* Calls the given function passing `this` as the only argument.
*
diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts
index 02cad63..6b40efd 100644
--- a/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts
@@ -1,9 +1,9 @@
-import { AlterTableNode } from '../operation-node/alter-table-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryId } from '../util/query-id.js';
+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
export declare class AlterTableDropConstraintBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: AlterTableDropConstraintBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts
index ca2aef1..6b8d89f 100644
--- a/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts
@@ -1,9 +1,9 @@
-import { AlterTableNode } from '../operation-node/alter-table-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryId } from '../util/query-id.js';
+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
export declare class AlterTableExecutor implements OperationNodeSource, Compilable {
#private;
constructor(props: AlterTableExecutorProps);
diff --git a/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts b/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts
index 2a99c4c..9633440 100644
--- a/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts
@@ -1,8 +1,8 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { OnModifyForeignAction } from '../operation-node/references-node.js';
-import { ColumnDefinitionNode } from '../operation-node/column-definition-node.js';
-import { DefaultValueExpression } from '../parser/default-value-parser.js';
-import { Expression } from '../expression/expression.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js';
+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js';
+import { DefaultValueExpression } from 'kysely/dist/cjs/parser/default-value-parser.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
export declare class ColumnDefinitionBuilder implements OperationNodeSource {
#private;
constructor(node: ColumnDefinitionNode);
@@ -183,6 +183,31 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
* ```
*/
modifyFront(modifier: Expression<any>): ColumnDefinitionBuilder;
+ /**
+ * Adds `nulls not distinct` specifier.
+ * Should be used with `unique` constraint.
+ *
+ * This only works on some dialects like PostgreSQL.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createTable('person')
+ * .addColumn('id', 'integer', col => col.primaryKey())
+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct())
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create table "person" (
+ * "id" integer primary key,
+ * "first_name" varchar(30) unique nulls not distinct
+ * )
+ * ```
+ */
+ nullsNotDistinct(): ColumnDefinitionBuilder;
/**
* This can be used to add any additional SQL to the end of the column definition.
*
diff --git a/node_modules/kysely/dist/cjs/schema/column-definition-builder.js b/node_modules/kysely/dist/cjs/schema/column-definition-builder.js
index aebbf98..eef0fcc 100644
--- a/node_modules/kysely/dist/cjs/schema/column-definition-builder.js
+++ b/node_modules/kysely/dist/cjs/schema/column-definition-builder.js
@@ -258,6 +258,33 @@ class ColumnDefinitionBuilder {
modifyFront(modifier) {
return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWithFrontModifier(this.#node, modifier.toOperationNode()));
}
+ /**
+ * Adds `nulls not distinct` specifier.
+ * Should be used with `unique` constraint.
+ *
+ * This only works on some dialects like PostgreSQL.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createTable('person')
+ * .addColumn('id', 'integer', col => col.primaryKey())
+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct())
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create table "person" (
+ * "id" integer primary key,
+ * "first_name" varchar(30) unique nulls not distinct
+ * )
+ * ```
+ */
+ nullsNotDistinct() {
+ return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { nullsNotDistinct: true }));
+ }
/**
* This can be used to add any additional SQL to the end of the column definition.
*
diff --git a/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts
index 27502c4..38bb2cb 100644
--- a/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts
@@ -1,14 +1,14 @@
-import { CreateIndexNode, IndexType } from '../operation-node/create-index-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { ExtractColumnNameFromOrderedColumnName, OrderedColumnName } from '../parser/reference-parser.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
-import { Expression } from '../expression/expression.js';
-import { ComparisonOperatorExpression } from '../parser/binary-operation-parser.js';
-import { ExpressionBuilder } from '../expression/expression-builder.js';
-import { ShallowRecord, SqlBool } from '../util/type-utils.js';
+import { CreateIndexNode, IndexType } from 'kysely/dist/cjs/operation-node/create-index-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { ExtractColumnNameFromOrderedColumnName, OrderedColumnName } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { ComparisonOperatorExpression } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js';
+import { ShallowRecord, SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
export declare class CreateIndexBuilder<C = never> implements OperationNodeSource, Compilable {
#private;
constructor(props: CreateIndexBuilderProps);
@@ -22,6 +22,29 @@ export declare class CreateIndexBuilder<C = never> implements OperationNodeSourc
* Makes the index unique.
*/
unique(): CreateIndexBuilder<C>;
+ /**
+ * Adds `nulls not distinct` specifier to index.
+ * This only works on some dialects like PostgreSQL.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createIndex('person_first_name_index')
+ * .on('person')
+ * .column('first_name')
+ * .nullsNotDistinct()
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create index "person_first_name_index"
+ * on "test" ("first_name")
+ * nulls not distinct;
+ * ```
+ */
+ nullsNotDistinct(): CreateIndexBuilder<C>;
/**
* Specifies the table for the index.
*/
diff --git a/node_modules/kysely/dist/cjs/schema/create-index-builder.js b/node_modules/kysely/dist/cjs/schema/create-index-builder.js
index 4de7de6..e0e00a0 100644
--- a/node_modules/kysely/dist/cjs/schema/create-index-builder.js
+++ b/node_modules/kysely/dist/cjs/schema/create-index-builder.js
@@ -39,6 +39,36 @@ class CreateIndexBuilder {
}),
});
}
+ /**
+ * Adds `nulls not distinct` specifier to index.
+ * This only works on some dialects like PostgreSQL.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createIndex('person_first_name_index')
+ * .on('person')
+ * .column('first_name')
+ * .nullsNotDistinct()
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create index "person_first_name_index"
+ * on "test" ("first_name")
+ * nulls not distinct;
+ * ```
+ */
+ nullsNotDistinct() {
+ return new CreateIndexBuilder({
+ ...this.#props,
+ node: create_index_node_js_1.CreateIndexNode.cloneWith(this.#props.node, {
+ nullsNotDistinct: true,
+ }),
+ });
+ }
/**
* Specifies the table for the index.
*/
diff --git a/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts
index 34974f5..fb0068d 100644
--- a/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts
@@ -1,9 +1,9 @@
-import { CreateSchemaNode } from '../operation-node/create-schema-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
+import { CreateSchemaNode } from 'kysely/dist/cjs/operation-node/create-schema-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
export declare class CreateSchemaBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: CreateSchemaBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts
index e160575..e5e27e4 100644
--- a/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts
@@ -1,13 +1,14 @@
-import { CreateTableNode, OnCommitAction } from '../operation-node/create-table-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { ColumnDefinitionBuilder } from './column-definition-builder.js';
-import { QueryId } from '../util/query-id.js';
-import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js';
-import { DataTypeExpression } from '../parser/data-type-parser.js';
-import { Expression } from '../expression/expression.js';
+import { CreateTableNode, OnCommitAction } from 'kysely/dist/cjs/operation-node/create-table-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { ColumnDefinitionBuilder } from 'kysely/dist/cjs/schema/column-definition-builder.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { ForeignKeyConstraintBuilder } from 'kysely/dist/cjs/schema/foreign-key-constraint-builder.js';
+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
+import { UniqueConstraintNodeBuilderCallback } from 'kysely/dist/cjs/schema/unique-constraint-builder.js';
/**
* This builder can be used to create a `create table` query.
*/
@@ -56,7 +57,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
* ```
*
* With this method, it's once again good to remember that Kysely just builds the
- * query and doesn't provide the same API for all databses. For example, some
+ * query and doesn't provide the same API for all databases. For example, some
* databases like older MySQL don't support the `references` statement in the
* column definition. Instead foreign key constraints need to be defined in the
* `create table` query. See the next example:
@@ -104,8 +105,13 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
* ```ts
* addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'])
* ```
+ *
+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows:
+ * ```ts
+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct())
+ * ```
*/
- addUniqueConstraint(constraintName: string, columns: C[]): CreateTableBuilder<TB, C>;
+ addUniqueConstraint(constraintName: string, columns: C[], build?: UniqueConstraintNodeBuilderCallback): CreateTableBuilder<TB, C>;
/**
* Adds a check constraint.
*
@@ -205,6 +211,26 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
* ```
*/
modifyEnd(modifier: Expression<any>): CreateTableBuilder<TB, C>;
+ /**
+ * Allows to create table from `select` query.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createTable('copy')
+ * .temporary()
+ * .as(db.selectFrom('person').select(['first_name', 'last_name']))
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create temporary table "copy" as
+ * select "first_name", "last_name" from "person"
+ * ```
+ */
+ as(expression: Expression<unknown>): CreateTableBuilder<string, never>;
/**
* Calls the given function passing `this` as the only argument.
*
diff --git a/node_modules/kysely/dist/cjs/schema/create-table-builder.js b/node_modules/kysely/dist/cjs/schema/create-table-builder.js
index 5053177..73590bf 100644
--- a/node_modules/kysely/dist/cjs/schema/create-table-builder.js
+++ b/node_modules/kysely/dist/cjs/schema/create-table-builder.js
@@ -15,6 +15,8 @@ const unique_constraint_node_js_1 = require("../operation-node/unique-constraint
const check_constraint_node_js_1 = require("../operation-node/check-constraint-node.js");
const table_parser_js_1 = require("../parser/table-parser.js");
const on_commit_action_parse_js_1 = require("../parser/on-commit-action-parse.js");
+const unique_constraint_builder_js_1 = require("./unique-constraint-builder.js");
+const expression_parser_js_1 = require("../parser/expression-parser.js");
/**
* This builder can be used to create a `create table` query.
*/
@@ -86,7 +88,7 @@ class CreateTableBuilder {
* ```
*
* With this method, it's once again good to remember that Kysely just builds the
- * query and doesn't provide the same API for all databses. For example, some
+ * query and doesn't provide the same API for all databases. For example, some
* databases like older MySQL don't support the `references` statement in the
* column definition. Instead foreign key constraints need to be defined in the
* `create table` query. See the next example:
@@ -145,11 +147,17 @@ class CreateTableBuilder {
* ```ts
* addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'])
* ```
+ *
+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows:
+ * ```ts
+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct())
+ * ```
*/
- addUniqueConstraint(constraintName, columns) {
+ addUniqueConstraint(constraintName, columns, build = object_utils_js_1.noop) {
+ const uniqueConstraintBuilder = build(new unique_constraint_builder_js_1.UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)));
return new CreateTableBuilder({
...this.#props,
- node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)),
+ node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, uniqueConstraintBuilder.toOperationNode()),
});
}
/**
@@ -272,6 +280,33 @@ class CreateTableBuilder {
node: create_table_node_js_1.CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()),
});
}
+ /**
+ * Allows to create table from `select` query.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createTable('copy')
+ * .temporary()
+ * .as(db.selectFrom('person').select(['first_name', 'last_name']))
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create temporary table "copy" as
+ * select "first_name", "last_name" from "person"
+ * ```
+ */
+ as(expression) {
+ return new CreateTableBuilder({
+ ...this.#props,
+ node: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.node, {
+ selectQuery: (0, expression_parser_js_1.parseExpression)(expression),
+ }),
+ });
+ }
/**
* Calls the given function passing `this` as the only argument.
*
diff --git a/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts
new file mode 100644
index 0000000..6106ec7
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts
@@ -0,0 +1,68 @@
+import { CreateTriggerNode } from 'kysely/dist/cjs/operation-node/create-trigger-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js';
+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { AnyColumn, AnyColumnWithTable, SqlBool } from 'kysely/dist/cjs/util/type-utils.js';
+import { TriggerEvent } from 'kysely/dist/cjs/operation-node/trigger-event-node.js';
+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js';
+import { TriggerQueryCreator } from 'kysely/dist/cjs/trigger-query-creator.js';
+export type DatabaseWithOldNewTables<DB, TB extends keyof DB> = DB & {
+ old: DB[TB];
+ new: DB[TB];
+};
+/**
+ * This builder can be used to create a `create table` query.
+ */
+export declare class CreateTriggerBuilder<DB, TB extends keyof DB> implements OperationNodeSource, Compilable {
+ #private;
+ constructor(props: CreateTriggerBuilderProps);
+ before(): CreateTriggerBuilder<DB, TB>;
+ after(): CreateTriggerBuilder<DB, TB>;
+ insteadOf(): CreateTriggerBuilder<DB, TB>;
+ addEvent<E extends TriggerEvent>(event: E, columns?: E extends 'update' ? AnyColumn<DB, TB>[] : never[]): CreateTriggerBuilder<DB, TB>;
+ forEachRow(): CreateTriggerBuilder<DB, TB>;
+ forEachStatement(): CreateTriggerBuilder<DB, TB>;
+ follows(otherTriggerName: string): CreateTriggerBuilder<DB, TB>;
+ precedes(otherTriggerName: string): CreateTriggerBuilder<DB, TB>;
+ /**
+ * Specifies the table for the trigger.
+ */
+ onTable<TE extends keyof DB & string>(table: TE, schema?: string): CreateTriggerBuilder<DB, TE>;
+ /**
+ * Adds the "temporary" modifier.
+ *
+ * Use this to create a temporary trigger.
+ */
+ temporary(): CreateTriggerBuilder<DB, TB>;
+ /**
+ * Adds the "if not exists" modifier.
+ *
+ * If the trigger already exists, no error is thrown if this method has been called.
+ */
+ ifNotExists(): CreateTriggerBuilder<DB, TB>;
+ /**
+ * Only supported on PostgreSQL
+ */
+ orReplace(): CreateTriggerBuilder<DB, TB>;
+ /**
+ * Adds a query to the trigger.
+ */
+ addQuery(build: QueryCreatorCallback<DB, TB>): CreateTriggerBuilder<DB, TB>;
+ function(name: string, args: ReadonlyArray<ReferenceExpression<any, any>>): CreateTriggerBuilder<DB, TB>;
+ when<RE extends AnyColumnWithTable<DatabaseWithOldNewTables<DB, TB>, 'old' | 'new'>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): CreateTriggerBuilder<DB, TB>;
+ when(factory: ExpressionOrFactory<DatabaseWithOldNewTables<DB, TB>, 'old' | 'new', SqlBool>): CreateTriggerBuilder<DB, TB>;
+ $call<T>(func: (qb: this) => T): T;
+ toOperationNode(): CreateTriggerNode;
+ compile(): CompiledQuery;
+ execute(): Promise<void>;
+}
+export interface CreateTriggerBuilderProps {
+ readonly queryId: QueryId;
+ readonly executor: QueryExecutor;
+ readonly node: CreateTriggerNode;
+}
+export type QueryCreatorCallback<DB, TB extends keyof DB> = (creator: TriggerQueryCreator<DB, TB>) => OperationNodeSource;
diff --git a/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js
new file mode 100644
index 0000000..ebc814c
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js
@@ -0,0 +1,180 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.CreateTriggerBuilder = void 0;
+const create_trigger_node_js_1 = require("../operation-node/create-trigger-node.js");
+const query_node_js_1 = require("../operation-node/query-node.js");
+const binary_operation_parser_js_1 = require("../parser/binary-operation-parser.js");
+const reference_parser_js_1 = require("../parser/reference-parser.js");
+const immediate_value_transformer_js_1 = require("../plugin/immediate-value/immediate-value-transformer.js");
+const object_utils_js_1 = require("../util/object-utils.js");
+const prevent_await_js_1 = require("../util/prevent-await.js");
+const identifier_node_js_1 = require("../operation-node/identifier-node.js");
+const trigger_order_node_js_1 = require("../operation-node/trigger-order-node.js");
+const trigger_event_node_js_1 = require("../operation-node/trigger-event-node.js");
+const function_node_js_1 = require("../operation-node/function-node.js");
+const trigger_query_creator_js_1 = require("../trigger-query-creator.js");
+const table_node_js_1 = require("../operation-node/table-node.js");
+/**
+ * This builder can be used to create a `create table` query.
+ */
+class CreateTriggerBuilder {
+ #props;
+ constructor(props) {
+ this.#props = (0, object_utils_js_1.freeze)(props);
+ }
+ before() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ time: 'before',
+ }),
+ });
+ }
+ after() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ time: 'after',
+ }),
+ });
+ }
+ insteadOf() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ time: 'instead of',
+ }),
+ });
+ }
+ addEvent(event, columns) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWithEvent(this.#props.node, trigger_event_node_js_1.TriggerEventNode.create(event, columns?.map(reference_parser_js_1.parseOrderedColumnName))),
+ });
+ }
+ forEachRow() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ forEach: `row`,
+ }),
+ });
+ }
+ forEachStatement() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ forEach: `statement`,
+ }),
+ });
+ }
+ follows(otherTriggerName) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ order: trigger_order_node_js_1.TriggerOrderNode.create('follows', identifier_node_js_1.IdentifierNode.create(otherTriggerName)),
+ }),
+ });
+ }
+ precedes(otherTriggerName) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ order: trigger_order_node_js_1.TriggerOrderNode.create('precedes', identifier_node_js_1.IdentifierNode.create(otherTriggerName)),
+ }),
+ });
+ }
+ /**
+ * Specifies the table for the trigger.
+ */
+ onTable(table, schema) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ table: schema
+ ? table_node_js_1.TableNode.createWithSchema(schema, table)
+ : table_node_js_1.TableNode.create(table),
+ }),
+ });
+ }
+ /**
+ * Adds the "temporary" modifier.
+ *
+ * Use this to create a temporary trigger.
+ */
+ temporary() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ temporary: true,
+ }),
+ });
+ }
+ /**
+ * Adds the "if not exists" modifier.
+ *
+ * If the trigger already exists, no error is thrown if this method has been called.
+ */
+ ifNotExists() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ ifNotExists: true,
+ }),
+ });
+ }
+ /**
+ * Only supported on PostgreSQL
+ */
+ orReplace() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ orReplace: true,
+ }),
+ });
+ }
+ /**
+ * Adds a query to the trigger.
+ */
+ addQuery(build) {
+ const node = build(new trigger_query_creator_js_1.TriggerQueryCreator({ executor: this.#props.executor })).toOperationNode();
+ if (!query_node_js_1.QueryNode.is(node))
+ throw new Error('Must be a query node.');
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWithQuery(this.#props.node, node),
+ });
+ }
+ function(name, args) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ function: function_node_js_1.FunctionNode.create(name, (0, reference_parser_js_1.parseReferenceExpressionOrList)(args)),
+ }),
+ });
+ }
+ when(...args) {
+ const transformer = new immediate_value_transformer_js_1.ImmediateValueTransformer();
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, {
+ when: transformer.transformNode((0, binary_operation_parser_js_1.parseValueBinaryOperationOrExpression)(args)),
+ }),
+ });
+ }
+ $call(func) {
+ return func(this);
+ }
+ toOperationNode() {
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
+ }
+ compile() {
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
+ }
+ async execute() {
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
+ }
+}
+exports.CreateTriggerBuilder = CreateTriggerBuilder;
+(0, prevent_await_js_1.preventAwait)(CreateTriggerBuilder, "don't await CreateTriggerBuilder instances directly. To execute the query you need to call `execute`");
diff --git a/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts
index 8cc367c..3845c7b 100644
--- a/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts
@@ -1,9 +1,9 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
-import { CreateTypeNode } from '../operation-node/create-type-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { CreateTypeNode } from 'kysely/dist/cjs/operation-node/create-type-node.js';
export declare class CreateTypeBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: CreateTypeBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts
index 6786e99..de6f5cb 100644
--- a/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts
@@ -1,11 +1,11 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
-import { CreateViewNode } from '../operation-node/create-view-node.js';
-import { RawBuilder } from '../raw-builder/raw-builder.js';
-import { SelectQueryBuilder } from '../query-builder/select-query-builder.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { CreateViewNode } from 'kysely/dist/cjs/operation-node/create-view-node.js';
+import { RawBuilder } from 'kysely/dist/cjs/raw-builder/raw-builder.js';
+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js';
export declare class CreateViewBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: CreateViewBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts
index 36357d4..20486d3 100644
--- a/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts
@@ -1,9 +1,9 @@
-import { DropIndexNode } from '../operation-node/drop-index-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
export declare class DropIndexBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: DropIndexBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts
index 052411c..fc46202 100644
--- a/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts
@@ -1,9 +1,9 @@
-import { DropSchemaNode } from '../operation-node/drop-schema-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
+import { DropSchemaNode } from 'kysely/dist/cjs/operation-node/drop-schema-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
export declare class DropSchemaBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: DropSchemaBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts
index 824492a..c9ab11d 100644
--- a/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts
@@ -1,9 +1,9 @@
-import { DropTableNode } from '../operation-node/drop-table-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
+import { DropTableNode } from 'kysely/dist/cjs/operation-node/drop-table-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
export declare class DropTableBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: DropTableBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts
new file mode 100644
index 0000000..8f86888
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts
@@ -0,0 +1,25 @@
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { DropTriggerNode } from 'kysely/dist/cjs/operation-node/drop-trigger-node.js';
+export declare class DropTriggerBuilder implements OperationNodeSource, Compilable {
+ #private;
+ constructor(props: DropTriggerBuilderProps);
+ ifExists(): DropTriggerBuilder;
+ cascade(): DropTriggerBuilder;
+ /**
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
+ * what the provided function returns.
+ */
+ $call<T>(func: (qb: this) => T): T;
+ toOperationNode(): DropTriggerNode;
+ compile(): CompiledQuery;
+ execute(): Promise<void>;
+}
+export interface DropTriggerBuilderProps {
+ readonly queryId: QueryId;
+ readonly executor: QueryExecutor;
+ readonly node: DropTriggerNode;
+}
diff --git a/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js
new file mode 100644
index 0000000..1c55383
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js
@@ -0,0 +1,46 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.DropTriggerBuilder = void 0;
+const prevent_await_js_1 = require("../util/prevent-await.js");
+const object_utils_js_1 = require("../util/object-utils.js");
+const drop_trigger_node_js_1 = require("../operation-node/drop-trigger-node.js");
+class DropTriggerBuilder {
+ #props;
+ constructor(props) {
+ this.#props = (0, object_utils_js_1.freeze)(props);
+ }
+ ifExists() {
+ return new DropTriggerBuilder({
+ ...this.#props,
+ node: drop_trigger_node_js_1.DropTriggerNode.cloneWith(this.#props.node, {
+ ifExists: true,
+ }),
+ });
+ }
+ cascade() {
+ return new DropTriggerBuilder({
+ ...this.#props,
+ node: drop_trigger_node_js_1.DropTriggerNode.cloneWith(this.#props.node, {
+ cascade: true,
+ }),
+ });
+ }
+ /**
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
+ * what the provided function returns.
+ */
+ $call(func) {
+ return func(this);
+ }
+ toOperationNode() {
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
+ }
+ compile() {
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
+ }
+ async execute() {
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
+ }
+}
+exports.DropTriggerBuilder = DropTriggerBuilder;
+(0, prevent_await_js_1.preventAwait)(DropTriggerBuilder, "don't await DropTriggerBuilder instances directly. To execute the query you need to call `execute`");
diff --git a/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts
index 1c93cb5..6fef602 100644
--- a/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts
@@ -1,9 +1,9 @@
-import { DropTypeNode } from '../operation-node/drop-type-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
+import { DropTypeNode } from 'kysely/dist/cjs/operation-node/drop-type-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
export declare class DropTypeBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: DropTypeBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts
index c16f06c..77b7070 100644
--- a/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts
@@ -1,9 +1,9 @@
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { Compilable } from '../util/compilable.js';
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { QueryId } from '../util/query-id.js';
-import { DropViewNode } from '../operation-node/drop-view-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { Compilable } from 'kysely/dist/cjs/util/compilable.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { QueryId } from 'kysely/dist/cjs/util/query-id.js';
+import { DropViewNode } from 'kysely/dist/cjs/operation-node/drop-view-node.js';
export declare class DropViewBuilder implements OperationNodeSource, Compilable {
#private;
constructor(props: DropViewBuilderProps);
diff --git a/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts
index 1d29ef8..02fb0b4 100644
--- a/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts
@@ -1,6 +1,6 @@
-import { ForeignKeyConstraintNode } from '../operation-node/foreign-key-constraint-node.js';
-import { OperationNodeSource } from '../operation-node/operation-node-source.js';
-import { OnModifyForeignAction } from '../operation-node/references-node.js';
+import { ForeignKeyConstraintNode } from 'kysely/dist/cjs/operation-node/foreign-key-constraint-node.js';
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js';
export interface ForeignKeyConstraintBuilderInterface<R> {
onDelete(onDelete: OnModifyForeignAction): R;
onUpdate(onUpdate: OnModifyForeignAction): R;
diff --git a/node_modules/kysely/dist/cjs/schema/schema.d.ts b/node_modules/kysely/dist/cjs/schema/schema.d.ts
index 8634b84..52b57cb 100644
--- a/node_modules/kysely/dist/cjs/schema/schema.d.ts
+++ b/node_modules/kysely/dist/cjs/schema/schema.d.ts
@@ -1,20 +1,22 @@
-import { QueryExecutor } from '../query-executor/query-executor.js';
-import { AlterTableBuilder } from './alter-table-builder.js';
-import { CreateIndexBuilder } from './create-index-builder.js';
-import { CreateSchemaBuilder } from './create-schema-builder.js';
-import { CreateTableBuilder } from './create-table-builder.js';
-import { DropIndexBuilder } from './drop-index-builder.js';
-import { DropSchemaBuilder } from './drop-schema-builder.js';
-import { DropTableBuilder } from './drop-table-builder.js';
-import { CreateViewBuilder } from './create-view-builder.js';
-import { DropViewBuilder } from './drop-view-builder.js';
-import { KyselyPlugin } from '../plugin/kysely-plugin.js';
-import { CreateTypeBuilder } from './create-type-builder.js';
-import { DropTypeBuilder } from './drop-type-builder.js';
+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js';
+import { AlterTableBuilder } from 'kysely/dist/cjs/schema/alter-table-builder.js';
+import { CreateIndexBuilder } from 'kysely/dist/cjs/schema/create-index-builder.js';
+import { CreateSchemaBuilder } from 'kysely/dist/cjs/schema/create-schema-builder.js';
+import { CreateTableBuilder } from 'kysely/dist/cjs/schema/create-table-builder.js';
+import { DropIndexBuilder } from 'kysely/dist/cjs/schema/drop-index-builder.js';
+import { DropSchemaBuilder } from 'kysely/dist/cjs/schema/drop-schema-builder.js';
+import { DropTableBuilder } from 'kysely/dist/cjs/schema/drop-table-builder.js';
+import { CreateViewBuilder } from 'kysely/dist/cjs/schema/create-view-builder.js';
+import { DropViewBuilder } from 'kysely/dist/cjs/schema/drop-view-builder.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { CreateTypeBuilder } from 'kysely/dist/cjs/schema/create-type-builder.js';
+import { DropTypeBuilder } from 'kysely/dist/cjs/schema/drop-type-builder.js';
+import { CreateTriggerBuilder } from 'kysely/dist/cjs/schema/create-trigger-builder.js';
+import { DropTriggerBuilder } from 'kysely/dist/cjs/schema/drop-trigger-builder.js';
/**
* Provides methods for building database schema.
*/
-export declare class SchemaModule {
+export declare class SchemaModule<DB> {
#private;
constructor(executor: QueryExecutor);
/**
@@ -201,16 +203,18 @@ export declare class SchemaModule {
* ```
*/
dropType(typeName: string): DropTypeBuilder;
+ createTrigger(name: string): CreateTriggerBuilder<DB, keyof DB>;
+ dropTrigger(triggerName: string): DropTriggerBuilder;
/**
* Returns a copy of this schema module with the given plugin installed.
*/
- withPlugin(plugin: KyselyPlugin): SchemaModule;
+ withPlugin(plugin: KyselyPlugin): SchemaModule<DB>;
/**
* Returns a copy of this schema module without any plugins.
*/
- withoutPlugins(): SchemaModule;
+ withoutPlugins(): SchemaModule<DB>;
/**
* See {@link QueryCreator.withSchema}
*/
- withSchema(schema: string): SchemaModule;
+ withSchema(schema: string): SchemaModule<DB>;
}
diff --git a/node_modules/kysely/dist/cjs/schema/schema.js b/node_modules/kysely/dist/cjs/schema/schema.js
index 052622f..7b979ab 100644
--- a/node_modules/kysely/dist/cjs/schema/schema.js
+++ b/node_modules/kysely/dist/cjs/schema/schema.js
@@ -27,6 +27,11 @@ const drop_type_builder_js_1 = require("./drop-type-builder.js");
const create_type_node_js_1 = require("../operation-node/create-type-node.js");
const drop_type_node_js_1 = require("../operation-node/drop-type-node.js");
const identifier_parser_js_1 = require("../parser/identifier-parser.js");
+const create_trigger_builder_js_1 = require("./create-trigger-builder.js");
+const create_trigger_node_js_1 = require("../operation-node/create-trigger-node.js");
+const identifier_node_js_1 = require("../operation-node/identifier-node.js");
+const drop_trigger_node_js_1 = require("../operation-node/drop-trigger-node.js");
+const drop_trigger_builder_js_1 = require("./drop-trigger-builder.js");
/**
* Provides methods for building database schema.
*/
@@ -285,6 +290,20 @@ class SchemaModule {
node: drop_type_node_js_1.DropTypeNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(typeName)),
});
}
+ createTrigger(name) {
+ return new create_trigger_builder_js_1.CreateTriggerBuilder({
+ queryId: (0, query_id_js_1.createQueryId)(),
+ executor: this.#executor,
+ node: create_trigger_node_js_1.CreateTriggerNode.create(identifier_node_js_1.IdentifierNode.create(name)),
+ });
+ }
+ dropTrigger(triggerName) {
+ return new drop_trigger_builder_js_1.DropTriggerBuilder({
+ queryId: (0, query_id_js_1.createQueryId)(),
+ executor: this.#executor,
+ node: drop_trigger_node_js_1.DropTriggerNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(triggerName)),
+ });
+ }
/**
* Returns a copy of this schema module with the given plugin installed.
*/
diff --git a/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts
new file mode 100644
index 0000000..420398a
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts
@@ -0,0 +1,14 @@
+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js';
+import { UniqueConstraintNode } from 'kysely/dist/cjs/operation-node/unique-constraint-node.js';
+export declare class UniqueConstraintNodeBuilder implements OperationNodeSource {
+ #private;
+ constructor(node: UniqueConstraintNode);
+ toOperationNode(): UniqueConstraintNode;
+ /**
+ * Adds `nulls not distinct` to the unique constraint definition
+ *
+ * Supported by PostgreSQL dialect only
+ */
+ nullsNotDistinct(): UniqueConstraintNodeBuilder;
+}
+export type UniqueConstraintNodeBuilderCallback = (builder: UniqueConstraintNodeBuilder) => UniqueConstraintNodeBuilder;
diff --git a/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js
new file mode 100644
index 0000000..9931354
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js
@@ -0,0 +1,24 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.UniqueConstraintNodeBuilder = void 0;
+const unique_constraint_node_js_1 = require("../operation-node/unique-constraint-node.js");
+const prevent_await_js_1 = require("../util/prevent-await.js");
+class UniqueConstraintNodeBuilder {
+ #node;
+ constructor(node) {
+ this.#node = node;
+ }
+ toOperationNode() {
+ return this.#node;
+ }
+ /**
+ * Adds `nulls not distinct` to the unique constraint definition
+ *
+ * Supported by PostgreSQL dialect only
+ */
+ nullsNotDistinct() {
+ return new UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.cloneWith(this.#node, { nullsNotDistinct: true }));
+ }
+}
+exports.UniqueConstraintNodeBuilder = UniqueConstraintNodeBuilder;
+(0, prevent_await_js_1.preventAwait)(UniqueConstraintNodeBuilder, "don't await UniqueConstraintNodeBuilder instances directly.");
diff --git a/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts b/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts
new file mode 100644
index 0000000..9b7599f
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts
@@ -0,0 +1,35 @@
+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js';
+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js';
+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js';
+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js';
+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js';
+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js';
+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js';
+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js';
+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js';
+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js';
+import { QueryCreatorProps } from 'kysely/dist/cjs/query-creator.js';
+import { DatabaseWithOldNewTables } from 'kysely/dist/cjs/schema/create-trigger-builder.js';
+export declare class TriggerQueryCreator<DB, TB extends keyof DB> {
+ #private;
+ constructor(props: QueryCreatorProps);
+ selectFrom<TE extends keyof DB & string>(from: TE[]): SelectQueryBuilder<DatabaseWithOldNewTables<DB, TB>, ExtractTableAlias<DB, TE> | 'new' | 'old', {}>;
+ selectFrom<TE extends TableExpression<DB, keyof DB>>(from: TE[]): SelectQueryBuilder<From<DatabaseWithOldNewTables<DB, TB>, TE>, FromTables<DB, never, TE> | 'new' | 'old', {}>;
+ selectFrom<TE extends keyof DB & string>(from: TE): SelectQueryBuilder<DatabaseWithOldNewTables<DB, TB>, ExtractTableAlias<DB, TE> | 'new' | 'old', {}>;
+ selectFrom<TE extends AnyAliasedTable<DB>>(from: TE): SelectQueryBuilder<DatabaseWithOldNewTables<DB, TB> & PickTableWithAlias<DatabaseWithOldNewTables<DB, TB>, TE>, ExtractTableAlias<DB, TE> | 'new' | 'old', {}>;
+ selectFrom<TE extends TableExpression<DB, keyof DB>>(from: TE): SelectQueryBuilder<From<DatabaseWithOldNewTables<DB, TB>, TE>, FromTables<DB, never, TE> | 'new' | 'old', {}>;
+ selectNoFrom<SE extends SelectExpression<DB, never>>(selections: ReadonlyArray<SE>): SelectQueryBuilder<DB, never, Selection<DB, never, SE>>;
+ selectNoFrom<CB extends SelectCallback<DB, never>>(callback: CB): SelectQueryBuilder<DB, never, CallbackSelection<DB, never, CB>>;
+ selectNoFrom<SE extends SelectExpression<DB, never>>(selection: SE): SelectQueryBuilder<DB, never, Selection<DB, never, SE>>;
+ insertInto<T extends keyof DB & string>(table: T): InsertQueryBuilder<DB, T, InsertResult>;
+ replaceInto<T extends keyof DB & string>(table: T): InsertQueryBuilder<DB, T, InsertResult>;
+ deleteFrom<TR extends keyof DB & string>(from: TR[]): DeleteQueryBuilder<DatabaseWithOldNewTables<DB, TB>, ExtractTableAlias<DB, TR> | 'new' | 'old', DeleteResult>;
+ deleteFrom<TR extends TableReference<DB>>(tables: TR[]): DeleteQueryBuilder<From<DatabaseWithOldNewTables<DB, TB>, TR>, FromTables<DB, never, TR> | 'new' | 'old', DeleteResult>;
+ deleteFrom<TR extends keyof DB & string>(from: TR): DeleteQueryBuilder<DatabaseWithOldNewTables<DB, TB>, ExtractTableAlias<DB, TR> | 'new' | 'old', DeleteResult>;
+ deleteFrom<TR extends TableReference<DB>>(table: TR): DeleteQueryBuilder<From<DatabaseWithOldNewTables<DB, TB>, TR>, FromTables<DB, never, TR> | 'new' | 'old', DeleteResult>;
+ updateTable<TR extends keyof DB & string>(table: TR): UpdateQueryBuilder<DB, ExtractTableAlias<DB, TR>, ExtractTableAlias<DB, TR>, UpdateResult>;
+ updateTable<TR extends AnyAliasedTable<DB>>(table: TR): UpdateQueryBuilder<DB & PickTableWithAlias<DB, TR>, ExtractTableAlias<DB, TR>, ExtractTableAlias<DB, TR>, UpdateResult>;
+ updateTable<TR extends TableReference<DB>>(table: TR): UpdateQueryBuilder<From<DB, TR>, FromTables<DB, never, TR>, FromTables<DB, never, TR>, UpdateResult>;
+ withPlugin(plugin: KyselyPlugin): TriggerQueryCreator<DB, TB>;
+ withoutPlugins(): TriggerQueryCreator<DB, TB>;
+}
diff --git a/node_modules/kysely/dist/cjs/trigger-query-creator.js b/node_modules/kysely/dist/cjs/trigger-query-creator.js
new file mode 100644
index 0000000..5d4d073
--- /dev/null
+++ b/node_modules/kysely/dist/cjs/trigger-query-creator.js
@@ -0,0 +1,76 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.TriggerQueryCreator = void 0;
+const select_query_builder_js_1 = require("./query-builder/select-query-builder.js");
+const insert_query_builder_js_1 = require("./query-builder/insert-query-builder.js");
+const delete_query_builder_js_1 = require("./query-builder/delete-query-builder.js");
+const update_query_builder_js_1 = require("./query-builder/update-query-builder.js");
+const delete_query_node_js_1 = require("./operation-node/delete-query-node.js");
+const insert_query_node_js_1 = require("./operation-node/insert-query-node.js");
+const select_query_node_js_1 = require("./operation-node/select-query-node.js");
+const update_query_node_js_1 = require("./operation-node/update-query-node.js");
+const table_parser_js_1 = require("./parser/table-parser.js");
+const query_id_js_1 = require("./util/query-id.js");
+const object_utils_js_1 = require("./util/object-utils.js");
+const select_parser_js_1 = require("./parser/select-parser.js");
+class TriggerQueryCreator {
+ #props;
+ constructor(props) {
+ this.#props = (0, object_utils_js_1.freeze)(props);
+ }
+ selectFrom(from) {
+ return (0, select_query_builder_js_1.createSelectQueryBuilder)({
+ queryId: (0, query_id_js_1.createQueryId)(),
+ executor: this.#props.executor,
+ queryNode: select_query_node_js_1.SelectQueryNode.createFrom((0, table_parser_js_1.parseTableExpressionOrList)(from), this.#props.withNode),
+ });
+ }
+ selectNoFrom(selection) {
+ return (0, select_query_builder_js_1.createSelectQueryBuilder)({
+ queryId: (0, query_id_js_1.createQueryId)(),
+ executor: this.#props.executor,
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithSelections(select_query_node_js_1.SelectQueryNode.create(this.#props.withNode), (0, select_parser_js_1.parseSelectArg)(selection)),
+ });
+ }
+ insertInto(table) {
+ return new insert_query_builder_js_1.InsertQueryBuilder({
+ queryId: (0, query_id_js_1.createQueryId)(),
+ executor: this.#props.executor,
+ queryNode: insert_query_node_js_1.InsertQueryNode.create((0, table_parser_js_1.parseTable)(table), this.#props.withNode),
+ });
+ }
+ replaceInto(table) {
+ return new insert_query_builder_js_1.InsertQueryBuilder({
+ queryId: (0, query_id_js_1.createQueryId)(),
+ executor: this.#props.executor,
+ queryNode: insert_query_node_js_1.InsertQueryNode.create((0, table_parser_js_1.parseTable)(table), this.#props.withNode, true),
+ });
+ }
+ deleteFrom(tables) {
+ return new delete_query_builder_js_1.DeleteQueryBuilder({
+ queryId: (0, query_id_js_1.createQueryId)(),
+ executor: this.#props.executor,
+ queryNode: delete_query_node_js_1.DeleteQueryNode.create((0, table_parser_js_1.parseTableExpressionOrList)(tables), this.#props.withNode),
+ });
+ }
+ updateTable(table) {
+ return new update_query_builder_js_1.UpdateQueryBuilder({
+ queryId: (0, query_id_js_1.createQueryId)(),
+ executor: this.#props.executor,
+ queryNode: update_query_node_js_1.UpdateQueryNode.create((0, table_parser_js_1.parseTableExpression)(table), this.#props.withNode),
+ });
+ }
+ withPlugin(plugin) {
+ return new TriggerQueryCreator({
+ ...this.#props,
+ executor: this.#props.executor.withPlugin(plugin),
+ });
+ }
+ withoutPlugins() {
+ return new TriggerQueryCreator({
+ ...this.#props,
+ executor: this.#props.executor.withoutPlugins(),
+ });
+ }
+}
+exports.TriggerQueryCreator = TriggerQueryCreator;
diff --git a/node_modules/kysely/dist/cjs/util/column-type.d.ts b/node_modules/kysely/dist/cjs/util/column-type.d.ts
index bb33464..88a26b2 100644
--- a/node_modules/kysely/dist/cjs/util/column-type.d.ts
+++ b/node_modules/kysely/dist/cjs/util/column-type.d.ts
@@ -1,4 +1,4 @@
-import { DrainOuterGeneric } from './type-utils.js';
+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js';
/**
* This type can be used to specify a different type for
* select, insert and update operations.
diff --git a/node_modules/kysely/dist/cjs/util/compilable.d.ts b/node_modules/kysely/dist/cjs/util/compilable.d.ts
index 638b5d0..5c8f0e9 100644
--- a/node_modules/kysely/dist/cjs/util/compilable.d.ts
+++ b/node_modules/kysely/dist/cjs/util/compilable.d.ts
@@ -1,4 +1,4 @@
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
export interface Compilable<O = unknown> {
compile(): CompiledQuery<O>;
}
diff --git a/node_modules/kysely/dist/cjs/util/explainable.d.ts b/node_modules/kysely/dist/cjs/util/explainable.d.ts
index 5e05810..86789f2 100644
--- a/node_modules/kysely/dist/cjs/util/explainable.d.ts
+++ b/node_modules/kysely/dist/cjs/util/explainable.d.ts
@@ -1,4 +1,4 @@
-import { Expression } from '../expression/expression.js';
+import { Expression } from 'kysely/dist/cjs/expression/expression.js';
export type ExplainFormat = 'text' | 'xml' | 'json' | 'yaml' | 'traditional' | 'tree';
export interface Explainable {
/**
diff --git a/node_modules/kysely/dist/cjs/util/log.d.ts b/node_modules/kysely/dist/cjs/util/log.d.ts
index 840a172..69c7b55 100644
--- a/node_modules/kysely/dist/cjs/util/log.d.ts
+++ b/node_modules/kysely/dist/cjs/util/log.d.ts
@@ -1,5 +1,5 @@
-import { CompiledQuery } from '../query-compiler/compiled-query.js';
-import { ArrayItemType } from './type-utils.js';
+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js';
+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js';
export declare const LOG_LEVELS: readonly ["query", "error"];
export type LogLevel = ArrayItemType<typeof LOG_LEVELS>;
export interface QueryLogEvent {
diff --git a/node_modules/kysely/dist/cjs/util/object-utils.d.ts b/node_modules/kysely/dist/cjs/util/object-utils.d.ts
index 1b9f563..c9fa82b 100644
--- a/node_modules/kysely/dist/cjs/util/object-utils.d.ts
+++ b/node_modules/kysely/dist/cjs/util/object-utils.d.ts
@@ -6,7 +6,7 @@ export declare function isNumber(obj: unknown): obj is number;
export declare function isBoolean(obj: unknown): obj is boolean;
export declare function isNull(obj: unknown): obj is null;
export declare function isDate(obj: unknown): obj is Date;
-export declare function isBigInt(obj: unknown): obj is BigInt;
+export declare function isBigInt(obj: unknown): obj is bigint;
export declare function isBuffer(obj: unknown): obj is {
length: number;
};
diff --git a/node_modules/kysely/dist/cjs/util/type-utils.d.ts b/node_modules/kysely/dist/cjs/util/type-utils.d.ts
index 5fd42ff..4daf187 100644
--- a/node_modules/kysely/dist/cjs/util/type-utils.d.ts
+++ b/node_modules/kysely/dist/cjs/util/type-utils.d.ts
@@ -1,7 +1,7 @@
-import { InsertResult } from '../query-builder/insert-result.js';
-import { DeleteResult } from '../query-builder/delete-result.js';
-import { UpdateResult } from '../query-builder/update-result.js';
-import { KyselyTypeError } from './type-error.js';
+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js';
+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js';
+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js';
+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js';
/**
* Given a database type and a union of table names in that db, returns
* a union type with all possible column names.
diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts
index dc87916..e3fb628 100644
--- a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts
+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts
@@ -7,6 +7,14 @@ import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js';
* they are added and there will be less breaking changes.
*/
export declare abstract class DialectAdapterBase implements DialectAdapter {
+ /**
+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc.
+ *
+ * If this is false, Kysely's internal migrations tables and schemas are created
+ * without `if not exists` in migrations. This is not a problem if the dialect
+ * supports transactional DDL.
+ */
+ get supportsCreateIfNotExists(): boolean;
/**
* Whether or not this dialect supports transactional DDL.
*
diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js
index b5f7843..7065ce6 100644
--- a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js
+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js
@@ -6,6 +6,9 @@
* they are added and there will be less breaking changes.
*/
export class DialectAdapterBase {
+ get supportsCreateIfNotExists() {
+ return true;
+ }
get supportsTransactionalDdl() {
return false;
}
diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts b/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts
index 73a925a..fe7f1b3 100644
--- a/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts
+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts
@@ -8,6 +8,14 @@ import { Kysely } from '../kysely.js';
* it. For that there's a `supportsTransactionalDdl` boolean in this interface.
*/
export interface DialectAdapter {
+ /**
+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc.
+ *
+ * If this is false, Kysely's internal migrations tables and schemas are created
+ * without `if not exists` in migrations. This is not a problem if the dialect
+ * supports transactional DDL.
+ */
+ readonly supportsCreateIfNotExists: boolean;
/**
* Whether or not this dialect supports transactional DDL.
*
diff --git a/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js b/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js
index c83b381..3bcddb6 100644
--- a/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js
+++ b/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js
@@ -26,7 +26,7 @@ export class PostgresDriver {
// The driver must take care of calling `onCreateConnection` when a new
// connection is created. The `pg` module doesn't provide an async hook
// for the connection creation. We need to call the method explicitly.
- if (this.#config?.onCreateConnection) {
+ if (this.#config.onCreateConnection) {
await this.#config.onCreateConnection(connection);
}
}
diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts
index 69a0a7d..550df53 100644
--- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts
+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts
@@ -1,7 +1,7 @@
import { Kysely } from '../../kysely.js';
import { DialectAdapterBase } from '../dialect-adapter-base.js';
import { MigrationLockOptions } from '../dialect-adapter.js';
-export declare class SqliteAdapter implements DialectAdapterBase {
+export declare class SqliteAdapter extends DialectAdapterBase {
/**
* Whether or not this dialect supports transactional DDL.
*
diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js
index f095ebb..4f1b71f 100644
--- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js
+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js
@@ -1,5 +1,6 @@
/// <reference types="./sqlite-adapter.d.ts" />
-export class SqliteAdapter {
+import { DialectAdapterBase } from '../dialect-adapter-base.js';
+export class SqliteAdapter extends DialectAdapterBase {
get supportsTransactionalDdl() {
return false;
}
diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts
index 810af98..a873682 100644
--- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts
+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts
@@ -37,4 +37,5 @@ export interface SqliteStatement {
changes: number | bigint;
lastInsertRowid: number | bigint;
};
+ iterate(parameters: ReadonlyArray<unknown>): IterableIterator<unknown>;
}
diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js
index 23f21e3..d20935f 100644
--- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js
+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js
@@ -1,4 +1,5 @@
/// <reference types="./sqlite-driver.d.ts" />
+import { SelectQueryNode } from '../../operation-node/select-query-node.js';
import { CompiledQuery } from '../../query-compiler/compiled-query.js';
import { freeze, isFunction } from '../../util/object-utils.js';
export class SqliteDriver {
@@ -67,8 +68,20 @@ class SqliteConnection {
});
}
}
- async *streamQuery() {
- throw new Error("Sqlite driver doesn't support streaming");
+ async *streamQuery(compiledQuery, _chunkSize) {
+ const { sql, parameters, query } = compiledQuery;
+ const stmt = this.#db.prepare(sql);
+ if (SelectQueryNode.is(query)) {
+ const iter = stmt.iterate(parameters);
+ for (const row of iter) {
+ yield {
+ rows: [row],
+ };
+ }
+ }
+ else {
+ throw new Error('Sqlite driver only supports streaming of select queries');
+ }
}
}
class ConnectionMutex {
diff --git a/node_modules/kysely/dist/esm/driver/driver.d.ts b/node_modules/kysely/dist/esm/driver/driver.d.ts
index 00babcb..11d2d55 100644
--- a/node_modules/kysely/dist/esm/driver/driver.d.ts
+++ b/node_modules/kysely/dist/esm/driver/driver.d.ts
@@ -40,5 +40,5 @@ export interface Driver {
export interface TransactionSettings {
readonly isolationLevel?: IsolationLevel;
}
-export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"];
+export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable", "snapshot"];
export type IsolationLevel = ArrayItemType<typeof TRANSACTION_ISOLATION_LEVELS>;
diff --git a/node_modules/kysely/dist/esm/driver/driver.js b/node_modules/kysely/dist/esm/driver/driver.js
index 88c2a07..2ae1469 100644
--- a/node_modules/kysely/dist/esm/driver/driver.js
+++ b/node_modules/kysely/dist/esm/driver/driver.js
@@ -4,4 +4,5 @@ export const TRANSACTION_ISOLATION_LEVELS = [
'read committed',
'repeatable read',
'serializable',
+ 'snapshot',
];
diff --git a/node_modules/kysely/dist/esm/driver/single-connection-provider.js b/node_modules/kysely/dist/esm/driver/single-connection-provider.js
index aafebb7..ef341ee 100644
--- a/node_modules/kysely/dist/esm/driver/single-connection-provider.js
+++ b/node_modules/kysely/dist/esm/driver/single-connection-provider.js
@@ -1,4 +1,5 @@
/// <reference types="./single-connection-provider.d.ts" />
+const ignoreError = () => { };
export class SingleConnectionProvider {
#connection;
#runningPromise;
@@ -7,17 +8,15 @@ export class SingleConnectionProvider {
}
async provideConnection(consumer) {
while (this.#runningPromise) {
- await this.#runningPromise;
+ await this.#runningPromise.catch(ignoreError);
}
- const promise = this.#run(consumer);
- this.#runningPromise = promise
- .then(() => {
- this.#runningPromise = undefined;
- })
- .catch(() => {
+ // `#runningPromise` must be set to undefined before it's
+ // resolved or rejected. Otherwise the while loop above
+ // will misbehave.
+ this.#runningPromise = this.#run(consumer).finally(() => {
this.#runningPromise = undefined;
});
- return promise;
+ return this.#runningPromise;
}
// Run the runner in an async function to make sure it doesn't
// throw synchronous errors.
diff --git a/node_modules/kysely/dist/esm/expression/expression-builder.d.ts b/node_modules/kysely/dist/esm/expression/expression-builder.d.ts
index 7b4a340..07933a1 100644
--- a/node_modules/kysely/dist/esm/expression/expression-builder.d.ts
+++ b/node_modules/kysely/dist/esm/expression/expression-builder.d.ts
@@ -14,6 +14,7 @@ import { JSONPathBuilder } from '../query-builder/json-path-builder.js';
import { OperandExpression } from '../parser/expression-parser.js';
import { CallbackSelection, SelectCallback, SelectExpression, Selection } from '../parser/select-parser.js';
import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js';
+import { Selectable } from '../util/column-type.js';
export interface ExpressionBuilder<DB, TB extends keyof DB> {
/**
* Creates a binary expression.
@@ -344,6 +345,30 @@ export interface ExpressionBuilder<DB, TB extends keyof DB> {
*/
ref<RE extends StringReference<DB, TB>>(reference: RE): ExpressionWrapper<DB, TB, ExtractTypeFromReferenceExpression<DB, TB, RE>>;
ref<RE extends StringReference<DB, TB>>(reference: RE, op: JSONOperatorWith$): JSONPathBuilder<ExtractTypeFromReferenceExpression<DB, TB, RE>>;
+ /**
+ * Creates a table reference.
+ *
+ * ```ts
+ * db.selectFrom('person')
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
+ * .select(eb => [
+ * 'person.id',
+ * sql<Pet[]>`jsonb_agg(${eb.table('pet')})`.as('pets')
+ * ])
+ * .groupBy('person.id')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * select "person"."id", jsonb_agg("pet") as "pets"
+ * from "person"
+ * inner join "pet" on "pet"."owner_id" = "person"."id"
+ * group by "person"."id"
+ * ```
+ */
+ table<T extends TB & string>(table: T): ExpressionWrapper<DB, TB, Selectable<DB[T]>>;
/**
* Returns a value expression.
*
diff --git a/node_modules/kysely/dist/esm/expression/expression-builder.js b/node_modules/kysely/dist/esm/expression/expression-builder.js
index f550460..86b0098 100644
--- a/node_modules/kysely/dist/esm/expression/expression-builder.js
+++ b/node_modules/kysely/dist/esm/expression/expression-builder.js
@@ -1,7 +1,7 @@
/// <reference types="./expression-builder.d.ts" />
import { createSelectQueryBuilder, } from '../query-builder/select-query-builder.js';
import { SelectQueryNode } from '../operation-node/select-query-node.js';
-import { parseTableExpressionOrList, } from '../parser/table-parser.js';
+import { parseTableExpressionOrList, parseTable, } from '../parser/table-parser.js';
import { WithSchemaPlugin } from '../plugin/with-schema/with-schema-plugin.js';
import { createQueryId } from '../util/query-id.js';
import { createFunctionModule, } from '../query-builder/function-module.js';
@@ -11,7 +11,7 @@ import { ParensNode } from '../operation-node/parens-node.js';
import { ExpressionWrapper } from './expression-wrapper.js';
import { OperatorNode, } from '../operation-node/operator-node.js';
import { parseUnaryOperation } from '../parser/unary-operation-parser.js';
-import { parseSafeImmediateValue, parseValueExpression, parseValueExpressionOrList, } from '../parser/value-parser.js';
+import { parseSafeImmediateValue, parseValueExpression, } from '../parser/value-parser.js';
import { NOOP_QUERY_EXECUTOR } from '../query-executor/noop-query-executor.js';
import { CaseBuilder } from '../query-builder/case-builder.js';
import { CaseNode } from '../operation-node/case-node.js';
@@ -58,8 +58,11 @@ export function createExpressionBuilder(executor = NOOP_QUERY_EXECUTOR) {
}
return new JSONPathBuilder(parseJSONReference(reference, op));
},
+ table(table) {
+ return new ExpressionWrapper(parseTable(table));
+ },
val(value) {
- return new ExpressionWrapper(parseValueExpressionOrList(value));
+ return new ExpressionWrapper(parseValueExpression(value));
},
refTuple(...values) {
return new ExpressionWrapper(TupleNode.create(values.map(parseReferenceExpression)));
diff --git a/node_modules/kysely/dist/esm/index.d.ts b/node_modules/kysely/dist/esm/index.d.ts
index cf166f8..37cf701 100644
--- a/node_modules/kysely/dist/esm/index.d.ts
+++ b/node_modules/kysely/dist/esm/index.d.ts
@@ -72,6 +72,12 @@ export * from './dialect/postgres/postgres-dialect.js';
export * from './dialect/sqlite/sqlite-query-compiler.js';
export * from './dialect/sqlite/sqlite-introspector.js';
export * from './dialect/sqlite/sqlite-adapter.js';
+export * from './dialect/mssql/mssql-adapter.js';
+export * from './dialect/mssql/mssql-dialect-config.js';
+export * from './dialect/mssql/mssql-dialect.js';
+export * from './dialect/mssql/mssql-driver.js';
+export * from './dialect/mssql/mssql-introspector.js';
+export * from './dialect/mssql/mssql-query-compiler.js';
export * from './query-compiler/default-query-compiler.js';
export * from './query-compiler/query-compiler.js';
export * from './migration/migrator.js';
@@ -176,7 +182,7 @@ export * from './util/compilable.js';
export * from './util/explainable.js';
export * from './util/streamable.js';
export * from './util/log.js';
-export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, } from './util/type-utils.js';
+export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, Nullable, } from './util/type-utils.js';
export * from './util/infer-result.js';
export { logOnce } from './util/log-once.js';
export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js';
diff --git a/node_modules/kysely/dist/esm/kysely.d.ts b/node_modules/kysely/dist/esm/kysely.d.ts
index 52e909a..8e45b8c 100644
--- a/node_modules/kysely/dist/esm/kysely.d.ts
+++ b/node_modules/kysely/dist/esm/kysely.d.ts
@@ -66,7 +66,7 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
/**
* Returns the {@link SchemaModule} module for building database schema.
*/
- get schema(): SchemaModule;
+ get schema(): SchemaModule<DB>;
/**
* Returns a the {@link DynamicModule} module.
*
diff --git a/node_modules/kysely/dist/esm/migration/migrator.js b/node_modules/kysely/dist/esm/migration/migrator.js
index 8c7a0b4..7d3a26a 100644
--- a/node_modules/kysely/dist/esm/migration/migrator.js
+++ b/node_modules/kysely/dist/esm/migration/migrator.js
@@ -218,10 +218,7 @@ export class Migrator {
}
if (!(await this.#doesSchemaExists())) {
try {
- await this.#props.db.schema
- .createSchema(this.#migrationTableSchema)
- .ifNotExists()
- .execute();
+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema));
}
catch (error) {
// At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema`
@@ -237,20 +234,15 @@ export class Migrator {
if (!(await this.#doesTableExists(this.#migrationTable))) {
try {
if (this.#migrationTableSchema) {
- await this.#props.db.schema
- .createSchema(this.#migrationTableSchema)
- .ifNotExists()
- .execute();
+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema));
}
- await this.#props.db.schema
+ await this.#createIfNotExists(this.#props.db.schema
.withPlugin(this.#schemaPlugin)
.createTable(this.#migrationTable)
- .ifNotExists()
.addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey())
// The migration run time as ISO string. This is not a real date type as we
// can't know which data type is supported by all future dialects.
- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull())
- .execute();
+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()));
}
catch (error) {
// At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
@@ -265,13 +257,11 @@ export class Migrator {
async #ensureMigrationLockTableExists() {
if (!(await this.#doesTableExists(this.#migrationLockTable))) {
try {
- await this.#props.db.schema
+ await this.#createIfNotExists(this.#props.db.schema
.withPlugin(this.#schemaPlugin)
.createTable(this.#migrationLockTable)
- .ifNotExists()
.addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey())
- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0))
- .execute();
+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)));
}
catch (error) {
// At least on PostgreSQL, `if not exists` doesn't guarantee the `create table`
@@ -479,6 +469,12 @@ export class Migrator {
}
return { results };
}
+ async #createIfNotExists(qb) {
+ if (this.#props.db.getExecutor().adapter.supportsCreateIfNotExists) {
+ qb = qb.ifNotExists();
+ }
+ await qb.execute();
+ }
}
class MigrationResultSetError extends Error {
#resultSet;
diff --git a/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts b/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts
new file mode 100644
index 0000000..b81f95f
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts
@@ -0,0 +1,21 @@
+import { IdentifierNode } from './identifier-node.js';
+import { OperationNode } from './operation-node.js';
+import { RawNode } from './raw-node.js';
+export type AddIndexNodeProps = Omit<AddIndexNode, 'kind' | 'name'>;
+export interface AddIndexNode extends OperationNode {
+ readonly kind: 'AddIndexNode';
+ readonly name: IdentifierNode;
+ readonly columns?: OperationNode[];
+ readonly unique?: boolean;
+ readonly using?: RawNode;
+ readonly ifNotExists?: boolean;
+}
+/**
+ * @internal
+ */
+export declare const AddIndexNode: Readonly<{
+ is(node: OperationNode): node is AddIndexNode;
+ create(name: string): AddIndexNode;
+ cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode;
+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode;
+}>;
diff --git a/node_modules/kysely/dist/esm/operation-node/add-index-node.js b/node_modules/kysely/dist/esm/operation-node/add-index-node.js
new file mode 100644
index 0000000..134b7d8
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/add-index-node.js
@@ -0,0 +1,29 @@
+/// <reference types="./add-index-node.d.ts" />
+import { freeze } from '../util/object-utils.js';
+import { IdentifierNode } from './identifier-node.js';
+/**
+ * @internal
+ */
+export const AddIndexNode = freeze({
+ is(node) {
+ return node.kind === 'AddIndexNode';
+ },
+ create(name) {
+ return freeze({
+ kind: 'AddIndexNode',
+ name: IdentifierNode.create(name)
+ });
+ },
+ cloneWith(node, props) {
+ return freeze({
+ ...node,
+ ...props,
+ });
+ },
+ cloneWithColumns(node, columns) {
+ return freeze({
+ ...node,
+ columns: [...(node.columns || []), ...columns],
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts b/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts
index 5b03535..b09aca3 100644
--- a/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts
@@ -8,7 +8,9 @@ import { AlterColumnNode } from './alter-column-node.js';
import { AddConstraintNode } from './add-constraint-node.js';
import { DropConstraintNode } from './drop-constraint-node.js';
import { ModifyColumnNode } from './modify-column-node.js';
-export type AlterTableNodeTableProps = Pick<AlterTableNode, 'renameTo' | 'setSchema' | 'addConstraint' | 'dropConstraint'>;
+import { DropIndexNode } from './drop-index-node.js';
+import { AddIndexNode } from './add-index-node.js';
+export type AlterTableNodeTableProps = Pick<AlterTableNode, 'renameTo' | 'setSchema' | 'addConstraint' | 'dropConstraint' | 'addIndex' | 'dropIndex'>;
export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode;
export interface AlterTableNode extends OperationNode {
readonly kind: 'AlterTableNode';
@@ -18,6 +20,8 @@ export interface AlterTableNode extends OperationNode {
readonly columnAlterations?: ReadonlyArray<AlterTableColumnAlterationNode>;
readonly addConstraint?: AddConstraintNode;
readonly dropConstraint?: DropConstraintNode;
+ readonly addIndex?: AddIndexNode;
+ readonly dropIndex?: DropIndexNode;
}
/**
* @internal
diff --git a/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts b/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts
index 6442d83..b518d35 100644
--- a/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts
@@ -20,6 +20,7 @@ export interface ColumnDefinitionNode extends OperationNode {
readonly unsigned?: boolean;
readonly frontModifiers?: ReadonlyArray<OperationNode>;
readonly endModifiers?: ReadonlyArray<OperationNode>;
+ readonly nullsNotDistinct?: boolean;
}
/**
* @internal
diff --git a/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts b/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts
index 2e8ab34..bb59937 100644
--- a/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts
@@ -1,8 +1,7 @@
-import { ColumnNode } from './column-node.js';
import { OperationNode } from './operation-node.js';
export interface ColumnUpdateNode extends OperationNode {
readonly kind: 'ColumnUpdateNode';
- readonly column: ColumnNode;
+ readonly column: OperationNode;
readonly value: OperationNode;
}
/**
@@ -10,5 +9,5 @@ export interface ColumnUpdateNode extends OperationNode {
*/
export declare const ColumnUpdateNode: Readonly<{
is(node: OperationNode): node is ColumnUpdateNode;
- create(column: ColumnNode, value: OperationNode): ColumnUpdateNode;
+ create(column: OperationNode, value: OperationNode): ColumnUpdateNode;
}>;
diff --git a/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts
index a3a99d1..d474032 100644
--- a/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts
@@ -14,6 +14,7 @@ export interface CreateIndexNode extends OperationNode {
readonly using?: RawNode;
readonly ifNotExists?: boolean;
readonly where?: WhereNode;
+ readonly nullsNotDistinct?: boolean;
}
/**
* @internal
diff --git a/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts
index cc8ceda..f36036c 100644
--- a/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts
@@ -16,6 +16,7 @@ export interface CreateTableNode extends OperationNode {
readonly onCommit?: OnCommitAction;
readonly frontModifiers?: ReadonlyArray<OperationNode>;
readonly endModifiers?: ReadonlyArray<OperationNode>;
+ readonly selectQuery?: OperationNode;
}
/**
* @internal
diff --git a/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts
new file mode 100644
index 0000000..8244954
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts
@@ -0,0 +1,34 @@
+import { OperationNode } from './operation-node.js';
+import { TableNode } from './table-node.js';
+import { IdentifierNode } from './identifier-node.js';
+import { QueryNode } from './query-node.js';
+import { TriggerEventNode } from './trigger-event-node.js';
+import { TriggerOrderNode } from './trigger-order-node.js';
+import { FunctionNode } from './function-node.js';
+export type TriggerTime = 'after' | 'before' | 'instead of';
+export type CreateTriggerNodeParams = Omit<CreateTriggerNode, 'kind' | 'name' | 'queries'>;
+export interface CreateTriggerNode extends OperationNode {
+ readonly kind: 'CreateTriggerNode';
+ readonly name: IdentifierNode;
+ readonly queries?: ReadonlyArray<QueryNode>;
+ readonly function?: FunctionNode;
+ readonly time?: TriggerTime;
+ readonly events?: ReadonlyArray<TriggerEventNode>;
+ readonly table?: TableNode;
+ readonly orReplace?: boolean;
+ readonly ifNotExists?: boolean;
+ readonly when?: OperationNode;
+ readonly temporary?: boolean;
+ readonly forEach?: 'row' | 'statement';
+ readonly order?: TriggerOrderNode;
+}
+/**
+ * @internal
+ */
+export declare const CreateTriggerNode: Readonly<{
+ is(node: OperationNode): node is CreateTriggerNode;
+ create(name: IdentifierNode): CreateTriggerNode;
+ cloneWithQuery(createTrigger: CreateTriggerNode, query: QueryNode): CreateTriggerNode;
+ cloneWithEvent(createTrigger: CreateTriggerNode, event: TriggerEventNode): CreateTriggerNode;
+ cloneWith(createTrigger: CreateTriggerNode, params: CreateTriggerNodeParams): CreateTriggerNode;
+}>;
diff --git a/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js
new file mode 100644
index 0000000..90dd0f3
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js
@@ -0,0 +1,34 @@
+/// <reference types="./create-trigger-node.d.ts" />
+import { freeze } from '../util/object-utils.js';
+/**
+ * @internal
+ */
+export const CreateTriggerNode = freeze({
+ is(node) {
+ return node.kind === 'CreateTriggerNode';
+ },
+ create(name) {
+ return freeze({
+ kind: 'CreateTriggerNode',
+ name,
+ });
+ },
+ cloneWithQuery(createTrigger, query) {
+ return freeze({
+ ...createTrigger,
+ queries: freeze([...(createTrigger.queries || []), query]),
+ });
+ },
+ cloneWithEvent(createTrigger, event) {
+ return freeze({
+ ...createTrigger,
+ events: freeze([...(createTrigger.events || []), event]),
+ });
+ },
+ cloneWith(createTrigger, params) {
+ return freeze({
+ ...createTrigger,
+ ...params,
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts
new file mode 100644
index 0000000..4e38772
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts
@@ -0,0 +1,17 @@
+import { OperationNode } from './operation-node.js';
+import { SchemableIdentifierNode } from './schemable-identifier-node.js';
+export type DropTriggerNodeParams = Omit<Partial<DropTriggerNode>, 'kind' | 'name'>;
+export interface DropTriggerNode extends OperationNode {
+ readonly kind: 'DropTriggerNode';
+ readonly name: SchemableIdentifierNode;
+ readonly ifExists?: boolean;
+ readonly cascade?: boolean;
+}
+/**
+ * @internal
+ */
+export declare const DropTriggerNode: Readonly<{
+ is(node: OperationNode): node is DropTriggerNode;
+ create(name: SchemableIdentifierNode): DropTriggerNode;
+ cloneWith(dropTrigger: DropTriggerNode, params: DropTriggerNodeParams): DropTriggerNode;
+}>;
diff --git a/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js
new file mode 100644
index 0000000..ebabeb4
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js
@@ -0,0 +1,22 @@
+/// <reference types="./drop-trigger-node.d.ts" />
+import { freeze } from '../util/object-utils.js';
+/**
+ * @internal
+ */
+export const DropTriggerNode = freeze({
+ is(node) {
+ return node.kind === 'DropTriggerNode';
+ },
+ create(name) {
+ return freeze({
+ kind: 'DropTriggerNode',
+ name,
+ });
+ },
+ cloneWith(dropTrigger, params) {
+ return freeze({
+ ...dropTrigger,
+ ...params,
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts
index 6b3a13c..5d7fd9d 100644
--- a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts
@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js';
import { JSONPathLegNode } from './json-path-leg-node.js';
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
import { TupleNode } from './tuple-node.js';
+import { AddIndexNode } from './add-index-node.js';
+import { CreateTriggerNode } from './create-trigger-node.js';
+import { DropTriggerNode } from './drop-trigger-node.js';
+import { TriggerEventNode } from './trigger-event-node.js';
+import { TriggerOrderNode } from './trigger-order-node.js';
/**
* Transforms an operation node tree into another one.
*
@@ -139,9 +144,13 @@ export declare class OperationNodeTransformer {
protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode;
protected transformReturning(node: ReturningNode): ReturningNode;
protected transformCreateTable(node: CreateTableNode): CreateTableNode;
+ protected transformCreateTrigger(node: CreateTriggerNode): CreateTriggerNode;
+ protected transformTriggerEvent(node: TriggerEventNode): TriggerEventNode;
+ protected transformTriggerOrder(node: TriggerOrderNode): TriggerOrderNode;
protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode;
protected transformAddColumn(node: AddColumnNode): AddColumnNode;
protected transformDropTable(node: DropTableNode): DropTableNode;
+ protected transformDropTrigger(node: DropTriggerNode): DropTriggerNode;
protected transformOrderBy(node: OrderByNode): OrderByNode;
protected transformOrderByItem(node: OrderByItemNode): OrderByItemNode;
protected transformGroupBy(node: GroupByNode): GroupByNode;
@@ -199,6 +208,7 @@ export declare class OperationNodeTransformer {
protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode;
protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode;
protected transformTuple(node: TupleNode): TupleNode;
+ protected transformAddIndex(node: AddIndexNode): AddIndexNode;
protected transformDataType(node: DataTypeNode): DataTypeNode;
protected transformSelectAll(node: SelectAllNode): SelectAllNode;
protected transformIdentifier(node: IdentifierNode): IdentifierNode;
diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js
index f35075b..9e216f8 100644
--- a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js
+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js
@@ -119,6 +119,11 @@ export class OperationNodeTransformer {
JSONPathLegNode: this.transformJSONPathLeg.bind(this),
JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this),
TupleNode: this.transformTuple.bind(this),
+ AddIndexNode: this.transformAddIndex.bind(this),
+ CreateTriggerNode: this.transformCreateTrigger.bind(this),
+ TriggerEventNode: this.transformTriggerEvent.bind(this),
+ TriggerOrderNode: this.transformTriggerOrder.bind(this),
+ DropTriggerNode: this.transformDropTrigger.bind(this),
});
transformNode(node) {
if (!node) {
@@ -295,6 +300,38 @@ export class OperationNodeTransformer {
onCommit: node.onCommit,
frontModifiers: this.transformNodeList(node.frontModifiers),
endModifiers: this.transformNodeList(node.endModifiers),
+ selectQuery: this.transformNode(node.selectQuery),
+ });
+ }
+ transformCreateTrigger(node) {
+ return requireAllProps({
+ kind: 'CreateTriggerNode',
+ name: this.transformNode(node.name),
+ table: this.transformNode(node.table),
+ ifNotExists: node.ifNotExists,
+ time: node.time,
+ events: this.transformNodeList(node.events),
+ forEach: node.forEach,
+ orReplace: node.orReplace,
+ temporary: node.temporary,
+ queries: this.transformNodeList(node.queries),
+ function: this.transformNode(node.function),
+ when: this.transformNode(node.when),
+ order: this.transformNode(node.order),
+ });
+ }
+ transformTriggerEvent(node) {
+ return requireAllProps({
+ kind: 'TriggerEventNode',
+ event: node.event,
+ columns: this.transformNodeList(node.columns),
+ });
+ }
+ transformTriggerOrder(node) {
+ return requireAllProps({
+ kind: 'TriggerOrderNode',
+ order: node.order,
+ otherTriggerName: this.transformNode(node.otherTriggerName),
});
}
transformColumnDefinition(node) {
@@ -313,6 +350,7 @@ export class OperationNodeTransformer {
generated: this.transformNode(node.generated),
frontModifiers: this.transformNodeList(node.frontModifiers),
endModifiers: this.transformNodeList(node.endModifiers),
+ nullsNotDistinct: node.nullsNotDistinct,
});
}
transformAddColumn(node) {
@@ -329,6 +367,14 @@ export class OperationNodeTransformer {
cascade: node.cascade,
});
}
+ transformDropTrigger(node) {
+ return requireAllProps({
+ kind: 'DropTriggerNode',
+ name: this.transformNode(node.name),
+ ifExists: node.ifExists,
+ cascade: node.cascade,
+ });
+ }
transformOrderBy(node) {
return requireAllProps({
kind: 'OrderByNode',
@@ -414,6 +460,7 @@ export class OperationNodeTransformer {
using: this.transformNode(node.using),
ifNotExists: node.ifNotExists,
where: this.transformNode(node.where),
+ nullsNotDistinct: node.nullsNotDistinct,
});
}
transformList(node) {
@@ -443,6 +490,7 @@ export class OperationNodeTransformer {
kind: 'UniqueConstraintNode',
columns: this.transformNodeList(node.columns),
name: this.transformNode(node.name),
+ nullsNotDistinct: node.nullsNotDistinct,
});
}
transformForeignKeyConstraint(node) {
@@ -531,6 +579,8 @@ export class OperationNodeTransformer {
columnAlterations: this.transformNodeList(node.columnAlterations),
addConstraint: this.transformNode(node.addConstraint),
dropConstraint: this.transformNode(node.dropConstraint),
+ addIndex: this.transformNode(node.addIndex),
+ dropIndex: this.transformNode(node.dropIndex),
});
}
transformDropColumn(node) {
@@ -763,6 +813,16 @@ export class OperationNodeTransformer {
values: this.transformNodeList(node.values),
});
}
+ transformAddIndex(node) {
+ return requireAllProps({
+ kind: 'AddIndexNode',
+ name: this.transformNode(node.name),
+ columns: this.transformNodeList(node.columns),
+ unique: node.unique,
+ using: this.transformNode(node.using),
+ ifNotExists: node.ifNotExists,
+ });
+ }
transformDataType(node) {
// An Object.freezed leaf node. No need to clone.
return node;
diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts
index 7c267cd..6a66bc7 100644
--- a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts
@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js';
import { JSONPathLegNode } from './json-path-leg-node.js';
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
import { TupleNode } from './tuple-node.js';
+import { AddIndexNode } from './add-index-node.js';
+import { CreateTriggerNode } from './create-trigger-node.js';
+import { DropTriggerNode } from './drop-trigger-node.js';
+import { TriggerEventNode } from './trigger-event-node.js';
+import { TriggerOrderNode } from './trigger-order-node.js';
export declare abstract class OperationNodeVisitor {
#private;
protected readonly nodeStack: OperationNode[];
@@ -108,9 +113,13 @@ export declare abstract class OperationNodeVisitor {
protected abstract visitDeleteQuery(node: DeleteQueryNode): void;
protected abstract visitReturning(node: ReturningNode): void;
protected abstract visitCreateTable(node: CreateTableNode): void;
+ protected abstract visitCreateTrigger(node: CreateTriggerNode): void;
+ protected abstract visitTriggerEvent(node: TriggerEventNode): void;
+ protected abstract visitTriggerOrder(node: TriggerOrderNode): void;
protected abstract visitAddColumn(node: AddColumnNode): void;
protected abstract visitColumnDefinition(node: ColumnDefinitionNode): void;
protected abstract visitDropTable(node: DropTableNode): void;
+ protected abstract visitDropTrigger(node: DropTriggerNode): void;
protected abstract visitOrderBy(node: OrderByNode): void;
protected abstract visitOrderByItem(node: OrderByItemNode): void;
protected abstract visitGroupBy(node: GroupByNode): void;
@@ -176,4 +185,5 @@ export declare abstract class OperationNodeVisitor {
protected abstract visitJSONPathLeg(node: JSONPathLegNode): void;
protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void;
protected abstract visitTuple(node: TupleNode): void;
+ protected abstract visitAddIndex(node: AddIndexNode): void;
}
diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js
index 7ded762..cc6431e 100644
--- a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js
+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js
@@ -92,6 +92,11 @@ export class OperationNodeVisitor {
JSONPathLegNode: this.visitJSONPathLeg.bind(this),
JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this),
TupleNode: this.visitTuple.bind(this),
+ AddIndexNode: this.visitAddIndex.bind(this),
+ CreateTriggerNode: this.visitCreateTrigger.bind(this),
+ TriggerEventNode: this.visitTriggerEvent.bind(this),
+ TriggerOrderNode: this.visitTriggerOrder.bind(this),
+ DropTriggerNode: this.visitDropTrigger.bind(this),
});
visitNode = (node) => {
this.nodeStack.push(node);
diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts
index 24cad68..a01b9ed 100644
--- a/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts
@@ -1,4 +1,4 @@
-export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode';
+export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'AddIndexNode' | 'CreateTriggerNode' | 'TriggerEventNode' | 'TriggerOrderNode' | 'DropTriggerNode';
export interface OperationNode {
readonly kind: OperationNodeKind;
}
diff --git a/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts b/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts
index 1076866..18b6e05 100644
--- a/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts
@@ -1,11 +1,11 @@
import { OperationNode } from './operation-node.js';
-export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"];
+export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"];
export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"];
export declare const JSON_OPERATORS: readonly ["->", "->>"];
-export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"];
+export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"];
export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"];
export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"];
-export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"];
+export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"];
export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number];
export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number];
export type JSONOperator = (typeof JSON_OPERATORS)[number];
diff --git a/node_modules/kysely/dist/esm/operation-node/operator-node.js b/node_modules/kysely/dist/esm/operation-node/operator-node.js
index ba655e6..2df5b92 100644
--- a/node_modules/kysely/dist/esm/operation-node/operator-node.js
+++ b/node_modules/kysely/dist/esm/operation-node/operator-node.js
@@ -35,6 +35,8 @@ export const COMPARISON_OPERATORS = [
'!!',
'<->',
'regexp',
+ 'is distinct from',
+ 'is not distinct from',
];
export const ARITHMETIC_OPERATORS = [
'+',
diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts
new file mode 100644
index 0000000..8a3677d
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts
@@ -0,0 +1,15 @@
+import { OperationNode } from './operation-node.js';
+export type TriggerEvent = 'delete' | 'update' | 'insert' | 'truncate';
+export type TriggerEventNodeParams = Omit<TriggerEventNode, 'kind'>;
+export interface TriggerEventNode extends OperationNode {
+ readonly kind: 'TriggerEventNode';
+ readonly event: TriggerEvent;
+ readonly columns?: ReadonlyArray<OperationNode>;
+}
+/**
+ * @internal
+ */
+export declare const TriggerEventNode: Readonly<{
+ is(node: OperationNode): node is TriggerEventNode;
+ create(event: TriggerEvent, columns?: ReadonlyArray<OperationNode>): TriggerEventNode;
+}>;
diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js
new file mode 100644
index 0000000..6f97ee3
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js
@@ -0,0 +1,17 @@
+/// <reference types="./trigger-event-node.d.ts" />
+import { freeze } from '../util/object-utils.js';
+/**
+ * @internal
+ */
+export const TriggerEventNode = freeze({
+ is(node) {
+ return node.kind === 'TriggerEventNode';
+ },
+ create(event, columns) {
+ return freeze({
+ kind: 'TriggerEventNode',
+ event,
+ columns,
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts
new file mode 100644
index 0000000..12bad8d
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts
@@ -0,0 +1,16 @@
+import { IdentifierNode } from './identifier-node.js';
+import { OperationNode } from './operation-node.js';
+export type TriggerOrder = 'follows' | 'precedes';
+export type TriggerOrderNodeParams = Omit<TriggerOrderNode, 'kind'>;
+export interface TriggerOrderNode extends OperationNode {
+ readonly kind: 'TriggerOrderNode';
+ readonly order: TriggerOrder;
+ readonly otherTriggerName: IdentifierNode;
+}
+/**
+ * @internal
+ */
+export declare const TriggerOrderNode: Readonly<{
+ is(node: OperationNode): node is TriggerOrderNode;
+ create(order: TriggerOrder, otherTriggerName: IdentifierNode): TriggerOrderNode;
+}>;
diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js
new file mode 100644
index 0000000..eea5441
--- /dev/null
+++ b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js
@@ -0,0 +1,17 @@
+/// <reference types="./trigger-order-node.d.ts" />
+import { freeze } from '../util/object-utils.js';
+/**
+ * @internal
+ */
+export const TriggerOrderNode = freeze({
+ is(node) {
+ return node.kind === 'TriggerOrderNode';
+ },
+ create(order, otherTriggerName) {
+ return freeze({
+ kind: 'TriggerOrderNode',
+ order,
+ otherTriggerName,
+ });
+ },
+});
diff --git a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts
index c179f1f..4a544de 100644
--- a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts
+++ b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts
@@ -5,11 +5,14 @@ export interface UniqueConstraintNode extends OperationNode {
readonly kind: 'UniqueConstraintNode';
readonly columns: ReadonlyArray<ColumnNode>;
readonly name?: IdentifierNode;
+ readonly nullsNotDistinct?: boolean;
}
+export type UniqueConstraintNodeProps = Omit<Partial<UniqueConstraintNode>, 'kind'>;
/**
* @internal
*/
export declare const UniqueConstraintNode: Readonly<{
is(node: OperationNode): node is UniqueConstraintNode;
- create(columns: string[], constraintName?: string): UniqueConstraintNode;
+ create(columns: string[], constraintName?: string, nullsNotDistinct?: boolean): UniqueConstraintNode;
+ cloneWith(node: UniqueConstraintNode, props: UniqueConstraintNodeProps): UniqueConstraintNode;
}>;
diff --git a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js
index 0c903a6..d05e623 100644
--- a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js
+++ b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js
@@ -9,11 +9,18 @@ export const UniqueConstraintNode = freeze({
is(node) {
return node.kind === 'UniqueConstraintNode';
},
- create(columns, constraintName) {
+ create(columns, constraintName, nullsNotDistinct) {
return freeze({
kind: 'UniqueConstraintNode',
columns: freeze(columns.map(ColumnNode.create)),
name: constraintName ? IdentifierNode.create(constraintName) : undefined,
+ nullsNotDistinct,
+ });
+ },
+ cloneWith(node, props) {
+ return freeze({
+ ...node,
+ ...props,
});
},
});
diff --git a/node_modules/kysely/dist/esm/parser/binary-operation-parser.js b/node_modules/kysely/dist/esm/parser/binary-operation-parser.js
index 7c6e042..b136830 100644
--- a/node_modules/kysely/dist/esm/parser/binary-operation-parser.js
+++ b/node_modules/kysely/dist/esm/parser/binary-operation-parser.js
@@ -35,7 +35,7 @@ export function parseFilterObject(obj, combinator) {
export function parseFilterList(list, combinator) {
const combine = combinator === 'and' ? AndNode.create : OrNode.create;
if (list.length === 0) {
- return ValueNode.createImmediate(combinator === 'and');
+ return BinaryOperationNode.create(ValueNode.createImmediate(1), OperatorNode.create('='), ValueNode.createImmediate(combinator === 'and' ? 1 : 0));
}
let node = toOperationNode(list[0]);
for (let i = 1; i < list.length; ++i) {
diff --git a/node_modules/kysely/dist/esm/parser/reference-parser.d.ts b/node_modules/kysely/dist/esm/parser/reference-parser.d.ts
index cd4d656..08204c7 100644
--- a/node_modules/kysely/dist/esm/parser/reference-parser.d.ts
+++ b/node_modules/kysely/dist/esm/parser/reference-parser.d.ts
@@ -16,7 +16,8 @@ export type StringReference<DB, TB extends keyof DB> = AnyColumn<DB, TB> | AnyCo
export type SimpleReferenceExpression<DB, TB extends keyof DB> = StringReference<DB, TB> | DynamicReferenceBuilder<any>;
export type ReferenceExpression<DB, TB extends keyof DB> = SimpleReferenceExpression<DB, TB> | ExpressionOrFactory<DB, TB, any>;
export type ReferenceExpressionOrList<DB, TB extends keyof DB> = ReferenceExpression<DB, TB> | ReadonlyArray<ReferenceExpression<DB, TB>>;
-export type ExtractTypeFromReferenceExpression<DB, TB extends keyof DB, RE, DV = unknown> = RE extends string ? SelectType<ExtractTypeFromStringReference<DB, TB, RE>> : RE extends SelectQueryBuilderExpression<infer O> ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression<infer O> ? O[keyof O] | null : RE extends Expression<infer O> ? O : RE extends (qb: any) => Expression<infer O> ? O : DV;
+export type ExtractTypeFromReferenceExpression<DB, TB extends keyof DB, RE, DV = unknown> = SelectType<ExtractRawTypeFromReferenceExpression<DB, TB, RE, DV>>;
+export type ExtractRawTypeFromReferenceExpression<DB, TB extends keyof DB, RE, DV = unknown> = RE extends string ? ExtractTypeFromStringReference<DB, TB, RE> : RE extends SelectQueryBuilderExpression<infer O> ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression<infer O> ? O[keyof O] | null : RE extends Expression<infer O> ? O : RE extends (qb: any) => Expression<infer O> ? O : DV;
export type ExtractTypeFromStringReference<DB, TB extends keyof DB, RE extends string, DV = unknown> = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn<DB, TB> ? ExtractColumnType<DB, TB, RE> : DV;
export type OrderedColumnName<C extends string> = C extends `${string} ${infer O}` ? O extends OrderByDirection ? C : never : C;
export type ExtractColumnNameFromOrderedColumnName<C extends string> = C extends `${infer CL} ${infer O}` ? O extends OrderByDirection ? CL : never : C;
diff --git a/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts b/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts
index d4b2dd0..2763b7c 100644
--- a/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts
+++ b/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts
@@ -2,9 +2,12 @@ import { ColumnUpdateNode } from '../operation-node/column-update-node.js';
import { ExpressionBuilder } from '../expression/expression-builder.js';
import { UpdateKeys, UpdateType } from '../util/column-type.js';
import { ValueExpression } from './value-parser.js';
+import { ExtractRawTypeFromReferenceExpression, ReferenceExpression } from './reference-parser.js';
export type UpdateObject<DB, TB extends keyof DB, UT extends keyof DB = TB> = {
[C in UpdateKeys<DB[UT]>]?: ValueExpression<DB, TB, UpdateType<DB[UT][C]>> | undefined;
};
export type UpdateObjectFactory<DB, TB extends keyof DB, UT extends keyof DB> = (eb: ExpressionBuilder<DB, TB>) => UpdateObject<DB, TB, UT>;
-export type UpdateExpression<DB, TB extends keyof DB, UT extends keyof DB = TB> = UpdateObject<DB, TB, UT> | UpdateObjectFactory<DB, TB, UT>;
-export declare function parseUpdateExpression(update: UpdateExpression<any, any, any>): ReadonlyArray<ColumnUpdateNode>;
+export type UpdateObjectExpression<DB, TB extends keyof DB, UT extends keyof DB = TB> = UpdateObject<DB, TB, UT> | UpdateObjectFactory<DB, TB, UT>;
+export type ExtractUpdateTypeFromReferenceExpression<DB, TB extends keyof DB, RE, DV = unknown> = UpdateType<ExtractRawTypeFromReferenceExpression<DB, TB, RE, DV>>;
+export declare function parseUpdate(...args: [UpdateObjectExpression<any, any, any>] | [ReferenceExpression<any, any>, ValueExpression<any, any, any>]): ReadonlyArray<ColumnUpdateNode>;
+export declare function parseUpdateObjectExpression(update: UpdateObjectExpression<any, any, any>): ReadonlyArray<ColumnUpdateNode>;
diff --git a/node_modules/kysely/dist/esm/parser/update-set-parser.js b/node_modules/kysely/dist/esm/parser/update-set-parser.js
index 495e092..e644c94 100644
--- a/node_modules/kysely/dist/esm/parser/update-set-parser.js
+++ b/node_modules/kysely/dist/esm/parser/update-set-parser.js
@@ -4,7 +4,16 @@ import { ColumnUpdateNode } from '../operation-node/column-update-node.js';
import { expressionBuilder, } from '../expression/expression-builder.js';
import { isFunction } from '../util/object-utils.js';
import { parseValueExpression } from './value-parser.js';
-export function parseUpdateExpression(update) {
+import { parseReferenceExpression, } from './reference-parser.js';
+export function parseUpdate(...args) {
+ if (args.length === 2) {
+ return [
+ ColumnUpdateNode.create(parseReferenceExpression(args[0]), parseValueExpression(args[1])),
+ ];
+ }
+ return parseUpdateObjectExpression(args[0]);
+}
+export function parseUpdateObjectExpression(update) {
const updateObj = isFunction(update) ? update(expressionBuilder()) : update;
return Object.entries(updateObj)
.filter(([_, value]) => value !== undefined)
diff --git a/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js b/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js
index 0ccc8a1..6e212e6 100644
--- a/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js
+++ b/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js
@@ -17,12 +17,14 @@ const ROOT_OPERATION_NODES = freeze({
CreateTableNode: true,
CreateTypeNode: true,
CreateViewNode: true,
+ CreateTriggerNode: true,
DeleteQueryNode: true,
DropIndexNode: true,
DropSchemaNode: true,
DropTableNode: true,
DropTypeNode: true,
DropViewNode: true,
+ DropTriggerNode: true,
InsertQueryNode: true,
RawNode: true,
SelectQueryNode: true,
diff --git a/node_modules/kysely/dist/esm/query-builder/function-module.d.ts b/node_modules/kysely/dist/esm/query-builder/function-module.d.ts
index 592c5e9..8f326c1 100644
--- a/node_modules/kysely/dist/esm/query-builder/function-module.d.ts
+++ b/node_modules/kysely/dist/esm/query-builder/function-module.d.ts
@@ -7,6 +7,7 @@ import { KyselyTypeError } from '../util/type-error.js';
import { Equals, IsAny } from '../util/type-utils.js';
import { AggregateFunctionBuilder } from './aggregate-function-builder.js';
import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js';
+import { Selectable } from '../util/column-type.js';
/**
* Helpers for type safe SQL function calls.
*
@@ -17,21 +18,47 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil
*
* <!-- siteExample("select", "Function calls", 60) -->
*
- * This example uses the `fn` module to select some aggregates:
+ * This example shows how to create function calls. These examples also work in any
+ * other place (`where` calls, updates, inserts etc.). The only difference is that you
+ * leave out the alias (the `as` call) if you use these in any other place than `select`.
*
* ```ts
+ * import { sql } from 'kysely'
+ *
* const result = await db.selectFrom('person')
* .innerJoin('pet', 'pet.owner_id', 'person.id')
- * .select(({ fn }) => [
+ * .select(({ fn, val, ref }) => [
* 'person.id',
*
* // The `fn` module contains the most common
* // functions.
* fn.count<number>('pet.id').as('pet_count'),
*
- * // You can call any function using the
- * // `agg` method
- * fn.agg<string[]>('array_agg', ['pet.name']).as('pet_names')
+ * // You can call any function by calling `fn`
+ * // directly. The arguments are treated as column
+ * // references by default. If you want to pass in
+ * // values, use the `val` function.
+ * fn<string>('concat', [
+ * val('Ms. '),
+ * 'first_name',
+ * val(' '),
+ * 'last_name'
+ * ]).as('full_name_with_title'),
+ *
+ * // You can call any aggregate function using the
+ * // `fn.agg` function.
+ * fn.agg<string[]>('array_agg', ['pet.name']).as('pet_names'),
+ *
+ * // And once again, you can use the `sql`
+ * // template tag. The template tag substitutions
+ * // are treated as values by default. If you want
+ * // to reference columns, you can use the `ref`
+ * // function.
+ * sql<string>`concat(
+ * ${ref('first_name')},
+ * ' ',
+ * ${ref('last_name')}
+ * )`.as('full_name')
* ])
* .groupBy('person.id')
* .having((eb) => eb.fn.count('pet.id'), '>', 10)
@@ -44,11 +71,13 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil
* select
* "person"."id",
* count("pet"."id") as "pet_count",
- * array_agg("pet"."name") as "pet_names"
+ * concat($1, "first_name", $2, "last_name") as "full_name_with_title",
+ * array_agg("pet"."name") as "pet_names",
+ * concat("first_name", ' ', "last_name") as "full_name"
* from "person"
* inner join "pet" on "pet"."owner_id" = "person"."id"
* group by "person"."id"
- * having count("pet"."id") > $1
+ * having count("pet"."id") > $3
* ```
*/
export interface FunctionModule<DB, TB extends keyof DB> {
@@ -540,6 +569,50 @@ export interface FunctionModule<DB, TB extends keyof DB> {
any<RE extends StringReference<DB, TB>>(expr: RE): Exclude<ExtractTypeFromStringReference<DB, TB, RE>, null> extends ReadonlyArray<infer I> ? ExpressionWrapper<DB, TB, I> : KyselyTypeError<'any(expr) call failed: expr must be an array'>;
any<T>(subquery: SelectQueryBuilderExpression<Record<string, T>>): ExpressionWrapper<DB, TB, T>;
any<T>(expr: Expression<ReadonlyArray<T>>): ExpressionWrapper<DB, TB, T>;
+ /**
+ * Creates a json_agg function call.
+ *
+ * This function is only available on PostgreSQL.
+ *
+ * ```ts
+ * db.selectFrom('person')
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
+ * .select((eb) => ['first_name', eb.fn.jsonAgg('pet').as('pets')])
+ * .groupBy('person.first_name')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * select "first_name", json_agg("pet") as "pets"
+ * from "person"
+ * inner join "pet" on "pet"."owner_id" = "person"."id"
+ * group by "person"."first_name"
+ * ```
+ */
+ jsonAgg<T extends (TB & string) | Expression<unknown>>(table: T): AggregateFunctionBuilder<DB, TB, T extends TB ? Selectable<DB[T]>[] : T extends Expression<infer O> ? O[] : never>;
+ /**
+ * Creates a to_json function call.
+ *
+ * This function is only available on PostgreSQL.
+ *
+ * ```ts
+ * db.selectFrom('person')
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
+ * .select((eb) => ['first_name', eb.fn.toJson('pet').as('pet')])
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * select "first_name", to_json("pet") as "pet"
+ * from "person"
+ * inner join "pet" on "pet"."owner_id" = "person"."id"
+ * ```
+ */
+ toJson<T extends (TB & string) | Expression<unknown>>(table: T): ExpressionWrapper<DB, TB, T extends TB ? Selectable<DB[T]> : T extends Expression<infer O> ? O : never>;
}
export declare function createFunctionModule<DB, TB extends keyof DB>(): FunctionModule<DB, TB>;
type OutputBoundStringReference<DB, TB extends keyof DB, C extends StringReference<DB, TB>, O> = IsAny<O> extends true ? C : Equals<ExtractTypeFromReferenceExpression<DB, TB, C> | null, O | null> extends true ? C : never;
diff --git a/node_modules/kysely/dist/esm/query-builder/function-module.js b/node_modules/kysely/dist/esm/query-builder/function-module.js
index 7e1d28d..3744008 100644
--- a/node_modules/kysely/dist/esm/query-builder/function-module.js
+++ b/node_modules/kysely/dist/esm/query-builder/function-module.js
@@ -5,6 +5,8 @@ import { FunctionNode } from '../operation-node/function-node.js';
import { parseReferenceExpressionOrList, } from '../parser/reference-parser.js';
import { parseSelectAll } from '../parser/select-parser.js';
import { AggregateFunctionBuilder } from './aggregate-function-builder.js';
+import { isString } from '../util/object-utils.js';
+import { parseTable } from '../parser/table-parser.js';
export function createFunctionModule() {
const fn = (name, args) => {
return new ExpressionWrapper(FunctionNode.create(name, parseReferenceExpressionOrList(args)));
@@ -42,5 +44,17 @@ export function createFunctionModule() {
any(column) {
return fn('any', [column]);
},
+ jsonAgg(table) {
+ return new AggregateFunctionBuilder({
+ aggregateFunctionNode: AggregateFunctionNode.create('json_agg', [
+ isString(table) ? parseTable(table) : table.toOperationNode(),
+ ]),
+ });
+ },
+ toJson(table) {
+ return new ExpressionWrapper(FunctionNode.create('to_json', [
+ isString(table) ? parseTable(table) : table.toOperationNode(),
+ ]));
+ },
});
}
diff --git a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts
index 6be4113..ffc6c3f 100644
--- a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts
+++ b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts
@@ -5,7 +5,7 @@ import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert-
import { InsertQueryNode } from '../operation-node/insert-query-node.js';
import { QueryNode } from '../operation-node/query-node.js';
import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js';
-import { UpdateExpression } from '../parser/update-set-parser.js';
+import { UpdateObjectExpression } from '../parser/update-set-parser.js';
import { Compilable } from '../util/compilable.js';
import { QueryExecutor } from '../query-executor/query-executor.js';
import { QueryId } from '../util/query-id.js';
@@ -60,13 +60,18 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* })
* .executeTakeFirst()
*
+ * // `insertId` is only available on dialects that
+ * // automatically return the id of the inserted row
+ * // such as MySQL and SQLite. On PostgreSQL, for example,
+ * // you need to add a `returning` clause to the query to
+ * // get anything out. See the "returning data" example.
* console.log(result.insertId)
* ```
*
- * The generated SQL (PostgreSQL):
+ * The generated SQL (MySQL):
*
* ```sql
- * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3)
+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?)
* ```
*
* <!-- siteExample("insert", "Multiple rows", 20) -->
@@ -131,11 +136,14 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* ```ts
* import { sql } from 'kysely'
*
+ * const ani = "Ani"
+ * const ston = "ston"
+ *
* const result = await db
* .insertInto('person')
* .values(({ ref, selectFrom, fn }) => ({
* first_name: 'Jennifer',
- * last_name: sql`${'Ani'} || ${'ston'}`,
+ * last_name: sql`concat(${ani}, ${ston})`,
* middle_name: ref('first_name'),
* age: selectFrom('person')
* .select(fn.avg<number>('age')
@@ -147,8 +155,18 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* The generated SQL (PostgreSQL):
*
* ```sql
- * insert into "person" ("first_name", "last_name", "age")
- * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person"))
+ * insert into "person" (
+ * "first_name",
+ * "last_name",
+ * "middle_name",
+ * "age"
+ * )
+ * values (
+ * $1,
+ * concat($2, $3),
+ * "first_name",
+ * (select avg("age") as "avg_age" from "person")
+ * )
* ```
*
* You can also use the callback version of subqueries or raw expressions:
@@ -208,7 +226,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* .select((eb) => [
* 'pet.name',
* eb.val('Petson').as('last_name'),
- * eb.val(7).as('age'),
+ * eb.lit(7).as('age'),
* ])
* )
* .execute()
@@ -218,7 +236,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
*
* ```sql
* insert into "person" ("first_name", "last_name", "age")
- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet"
+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet"
* ```
*/
expression(expression: ExpressionOrFactory<DB, TB, any>): InsertQueryBuilder<DB, TB, O>;
@@ -414,7 +432,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
* .onDuplicateKeyUpdate({ species: 'hamster' })
* ```
*/
- onDuplicateKeyUpdate(update: UpdateExpression<DB, TB, TB>): InsertQueryBuilder<DB, TB, O>;
+ onDuplicateKeyUpdate(update: UpdateObjectExpression<DB, TB, TB>): InsertQueryBuilder<DB, TB, O>;
/**
* Allows you to return data from modified rows.
*
diff --git a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js
index 3cd23c3..d9f1cc8 100644
--- a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js
+++ b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js
@@ -3,7 +3,7 @@ import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js';
import { parseInsertExpression, } from '../parser/insert-values-parser.js';
import { InsertQueryNode } from '../operation-node/insert-query-node.js';
import { QueryNode } from '../operation-node/query-node.js';
-import { parseUpdateExpression, } from '../parser/update-set-parser.js';
+import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js';
import { preventAwait } from '../util/prevent-await.js';
import { freeze } from '../util/object-utils.js';
import { OnDuplicateKeyNode } from '../operation-node/on-duplicate-key-node.js';
@@ -75,7 +75,7 @@ export class InsertQueryBuilder {
* .select((eb) => [
* 'pet.name',
* eb.val('Petson').as('last_name'),
- * eb.val(7).as('age'),
+ * eb.lit(7).as('age'),
* ])
* )
* .execute()
@@ -85,7 +85,7 @@ export class InsertQueryBuilder {
*
* ```sql
* insert into "person" ("first_name", "last_name", "age")
- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet"
+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet"
* ```
*/
expression(expression) {
@@ -308,7 +308,7 @@ export class InsertQueryBuilder {
return new InsertQueryBuilder({
...this.#props,
queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
- onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateExpression(update)),
+ onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateObjectExpression(update)),
}),
});
}
diff --git a/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts b/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts
index c16fb08..d22a9e5 100644
--- a/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts
+++ b/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts
@@ -23,7 +23,14 @@
*/
export declare class InsertResult {
/**
- * The auto incrementing primary key
+ * The auto incrementing primary key of the inserted row.
+ *
+ * This property can be undefined when the query contains an `on conflict`
+ * clause that makes the query succeed even when nothing gets inserted.
+ *
+ * This property is always undefined on dialects like PostgreSQL that
+ * don't return the inserted id by default. On those dialects you need
+ * to use the {@link ReturningInterface.returning | returning} method.
*/
readonly insertId: bigint | undefined;
/**
diff --git a/node_modules/kysely/dist/esm/query-builder/insert-result.js b/node_modules/kysely/dist/esm/query-builder/insert-result.js
index ba00de9..ff11e8c 100644
--- a/node_modules/kysely/dist/esm/query-builder/insert-result.js
+++ b/node_modules/kysely/dist/esm/query-builder/insert-result.js
@@ -24,7 +24,14 @@
*/
export class InsertResult {
/**
- * The auto incrementing primary key
+ * The auto incrementing primary key of the inserted row.
+ *
+ * This property can be undefined when the query contains an `on conflict`
+ * clause that makes the query succeed even when nothing gets inserted.
+ *
+ * This property is always undefined on dialects like PostgreSQL that
+ * don't return the inserted id by default. On those dialects you need
+ * to use the {@link ReturningInterface.returning | returning} method.
*/
insertId;
/**
diff --git a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts
index 803563e..cfb9d96 100644
--- a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts
+++ b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts
@@ -4,7 +4,7 @@ import { OperationNodeSource } from '../operation-node/operation-node-source.js'
import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
import { ExpressionOrFactory } from '../parser/expression-parser.js';
import { ReferenceExpression } from '../parser/reference-parser.js';
-import { UpdateExpression } from '../parser/update-set-parser.js';
+import { UpdateObjectExpression } from '../parser/update-set-parser.js';
import { AnyColumn, SqlBool } from '../util/type-utils.js';
import { WhereInterface } from './where-interface.js';
export declare class OnConflictBuilder<DB, TB extends keyof DB> implements WhereInterface<DB, TB> {
@@ -435,7 +435,7 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
* )
* ```
*/
- doUpdateSet(update: UpdateExpression<OnConflictDatabase<DB, TB>, OnConflictTables<TB>, OnConflictTables<TB>>): OnConflictUpdateBuilder<OnConflictDatabase<DB, TB>, OnConflictTables<TB>>;
+ doUpdateSet(update: UpdateObjectExpression<OnConflictDatabase<DB, TB>, OnConflictTables<TB>, OnConflictTables<TB>>): OnConflictUpdateBuilder<OnConflictDatabase<DB, TB>, OnConflictTables<TB>>;
/**
* Simply calls the provided function passing `this` as the only argument. `$call` returns
* what the provided function returns.
diff --git a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js
index bd95015..02c9135 100644
--- a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js
+++ b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js
@@ -3,7 +3,7 @@ import { ColumnNode } from '../operation-node/column-node.js';
import { IdentifierNode } from '../operation-node/identifier-node.js';
import { OnConflictNode } from '../operation-node/on-conflict-node.js';
import { parseValueBinaryOperationOrExpression, parseReferentialBinaryOperation, } from '../parser/binary-operation-parser.js';
-import { parseUpdateExpression, } from '../parser/update-set-parser.js';
+import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js';
import { freeze } from '../util/object-utils.js';
import { preventAwait } from '../util/prevent-await.js';
export class OnConflictBuilder {
@@ -173,7 +173,7 @@ export class OnConflictBuilder {
return new OnConflictUpdateBuilder({
...this.#props,
onConflictNode: OnConflictNode.cloneWith(this.#props.onConflictNode, {
- updates: parseUpdateExpression(update),
+ updates: parseUpdateObjectExpression(update),
}),
});
}
diff --git a/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts
index 3d30eed..a71462a 100644
--- a/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts
+++ b/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts
@@ -8,7 +8,7 @@ import { ReferenceExpression } from '../parser/reference-parser.js';
import { QueryNode } from '../operation-node/query-node.js';
import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js';
import { UpdateQueryNode } from '../operation-node/update-query-node.js';
-import { UpdateObject, UpdateObjectFactory } from '../parser/update-set-parser.js';
+import { UpdateObject, UpdateObjectFactory, ExtractUpdateTypeFromReferenceExpression } from '../parser/update-set-parser.js';
import { Compilable } from '../util/compilable.js';
import { QueryExecutor } from '../query-executor/query-executor.js';
import { QueryId } from '../util/query-id.js';
@@ -24,6 +24,7 @@ import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../p
import { KyselyTypeError } from '../util/type-error.js';
import { Streamable } from '../util/streamable.js';
import { ExpressionOrFactory } from '../parser/expression-parser.js';
+import { ValueExpression } from '../parser/value-parser.js';
export declare class UpdateQueryBuilder<DB, UT extends keyof DB, TB extends keyof DB, O> implements WhereInterface<DB, TB>, ReturningInterface<DB, TB, O>, OperationNodeSource, Compilable<O>, Explainable, Streamable<O> {
#private;
constructor(props: UpdateQueryBuilderProps);
@@ -625,6 +626,20 @@ export declare class UpdateQueryBuilder<DB, UT extends keyof DB, TB extends keyo
* "id" = $4
* ```
*
+ * If you provide two arguments the first one is interpreted as the column
+ * (or other target) and the second as the value:
+ *
+ * ```ts
+ * const result = await db
+ * .updateTable('person')
+ * .set('first_name', 'Foo')
+ * // As always, both arguments can be arbitrary expressions or
+ * // callbacks that give you access to an expression builder:
+ * .set(sql`address['postalCode']`, (eb) => eb.val('61710))
+ * .where('id', '=', '1')
+ * .executeTakeFirst()
+ * ```
+ *
* On PostgreSQL you can chain `returning` to the query to get
* the updated rows' columns (or any other expression) as the
* return value:
@@ -682,6 +697,7 @@ export declare class UpdateQueryBuilder<DB, UT extends keyof DB, TB extends keyo
*/
set(update: UpdateObject<DB, TB, UT>): UpdateQueryBuilder<DB, UT, TB, O>;
set(update: UpdateObjectFactory<DB, TB, UT>): UpdateQueryBuilder<DB, UT, TB, O>;
+ set<RE extends ReferenceExpression<DB, UT>>(key: RE, value: ValueExpression<DB, TB, ExtractUpdateTypeFromReferenceExpression<DB, UT, RE>>): UpdateQueryBuilder<DB, UT, TB, O>;
/**
* Allows you to return data from modified rows.
*
diff --git a/node_modules/kysely/dist/esm/query-builder/update-query-builder.js b/node_modules/kysely/dist/esm/query-builder/update-query-builder.js
index b20c740..6487ecf 100644
--- a/node_modules/kysely/dist/esm/query-builder/update-query-builder.js
+++ b/node_modules/kysely/dist/esm/query-builder/update-query-builder.js
@@ -4,7 +4,7 @@ import { parseTableExpressionOrList, } from '../parser/table-parser.js';
import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js';
import { QueryNode } from '../operation-node/query-node.js';
import { UpdateQueryNode } from '../operation-node/update-query-node.js';
-import { parseUpdateExpression, } from '../parser/update-set-parser.js';
+import { parseUpdate, } from '../parser/update-set-parser.js';
import { preventAwait } from '../util/prevent-await.js';
import { freeze } from '../util/object-utils.js';
import { UpdateResult } from './update-result.js';
@@ -63,10 +63,10 @@ export class UpdateQueryBuilder {
queryNode: QueryNode.cloneWithJoin(this.#props.queryNode, parseJoin('FullJoin', args)),
});
}
- set(update) {
+ set(...args) {
return new UpdateQueryBuilder({
...this.#props,
- queryNode: UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, parseUpdateExpression(update)),
+ queryNode: UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, parseUpdate(...args)),
});
}
returning(selection) {
diff --git a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts
index dbd954a..2f73125 100644
--- a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts
+++ b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts
@@ -48,7 +48,7 @@ import { RootOperationNode, QueryCompiler } from './query-compiler.js';
import { HavingNode } from '../operation-node/having-node.js';
import { CreateSchemaNode } from '../operation-node/create-schema-node.js';
import { DropSchemaNode } from '../operation-node/drop-schema-node.js';
-import { AlterTableNode } from '../operation-node/alter-table-node.js';
+import { AlterTableColumnAlterationNode, AlterTableNode } from '../operation-node/alter-table-node.js';
import { DropColumnNode } from '../operation-node/drop-column-node.js';
import { RenameColumnNode } from '../operation-node/rename-column-node.js';
import { AlterColumnNode } from '../operation-node/alter-column-node.js';
@@ -88,6 +88,11 @@ import { JSONPathNode } from '../operation-node/json-path-node.js';
import { JSONPathLegNode } from '../operation-node/json-path-leg-node.js';
import { JSONOperatorChainNode } from '../operation-node/json-operator-chain-node.js';
import { TupleNode } from '../operation-node/tuple-node.js';
+import { AddIndexNode } from '../operation-node/add-index-node.js';
+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js';
+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js';
+import { TriggerEventNode } from '../operation-node/trigger-event-node.js';
+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js';
export declare class DefaultQueryCompiler extends OperationNodeVisitor implements QueryCompiler {
#private;
protected get numParameters(): number;
@@ -124,6 +129,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement
protected visitTable(node: TableNode): void;
protected visitSchemableIdentifier(node: SchemableIdentifierNode): void;
protected visitCreateTable(node: CreateTableNode): void;
+ protected visitCreateTrigger(node: CreateTriggerNode): void;
+ protected visitTriggerEvent(node: TriggerEventNode): void;
+ protected visitTriggerOrder(node: TriggerOrderNode): void;
+ protected visitDropTrigger(node: DropTriggerNode): void;
protected visitColumnDefinition(node: ColumnDefinitionNode): void;
protected getAutoIncrement(): string;
protected visitReferences(node: ReferencesNode): void;
@@ -184,6 +193,7 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement
protected visitJSONPath(node: JSONPathNode): void;
protected visitJSONPathLeg(node: JSONPathLegNode): void;
protected visitJSONOperatorChain(node: JSONOperatorChainNode): void;
+ protected visitAddIndex(node: AddIndexNode): void;
protected append(str: string): void;
protected appendValue(parameter: unknown): void;
protected getLeftIdentifierWrapper(): string;
@@ -197,4 +207,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement
protected addParameter(parameter: unknown): void;
protected appendImmediateValue(value: unknown): void;
protected sortSelectModifiers(arr: SelectModifierNode[]): ReadonlyArray<SelectModifierNode>;
+ protected compileColumnAlterations(columnAlterations: readonly AlterTableColumnAlterationNode[]): void;
+ /**
+ * controls whether the dialect adds a "type" keyword before a column's new data
+ * type in an ALTER TABLE statement.
+ */
+ protected announcesNewColumnDataType(): boolean;
}
diff --git a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js
index c75a92d..0762ebd 100644
--- a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js
+++ b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js
@@ -1,4 +1,5 @@
/// <reference types="./default-query-compiler.d.ts" />
+import { CreateTableNode } from '../operation-node/create-table-node.js';
import { InsertQueryNode } from '../operation-node/insert-query-node.js';
import { OperationNodeVisitor } from '../operation-node/operation-node-visitor.js';
import { OperatorNode } from '../operation-node/operator-node.js';
@@ -30,6 +31,7 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
const wrapInParens = this.parentNode !== undefined &&
!ParensNode.is(this.parentNode) &&
!InsertQueryNode.is(this.parentNode) &&
+ !CreateTableNode.is(this.parentNode) &&
!CreateViewNode.is(this.parentNode) &&
!SetOperationNode.is(this.parentNode);
if (this.parentNode === undefined && node.explain) {
@@ -346,17 +348,83 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
this.append('if not exists ');
}
this.visitNode(node.table);
- this.append(' (');
- this.compileList([...node.columns, ...(node.constraints ?? [])]);
- this.append(')');
- if (node.onCommit) {
- this.append(' on commit ');
- this.append(node.onCommit);
+ if (node.selectQuery) {
+ this.append(' as ');
+ this.visitNode(node.selectQuery);
}
- if (node.endModifiers && node.endModifiers.length > 0) {
- this.append(' ');
- this.compileList(node.endModifiers, ' ');
+ else {
+ this.append(' (');
+ this.compileList([...node.columns, ...(node.constraints ?? [])]);
+ this.append(')');
+ if (node.onCommit) {
+ this.append(' on commit ');
+ this.append(node.onCommit);
+ }
+ if (node.endModifiers && node.endModifiers.length > 0) {
+ this.append(' ');
+ this.compileList(node.endModifiers, ' ');
+ }
+ }
+ }
+ visitCreateTrigger(node) {
+ if (!node.time)
+ throw new Error('Trigger time is required.');
+ if (!node.events)
+ throw new Error('Trigger event is required.');
+ if (!node.table)
+ throw new Error('Trigger table is required.');
+ this.append('create ');
+ if (node.temporary) {
+ this.append('temporary ');
}
+ if (node.orReplace) {
+ this.append('or replace ');
+ }
+ this.append('trigger ');
+ if (node.ifNotExists) {
+ this.append('if not exists ');
+ }
+ this.visitNode(node.name);
+ this.append(` ${node.time} `);
+ this.compileList(node.events, ' or ');
+ this.append(' on ');
+ this.visitNode(node.table);
+ if (node.forEach)
+ this.append(` for each ${node.forEach} `);
+ if (node.when) {
+ this.append(' when ');
+ this.visitNode(node.when);
+ }
+ if (node.order)
+ this.visitNode(node.order);
+ if (node.queries) {
+ this.append(' begin ');
+ this.compileList(node.queries, '; ');
+ this.append('; ');
+ this.append('end');
+ }
+ else if (node.function) {
+ this.append(' execute function ');
+ this.visitNode(node.function);
+ }
+ }
+ visitTriggerEvent(node) {
+ this.append(`${node.event} `);
+ if (node.event === 'update' && node.columns) {
+ this.append('of ');
+ this.compileList(node.columns, ', ');
+ }
+ }
+ visitTriggerOrder(node) {
+ this.append(`${node.order} `);
+ this.visitNode(node.otherTriggerName);
+ }
+ visitDropTrigger(node) {
+ this.append('drop trigger ');
+ if (node.ifExists) {
+ this.append('if exists ');
+ }
+ this.visitNode(node.name);
}
visitColumnDefinition(node) {
this.visitNode(node.column);
@@ -383,6 +451,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
if (node.unique) {
this.append(' unique');
}
+ if (node.nullsNotDistinct) {
+ this.append(' nulls not distinct');
+ }
if (node.primaryKey) {
this.append(' primary key');
}
@@ -563,6 +634,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
this.compileList(node.columns);
this.append(')');
}
+ if (node.nullsNotDistinct) {
+ this.append(' nulls not distinct');
+ }
if (node.where) {
this.append(' ');
this.visitNode(node.where);
@@ -615,7 +689,11 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
this.visitNode(node.name);
this.append(' ');
}
- this.append('unique (');
+ this.append('unique');
+ if (node.nullsNotDistinct) {
+ this.append(' nulls not distinct');
+ }
+ this.append(' (');
this.compileList(node.columns);
this.append(')');
}
@@ -696,7 +774,13 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
this.visitNode(node.dropConstraint);
}
if (node.columnAlterations) {
- this.compileList(node.columnAlterations);
+ this.compileColumnAlterations(node.columnAlterations);
+ }
+ if (node.addIndex) {
+ this.visitNode(node.addIndex);
+ }
+ if (node.dropIndex) {
+ this.visitNode(node.dropIndex);
}
}
visitAddColumn(node) {
@@ -718,7 +802,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
this.visitNode(node.column);
this.append(' ');
if (node.dataType) {
- this.append('type ');
+ if (this.announcesNewColumnDataType()) {
+ this.append('type ');
+ }
this.visitNode(node.dataType);
if (node.dataTypeExpression) {
this.append('using ');
@@ -1004,6 +1090,23 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
this.visitNode(node.values[i]);
}
}
+ visitAddIndex(node) {
+ this.append('add ');
+ if (node.unique) {
+ this.append('unique ');
+ }
+ this.append('index ');
+ this.visitNode(node.name);
+ if (node.columns) {
+ this.append(' (');
+ this.compileList(node.columns);
+ this.append(')');
+ }
+ if (node.using) {
+ this.append(' using ');
+ this.visitNode(node.using);
+ }
+ }
append(str) {
this.#sql += str;
}
@@ -1077,6 +1180,16 @@ export class DefaultQueryCompiler extends OperationNodeVisitor {
: 1);
return freeze(arr);
}
+ compileColumnAlterations(columnAlterations) {
+ this.compileList(columnAlterations);
+ }
+ /**
+ * controls whether the dialect adds a "type" keyword before a column's new data
+ * type in an ALTER TABLE statement.
+ */
+ announcesNewColumnDataType() {
+ return true;
+ }
}
const SELECT_MODIFIER_SQL = freeze({
ForKeyShare: 'for key share',
diff --git a/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts b/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts
index e3a8555..e96bd90 100644
--- a/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts
+++ b/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts
@@ -2,17 +2,19 @@ import { AlterTableNode } from '../operation-node/alter-table-node.js';
import { CreateIndexNode } from '../operation-node/create-index-node.js';
import { CreateSchemaNode } from '../operation-node/create-schema-node.js';
import { CreateTableNode } from '../operation-node/create-table-node.js';
+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js';
import { CreateTypeNode } from '../operation-node/create-type-node.js';
import { CreateViewNode } from '../operation-node/create-view-node.js';
import { DropIndexNode } from '../operation-node/drop-index-node.js';
import { DropSchemaNode } from '../operation-node/drop-schema-node.js';
import { DropTableNode } from '../operation-node/drop-table-node.js';
+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js';
import { DropTypeNode } from '../operation-node/drop-type-node.js';
import { DropViewNode } from '../operation-node/drop-view-node.js';
import { QueryNode } from '../operation-node/query-node.js';
import { RawNode } from '../operation-node/raw-node.js';
import { CompiledQuery } from './compiled-query.js';
-export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode;
+export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode | CreateTriggerNode | DropTriggerNode;
/**
* a `QueryCompiler` compiles a query expressed as a tree of `OperationNodes` into SQL.
*/
diff --git a/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts
new file mode 100644
index 0000000..b297698
--- /dev/null
+++ b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts
@@ -0,0 +1,104 @@
+import { Expression } from '../expression/expression.js';
+import { AlterTableNode } from '../operation-node/alter-table-node.js';
+import { IndexType } from '../operation-node/create-index-node.js';
+import { OperationNodeSource } from '../operation-node/operation-node-source.js';
+import { OrderedColumnName } from '../parser/reference-parser.js';
+import { CompiledQuery } from '../query-compiler/compiled-query.js';
+import { QueryExecutor } from '../query-executor/query-executor.js';
+import { Compilable } from '../util/compilable.js';
+import { QueryId } from '../util/query-id.js';
+export declare class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable {
+ #private;
+ constructor(props: AlterTableAddIndexBuilderProps);
+ /**
+ * Makes the index unique.
+ */
+ unique(): AlterTableAddIndexBuilder;
+ /**
+ * Adds a column to the index.
+ *
+ * Also see {@link columns} for adding multiple columns at once or {@link expression}
+ * for specifying an arbitrary expression.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * await db.schema
+ * .alterTable('person')
+ * .createIndex('person_first_name_and_age_index')
+ * .column('first_name')
+ * .column('age desc')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
+ * ```
+ */
+ column<CL extends string>(column: OrderedColumnName<CL>): AlterTableAddIndexBuilder;
+ /**
+ * Specifies a list of columns for the index.
+ *
+ * Also see {@link column} for adding a single column or {@link expression} for
+ * specifying an arbitrary expression.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * await db.schema
+ * .alterTable('person')
+ * .addIndex('person_first_name_and_age_index')
+ * .columns(['first_name', 'age desc'])
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
+ * ```
+ */
+ columns<CL extends string>(columns: OrderedColumnName<CL>[]): AlterTableAddIndexBuilder;
+ /**
+ * Specifies an arbitrary expression for the index.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * import { sql } from 'kysely'
+ *
+ * await db.schema
+ * .alterTable('person')
+ * .addIndex('person_first_name_index')
+ * .expression(sql`(first_name < 'Sami')`)
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami'))
+ * ```
+ */
+ expression(expression: Expression<any>): AlterTableAddIndexBuilder;
+ /**
+ * Specifies the index type.
+ */
+ using(indexType: IndexType): AlterTableAddIndexBuilder;
+ using(indexType: string): AlterTableAddIndexBuilder;
+ /**
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
+ * what the provided function returns.
+ */
+ $call<T>(func: (qb: this) => T): T;
+ toOperationNode(): AlterTableNode;
+ compile(): CompiledQuery;
+ execute(): Promise<void>;
+}
+export interface AlterTableAddIndexBuilderProps {
+ readonly queryId: QueryId;
+ readonly executor: QueryExecutor;
+ readonly node: AlterTableNode;
+}
diff --git a/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js
new file mode 100644
index 0000000..00a8ef4
--- /dev/null
+++ b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js
@@ -0,0 +1,143 @@
+/// <reference types="./alter-table-add-index-builder.d.ts" />
+import { AddIndexNode } from '../operation-node/add-index-node.js';
+import { AlterTableNode } from '../operation-node/alter-table-node.js';
+import { RawNode } from '../operation-node/raw-node.js';
+import { parseOrderedColumnName } from '../parser/reference-parser.js';
+import { freeze } from '../util/object-utils.js';
+import { preventAwait } from '../util/prevent-await.js';
+export class AlterTableAddIndexBuilder {
+ #props;
+ constructor(props) {
+ this.#props = freeze(props);
+ }
+ /**
+ * Makes the index unique.
+ */
+ unique() {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: AddIndexNode.cloneWith(this.#props.node.addIndex, {
+ unique: true,
+ }),
+ }),
+ });
+ }
+ /**
+ * Adds a column to the index.
+ *
+ * Also see {@link columns} for adding multiple columns at once or {@link expression}
+ * for specifying an arbitrary expression.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * await db.schema
+ * .alterTable('person')
+ * .createIndex('person_first_name_and_age_index')
+ * .column('first_name')
+ * .column('age desc')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
+ * ```
+ */
+ column(column) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [parseOrderedColumnName(column)]),
+ }),
+ });
+ }
+ /**
+ * Specifies a list of columns for the index.
+ *
+ * Also see {@link column} for adding a single column or {@link expression} for
+ * specifying an arbitrary expression.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * await db.schema
+ * .alterTable('person')
+ * .addIndex('person_first_name_and_age_index')
+ * .columns(['first_name', 'age desc'])
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc)
+ * ```
+ */
+ columns(columns) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, columns.map(parseOrderedColumnName)),
+ }),
+ });
+ }
+ /**
+ * Specifies an arbitrary expression for the index.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * import { sql } from 'kysely'
+ *
+ * await db.schema
+ * .alterTable('person')
+ * .addIndex('person_first_name_index')
+ * .expression(sql`(first_name < 'Sami')`)
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami'))
+ * ```
+ */
+ expression(expression) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [expression.toOperationNode()]),
+ }),
+ });
+ }
+ using(indexType) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: AddIndexNode.cloneWith(this.#props.node.addIndex, {
+ using: RawNode.createWithSql(indexType),
+ }),
+ }),
+ });
+ }
+ /**
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
+ * what the provided function returns.
+ */
+ $call(func) {
+ return func(this);
+ }
+ toOperationNode() {
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
+ }
+ compile() {
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
+ }
+ async execute() {
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
+ }
+}
+preventAwait(AlterTableAddIndexBuilder, "don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`");
diff --git a/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts b/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts
index b0726ca..4453c5b 100644
--- a/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts
+++ b/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts
@@ -11,6 +11,8 @@ import { AlterColumnBuilderCallback } from './alter-column-builder.js';
import { AlterTableExecutor } from './alter-table-executor.js';
import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js';
import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js';
+import { AlterTableAddIndexBuilder } from './alter-table-add-index-builder.js';
+import { UniqueConstraintNodeBuilderCallback } from './unique-constraint-builder.js';
/**
* This builder can be used to create a `alter table` query.
*/
@@ -35,7 +37,7 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface {
/**
* See {@link CreateTableBuilder.addUniqueConstraint}
*/
- addUniqueConstraint(constraintName: string, columns: string[]): AlterTableExecutor;
+ addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor;
/**
* See {@link CreateTableBuilder.addCheckConstraint}
*/
@@ -53,6 +55,44 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface {
*/
addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor;
dropConstraint(constraintName: string): AlterTableDropConstraintBuilder;
+ /**
+ * This can be used to add index to table.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.alterTable('person')
+ * .addIndex('person_email_index')
+ * .column('email')
+ * .unique()
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add unique index `person_email_index` (`email`)
+ * ```
+ */
+ addIndex(indexName: string): AlterTableAddIndexBuilder;
+ /**
+ * This can be used to drop index from table.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.alterTable('person')
+ * .dropIndex('person_email_index')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` drop index `test_first_name_index`
+ * ```
+ */
+ dropIndex(indexName: string): AlterTableExecutor;
/**
* Calls the given function passing `this` as the only argument.
*
diff --git a/node_modules/kysely/dist/esm/schema/alter-table-builder.js b/node_modules/kysely/dist/esm/schema/alter-table-builder.js
index f003eb8..2d8dac8 100644
--- a/node_modules/kysely/dist/esm/schema/alter-table-builder.js
+++ b/node_modules/kysely/dist/esm/schema/alter-table-builder.js
@@ -23,6 +23,10 @@ import { AlterTableExecutor } from './alter-table-executor.js';
import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js';
import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js';
import { PrimaryConstraintNode } from '../operation-node/primary-constraint-node.js';
+import { DropIndexNode } from '../operation-node/drop-index-node.js';
+import { AddIndexNode } from '../operation-node/add-index-node.js';
+import { AlterTableAddIndexBuilder } from './alter-table-add-index-builder.js';
+import { UniqueConstraintNodeBuilder, } from './unique-constraint-builder.js';
/**
* This builder can be used to create a `alter table` query.
*/
@@ -83,11 +87,12 @@ export class AlterTableBuilder {
/**
* See {@link CreateTableBuilder.addUniqueConstraint}
*/
- addUniqueConstraint(constraintName, columns) {
+ addUniqueConstraint(constraintName, columns, build = noop) {
+ const uniqueConstraintBuilder = build(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(columns, constraintName)));
return new AlterTableExecutor({
...this.#props,
node: AlterTableNode.cloneWithTableProps(this.#props.node, {
- addConstraint: AddConstraintNode.create(UniqueConstraintNode.create(columns, constraintName)),
+ addConstraint: AddConstraintNode.create(uniqueConstraintBuilder.toOperationNode()),
}),
});
}
@@ -134,6 +139,58 @@ export class AlterTableBuilder {
}),
});
}
+ /**
+ * This can be used to add index to table.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.alterTable('person')
+ * .addIndex('person_email_index')
+ * .column('email')
+ * .unique()
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` add unique index `person_email_index` (`email`)
+ * ```
+ */
+ addIndex(indexName) {
+ return new AlterTableAddIndexBuilder({
+ ...this.#props,
+ node: AlterTableNode.cloneWithTableProps(this.#props.node, {
+ addIndex: AddIndexNode.create(indexName),
+ }),
+ });
+ }
+ /**
+ * This can be used to drop index from table.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.alterTable('person')
+ * .dropIndex('person_email_index')
+ * .execute()
+ * ```
+ *
+ * The generated SQL (MySQL):
+ *
+ * ```sql
+ * alter table `person` drop index `test_first_name_index`
+ * ```
+ */
+ dropIndex(indexName) {
+ return new AlterTableExecutor({
+ ...this.#props,
+ node: AlterTableNode.cloneWithTableProps(this.#props.node, {
+ dropIndex: DropIndexNode.create(indexName),
+ }),
+ });
+ }
/**
* Calls the given function passing `this` as the only argument.
*
diff --git a/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts b/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts
index 2a99c4c..a76104c 100644
--- a/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts
+++ b/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts
@@ -183,6 +183,31 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource {
* ```
*/
modifyFront(modifier: Expression<any>): ColumnDefinitionBuilder;
+ /**
+ * Adds `nulls not distinct` specifier.
+ * Should be used with `unique` constraint.
+ *
+ * This only works on some dialects like PostgreSQL.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createTable('person')
+ * .addColumn('id', 'integer', col => col.primaryKey())
+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct())
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create table "person" (
+ * "id" integer primary key,
+ * "first_name" varchar(30) unique nulls not distinct
+ * )
+ * ```
+ */
+ nullsNotDistinct(): ColumnDefinitionBuilder;
/**
* This can be used to add any additional SQL to the end of the column definition.
*
diff --git a/node_modules/kysely/dist/esm/schema/column-definition-builder.js b/node_modules/kysely/dist/esm/schema/column-definition-builder.js
index 8ff9bf2..7111109 100644
--- a/node_modules/kysely/dist/esm/schema/column-definition-builder.js
+++ b/node_modules/kysely/dist/esm/schema/column-definition-builder.js
@@ -256,6 +256,33 @@ export class ColumnDefinitionBuilder {
modifyFront(modifier) {
return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWithFrontModifier(this.#node, modifier.toOperationNode()));
}
+ /**
+ * Adds `nulls not distinct` specifier.
+ * Should be used with `unique` constraint.
+ *
+ * This only works on some dialects like PostgreSQL.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createTable('person')
+ * .addColumn('id', 'integer', col => col.primaryKey())
+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct())
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create table "person" (
+ * "id" integer primary key,
+ * "first_name" varchar(30) unique nulls not distinct
+ * )
+ * ```
+ */
+ nullsNotDistinct() {
+ return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, { nullsNotDistinct: true }));
+ }
/**
* This can be used to add any additional SQL to the end of the column definition.
*
diff --git a/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts
index 27502c4..b44e116 100644
--- a/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts
+++ b/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts
@@ -22,6 +22,29 @@ export declare class CreateIndexBuilder<C = never> implements OperationNodeSourc
* Makes the index unique.
*/
unique(): CreateIndexBuilder<C>;
+ /**
+ * Adds `nulls not distinct` specifier to index.
+ * This only works on some dialects like PostgreSQL.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createIndex('person_first_name_index')
+ * .on('person')
+ * .column('first_name')
+ * .nullsNotDistinct()
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create index "person_first_name_index"
+ * on "test" ("first_name")
+ * nulls not distinct;
+ * ```
+ */
+ nullsNotDistinct(): CreateIndexBuilder<C>;
/**
* Specifies the table for the index.
*/
diff --git a/node_modules/kysely/dist/esm/schema/create-index-builder.js b/node_modules/kysely/dist/esm/schema/create-index-builder.js
index 7886ba1..5d40347 100644
--- a/node_modules/kysely/dist/esm/schema/create-index-builder.js
+++ b/node_modules/kysely/dist/esm/schema/create-index-builder.js
@@ -37,6 +37,36 @@ export class CreateIndexBuilder {
}),
});
}
+ /**
+ * Adds `nulls not distinct` specifier to index.
+ * This only works on some dialects like PostgreSQL.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createIndex('person_first_name_index')
+ * .on('person')
+ * .column('first_name')
+ * .nullsNotDistinct()
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create index "person_first_name_index"
+ * on "test" ("first_name")
+ * nulls not distinct;
+ * ```
+ */
+ nullsNotDistinct() {
+ return new CreateIndexBuilder({
+ ...this.#props,
+ node: CreateIndexNode.cloneWith(this.#props.node, {
+ nullsNotDistinct: true,
+ }),
+ });
+ }
/**
* Specifies the table for the index.
*/
diff --git a/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts
index e160575..3b7e7ce 100644
--- a/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts
+++ b/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts
@@ -8,6 +8,7 @@ import { QueryId } from '../util/query-id.js';
import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js';
import { DataTypeExpression } from '../parser/data-type-parser.js';
import { Expression } from '../expression/expression.js';
+import { UniqueConstraintNodeBuilderCallback } from './unique-constraint-builder.js';
/**
* This builder can be used to create a `create table` query.
*/
@@ -56,7 +57,7 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
* ```
*
* With this method, it's once again good to remember that Kysely just builds the
- * query and doesn't provide the same API for all databses. For example, some
+ * query and doesn't provide the same API for all databases. For example, some
* databases like older MySQL don't support the `references` statement in the
* column definition. Instead foreign key constraints need to be defined in the
* `create table` query. See the next example:
@@ -104,8 +105,13 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
* ```ts
* addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'])
* ```
+ *
+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows:
+ * ```ts
+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct())
+ * ```
*/
- addUniqueConstraint(constraintName: string, columns: C[]): CreateTableBuilder<TB, C>;
+ addUniqueConstraint(constraintName: string, columns: C[], build?: UniqueConstraintNodeBuilderCallback): CreateTableBuilder<TB, C>;
/**
* Adds a check constraint.
*
@@ -205,6 +211,26 @@ export declare class CreateTableBuilder<TB extends string, C extends string = ne
* ```
*/
modifyEnd(modifier: Expression<any>): CreateTableBuilder<TB, C>;
+ /**
+ * Allows to create table from `select` query.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createTable('copy')
+ * .temporary()
+ * .as(db.selectFrom('person').select(['first_name', 'last_name']))
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create temporary table "copy" as
+ * select "first_name", "last_name" from "person"
+ * ```
+ */
+ as(expression: Expression<unknown>): CreateTableBuilder<string, never>;
/**
* Calls the given function passing `this` as the only argument.
*
diff --git a/node_modules/kysely/dist/esm/schema/create-table-builder.js b/node_modules/kysely/dist/esm/schema/create-table-builder.js
index 20fb8c5..f3423e2 100644
--- a/node_modules/kysely/dist/esm/schema/create-table-builder.js
+++ b/node_modules/kysely/dist/esm/schema/create-table-builder.js
@@ -13,6 +13,8 @@ import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.j
import { CheckConstraintNode } from '../operation-node/check-constraint-node.js';
import { parseTable } from '../parser/table-parser.js';
import { parseOnCommitAction } from '../parser/on-commit-action-parse.js';
+import { UniqueConstraintNodeBuilder, } from './unique-constraint-builder.js';
+import { parseExpression } from '../parser/expression-parser.js';
/**
* This builder can be used to create a `create table` query.
*/
@@ -84,7 +86,7 @@ export class CreateTableBuilder {
* ```
*
* With this method, it's once again good to remember that Kysely just builds the
- * query and doesn't provide the same API for all databses. For example, some
+ * query and doesn't provide the same API for all databases. For example, some
* databases like older MySQL don't support the `references` statement in the
* column definition. Instead foreign key constraints need to be defined in the
* `create table` query. See the next example:
@@ -143,11 +145,17 @@ export class CreateTableBuilder {
* ```ts
* addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'])
* ```
+ *
+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows:
+ * ```ts
+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct())
+ * ```
*/
- addUniqueConstraint(constraintName, columns) {
+ addUniqueConstraint(constraintName, columns, build = noop) {
+ const uniqueConstraintBuilder = build(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(columns, constraintName)));
return new CreateTableBuilder({
...this.#props,
- node: CreateTableNode.cloneWithConstraint(this.#props.node, UniqueConstraintNode.create(columns, constraintName)),
+ node: CreateTableNode.cloneWithConstraint(this.#props.node, uniqueConstraintBuilder.toOperationNode()),
});
}
/**
@@ -270,6 +278,33 @@ export class CreateTableBuilder {
node: CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()),
});
}
+ /**
+ * Allows to create table from `select` query.
+ *
+ * ### Examples
+ *
+ * ```ts
+ * db.schema.createTable('copy')
+ * .temporary()
+ * .as(db.selectFrom('person').select(['first_name', 'last_name']))
+ * .execute()
+ * ```
+ *
+ * The generated SQL (PostgreSQL):
+ *
+ * ```sql
+ * create temporary table "copy" as
+ * select "first_name", "last_name" from "person"
+ * ```
+ */
+ as(expression) {
+ return new CreateTableBuilder({
+ ...this.#props,
+ node: CreateTableNode.cloneWith(this.#props.node, {
+ selectQuery: parseExpression(expression),
+ }),
+ });
+ }
/**
* Calls the given function passing `this` as the only argument.
*
diff --git a/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts
new file mode 100644
index 0000000..c65746a
--- /dev/null
+++ b/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts
@@ -0,0 +1,68 @@
+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js';
+import { OperationNodeSource } from '../operation-node/operation-node-source.js';
+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
+import { ReferenceExpression } from '../parser/reference-parser.js';
+import { CompiledQuery } from '../query-compiler/compiled-query.js';
+import { QueryExecutor } from '../query-executor/query-executor.js';
+import { Compilable } from '../util/compilable.js';
+import { QueryId } from '../util/query-id.js';
+import { AnyColumn, AnyColumnWithTable, SqlBool } from '../util/type-utils.js';
+import { TriggerEvent } from '../operation-node/trigger-event-node.js';
+import { ExpressionOrFactory } from '../parser/expression-parser.js';
+import { TriggerQueryCreator } from '../trigger-query-creator.js';
+export type DatabaseWithOldNewTables<DB, TB extends keyof DB> = DB & {
+ old: DB[TB];
+ new: DB[TB];
+};
+/**
+ * This builder can be used to create a `create table` query.
+ */
+export declare class CreateTriggerBuilder<DB, TB extends keyof DB> implements OperationNodeSource, Compilable {
+ #private;
+ constructor(props: CreateTriggerBuilderProps);
+ before(): CreateTriggerBuilder<DB, TB>;
+ after(): CreateTriggerBuilder<DB, TB>;
+ insteadOf(): CreateTriggerBuilder<DB, TB>;
+ addEvent<E extends TriggerEvent>(event: E, columns?: E extends 'update' ? AnyColumn<DB, TB>[] : never[]): CreateTriggerBuilder<DB, TB>;
+ forEachRow(): CreateTriggerBuilder<DB, TB>;
+ forEachStatement(): CreateTriggerBuilder<DB, TB>;
+ follows(otherTriggerName: string): CreateTriggerBuilder<DB, TB>;
+ precedes(otherTriggerName: string): CreateTriggerBuilder<DB, TB>;
+ /**
+ * Specifies the table for the trigger.
+ */
+ onTable<TE extends keyof DB & string>(table: TE, schema?: string): CreateTriggerBuilder<DB, TE>;
+ /**
+ * Adds the "temporary" modifier.
+ *
+ * Use this to create a temporary trigger.
+ */
+ temporary(): CreateTriggerBuilder<DB, TB>;
+ /**
+ * Adds the "if not exists" modifier.
+ *
+ * If the trigger already exists, no error is thrown if this method has been called.
+ */
+ ifNotExists(): CreateTriggerBuilder<DB, TB>;
+ /**
+ * Only supported on PostgreSQL
+ */
+ orReplace(): CreateTriggerBuilder<DB, TB>;
+ /**
+ * Adds a query to the trigger.
+ */
+ addQuery(build: QueryCreatorCallback<DB, TB>): CreateTriggerBuilder<DB, TB>;
+ function(name: string, args: ReadonlyArray<ReferenceExpression<any, any>>): CreateTriggerBuilder<DB, TB>;
+ when<RE extends AnyColumnWithTable<DatabaseWithOldNewTables<DB, TB>, 'old' | 'new'>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): CreateTriggerBuilder<DB, TB>;
+ when(factory: ExpressionOrFactory<DatabaseWithOldNewTables<DB, TB>, 'old' | 'new', SqlBool>): CreateTriggerBuilder<DB, TB>;
+ $call<T>(func: (qb: this) => T): T;
+ toOperationNode(): CreateTriggerNode;
+ compile(): CompiledQuery;
+ execute(): Promise<void>;
+}
+export interface CreateTriggerBuilderProps {
+ readonly queryId: QueryId;
+ readonly executor: QueryExecutor;
+ readonly node: CreateTriggerNode;
+}
+export type QueryCreatorCallback<DB, TB extends keyof DB> = (creator: TriggerQueryCreator<DB, TB>) => OperationNodeSource;
diff --git a/node_modules/kysely/dist/esm/schema/create-trigger-builder.js b/node_modules/kysely/dist/esm/schema/create-trigger-builder.js
new file mode 100644
index 0000000..d3eb721
--- /dev/null
+++ b/node_modules/kysely/dist/esm/schema/create-trigger-builder.js
@@ -0,0 +1,177 @@
+/// <reference types="./create-trigger-builder.d.ts" />
+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js';
+import { QueryNode } from '../operation-node/query-node.js';
+import { parseValueBinaryOperationOrExpression, } from '../parser/binary-operation-parser.js';
+import { parseOrderedColumnName, parseReferenceExpressionOrList, } from '../parser/reference-parser.js';
+import { ImmediateValueTransformer } from '../plugin/immediate-value/immediate-value-transformer.js';
+import { freeze } from '../util/object-utils.js';
+import { preventAwait } from '../util/prevent-await.js';
+import { IdentifierNode } from '../operation-node/identifier-node.js';
+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js';
+import { TriggerEventNode, } from '../operation-node/trigger-event-node.js';
+import { FunctionNode } from '../operation-node/function-node.js';
+import { TriggerQueryCreator } from '../trigger-query-creator.js';
+import { TableNode } from '../operation-node/table-node.js';
+/**
+ * This builder can be used to create a `create table` query.
+ */
+export class CreateTriggerBuilder {
+ #props;
+ constructor(props) {
+ this.#props = freeze(props);
+ }
+ before() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ time: 'before',
+ }),
+ });
+ }
+ after() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ time: 'after',
+ }),
+ });
+ }
+ insteadOf() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ time: 'instead of',
+ }),
+ });
+ }
+ addEvent(event, columns) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWithEvent(this.#props.node, TriggerEventNode.create(event, columns?.map(parseOrderedColumnName))),
+ });
+ }
+ forEachRow() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ forEach: `row`,
+ }),
+ });
+ }
+ forEachStatement() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ forEach: `statement`,
+ }),
+ });
+ }
+ follows(otherTriggerName) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ order: TriggerOrderNode.create('follows', IdentifierNode.create(otherTriggerName)),
+ }),
+ });
+ }
+ precedes(otherTriggerName) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ order: TriggerOrderNode.create('precedes', IdentifierNode.create(otherTriggerName)),
+ }),
+ });
+ }
+ /**
+ * Specifies the table for the trigger.
+ */
+ onTable(table, schema) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ table: schema
+ ? TableNode.createWithSchema(schema, table)
+ : TableNode.create(table),
+ }),
+ });
+ }
+ /**
+ * Adds the "temporary" modifier.
+ *
+ * Use this to create a temporary trigger.
+ */
+ temporary() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ temporary: true,
+ }),
+ });
+ }
+ /**
+ * Adds the "if not exists" modifier.
+ *
+ * If the trigger already exists, no error is thrown if this method has been called.
+ */
+ ifNotExists() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ ifNotExists: true,
+ }),
+ });
+ }
+ /**
+ * Only supported on PostgreSQL
+ */
+ orReplace() {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ orReplace: true,
+ }),
+ });
+ }
+ /**
+ * Adds a query to the trigger.
+ */
+ addQuery(build) {
+ const node = build(new TriggerQueryCreator({ executor: this.#props.executor })).toOperationNode();
+ if (!QueryNode.is(node))
+ throw new Error('Must be a query node.');
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWithQuery(this.#props.node, node),
+ });
+ }
+ function(name, args) {
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ function: FunctionNode.create(name, parseReferenceExpressionOrList(args)),
+ }),
+ });
+ }
+ when(...args) {
+ const transformer = new ImmediateValueTransformer();
+ return new CreateTriggerBuilder({
+ ...this.#props,
+ node: CreateTriggerNode.cloneWith(this.#props.node, {
+ when: transformer.transformNode(parseValueBinaryOperationOrExpression(args)),
+ }),
+ });
+ }
+ $call(func) {
+ return func(this);
+ }
+ toOperationNode() {
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
+ }
+ compile() {
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
+ }
+ async execute() {
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
+ }
+}
+preventAwait(CreateTriggerBuilder, "don't await CreateTriggerBuilder instances directly. To execute the query you need to call `execute`");
diff --git a/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts
new file mode 100644
index 0000000..b0e3fce
--- /dev/null
+++ b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts
@@ -0,0 +1,25 @@
+import { OperationNodeSource } from '../operation-node/operation-node-source.js';
+import { CompiledQuery } from '../query-compiler/compiled-query.js';
+import { Compilable } from '../util/compilable.js';
+import { QueryExecutor } from '../query-executor/query-executor.js';
+import { QueryId } from '../util/query-id.js';
+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js';
+export declare class DropTriggerBuilder implements OperationNodeSource, Compilable {
+ #private;
+ constructor(props: DropTriggerBuilderProps);
+ ifExists(): DropTriggerBuilder;
+ cascade(): DropTriggerBuilder;
+ /**
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
+ * what the provided function returns.
+ */
+ $call<T>(func: (qb: this) => T): T;
+ toOperationNode(): DropTriggerNode;
+ compile(): CompiledQuery;
+ execute(): Promise<void>;
+}
+export interface DropTriggerBuilderProps {
+ readonly queryId: QueryId;
+ readonly executor: QueryExecutor;
+ readonly node: DropTriggerNode;
+}
diff --git a/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js
new file mode 100644
index 0000000..0a0f2e1
--- /dev/null
+++ b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js
@@ -0,0 +1,43 @@
+/// <reference types="./drop-trigger-builder.d.ts" />
+import { preventAwait } from '../util/prevent-await.js';
+import { freeze } from '../util/object-utils.js';
+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js';
+export class DropTriggerBuilder {
+ #props;
+ constructor(props) {
+ this.#props = freeze(props);
+ }
+ ifExists() {
+ return new DropTriggerBuilder({
+ ...this.#props,
+ node: DropTriggerNode.cloneWith(this.#props.node, {
+ ifExists: true,
+ }),
+ });
+ }
+ cascade() {
+ return new DropTriggerBuilder({
+ ...this.#props,
+ node: DropTriggerNode.cloneWith(this.#props.node, {
+ cascade: true,
+ }),
+ });
+ }
+ /**
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
+ * what the provided function returns.
+ */
+ $call(func) {
+ return func(this);
+ }
+ toOperationNode() {
+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
+ }
+ compile() {
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
+ }
+ async execute() {
+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId);
+ }
+}
+preventAwait(DropTriggerBuilder, "don't await DropTriggerBuilder instances directly. To execute the query you need to call `execute`");
diff --git a/node_modules/kysely/dist/esm/schema/schema.d.ts b/node_modules/kysely/dist/esm/schema/schema.d.ts
index 8634b84..19cf68c 100644
--- a/node_modules/kysely/dist/esm/schema/schema.d.ts
+++ b/node_modules/kysely/dist/esm/schema/schema.d.ts
@@ -11,10 +11,12 @@ import { DropViewBuilder } from './drop-view-builder.js';
import { KyselyPlugin } from '../plugin/kysely-plugin.js';
import { CreateTypeBuilder } from './create-type-builder.js';
import { DropTypeBuilder } from './drop-type-builder.js';
+import { CreateTriggerBuilder } from './create-trigger-builder.js';
+import { DropTriggerBuilder } from './drop-trigger-builder.js';
/**
* Provides methods for building database schema.
*/
-export declare class SchemaModule {
+export declare class SchemaModule<DB> {
#private;
constructor(executor: QueryExecutor);
/**
@@ -201,16 +203,18 @@ export declare class SchemaModule {
* ```
*/
dropType(typeName: string): DropTypeBuilder;
+ createTrigger(name: string): CreateTriggerBuilder<DB, keyof DB>;
+ dropTrigger(triggerName: string): DropTriggerBuilder;
/**
* Returns a copy of this schema module with the given plugin installed.
*/
- withPlugin(plugin: KyselyPlugin): SchemaModule;
+ withPlugin(plugin: KyselyPlugin): SchemaModule<DB>;
/**
* Returns a copy of this schema module without any plugins.
*/
- withoutPlugins(): SchemaModule;
+ withoutPlugins(): SchemaModule<DB>;
/**
* See {@link QueryCreator.withSchema}
*/
- withSchema(schema: string): SchemaModule;
+ withSchema(schema: string): SchemaModule<DB>;
}
diff --git a/node_modules/kysely/dist/esm/schema/schema.js b/node_modules/kysely/dist/esm/schema/schema.js
index 8244039..4ba6917 100644
--- a/node_modules/kysely/dist/esm/schema/schema.js
+++ b/node_modules/kysely/dist/esm/schema/schema.js
@@ -25,6 +25,11 @@ import { DropTypeBuilder } from './drop-type-builder.js';
import { CreateTypeNode } from '../operation-node/create-type-node.js';
import { DropTypeNode } from '../operation-node/drop-type-node.js';
import { parseSchemableIdentifier } from '../parser/identifier-parser.js';
+import { CreateTriggerBuilder } from './create-trigger-builder.js';
+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js';
+import { IdentifierNode } from '../operation-node/identifier-node.js';
+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js';
+import { DropTriggerBuilder } from './drop-trigger-builder.js';
/**
* Provides methods for building database schema.
*/
@@ -283,6 +288,20 @@ export class SchemaModule {
node: DropTypeNode.create(parseSchemableIdentifier(typeName)),
});
}
+ createTrigger(name) {
+ return new CreateTriggerBuilder({
+ queryId: createQueryId(),
+ executor: this.#executor,
+ node: CreateTriggerNode.create(IdentifierNode.create(name)),
+ });
+ }
+ dropTrigger(triggerName) {
+ return new DropTriggerBuilder({
+ queryId: createQueryId(),
+ executor: this.#executor,
+ node: DropTriggerNode.create(parseSchemableIdentifier(triggerName)),
+ });
+ }
/**
* Returns a copy of this schema module with the given plugin installed.
*/
diff --git a/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts
new file mode 100644
index 0000000..4362213
--- /dev/null
+++ b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts
@@ -0,0 +1,14 @@
+import { OperationNodeSource } from '../operation-node/operation-node-source.js';
+import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js';
+export declare class UniqueConstraintNodeBuilder implements OperationNodeSource {
+ #private;
+ constructor(node: UniqueConstraintNode);
+ toOperationNode(): UniqueConstraintNode;
+ /**
+ * Adds `nulls not distinct` to the unique constraint definition
+ *
+ * Supported by PostgreSQL dialect only
+ */
+ nullsNotDistinct(): UniqueConstraintNodeBuilder;
+}
+export type UniqueConstraintNodeBuilderCallback = (builder: UniqueConstraintNodeBuilder) => UniqueConstraintNodeBuilder;
diff --git a/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js
new file mode 100644
index 0000000..dba8cef
--- /dev/null
+++ b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js
@@ -0,0 +1,21 @@
+/// <reference types="./unique-constraint-builder.d.ts" />
+import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js';
+import { preventAwait } from '../util/prevent-await.js';
+export class UniqueConstraintNodeBuilder {
+ #node;
+ constructor(node) {
+ this.#node = node;
+ }
+ toOperationNode() {
+ return this.#node;
+ }
+ /**
+ * Adds `nulls not distinct` to the unique constraint definition
+ *
+ * Supported by PostgreSQL dialect only
+ */
+ nullsNotDistinct() {
+ return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#node, { nullsNotDistinct: true }));
+ }
+}
+preventAwait(UniqueConstraintNodeBuilder, "don't await UniqueConstraintNodeBuilder instances directly.");
diff --git a/node_modules/kysely/dist/esm/trigger-query-creator.d.ts b/node_modules/kysely/dist/esm/trigger-query-creator.d.ts
new file mode 100644
index 0000000..51d0b2f
--- /dev/null
+++ b/node_modules/kysely/dist/esm/trigger-query-creator.d.ts
@@ -0,0 +1,35 @@
+import { SelectQueryBuilder } from './query-builder/select-query-builder.js';
+import { InsertQueryBuilder } from './query-builder/insert-query-builder.js';
+import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js';
+import { UpdateQueryBuilder } from './query-builder/update-query-builder.js';
+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from './parser/table-parser.js';
+import { InsertResult } from './query-builder/insert-result.js';
+import { DeleteResult } from './query-builder/delete-result.js';
+import { UpdateResult } from './query-builder/update-result.js';
+import { KyselyPlugin } from './plugin/kysely-plugin.js';
+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from './parser/select-parser.js';
+import { QueryCreatorProps } from './query-creator.js';
+import { DatabaseWithOldNewTables } from './schema/create-trigger-builder.js';
+export declare class TriggerQueryCreator<DB, TB extends keyof DB> {
+ #private;
+ constructor(props: QueryCreatorProps);
+ selectFrom<TE extends keyof DB & string>(from: TE[]): SelectQueryBuilder<DatabaseWithOldNewTables<DB, TB>, ExtractTableAlias<DB, TE> | 'new' | 'old', {}>;
+ selectFrom<TE extends TableExpression<DB, keyof DB>>(from: TE[]): SelectQueryBuilder<From<DatabaseWithOldNewTables<DB, TB>, TE>, FromTables<DB, never, TE> | 'new' | 'old', {}>;
+ selectFrom<TE extends keyof DB & string>(from: TE): SelectQueryBuilder<DatabaseWithOldNewTables<DB, TB>, ExtractTableAlias<DB, TE> | 'new' | 'old', {}>;
+ selectFrom<TE extends AnyAliasedTable<DB>>(from: TE): SelectQueryBuilder<DatabaseWithOldNewTables<DB, TB> & PickTableWithAlias<DatabaseWithOldNewTables<DB, TB>, TE>, ExtractTableAlias<DB, TE> | 'new' | 'old', {}>;
+ selectFrom<TE extends TableExpression<DB, keyof DB>>(from: TE): SelectQueryBuilder<From<DatabaseWithOldNewTables<DB, TB>, TE>, FromTables<DB, never, TE> | 'new' | 'old', {}>;
+ selectNoFrom<SE extends SelectExpression<DB, never>>(selections: ReadonlyArray<SE>): SelectQueryBuilder<DB, never, Selection<DB, never, SE>>;
+ selectNoFrom<CB extends SelectCallback<DB, never>>(callback: CB): SelectQueryBuilder<DB, never, CallbackSelection<DB, never, CB>>;
+ selectNoFrom<SE extends SelectExpression<DB, never>>(selection: SE): SelectQueryBuilder<DB, never, Selection<DB, never, SE>>;
+ insertInto<T extends keyof DB & string>(table: T): InsertQueryBuilder<DB, T, InsertResult>;
+ replaceInto<T extends keyof DB & string>(table: T): InsertQueryBuilder<DB, T, InsertResult>;
+ deleteFrom<TR extends keyof DB & string>(from: TR[]): DeleteQueryBuilder<DatabaseWithOldNewTables<DB, TB>, ExtractTableAlias<DB, TR> | 'new' | 'old', DeleteResult>;
+ deleteFrom<TR extends TableReference<DB>>(tables: TR[]): DeleteQueryBuilder<From<DatabaseWithOldNewTables<DB, TB>, TR>, FromTables<DB, never, TR> | 'new' | 'old', DeleteResult>;
+ deleteFrom<TR extends keyof DB & string>(from: TR): DeleteQueryBuilder<DatabaseWithOldNewTables<DB, TB>, ExtractTableAlias<DB, TR> | 'new' | 'old', DeleteResult>;
+ deleteFrom<TR extends TableReference<DB>>(table: TR): DeleteQueryBuilder<From<DatabaseWithOldNewTables<DB, TB>, TR>, FromTables<DB, never, TR> | 'new' | 'old', DeleteResult>;
+ updateTable<TR extends keyof DB & string>(table: TR): UpdateQueryBuilder<DB, ExtractTableAlias<DB, TR>, ExtractTableAlias<DB, TR>, UpdateResult>;
+ updateTable<TR extends AnyAliasedTable<DB>>(table: TR): UpdateQueryBuilder<DB & PickTableWithAlias<DB, TR>, ExtractTableAlias<DB, TR>, ExtractTableAlias<DB, TR>, UpdateResult>;
+ updateTable<TR extends TableReference<DB>>(table: TR): UpdateQueryBuilder<From<DB, TR>, FromTables<DB, never, TR>, FromTables<DB, never, TR>, UpdateResult>;
+ withPlugin(plugin: KyselyPlugin): TriggerQueryCreator<DB, TB>;
+ withoutPlugins(): TriggerQueryCreator<DB, TB>;
+}
diff --git a/node_modules/kysely/dist/esm/trigger-query-creator.js b/node_modules/kysely/dist/esm/trigger-query-creator.js
new file mode 100644
index 0000000..c8960dc
--- /dev/null
+++ b/node_modules/kysely/dist/esm/trigger-query-creator.js
@@ -0,0 +1,73 @@
+/// <reference types="./trigger-query-creator.d.ts" />
+import { createSelectQueryBuilder, } from './query-builder/select-query-builder.js';
+import { InsertQueryBuilder } from './query-builder/insert-query-builder.js';
+import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js';
+import { UpdateQueryBuilder } from './query-builder/update-query-builder.js';
+import { DeleteQueryNode } from './operation-node/delete-query-node.js';
+import { InsertQueryNode } from './operation-node/insert-query-node.js';
+import { SelectQueryNode } from './operation-node/select-query-node.js';
+import { UpdateQueryNode } from './operation-node/update-query-node.js';
+import { parseTable, parseTableExpression, parseTableExpressionOrList, } from './parser/table-parser.js';
+import { createQueryId } from './util/query-id.js';
+import { freeze } from './util/object-utils.js';
+import { parseSelectArg, } from './parser/select-parser.js';
+export class TriggerQueryCreator {
+ #props;
+ constructor(props) {
+ this.#props = freeze(props);
+ }
+ selectFrom(from) {
+ return createSelectQueryBuilder({
+ queryId: createQueryId(),
+ executor: this.#props.executor,
+ queryNode: SelectQueryNode.createFrom(parseTableExpressionOrList(from), this.#props.withNode),
+ });
+ }
+ selectNoFrom(selection) {
+ return createSelectQueryBuilder({
+ queryId: createQueryId(),
+ executor: this.#props.executor,
+ queryNode: SelectQueryNode.cloneWithSelections(SelectQueryNode.create(this.#props.withNode), parseSelectArg(selection)),
+ });
+ }
+ insertInto(table) {
+ return new InsertQueryBuilder({
+ queryId: createQueryId(),
+ executor: this.#props.executor,
+ queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode),
+ });
+ }
+ replaceInto(table) {
+ return new InsertQueryBuilder({
+ queryId: createQueryId(),
+ executor: this.#props.executor,
+ queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode, true),
+ });
+ }
+ deleteFrom(tables) {
+ return new DeleteQueryBuilder({
+ queryId: createQueryId(),
+ executor: this.#props.executor,
+ queryNode: DeleteQueryNode.create(parseTableExpressionOrList(tables), this.#props.withNode),
+ });
+ }
+ updateTable(table) {
+ return new UpdateQueryBuilder({
+ queryId: createQueryId(),
+ executor: this.#props.executor,
+ queryNode: UpdateQueryNode.create(parseTableExpression(table), this.#props.withNode),
+ });
+ }
+ withPlugin(plugin) {
+ return new TriggerQueryCreator({
+ ...this.#props,
+ executor: this.#props.executor.withPlugin(plugin),
+ });
+ }
+ withoutPlugins() {
+ return new TriggerQueryCreator({
+ ...this.#props,
+ executor: this.#props.executor.withoutPlugins(),
+ });
+ }
+}
diff --git a/node_modules/kysely/dist/esm/util/object-utils.d.ts b/node_modules/kysely/dist/esm/util/object-utils.d.ts
index 1b9f563..c9fa82b 100644
--- a/node_modules/kysely/dist/esm/util/object-utils.d.ts
+++ b/node_modules/kysely/dist/esm/util/object-utils.d.ts
@@ -6,7 +6,7 @@ export declare function isNumber(obj: unknown): obj is number;
export declare function isBoolean(obj: unknown): obj is boolean;
export declare function isNull(obj: unknown): obj is null;
export declare function isDate(obj: unknown): obj is Date;
-export declare function isBigInt(obj: unknown): obj is BigInt;
+export declare function isBigInt(obj: unknown): obj is bigint;
export declare function isBuffer(obj: unknown): obj is {
length: number;
};
diff --git a/node_modules/kysely/helpers/sqlite.js b/node_modules/kysely/helpers/sqlite.js
index cc6b411..a579b48 100644
--- a/node_modules/kysely/helpers/sqlite.js
+++ b/node_modules/kysely/helpers/sqlite.js
@@ -1 +1 @@
-module.exports = require('../dist/cjs/helpers/sqlite.js')
\ No newline at end of file
+module.exports = require('kysely/dist/cjs/helpers/sqlite.js')
\ No newline at end of file