kysely 0.23.5 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -24
- package/dist/cjs/dialect/mysql/mysql-adapter.js +2 -2
- package/dist/cjs/dialect/mysql/mysql-driver.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-driver.js +1 -1
- package/dist/cjs/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +1 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.js +1 -0
- package/dist/cjs/driver/runtime-driver.js +4 -2
- package/dist/cjs/expression/expression-builder.d.ts +386 -0
- package/dist/cjs/expression/expression-builder.js +92 -0
- package/dist/cjs/expression/expression-wrapper.d.ts +92 -0
- package/dist/cjs/expression/expression-wrapper.js +54 -0
- package/dist/cjs/expression/expression.d.ts +1 -1
- package/dist/cjs/helpers/mysql.d.ts +140 -0
- package/dist/cjs/helpers/mysql.js +170 -0
- package/dist/cjs/helpers/postgres.d.ts +133 -0
- package/dist/cjs/helpers/postgres.js +141 -0
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/kysely.d.ts +10 -0
- package/dist/cjs/kysely.js +12 -1
- package/dist/cjs/migration/file-migration-provider.d.ts +5 -2
- package/dist/cjs/migration/migrator.d.ts +5 -2
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +3 -3
- package/dist/cjs/operation-node/create-index-node.d.ts +2 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/delete-query-node.js +0 -6
- package/dist/cjs/operation-node/function-node.d.ts +13 -0
- package/dist/cjs/operation-node/function-node.js +19 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +9 -0
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +13 -2
- package/dist/cjs/operation-node/operator-node.js +38 -3
- package/dist/cjs/operation-node/query-node.d.ts +25 -8
- package/dist/cjs/operation-node/query-node.js +9 -2
- package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/select-query-node.js +0 -6
- package/dist/cjs/operation-node/update-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/update-query-node.js +0 -6
- package/dist/cjs/parser/binary-operation-parser.d.ts +9 -10
- package/dist/cjs/parser/binary-operation-parser.js +89 -39
- package/dist/cjs/parser/coalesce-parser.d.ts +0 -2
- package/dist/cjs/parser/coalesce-parser.js +0 -9
- package/dist/cjs/parser/expression-parser.d.ts +7 -3
- package/dist/cjs/parser/expression-parser.js +3 -3
- package/dist/cjs/parser/group-by-parser.d.ts +3 -2
- package/dist/cjs/parser/group-by-parser.js +3 -0
- package/dist/cjs/parser/insert-values-parser.d.ts +4 -1
- package/dist/cjs/parser/insert-values-parser.js +19 -13
- package/dist/cjs/parser/join-parser.js +1 -1
- package/dist/cjs/parser/parse-utils.d.ts +0 -2
- package/dist/cjs/parser/parse-utils.js +1 -8
- package/dist/cjs/parser/returning-parser.d.ts +2 -1
- package/dist/cjs/parser/select-parser.d.ts +5 -13
- package/dist/cjs/parser/select-parser.js +8 -4
- package/dist/cjs/parser/table-parser.d.ts +5 -3
- package/dist/cjs/parser/unary-operation-parser.d.ts +5 -2
- package/dist/cjs/parser/unary-operation-parser.js +9 -8
- package/dist/cjs/parser/update-set-parser.d.ts +4 -1
- package/dist/cjs/parser/update-set-parser.js +9 -4
- package/dist/cjs/parser/value-parser.d.ts +5 -0
- package/dist/cjs/parser/value-parser.js +1 -3
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +1 -1
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +40 -113
- package/dist/cjs/query-builder/aggregate-function-builder.js +23 -63
- package/dist/cjs/query-builder/delete-query-builder.d.ts +220 -201
- package/dist/cjs/query-builder/delete-query-builder.js +21 -27
- package/dist/cjs/query-builder/delete-result.js +3 -0
- package/dist/cjs/query-builder/deprecated-having-expression-builder.d.ts +62 -0
- package/dist/cjs/query-builder/deprecated-having-expression-builder.js +2 -0
- package/dist/cjs/query-builder/deprecated-on-expression-builder.d.ts +62 -0
- package/dist/cjs/query-builder/deprecated-on-expression-builder.js +2 -0
- package/dist/cjs/query-builder/deprecated-where-expression-builder.d.ts +62 -0
- package/dist/cjs/query-builder/deprecated-where-expression-builder.js +2 -0
- package/dist/cjs/query-builder/function-module.d.ts +40 -12
- package/dist/cjs/query-builder/function-module.js +43 -329
- package/dist/cjs/query-builder/having-interface.d.ts +19 -16
- package/dist/cjs/query-builder/insert-query-builder.d.ts +75 -26
- package/dist/cjs/query-builder/insert-query-builder.js +21 -29
- package/dist/cjs/query-builder/insert-result.js +3 -0
- package/dist/cjs/query-builder/join-builder.d.ts +23 -26
- package/dist/cjs/query-builder/join-builder.js +17 -22
- package/dist/cjs/query-builder/no-result-error.d.ts +1 -0
- package/dist/cjs/query-builder/no-result-error.js +5 -1
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +158 -276
- package/dist/cjs/query-builder/on-conflict-builder.js +52 -36
- package/dist/cjs/query-builder/over-builder.d.ts +5 -0
- package/dist/cjs/query-builder/over-builder.js +7 -0
- package/dist/cjs/query-builder/returning-interface.d.ts +2 -2
- package/dist/cjs/query-builder/select-query-builder.d.ts +148 -237
- package/dist/cjs/query-builder/select-query-builder.js +333 -78
- package/dist/cjs/query-builder/update-query-builder.d.ts +145 -213
- package/dist/cjs/query-builder/update-query-builder.js +21 -115
- package/dist/cjs/query-builder/update-result.js +3 -0
- package/dist/cjs/query-builder/where-interface.d.ts +71 -184
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +3 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +17 -1
- package/dist/cjs/query-creator.d.ts +9 -2
- package/dist/cjs/query-creator.js +1 -24
- package/dist/cjs/query-executor/query-executor.d.ts +3 -3
- package/dist/cjs/raw-builder/raw-builder.d.ts +5 -3
- package/dist/cjs/raw-builder/raw-builder.js +13 -7
- package/dist/cjs/raw-builder/sql.d.ts +17 -9
- package/dist/cjs/raw-builder/sql.js +8 -2
- package/dist/cjs/schema/alter-column-builder.d.ts +5 -0
- package/dist/cjs/schema/alter-column-builder.js +7 -0
- package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts +5 -0
- package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js +7 -0
- package/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts +5 -0
- package/dist/cjs/schema/alter-table-drop-constraint-builder.js +7 -0
- package/dist/cjs/schema/column-definition-builder.d.ts +6 -1
- package/dist/cjs/schema/column-definition-builder.js +8 -1
- package/dist/cjs/schema/create-index-builder.d.ts +51 -9
- package/dist/cjs/schema/create-index-builder.js +17 -0
- package/dist/cjs/schema/create-schema-builder.d.ts +5 -0
- package/dist/cjs/schema/create-schema-builder.js +7 -0
- package/dist/cjs/schema/create-table-builder.d.ts +3 -1
- package/dist/cjs/schema/create-table-builder.js +3 -1
- package/dist/cjs/schema/create-type-builder.d.ts +5 -0
- package/dist/cjs/schema/create-type-builder.js +7 -0
- package/dist/cjs/schema/create-view-builder.d.ts +5 -0
- package/dist/cjs/schema/create-view-builder.js +7 -0
- package/dist/cjs/schema/drop-index-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-index-builder.js +7 -0
- package/dist/cjs/schema/drop-schema-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-schema-builder.js +7 -0
- package/dist/cjs/schema/drop-table-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-table-builder.js +7 -0
- package/dist/cjs/schema/drop-type-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-type-builder.js +7 -0
- package/dist/cjs/schema/drop-view-builder.d.ts +5 -0
- package/dist/cjs/schema/drop-view-builder.js +7 -0
- package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +5 -0
- package/dist/cjs/schema/foreign-key-constraint-builder.js +7 -0
- package/dist/cjs/util/compilable.d.ts +1 -0
- package/dist/cjs/util/compilable.js +6 -0
- package/dist/cjs/util/explainable.d.ts +35 -0
- package/dist/cjs/util/log.d.ts +2 -0
- package/dist/cjs/util/object-utils.js +1 -1
- package/dist/cjs/util/streamable.d.ts +29 -0
- package/dist/cjs/util/streamable.js +2 -0
- package/dist/cjs/util/type-utils.d.ts +1 -0
- package/dist/esm/dialect/mysql/mysql-adapter.js +2 -2
- package/dist/esm/dialect/mysql/mysql-driver.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-driver.js +1 -1
- package/dist/esm/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +1 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.js +1 -0
- package/dist/esm/driver/runtime-driver.js +4 -2
- package/dist/esm/expression/expression-builder.d.ts +386 -0
- package/dist/esm/expression/expression-builder.js +88 -0
- package/dist/esm/expression/expression-wrapper.d.ts +92 -0
- package/dist/esm/expression/expression-wrapper.js +50 -0
- package/dist/esm/expression/expression.d.ts +1 -1
- package/dist/esm/helpers/mysql.d.ts +140 -0
- package/dist/esm/helpers/mysql.js +165 -0
- package/dist/esm/helpers/postgres.d.ts +133 -0
- package/dist/esm/helpers/postgres.js +136 -0
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +2 -1
- package/dist/esm/kysely.d.ts +10 -0
- package/dist/esm/kysely.js +13 -2
- package/dist/esm/migration/file-migration-provider.d.ts +5 -2
- package/dist/esm/migration/migrator.d.ts +5 -2
- package/dist/esm/operation-node/aggregate-function-node.d.ts +3 -3
- package/dist/esm/operation-node/create-index-node.d.ts +2 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +0 -1
- package/dist/esm/operation-node/delete-query-node.js +0 -6
- package/dist/esm/operation-node/function-node.d.ts +13 -0
- package/dist/esm/operation-node/function-node.js +17 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-transformer.js +9 -0
- package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
- package/dist/esm/operation-node/operation-node-visitor.js +1 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +13 -2
- package/dist/esm/operation-node/operator-node.js +34 -3
- package/dist/esm/operation-node/query-node.d.ts +25 -8
- package/dist/esm/operation-node/query-node.js +9 -2
- package/dist/esm/operation-node/select-query-node.d.ts +0 -1
- package/dist/esm/operation-node/select-query-node.js +0 -6
- package/dist/esm/operation-node/update-query-node.d.ts +0 -1
- package/dist/esm/operation-node/update-query-node.js +0 -6
- package/dist/esm/parser/binary-operation-parser.d.ts +9 -10
- package/dist/esm/parser/binary-operation-parser.js +85 -37
- package/dist/esm/parser/coalesce-parser.d.ts +0 -2
- package/dist/esm/parser/coalesce-parser.js +1 -7
- package/dist/esm/parser/expression-parser.d.ts +7 -3
- package/dist/esm/parser/expression-parser.js +3 -3
- package/dist/esm/parser/group-by-parser.d.ts +3 -2
- package/dist/esm/parser/group-by-parser.js +3 -0
- package/dist/esm/parser/insert-values-parser.d.ts +4 -1
- package/dist/esm/parser/insert-values-parser.js +18 -12
- package/dist/esm/parser/join-parser.js +2 -2
- package/dist/esm/parser/parse-utils.d.ts +0 -2
- package/dist/esm/parser/parse-utils.js +0 -6
- package/dist/esm/parser/returning-parser.d.ts +2 -1
- package/dist/esm/parser/select-parser.d.ts +5 -13
- package/dist/esm/parser/select-parser.js +7 -3
- package/dist/esm/parser/table-parser.d.ts +5 -3
- package/dist/esm/parser/unary-operation-parser.d.ts +5 -2
- package/dist/esm/parser/unary-operation-parser.js +8 -8
- package/dist/esm/parser/update-set-parser.d.ts +4 -1
- package/dist/esm/parser/update-set-parser.js +7 -2
- package/dist/esm/parser/value-parser.d.ts +5 -0
- package/dist/esm/parser/value-parser.js +1 -3
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +1 -1
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +40 -113
- package/dist/esm/query-builder/aggregate-function-builder.js +24 -64
- package/dist/esm/query-builder/delete-query-builder.d.ts +220 -201
- package/dist/esm/query-builder/delete-query-builder.js +24 -30
- package/dist/esm/query-builder/delete-result.js +3 -0
- package/dist/esm/query-builder/deprecated-having-expression-builder.d.ts +62 -0
- package/dist/esm/query-builder/deprecated-having-expression-builder.js +2 -0
- package/dist/esm/query-builder/deprecated-on-expression-builder.d.ts +62 -0
- package/dist/esm/query-builder/deprecated-on-expression-builder.js +2 -0
- package/dist/esm/query-builder/deprecated-where-expression-builder.d.ts +62 -0
- package/dist/esm/query-builder/deprecated-where-expression-builder.js +2 -0
- package/dist/esm/query-builder/function-module.d.ts +40 -12
- package/dist/esm/query-builder/function-module.js +42 -328
- package/dist/esm/query-builder/having-interface.d.ts +19 -16
- package/dist/esm/query-builder/insert-query-builder.d.ts +75 -26
- package/dist/esm/query-builder/insert-query-builder.js +25 -33
- package/dist/esm/query-builder/insert-result.js +3 -0
- package/dist/esm/query-builder/join-builder.d.ts +23 -26
- package/dist/esm/query-builder/join-builder.js +18 -23
- package/dist/esm/query-builder/no-result-error.d.ts +1 -0
- package/dist/esm/query-builder/no-result-error.js +3 -0
- package/dist/esm/query-builder/on-conflict-builder.d.ts +158 -276
- package/dist/esm/query-builder/on-conflict-builder.js +54 -38
- package/dist/esm/query-builder/over-builder.d.ts +5 -0
- package/dist/esm/query-builder/over-builder.js +7 -0
- package/dist/esm/query-builder/returning-interface.d.ts +2 -2
- package/dist/esm/query-builder/select-query-builder.d.ts +148 -237
- package/dist/esm/query-builder/select-query-builder.js +337 -82
- package/dist/esm/query-builder/update-query-builder.d.ts +145 -213
- package/dist/esm/query-builder/update-query-builder.js +25 -119
- package/dist/esm/query-builder/update-result.js +3 -0
- package/dist/esm/query-builder/where-interface.d.ts +71 -184
- package/dist/esm/query-compiler/default-query-compiler.d.ts +3 -0
- package/dist/esm/query-compiler/default-query-compiler.js +17 -1
- package/dist/esm/query-creator.d.ts +9 -2
- package/dist/esm/query-creator.js +1 -24
- package/dist/esm/query-executor/query-executor.d.ts +3 -3
- package/dist/esm/raw-builder/raw-builder.d.ts +5 -3
- package/dist/esm/raw-builder/raw-builder.js +13 -7
- package/dist/esm/raw-builder/sql.d.ts +17 -9
- package/dist/esm/raw-builder/sql.js +8 -2
- package/dist/esm/schema/alter-column-builder.d.ts +5 -0
- package/dist/esm/schema/alter-column-builder.js +7 -0
- package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts +5 -0
- package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.js +7 -0
- package/dist/esm/schema/alter-table-drop-constraint-builder.d.ts +5 -0
- package/dist/esm/schema/alter-table-drop-constraint-builder.js +7 -0
- package/dist/esm/schema/column-definition-builder.d.ts +6 -1
- package/dist/esm/schema/column-definition-builder.js +8 -1
- package/dist/esm/schema/create-index-builder.d.ts +51 -9
- package/dist/esm/schema/create-index-builder.js +17 -0
- package/dist/esm/schema/create-schema-builder.d.ts +5 -0
- package/dist/esm/schema/create-schema-builder.js +7 -0
- package/dist/esm/schema/create-table-builder.d.ts +3 -1
- package/dist/esm/schema/create-table-builder.js +3 -1
- package/dist/esm/schema/create-type-builder.d.ts +5 -0
- package/dist/esm/schema/create-type-builder.js +7 -0
- package/dist/esm/schema/create-view-builder.d.ts +5 -0
- package/dist/esm/schema/create-view-builder.js +7 -0
- package/dist/esm/schema/drop-index-builder.d.ts +5 -0
- package/dist/esm/schema/drop-index-builder.js +7 -0
- package/dist/esm/schema/drop-schema-builder.d.ts +5 -0
- package/dist/esm/schema/drop-schema-builder.js +7 -0
- package/dist/esm/schema/drop-table-builder.d.ts +5 -0
- package/dist/esm/schema/drop-table-builder.js +7 -0
- package/dist/esm/schema/drop-type-builder.d.ts +5 -0
- package/dist/esm/schema/drop-type-builder.js +7 -0
- package/dist/esm/schema/drop-view-builder.d.ts +5 -0
- package/dist/esm/schema/drop-view-builder.js +7 -0
- package/dist/esm/schema/foreign-key-constraint-builder.d.ts +5 -0
- package/dist/esm/schema/foreign-key-constraint-builder.js +7 -0
- package/dist/esm/util/compilable.d.ts +1 -0
- package/dist/esm/util/compilable.js +4 -1
- package/dist/esm/util/explainable.d.ts +35 -0
- package/dist/esm/util/log.d.ts +2 -0
- package/dist/esm/util/object-utils.js +1 -1
- package/dist/esm/util/streamable.d.ts +29 -0
- package/dist/esm/util/streamable.js +2 -0
- package/dist/esm/util/type-utils.d.ts +1 -0
- package/helpers/mysql.d.ts +1 -0
- package/helpers/mysql.js +1 -0
- package/helpers/postgres.d.ts +1 -0
- package/helpers/postgres.js +1 -0
- package/package.json +26 -9
- package/dist/cjs/query-builder/expression-builder.d.ts +0 -126
- package/dist/cjs/query-builder/expression-builder.js +0 -107
- package/dist/esm/query-builder/expression-builder.d.ts +0 -126
- package/dist/esm/query-builder/expression-builder.js +0 -104
|
@@ -15,14 +15,13 @@ const expression_parser_js_1 = require("../parser/expression-parser.js");
|
|
|
15
15
|
const column_node_js_1 = require("../operation-node/column-node.js");
|
|
16
16
|
const on_conflict_builder_js_1 = require("./on-conflict-builder.js");
|
|
17
17
|
const on_conflict_node_js_1 = require("../operation-node/on-conflict-node.js");
|
|
18
|
-
const explain_node_js_1 = require("../operation-node/explain-node.js");
|
|
19
18
|
class InsertQueryBuilder {
|
|
20
19
|
#props;
|
|
21
20
|
constructor(props) {
|
|
22
21
|
this.#props = (0, object_utils_js_1.freeze)(props);
|
|
23
22
|
}
|
|
24
|
-
values(
|
|
25
|
-
const [columns, values] = (0, insert_values_parser_js_1.
|
|
23
|
+
values(insert) {
|
|
24
|
+
const [columns, values] = (0, insert_values_parser_js_1.parseInsertExpression)(insert);
|
|
26
25
|
return new InsertQueryBuilder({
|
|
27
26
|
...this.#props,
|
|
28
27
|
queryNode: insert_query_node_js_1.InsertQueryNode.cloneWith(this.#props.queryNode, {
|
|
@@ -295,18 +294,18 @@ class InsertQueryBuilder {
|
|
|
295
294
|
* .onDuplicateKeyUpdate({ species: 'hamster' })
|
|
296
295
|
* ```
|
|
297
296
|
*/
|
|
298
|
-
onDuplicateKeyUpdate(
|
|
297
|
+
onDuplicateKeyUpdate(update) {
|
|
299
298
|
return new InsertQueryBuilder({
|
|
300
299
|
...this.#props,
|
|
301
300
|
queryNode: insert_query_node_js_1.InsertQueryNode.cloneWith(this.#props.queryNode, {
|
|
302
|
-
onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.
|
|
301
|
+
onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateExpression)(update)),
|
|
303
302
|
}),
|
|
304
303
|
});
|
|
305
304
|
}
|
|
306
305
|
returning(selection) {
|
|
307
306
|
return new InsertQueryBuilder({
|
|
308
307
|
...this.#props,
|
|
309
|
-
queryNode: query_node_js_1.QueryNode.cloneWithReturning(this.#props.queryNode, (0, select_parser_js_1.
|
|
308
|
+
queryNode: query_node_js_1.QueryNode.cloneWithReturning(this.#props.queryNode, (0, select_parser_js_1.parseSelectArg)(selection)),
|
|
310
309
|
});
|
|
311
310
|
}
|
|
312
311
|
returningAll() {
|
|
@@ -316,7 +315,8 @@ class InsertQueryBuilder {
|
|
|
316
315
|
});
|
|
317
316
|
}
|
|
318
317
|
/**
|
|
319
|
-
* Simply calls the
|
|
318
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
319
|
+
* what the provided function returns.
|
|
320
320
|
*
|
|
321
321
|
* If you want to conditionally call a method on `this`, see
|
|
322
322
|
* the {@link $if} method.
|
|
@@ -442,7 +442,7 @@ class InsertQueryBuilder {
|
|
|
442
442
|
* )
|
|
443
443
|
* .with('new_pet', (qb) => qb
|
|
444
444
|
* .insertInto('pet')
|
|
445
|
-
* .values(
|
|
445
|
+
* .values((eb) => ({ owner_id: eb.selectFrom('new_person').select('id'), ...pet }))
|
|
446
446
|
* .returning(['name as pet_name', 'species'])
|
|
447
447
|
* .$assertType<{ pet_name: string, species: Species }>()
|
|
448
448
|
* )
|
|
@@ -506,38 +506,30 @@ class InsertQueryBuilder {
|
|
|
506
506
|
* the query returned no result.
|
|
507
507
|
*
|
|
508
508
|
* By default an instance of {@link NoResultError} is thrown, but you can
|
|
509
|
-
* provide a custom error class as the only argument to throw a different
|
|
509
|
+
* provide a custom error class, or callback as the only argument to throw a different
|
|
510
510
|
* error.
|
|
511
511
|
*/
|
|
512
512
|
async executeTakeFirstOrThrow(errorConstructor = no_result_error_js_1.NoResultError) {
|
|
513
513
|
const result = await this.executeTakeFirst();
|
|
514
514
|
if (result === undefined) {
|
|
515
|
-
|
|
515
|
+
const error = (0, no_result_error_js_1.isNoResultErrorConstructor)(errorConstructor)
|
|
516
|
+
? new errorConstructor(this.toOperationNode())
|
|
517
|
+
: errorConstructor(this.toOperationNode());
|
|
518
|
+
throw error;
|
|
516
519
|
}
|
|
517
520
|
return result;
|
|
518
521
|
}
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
* .explain('json')
|
|
527
|
-
* ```
|
|
528
|
-
*
|
|
529
|
-
* The generated SQL (MySQL):
|
|
530
|
-
*
|
|
531
|
-
* ```sql
|
|
532
|
-
* explain format=json insert into `person` (`id`, `first_name`, `last_name`) values (?, ?, ?) (?, ?, ?)
|
|
533
|
-
* ```
|
|
534
|
-
*/
|
|
522
|
+
async *stream(chunkSize = 100) {
|
|
523
|
+
const compiledQuery = this.compile();
|
|
524
|
+
const stream = this.#props.executor.stream(compiledQuery, chunkSize, this.#props.queryId);
|
|
525
|
+
for await (const item of stream) {
|
|
526
|
+
yield* item.rows;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
535
529
|
async explain(format, options) {
|
|
536
530
|
const builder = new InsertQueryBuilder({
|
|
537
531
|
...this.#props,
|
|
538
|
-
queryNode:
|
|
539
|
-
explain: explain_node_js_1.ExplainNode.create(format, options?.toOperationNode()),
|
|
540
|
-
}),
|
|
532
|
+
queryNode: query_node_js_1.QueryNode.cloneWithExplain(this.#props.queryNode, format, options),
|
|
541
533
|
});
|
|
542
534
|
return await builder.execute();
|
|
543
535
|
}
|
|
@@ -4,6 +4,8 @@ import { OperationNodeSource } from '../operation-node/operation-node-source.js'
|
|
|
4
4
|
import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
|
|
5
5
|
import { ReferenceExpression } from '../parser/reference-parser.js';
|
|
6
6
|
import { ExistsExpression } from '../parser/unary-operation-parser.js';
|
|
7
|
+
import { SqlBool } from '../util/type-utils.js';
|
|
8
|
+
import { OnExpressionBuilder } from './deprecated-on-expression-builder.js';
|
|
7
9
|
export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
|
|
8
10
|
#private;
|
|
9
11
|
constructor(props: JoinBuilderProps);
|
|
@@ -14,16 +16,19 @@ export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNo
|
|
|
14
16
|
* See {@link WhereInterface.where} for documentation and examples.
|
|
15
17
|
*/
|
|
16
18
|
on<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): JoinBuilder<DB, TB>;
|
|
17
|
-
on(
|
|
19
|
+
on(factory: OnExpressionFactory<DB, TB>): JoinBuilder<DB, TB>;
|
|
18
20
|
on(expression: Expression<any>): JoinBuilder<DB, TB>;
|
|
19
21
|
/**
|
|
20
|
-
*
|
|
21
|
-
* `on` clause instead.
|
|
22
|
-
*
|
|
23
|
-
* See {@link WhereInterface.orWhere} for documentation and examples.
|
|
22
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
24
23
|
*/
|
|
25
24
|
orOn<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): JoinBuilder<DB, TB>;
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
27
|
+
*/
|
|
28
|
+
orOn(factory: OnExpressionFactory<DB, TB>): JoinBuilder<DB, TB>;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
31
|
+
*/
|
|
27
32
|
orOn(expression: Expression<any>): JoinBuilder<DB, TB>;
|
|
28
33
|
/**
|
|
29
34
|
* Just like {@link WhereInterface.whereRef} but adds an item to the join's
|
|
@@ -33,46 +38,38 @@ export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNo
|
|
|
33
38
|
*/
|
|
34
39
|
onRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): JoinBuilder<DB, TB>;
|
|
35
40
|
/**
|
|
36
|
-
*
|
|
37
|
-
* `on` clause instead.
|
|
38
|
-
*
|
|
39
|
-
* See {@link WhereInterface.orWhereRef} for documentation and examples.
|
|
41
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
40
42
|
*/
|
|
41
43
|
orOnRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): JoinBuilder<DB, TB>;
|
|
42
44
|
/**
|
|
43
|
-
*
|
|
44
|
-
* `on` clause instead.
|
|
45
|
-
*
|
|
46
|
-
* See {@link WhereInterface.whereExists} for documentation and examples.
|
|
45
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
47
46
|
*/
|
|
48
47
|
onExists(arg: ExistsExpression<DB, TB>): JoinBuilder<DB, TB>;
|
|
49
48
|
/**
|
|
50
|
-
*
|
|
51
|
-
* `on` clause instead.
|
|
52
|
-
*
|
|
53
|
-
* See {@link WhereInterface.whereNotExists} for documentation and examples.
|
|
49
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
54
50
|
*/
|
|
55
51
|
onNotExists(arg: ExistsExpression<DB, TB>): JoinBuilder<DB, TB>;
|
|
56
52
|
/**
|
|
57
|
-
*
|
|
58
|
-
* `on` clause instead.
|
|
59
|
-
*
|
|
60
|
-
* See {@link WhereInterface.orWhereExists} for documentation and examples.
|
|
53
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
61
54
|
*/
|
|
62
55
|
orOnExists(arg: ExistsExpression<DB, TB>): JoinBuilder<DB, TB>;
|
|
63
56
|
/**
|
|
64
|
-
*
|
|
65
|
-
* `on` clause instead.
|
|
66
|
-
*
|
|
67
|
-
* See {@link WhereInterface.orWhereNotExists} for documentation and examples.
|
|
57
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
68
58
|
*/
|
|
69
59
|
orOnNotExists(arg: ExistsExpression<DB, TB>): JoinBuilder<DB, TB>;
|
|
70
60
|
/**
|
|
71
61
|
* Adds `on true`.
|
|
72
62
|
*/
|
|
73
63
|
onTrue(): JoinBuilder<DB, TB>;
|
|
64
|
+
/**
|
|
65
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
66
|
+
* what the provided function returns.
|
|
67
|
+
*/
|
|
68
|
+
$call<T>(func: (qb: this) => T): T;
|
|
74
69
|
toOperationNode(): JoinNode;
|
|
75
70
|
}
|
|
76
71
|
export interface JoinBuilderProps {
|
|
77
72
|
readonly joinNode: JoinNode;
|
|
78
73
|
}
|
|
74
|
+
declare type OnExpressionFactory<DB, TB extends keyof DB> = (eb: OnExpressionBuilder<DB, TB>) => Expression<SqlBool> | OnExpressionBuilder<DB, TB>;
|
|
75
|
+
export {};
|
|
@@ -18,6 +18,9 @@ class JoinBuilder {
|
|
|
18
18
|
joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, (0, binary_operation_parser_js_1.parseOn)(args)),
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
23
|
+
*/
|
|
21
24
|
orOn(...args) {
|
|
22
25
|
return new JoinBuilder({
|
|
23
26
|
...this.#props,
|
|
@@ -33,26 +36,20 @@ class JoinBuilder {
|
|
|
33
36
|
onRef(lhs, op, rhs) {
|
|
34
37
|
return new JoinBuilder({
|
|
35
38
|
...this.#props,
|
|
36
|
-
joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, (0, binary_operation_parser_js_1.
|
|
39
|
+
joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, (0, binary_operation_parser_js_1.parseReferentialComparison)(lhs, op, rhs)),
|
|
37
40
|
});
|
|
38
41
|
}
|
|
39
42
|
/**
|
|
40
|
-
*
|
|
41
|
-
* `on` clause instead.
|
|
42
|
-
*
|
|
43
|
-
* See {@link WhereInterface.orWhereRef} for documentation and examples.
|
|
43
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
44
44
|
*/
|
|
45
45
|
orOnRef(lhs, op, rhs) {
|
|
46
46
|
return new JoinBuilder({
|
|
47
47
|
...this.#props,
|
|
48
|
-
joinNode: join_node_js_1.JoinNode.cloneWithOrOn(this.#props.joinNode, (0, binary_operation_parser_js_1.
|
|
48
|
+
joinNode: join_node_js_1.JoinNode.cloneWithOrOn(this.#props.joinNode, (0, binary_operation_parser_js_1.parseReferentialComparison)(lhs, op, rhs)),
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
* `on` clause instead.
|
|
54
|
-
*
|
|
55
|
-
* See {@link WhereInterface.whereExists} for documentation and examples.
|
|
52
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
56
53
|
*/
|
|
57
54
|
onExists(arg) {
|
|
58
55
|
return new JoinBuilder({
|
|
@@ -61,10 +58,7 @@ class JoinBuilder {
|
|
|
61
58
|
});
|
|
62
59
|
}
|
|
63
60
|
/**
|
|
64
|
-
*
|
|
65
|
-
* `on` clause instead.
|
|
66
|
-
*
|
|
67
|
-
* See {@link WhereInterface.whereNotExists} for documentation and examples.
|
|
61
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
68
62
|
*/
|
|
69
63
|
onNotExists(arg) {
|
|
70
64
|
return new JoinBuilder({
|
|
@@ -73,10 +67,7 @@ class JoinBuilder {
|
|
|
73
67
|
});
|
|
74
68
|
}
|
|
75
69
|
/**
|
|
76
|
-
*
|
|
77
|
-
* `on` clause instead.
|
|
78
|
-
*
|
|
79
|
-
* See {@link WhereInterface.orWhereExists} for documentation and examples.
|
|
70
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
80
71
|
*/
|
|
81
72
|
orOnExists(arg) {
|
|
82
73
|
return new JoinBuilder({
|
|
@@ -85,10 +76,7 @@ class JoinBuilder {
|
|
|
85
76
|
});
|
|
86
77
|
}
|
|
87
78
|
/**
|
|
88
|
-
*
|
|
89
|
-
* `on` clause instead.
|
|
90
|
-
*
|
|
91
|
-
* See {@link WhereInterface.orWhereNotExists} for documentation and examples.
|
|
79
|
+
* @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
|
|
92
80
|
*/
|
|
93
81
|
orOnNotExists(arg) {
|
|
94
82
|
return new JoinBuilder({
|
|
@@ -105,6 +93,13 @@ class JoinBuilder {
|
|
|
105
93
|
joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, raw_node_js_1.RawNode.createWithSql('true')),
|
|
106
94
|
});
|
|
107
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Simply calls the provided function passing `this` as the only argument. `$call` returns
|
|
98
|
+
* what the provided function returns.
|
|
99
|
+
*/
|
|
100
|
+
$call(func) {
|
|
101
|
+
return func(this);
|
|
102
|
+
}
|
|
108
103
|
toOperationNode() {
|
|
109
104
|
return this.#props.joinNode;
|
|
110
105
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NoResultError = void 0;
|
|
3
|
+
exports.isNoResultErrorConstructor = exports.NoResultError = void 0;
|
|
4
4
|
class NoResultError extends Error {
|
|
5
5
|
/**
|
|
6
6
|
* The operation node tree of the query that was executed.
|
|
@@ -12,3 +12,7 @@ class NoResultError extends Error {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.NoResultError = NoResultError;
|
|
15
|
+
function isNoResultErrorConstructor(fn) {
|
|
16
|
+
return Object.prototype.hasOwnProperty.call(fn, 'prototype');
|
|
17
|
+
}
|
|
18
|
+
exports.isNoResultErrorConstructor = isNoResultErrorConstructor;
|