kysely 0.27.3 → 0.27.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.renovaterc.json +3 -0
- package/CONTRIBUTING.md +2 -2
- package/README.md +7 -7
- package/deno.check.d.ts +86 -0
- package/deno.check.json +21 -0
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +13 -3
- package/dist/cjs/dialect/dialect-adapter-base.js +4 -1
- package/dist/cjs/dialect/dialect-adapter.d.ts +16 -2
- package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +12 -7
- package/dist/cjs/dialect/mssql/mssql-adapter.js +2 -4
- package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +83 -55
- package/dist/cjs/dialect/mssql/mssql-driver.d.ts +1 -0
- package/dist/cjs/dialect/mssql/mssql-driver.js +114 -48
- package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +11 -2
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +4 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +3 -0
- package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +11 -2
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +10 -3
- package/dist/cjs/dialect/postgres/postgres-driver.js +3 -0
- package/dist/cjs/dialect/postgres/postgres-introspector.js +5 -1
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +11 -2
- package/dist/cjs/driver/database-connection.d.ts +3 -1
- package/dist/cjs/driver/dummy-driver.d.ts +13 -12
- package/dist/cjs/driver/dummy-driver.js +13 -12
- package/dist/cjs/dynamic/dynamic-reference-builder.js +2 -2
- package/dist/cjs/dynamic/dynamic.d.ts +7 -7
- package/dist/cjs/dynamic/dynamic.js +7 -7
- package/dist/cjs/expression/expression-builder.d.ts +153 -62
- package/dist/cjs/expression/expression-builder.js +2 -3
- package/dist/cjs/expression/expression-wrapper.d.ts +92 -23
- package/dist/cjs/expression/expression.d.ts +40 -5
- package/dist/cjs/expression/expression.js +2 -3
- package/dist/cjs/helpers/mssql.d.ts +74 -14
- package/dist/cjs/helpers/mssql.js +77 -18
- package/dist/cjs/helpers/mysql.d.ts +17 -13
- package/dist/cjs/helpers/mysql.js +20 -17
- package/dist/cjs/helpers/postgres.d.ts +11 -8
- package/dist/cjs/helpers/postgres.js +14 -12
- package/dist/cjs/helpers/sqlite.d.ts +41 -16
- package/dist/cjs/helpers/sqlite.js +44 -20
- package/dist/cjs/index.d.ts +28 -21
- package/dist/cjs/index.js +28 -21
- package/dist/cjs/kysely.d.ts +100 -42
- package/dist/cjs/kysely.js +63 -39
- package/dist/cjs/migration/file-migration-provider.d.ts +2 -2
- package/dist/cjs/migration/file-migration-provider.js +2 -2
- package/dist/cjs/migration/migrator.d.ts +82 -14
- package/dist/cjs/migration/migrator.js +82 -14
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +4 -0
- package/dist/cjs/operation-node/aggregate-function-node.js +9 -0
- package/dist/cjs/operation-node/alter-column-node.d.ts +1 -1
- package/dist/cjs/operation-node/case-node.d.ts +1 -1
- package/dist/cjs/operation-node/column-definition-node.d.ts +1 -0
- package/dist/cjs/operation-node/data-type-node.d.ts +2 -2
- package/dist/cjs/operation-node/data-type-node.js +17 -3
- package/dist/cjs/operation-node/delete-query-node.d.ts +3 -0
- package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +4 -4
- package/dist/cjs/operation-node/having-node.d.ts +1 -1
- package/dist/cjs/operation-node/insert-query-node.d.ts +3 -0
- package/dist/cjs/operation-node/merge-query-node.d.ts +3 -0
- package/dist/cjs/operation-node/on-node.d.ts +1 -1
- package/dist/cjs/operation-node/operation-node-source.js +1 -2
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +11 -3
- package/dist/cjs/operation-node/operation-node-transformer.js +26 -3
- 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 +3 -3
- package/dist/cjs/operation-node/operator-node.js +8 -6
- package/dist/cjs/operation-node/output-node.d.ts +13 -0
- package/dist/cjs/operation-node/output-node.js +26 -0
- package/dist/cjs/operation-node/query-node.d.ts +15 -6
- package/dist/cjs/operation-node/query-node.js +17 -0
- package/dist/cjs/operation-node/select-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-query-node.js +6 -8
- package/dist/cjs/operation-node/update-query-node.d.ts +3 -0
- package/dist/cjs/operation-node/where-node.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.js +5 -6
- package/dist/cjs/parser/data-type-parser.js +1 -2
- package/dist/cjs/parser/default-value-parser.js +1 -2
- package/dist/cjs/parser/expression-parser.js +3 -4
- package/dist/cjs/parser/fetch-parser.js +1 -2
- package/dist/cjs/parser/group-by-parser.js +1 -2
- package/dist/cjs/parser/identifier-parser.js +1 -2
- package/dist/cjs/parser/insert-values-parser.js +1 -2
- package/dist/cjs/parser/join-parser.js +1 -2
- package/dist/cjs/parser/merge-parser.js +2 -3
- package/dist/cjs/parser/on-commit-action-parse.js +1 -2
- package/dist/cjs/parser/on-modify-action-parser.js +1 -2
- package/dist/cjs/parser/order-by-parser.js +3 -4
- package/dist/cjs/parser/parse-utils.js +4 -5
- package/dist/cjs/parser/partition-by-parser.js +1 -2
- package/dist/cjs/parser/reference-parser.js +8 -9
- package/dist/cjs/parser/returning-parser.d.ts +4 -3
- package/dist/cjs/parser/select-parser.js +2 -3
- package/dist/cjs/parser/set-operation-parser.js +1 -2
- package/dist/cjs/parser/table-parser.js +4 -5
- package/dist/cjs/parser/top-parser.js +1 -2
- package/dist/cjs/parser/unary-operation-parser.js +3 -4
- package/dist/cjs/parser/update-set-parser.js +2 -3
- package/dist/cjs/parser/value-parser.js +4 -5
- package/dist/cjs/parser/with-parser.js +1 -2
- package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +54 -27
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +26 -21
- package/dist/cjs/plugin/camel-case/camel-case.js +2 -3
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
- package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
- package/dist/cjs/plugin/kysely-plugin.d.ts +28 -6
- package/dist/cjs/plugin/noop-plugin.d.ts +28 -6
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +80 -9
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +53 -14
- package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +28 -6
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +43 -1
- package/dist/cjs/query-builder/aggregate-function-builder.js +30 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +219 -43
- package/dist/cjs/query-builder/delete-query-builder.js +95 -31
- package/dist/cjs/query-builder/function-module.d.ts +40 -93
- package/dist/cjs/query-builder/function-module.js +1 -2
- package/dist/cjs/query-builder/insert-query-builder.d.ts +326 -67
- package/dist/cjs/query-builder/insert-query-builder.js +212 -61
- package/dist/cjs/query-builder/insert-result.d.ts +10 -5
- package/dist/cjs/query-builder/insert-result.js +10 -5
- package/dist/cjs/query-builder/json-path-builder.d.ts +33 -9
- package/dist/cjs/query-builder/json-path-builder.js +8 -5
- package/dist/cjs/query-builder/merge-query-builder.d.ts +312 -10
- package/dist/cjs/query-builder/merge-query-builder.js +98 -7
- package/dist/cjs/query-builder/no-result-error.js +2 -2
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +53 -20
- package/dist/cjs/query-builder/on-conflict-builder.js +41 -16
- package/dist/cjs/query-builder/output-interface.d.ts +138 -0
- package/dist/cjs/query-builder/output-interface.js +2 -0
- package/dist/cjs/query-builder/returning-interface.d.ts +7 -5
- package/dist/cjs/query-builder/select-query-builder-expression.d.ts +8 -0
- package/dist/cjs/query-builder/select-query-builder.d.ts +370 -73
- package/dist/cjs/query-builder/select-query-builder.js +14 -9
- package/dist/cjs/query-builder/update-query-builder.d.ts +225 -31
- package/dist/cjs/query-builder/update-query-builder.js +96 -17
- package/dist/cjs/query-builder/update-result.d.ts +9 -0
- package/dist/cjs/query-builder/update-result.js +9 -0
- package/dist/cjs/query-builder/where-interface.d.ts +6 -2
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +45 -1
- package/dist/cjs/query-creator.d.ts +122 -21
- package/dist/cjs/query-creator.js +56 -3
- package/dist/cjs/raw-builder/raw-builder.d.ts +29 -7
- package/dist/cjs/raw-builder/raw-builder.js +1 -2
- package/dist/cjs/raw-builder/sql.d.ts +31 -12
- package/dist/cjs/schema/alter-column-builder.d.ts +17 -3
- package/dist/cjs/schema/alter-column-builder.js +20 -3
- package/dist/cjs/schema/alter-table-add-index-builder.d.ts +44 -10
- package/dist/cjs/schema/alter-table-add-index-builder.js +27 -10
- package/dist/cjs/schema/alter-table-builder.js +1 -2
- package/dist/cjs/schema/column-definition-builder.d.ts +286 -24
- package/dist/cjs/schema/column-definition-builder.js +288 -24
- package/dist/cjs/schema/create-table-builder.d.ts +86 -33
- package/dist/cjs/schema/create-table-builder.js +86 -33
- package/dist/cjs/util/assert.js +2 -3
- package/dist/cjs/util/column-type.d.ts +5 -9
- package/dist/cjs/util/compilable.js +1 -2
- package/dist/cjs/util/json-object-args.js +1 -2
- package/dist/cjs/util/log-once.js +1 -2
- package/dist/cjs/util/object-utils.js +38 -26
- package/dist/cjs/util/performance-now.js +1 -2
- package/dist/cjs/util/prevent-await.js +1 -2
- package/dist/cjs/util/query-id.js +1 -2
- package/dist/cjs/util/random-string.js +1 -2
- package/dist/cjs/util/require-all-props.d.ts +4 -2
- package/dist/cjs/util/require-all-props.js +5 -4
- package/dist/cjs/util/stack-trace-utils.js +1 -2
- package/dist/cjs/util/streamable.d.ts +1 -1
- package/dist/cjs/util/type-utils.d.ts +4 -2
- package/dist/esm/dialect/dialect-adapter-base.d.ts +13 -3
- package/dist/esm/dialect/dialect-adapter-base.js +4 -1
- package/dist/esm/dialect/dialect-adapter.d.ts +16 -2
- package/dist/esm/dialect/mssql/mssql-adapter.d.ts +12 -7
- package/dist/esm/dialect/mssql/mssql-adapter.js +2 -4
- package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +83 -55
- package/dist/esm/dialect/mssql/mssql-driver.d.ts +1 -0
- package/dist/esm/dialect/mssql/mssql-driver.js +114 -48
- package/dist/esm/dialect/mysql/mysql-adapter.d.ts +11 -2
- package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +4 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +3 -0
- package/dist/esm/dialect/postgres/postgres-adapter.d.ts +11 -2
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +10 -3
- package/dist/esm/dialect/postgres/postgres-driver.js +3 -0
- package/dist/esm/dialect/postgres/postgres-introspector.js +5 -1
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +11 -2
- package/dist/esm/driver/database-connection.d.ts +3 -1
- package/dist/esm/driver/dummy-driver.d.ts +13 -12
- package/dist/esm/driver/dummy-driver.js +13 -12
- package/dist/esm/dynamic/dynamic.d.ts +7 -7
- package/dist/esm/dynamic/dynamic.js +7 -7
- package/dist/esm/expression/expression-builder.d.ts +153 -62
- package/dist/esm/expression/expression-wrapper.d.ts +92 -23
- package/dist/esm/expression/expression.d.ts +40 -5
- package/dist/esm/helpers/mssql.d.ts +74 -14
- package/dist/esm/helpers/mssql.js +74 -14
- package/dist/esm/helpers/mysql.d.ts +17 -13
- package/dist/esm/helpers/mysql.js +17 -13
- package/dist/esm/helpers/postgres.d.ts +11 -8
- package/dist/esm/helpers/postgres.js +11 -8
- package/dist/esm/helpers/sqlite.d.ts +41 -16
- package/dist/esm/helpers/sqlite.js +41 -16
- package/dist/esm/index.d.ts +28 -21
- package/dist/esm/index.js +28 -21
- package/dist/esm/kysely.d.ts +100 -42
- package/dist/esm/kysely.js +61 -37
- package/dist/esm/migration/file-migration-provider.d.ts +2 -2
- package/dist/esm/migration/file-migration-provider.js +2 -2
- package/dist/esm/migration/migrator.d.ts +82 -14
- package/dist/esm/migration/migrator.js +82 -14
- package/dist/esm/operation-node/aggregate-function-node.d.ts +4 -0
- package/dist/esm/operation-node/aggregate-function-node.js +9 -0
- package/dist/esm/operation-node/alter-column-node.d.ts +1 -1
- package/dist/esm/operation-node/case-node.d.ts +1 -1
- package/dist/esm/operation-node/column-definition-node.d.ts +1 -0
- package/dist/esm/operation-node/data-type-node.d.ts +2 -2
- package/dist/esm/operation-node/data-type-node.js +15 -1
- package/dist/esm/operation-node/delete-query-node.d.ts +3 -0
- package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +4 -4
- package/dist/esm/operation-node/having-node.d.ts +1 -1
- package/dist/esm/operation-node/insert-query-node.d.ts +3 -0
- package/dist/esm/operation-node/merge-query-node.d.ts +3 -0
- package/dist/esm/operation-node/on-node.d.ts +1 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +11 -3
- package/dist/esm/operation-node/operation-node-transformer.js +26 -3
- 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 +3 -3
- package/dist/esm/operation-node/operator-node.js +2 -0
- package/dist/esm/operation-node/output-node.d.ts +13 -0
- package/dist/esm/operation-node/output-node.js +24 -0
- package/dist/esm/operation-node/query-node.d.ts +15 -6
- package/dist/esm/operation-node/query-node.js +17 -0
- package/dist/esm/operation-node/select-query-node.d.ts +1 -1
- package/dist/esm/operation-node/select-query-node.js +6 -8
- package/dist/esm/operation-node/update-query-node.d.ts +3 -0
- package/dist/esm/operation-node/where-node.d.ts +1 -1
- package/dist/esm/parser/returning-parser.d.ts +4 -3
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +54 -27
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +26 -21
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
- package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
- package/dist/esm/plugin/kysely-plugin.d.ts +28 -6
- package/dist/esm/plugin/noop-plugin.d.ts +28 -6
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +80 -9
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +53 -14
- package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +28 -6
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +43 -1
- package/dist/esm/query-builder/aggregate-function-builder.js +30 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +219 -43
- package/dist/esm/query-builder/delete-query-builder.js +95 -31
- package/dist/esm/query-builder/function-module.d.ts +40 -93
- package/dist/esm/query-builder/insert-query-builder.d.ts +326 -67
- package/dist/esm/query-builder/insert-query-builder.js +212 -61
- package/dist/esm/query-builder/insert-result.d.ts +10 -5
- package/dist/esm/query-builder/insert-result.js +10 -5
- package/dist/esm/query-builder/json-path-builder.d.ts +33 -9
- package/dist/esm/query-builder/json-path-builder.js +8 -5
- package/dist/esm/query-builder/merge-query-builder.d.ts +312 -10
- package/dist/esm/query-builder/merge-query-builder.js +98 -7
- package/dist/esm/query-builder/on-conflict-builder.d.ts +53 -20
- package/dist/esm/query-builder/on-conflict-builder.js +41 -16
- package/dist/esm/query-builder/output-interface.d.ts +138 -0
- package/dist/esm/query-builder/output-interface.js +2 -0
- package/dist/esm/query-builder/returning-interface.d.ts +7 -5
- package/dist/esm/query-builder/select-query-builder-expression.d.ts +8 -0
- package/dist/esm/query-builder/select-query-builder.d.ts +370 -73
- package/dist/esm/query-builder/select-query-builder.js +13 -7
- package/dist/esm/query-builder/update-query-builder.d.ts +225 -31
- package/dist/esm/query-builder/update-query-builder.js +96 -17
- package/dist/esm/query-builder/update-result.d.ts +9 -0
- package/dist/esm/query-builder/update-result.js +9 -0
- package/dist/esm/query-builder/where-interface.d.ts +6 -2
- package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -0
- package/dist/esm/query-compiler/default-query-compiler.js +45 -1
- package/dist/esm/query-creator.d.ts +122 -21
- package/dist/esm/query-creator.js +56 -3
- package/dist/esm/raw-builder/raw-builder.d.ts +29 -7
- package/dist/esm/raw-builder/sql.d.ts +31 -12
- package/dist/esm/schema/alter-column-builder.d.ts +17 -3
- package/dist/esm/schema/alter-column-builder.js +20 -3
- package/dist/esm/schema/alter-table-add-index-builder.d.ts +44 -10
- package/dist/esm/schema/alter-table-add-index-builder.js +27 -10
- package/dist/esm/schema/alter-table-builder.js +1 -2
- package/dist/esm/schema/column-definition-builder.d.ts +286 -24
- package/dist/esm/schema/column-definition-builder.js +288 -24
- package/dist/esm/schema/create-table-builder.d.ts +86 -33
- package/dist/esm/schema/create-table-builder.js +86 -33
- package/dist/esm/util/column-type.d.ts +5 -9
- package/dist/esm/util/object-utils.js +18 -5
- package/dist/esm/util/require-all-props.d.ts +4 -2
- package/dist/esm/util/require-all-props.js +4 -2
- package/dist/esm/util/streamable.d.ts +1 -1
- package/dist/esm/util/type-utils.d.ts +4 -2
- package/package.json +30 -24
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
export interface OutputNode extends OperationNode {
|
|
3
|
+
readonly kind: 'OutputNode';
|
|
4
|
+
readonly selections: ReadonlyArray<OperationNode>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare const OutputNode: Readonly<{
|
|
10
|
+
is(node: OperationNode): node is OutputNode;
|
|
11
|
+
create(selections: ReadonlyArray<OperationNode>): OutputNode;
|
|
12
|
+
cloneWithSelections(output: OutputNode, selections: ReadonlyArray<OperationNode>): OutputNode;
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OutputNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.OutputNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'OutputNode';
|
|
11
|
+
},
|
|
12
|
+
create(selections) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'OutputNode',
|
|
15
|
+
selections: (0, object_utils_js_1.freeze)(selections),
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
cloneWithSelections(output, selections) {
|
|
19
|
+
return (0, object_utils_js_1.freeze)({
|
|
20
|
+
...output,
|
|
21
|
+
selections: output.selections
|
|
22
|
+
? (0, object_utils_js_1.freeze)([...output.selections, ...selections])
|
|
23
|
+
: (0, object_utils_js_1.freeze)(selections),
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
});
|
|
@@ -12,6 +12,7 @@ import { ExplainFormat } from '../util/explainable.js';
|
|
|
12
12
|
import { Expression } from '../expression/expression.js';
|
|
13
13
|
import { MergeQueryNode } from './merge-query-node.js';
|
|
14
14
|
import { TopNode } from './top-node.js';
|
|
15
|
+
import { OutputNode } from './output-node.js';
|
|
15
16
|
export type QueryNode = SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode | MergeQueryNode;
|
|
16
17
|
type HasJoins = {
|
|
17
18
|
joins?: ReadonlyArray<JoinNode>;
|
|
@@ -28,17 +29,25 @@ type HasExplain = {
|
|
|
28
29
|
type HasTop = {
|
|
29
30
|
top?: TopNode;
|
|
30
31
|
};
|
|
32
|
+
type HasOutput = {
|
|
33
|
+
output?: OutputNode;
|
|
34
|
+
};
|
|
35
|
+
type HasEndModifiers = {
|
|
36
|
+
endModifiers?: ReadonlyArray<OperationNode>;
|
|
37
|
+
};
|
|
31
38
|
/**
|
|
32
39
|
* @internal
|
|
33
40
|
*/
|
|
34
41
|
export declare const QueryNode: Readonly<{
|
|
35
42
|
is(node: OperationNode): node is QueryNode;
|
|
43
|
+
cloneWithEndModifier<T extends HasEndModifiers>(node: T, modifier: OperationNode): T;
|
|
36
44
|
cloneWithWhere<T extends HasWhere>(node: T, operation: OperationNode): T;
|
|
37
|
-
cloneWithJoin<
|
|
38
|
-
cloneWithReturning<
|
|
39
|
-
cloneWithoutReturning<
|
|
40
|
-
cloneWithoutWhere<
|
|
41
|
-
cloneWithExplain<
|
|
42
|
-
cloneWithTop<
|
|
45
|
+
cloneWithJoin<T extends HasJoins>(node: T, join: JoinNode): T;
|
|
46
|
+
cloneWithReturning<T extends HasReturning>(node: T, selections: ReadonlyArray<SelectionNode>): T;
|
|
47
|
+
cloneWithoutReturning<T extends HasReturning>(node: T): T;
|
|
48
|
+
cloneWithoutWhere<T extends HasWhere>(node: T): T;
|
|
49
|
+
cloneWithExplain<T extends HasExplain>(node: T, format: ExplainFormat | undefined, options: Expression<any> | undefined): T;
|
|
50
|
+
cloneWithTop<T extends HasTop>(node: T, top: TopNode): T;
|
|
51
|
+
cloneWithOutput<T extends HasOutput>(node: T, selections: ReadonlyArray<SelectionNode>): T;
|
|
43
52
|
}>;
|
|
44
53
|
export {};
|
|
@@ -10,6 +10,7 @@ const object_utils_js_1 = require("../util/object-utils.js");
|
|
|
10
10
|
const returning_node_js_1 = require("./returning-node.js");
|
|
11
11
|
const explain_node_js_1 = require("./explain-node.js");
|
|
12
12
|
const merge_query_node_js_1 = require("./merge-query-node.js");
|
|
13
|
+
const output_node_js_1 = require("./output-node.js");
|
|
13
14
|
/**
|
|
14
15
|
* @internal
|
|
15
16
|
*/
|
|
@@ -21,6 +22,14 @@ exports.QueryNode = (0, object_utils_js_1.freeze)({
|
|
|
21
22
|
delete_query_node_js_1.DeleteQueryNode.is(node) ||
|
|
22
23
|
merge_query_node_js_1.MergeQueryNode.is(node));
|
|
23
24
|
},
|
|
25
|
+
cloneWithEndModifier(node, modifier) {
|
|
26
|
+
return (0, object_utils_js_1.freeze)({
|
|
27
|
+
...node,
|
|
28
|
+
endModifiers: node.endModifiers
|
|
29
|
+
? (0, object_utils_js_1.freeze)([...node.endModifiers, modifier])
|
|
30
|
+
: (0, object_utils_js_1.freeze)([modifier]),
|
|
31
|
+
});
|
|
32
|
+
},
|
|
24
33
|
cloneWithWhere(node, operation) {
|
|
25
34
|
return (0, object_utils_js_1.freeze)({
|
|
26
35
|
...node,
|
|
@@ -67,4 +76,12 @@ exports.QueryNode = (0, object_utils_js_1.freeze)({
|
|
|
67
76
|
top,
|
|
68
77
|
});
|
|
69
78
|
},
|
|
79
|
+
cloneWithOutput(node, selections) {
|
|
80
|
+
return (0, object_utils_js_1.freeze)({
|
|
81
|
+
...node,
|
|
82
|
+
output: node.output
|
|
83
|
+
? output_node_js_1.OutputNode.cloneWithSelections(node.output, selections)
|
|
84
|
+
: output_node_js_1.OutputNode.create(selections),
|
|
85
|
+
});
|
|
86
|
+
},
|
|
70
87
|
});
|
|
@@ -46,7 +46,6 @@ export declare const SelectQueryNode: Readonly<{
|
|
|
46
46
|
cloneWithSelections(select: SelectQueryNode, selections: ReadonlyArray<SelectionNode>): SelectQueryNode;
|
|
47
47
|
cloneWithDistinctOn(select: SelectQueryNode, expressions: ReadonlyArray<OperationNode>): SelectQueryNode;
|
|
48
48
|
cloneWithFrontModifier(select: SelectQueryNode, modifier: SelectModifierNode): SelectQueryNode;
|
|
49
|
-
cloneWithEndModifier(select: SelectQueryNode, modifier: SelectModifierNode): SelectQueryNode;
|
|
50
49
|
cloneWithOrderByItems(selectNode: SelectQueryNode, items: ReadonlyArray<OrderByItemNode>): SelectQueryNode;
|
|
51
50
|
cloneWithGroupByItems(selectNode: SelectQueryNode, items: ReadonlyArray<GroupByItemNode>): SelectQueryNode;
|
|
52
51
|
cloneWithLimit(selectNode: SelectQueryNode, limit: LimitNode): SelectQueryNode;
|
|
@@ -58,4 +57,5 @@ export declare const SelectQueryNode: Readonly<{
|
|
|
58
57
|
cloneWithoutLimit(select: SelectQueryNode): SelectQueryNode;
|
|
59
58
|
cloneWithoutOffset(select: SelectQueryNode): SelectQueryNode;
|
|
60
59
|
cloneWithoutOrderBy(select: SelectQueryNode): SelectQueryNode;
|
|
60
|
+
cloneWithoutGroupBy(select: SelectQueryNode): SelectQueryNode;
|
|
61
61
|
}>;
|
|
@@ -50,14 +50,6 @@ exports.SelectQueryNode = (0, object_utils_js_1.freeze)({
|
|
|
50
50
|
: (0, object_utils_js_1.freeze)([modifier]),
|
|
51
51
|
});
|
|
52
52
|
},
|
|
53
|
-
cloneWithEndModifier(select, modifier) {
|
|
54
|
-
return (0, object_utils_js_1.freeze)({
|
|
55
|
-
...select,
|
|
56
|
-
endModifiers: select.endModifiers
|
|
57
|
-
? (0, object_utils_js_1.freeze)([...select.endModifiers, modifier])
|
|
58
|
-
: (0, object_utils_js_1.freeze)([modifier]),
|
|
59
|
-
});
|
|
60
|
-
},
|
|
61
53
|
cloneWithOrderByItems(selectNode, items) {
|
|
62
54
|
return (0, object_utils_js_1.freeze)({
|
|
63
55
|
...selectNode,
|
|
@@ -132,4 +124,10 @@ exports.SelectQueryNode = (0, object_utils_js_1.freeze)({
|
|
|
132
124
|
orderBy: undefined,
|
|
133
125
|
});
|
|
134
126
|
},
|
|
127
|
+
cloneWithoutGroupBy(select) {
|
|
128
|
+
return (0, object_utils_js_1.freeze)({
|
|
129
|
+
...select,
|
|
130
|
+
groupBy: undefined,
|
|
131
|
+
});
|
|
132
|
+
},
|
|
135
133
|
});
|
|
@@ -10,6 +10,7 @@ import { FromNode } from './from-node.js';
|
|
|
10
10
|
import { ExplainNode } from './explain-node.js';
|
|
11
11
|
import { LimitNode } from './limit-node.js';
|
|
12
12
|
import { TopNode } from './top-node.js';
|
|
13
|
+
import { OutputNode } from './output-node.js';
|
|
13
14
|
export type UpdateValuesNode = ValueListNode | PrimitiveValueListNode;
|
|
14
15
|
export interface UpdateQueryNode extends OperationNode {
|
|
15
16
|
readonly kind: 'UpdateQueryNode';
|
|
@@ -21,8 +22,10 @@ export interface UpdateQueryNode extends OperationNode {
|
|
|
21
22
|
readonly returning?: ReturningNode;
|
|
22
23
|
readonly with?: WithNode;
|
|
23
24
|
readonly explain?: ExplainNode;
|
|
25
|
+
readonly endModifiers?: ReadonlyArray<OperationNode>;
|
|
24
26
|
readonly limit?: LimitNode;
|
|
25
27
|
readonly top?: TopNode;
|
|
28
|
+
readonly output?: OutputNode;
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* @internal
|
|
@@ -9,5 +9,5 @@ export interface WhereNode extends OperationNode {
|
|
|
9
9
|
export declare const WhereNode: Readonly<{
|
|
10
10
|
is(node: OperationNode): node is WhereNode;
|
|
11
11
|
create(filter: OperationNode): WhereNode;
|
|
12
|
-
cloneWithOperation(whereNode: WhereNode, operator:
|
|
12
|
+
cloneWithOperation(whereNode: WhereNode, operator: "And" | "Or", operation: OperationNode): WhereNode;
|
|
13
13
|
}>;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseValueBinaryOperationOrExpression = parseValueBinaryOperationOrExpression;
|
|
4
|
+
exports.parseValueBinaryOperation = parseValueBinaryOperation;
|
|
5
|
+
exports.parseReferentialBinaryOperation = parseReferentialBinaryOperation;
|
|
6
|
+
exports.parseFilterObject = parseFilterObject;
|
|
7
|
+
exports.parseFilterList = parseFilterList;
|
|
4
8
|
const binary_operation_node_js_1 = require("../operation-node/binary-operation-node.js");
|
|
5
9
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
6
10
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
@@ -20,24 +24,20 @@ function parseValueBinaryOperationOrExpression(args) {
|
|
|
20
24
|
}
|
|
21
25
|
throw new Error(`invalid arguments: ${JSON.stringify(args)}`);
|
|
22
26
|
}
|
|
23
|
-
exports.parseValueBinaryOperationOrExpression = parseValueBinaryOperationOrExpression;
|
|
24
27
|
function parseValueBinaryOperation(left, operator, right) {
|
|
25
28
|
if (isIsOperator(operator) && needsIsOperator(right)) {
|
|
26
29
|
return binary_operation_node_js_1.BinaryOperationNode.create((0, reference_parser_js_1.parseReferenceExpression)(left), parseOperator(operator), value_node_js_1.ValueNode.createImmediate(right));
|
|
27
30
|
}
|
|
28
31
|
return binary_operation_node_js_1.BinaryOperationNode.create((0, reference_parser_js_1.parseReferenceExpression)(left), parseOperator(operator), (0, value_parser_js_1.parseValueExpressionOrList)(right));
|
|
29
32
|
}
|
|
30
|
-
exports.parseValueBinaryOperation = parseValueBinaryOperation;
|
|
31
33
|
function parseReferentialBinaryOperation(left, operator, right) {
|
|
32
34
|
return binary_operation_node_js_1.BinaryOperationNode.create((0, reference_parser_js_1.parseReferenceExpression)(left), parseOperator(operator), (0, reference_parser_js_1.parseReferenceExpression)(right));
|
|
33
35
|
}
|
|
34
|
-
exports.parseReferentialBinaryOperation = parseReferentialBinaryOperation;
|
|
35
36
|
function parseFilterObject(obj, combinator) {
|
|
36
37
|
return parseFilterList(Object.entries(obj)
|
|
37
38
|
.filter(([, v]) => !(0, object_utils_js_1.isUndefined)(v))
|
|
38
39
|
.map(([k, v]) => parseValueBinaryOperation(k, needsIsOperator(v) ? 'is' : '=', v)), combinator);
|
|
39
40
|
}
|
|
40
|
-
exports.parseFilterObject = parseFilterObject;
|
|
41
41
|
function parseFilterList(list, combinator, withParens = true) {
|
|
42
42
|
const combine = combinator === 'and' ? and_node_js_1.AndNode.create : or_node_js_1.OrNode.create;
|
|
43
43
|
if (list.length === 0) {
|
|
@@ -52,7 +52,6 @@ function parseFilterList(list, combinator, withParens = true) {
|
|
|
52
52
|
}
|
|
53
53
|
return node;
|
|
54
54
|
}
|
|
55
|
-
exports.parseFilterList = parseFilterList;
|
|
56
55
|
function isIsOperator(operator) {
|
|
57
56
|
return operator === 'is' || operator === 'is not';
|
|
58
57
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseDataTypeExpression =
|
|
3
|
+
exports.parseDataTypeExpression = parseDataTypeExpression;
|
|
4
4
|
const data_type_node_js_1 = require("../operation-node/data-type-node.js");
|
|
5
5
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
6
6
|
function parseDataTypeExpression(dataType) {
|
|
@@ -12,4 +12,3 @@ function parseDataTypeExpression(dataType) {
|
|
|
12
12
|
}
|
|
13
13
|
throw new Error(`invalid column data type ${JSON.stringify(dataType)}`);
|
|
14
14
|
}
|
|
15
|
-
exports.parseDataTypeExpression = parseDataTypeExpression;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseDefaultValueExpression =
|
|
3
|
+
exports.parseDefaultValueExpression = parseDefaultValueExpression;
|
|
4
4
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
5
5
|
const value_node_js_1 = require("../operation-node/value-node.js");
|
|
6
6
|
function parseDefaultValueExpression(value) {
|
|
@@ -8,4 +8,3 @@ function parseDefaultValueExpression(value) {
|
|
|
8
8
|
? value.toOperationNode()
|
|
9
9
|
: value_node_js_1.ValueNode.createImmediate(value);
|
|
10
10
|
}
|
|
11
|
-
exports.parseDefaultValueExpression = parseDefaultValueExpression;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseExpression = parseExpression;
|
|
4
|
+
exports.parseAliasedExpression = parseAliasedExpression;
|
|
5
|
+
exports.isExpressionOrFactory = isExpressionOrFactory;
|
|
4
6
|
const expression_js_1 = require("../expression/expression.js");
|
|
5
7
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
6
8
|
const expression_builder_js_1 = require("../expression/expression-builder.js");
|
|
@@ -14,7 +16,6 @@ function parseExpression(exp) {
|
|
|
14
16
|
}
|
|
15
17
|
throw new Error(`invalid expression: ${JSON.stringify(exp)}`);
|
|
16
18
|
}
|
|
17
|
-
exports.parseExpression = parseExpression;
|
|
18
19
|
function parseAliasedExpression(exp) {
|
|
19
20
|
if ((0, operation_node_source_js_1.isOperationNodeSource)(exp)) {
|
|
20
21
|
return exp.toOperationNode();
|
|
@@ -24,8 +25,6 @@ function parseAliasedExpression(exp) {
|
|
|
24
25
|
}
|
|
25
26
|
throw new Error(`invalid aliased expression: ${JSON.stringify(exp)}`);
|
|
26
27
|
}
|
|
27
|
-
exports.parseAliasedExpression = parseAliasedExpression;
|
|
28
28
|
function isExpressionOrFactory(obj) {
|
|
29
29
|
return (0, expression_js_1.isExpression)(obj) || (0, expression_js_1.isAliasedExpression)(obj) || (0, object_utils_js_1.isFunction)(obj);
|
|
30
30
|
}
|
|
31
|
-
exports.isExpressionOrFactory = isExpressionOrFactory;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseFetch =
|
|
3
|
+
exports.parseFetch = parseFetch;
|
|
4
4
|
const fetch_node_js_1 = require("../operation-node/fetch-node.js");
|
|
5
5
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
6
6
|
function parseFetch(rowCount, modifier) {
|
|
@@ -12,7 +12,6 @@ function parseFetch(rowCount, modifier) {
|
|
|
12
12
|
}
|
|
13
13
|
return fetch_node_js_1.FetchNode.create(rowCount, modifier);
|
|
14
14
|
}
|
|
15
|
-
exports.parseFetch = parseFetch;
|
|
16
15
|
function isFetchModifier(value) {
|
|
17
16
|
return value === 'only' || value === 'with ties';
|
|
18
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseGroupBy =
|
|
3
|
+
exports.parseGroupBy = parseGroupBy;
|
|
4
4
|
const group_by_item_node_js_1 = require("../operation-node/group-by-item-node.js");
|
|
5
5
|
const expression_builder_js_1 = require("../expression/expression-builder.js");
|
|
6
6
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
@@ -9,4 +9,3 @@ function parseGroupBy(groupBy) {
|
|
|
9
9
|
groupBy = (0, object_utils_js_1.isFunction)(groupBy) ? groupBy((0, expression_builder_js_1.expressionBuilder)()) : groupBy;
|
|
10
10
|
return (0, reference_parser_js_1.parseReferenceExpressionOrList)(groupBy).map(group_by_item_node_js_1.GroupByItemNode.create);
|
|
11
11
|
}
|
|
12
|
-
exports.parseGroupBy = parseGroupBy;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseSchemableIdentifier =
|
|
3
|
+
exports.parseSchemableIdentifier = parseSchemableIdentifier;
|
|
4
4
|
const schemable_identifier_node_js_1 = require("../operation-node/schemable-identifier-node.js");
|
|
5
5
|
function parseSchemableIdentifier(id) {
|
|
6
6
|
const SCHEMA_SEPARATOR = '.';
|
|
@@ -17,7 +17,6 @@ function parseSchemableIdentifier(id) {
|
|
|
17
17
|
return schemable_identifier_node_js_1.SchemableIdentifierNode.create(id);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
exports.parseSchemableIdentifier = parseSchemableIdentifier;
|
|
21
20
|
function trim(str) {
|
|
22
21
|
return str.trim();
|
|
23
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseInsertExpression =
|
|
3
|
+
exports.parseInsertExpression = parseInsertExpression;
|
|
4
4
|
const column_node_js_1 = require("../operation-node/column-node.js");
|
|
5
5
|
const primitive_value_list_node_js_1 = require("../operation-node/primitive-value-list-node.js");
|
|
6
6
|
const value_list_node_js_1 = require("../operation-node/value-list-node.js");
|
|
@@ -17,7 +17,6 @@ function parseInsertExpression(arg) {
|
|
|
17
17
|
: (0, object_utils_js_1.freeze)([objectOrList]);
|
|
18
18
|
return parseInsertColumnsAndValues(list);
|
|
19
19
|
}
|
|
20
|
-
exports.parseInsertExpression = parseInsertExpression;
|
|
21
20
|
function parseInsertColumnsAndValues(rows) {
|
|
22
21
|
const columns = parseColumnNamesAndIndexes(rows);
|
|
23
22
|
return [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseJoin =
|
|
3
|
+
exports.parseJoin = parseJoin;
|
|
4
4
|
const join_node_js_1 = require("../operation-node/join-node.js");
|
|
5
5
|
const table_parser_js_1 = require("./table-parser.js");
|
|
6
6
|
const binary_operation_parser_js_1 = require("./binary-operation-parser.js");
|
|
@@ -16,7 +16,6 @@ function parseJoin(joinType, args) {
|
|
|
16
16
|
throw new Error('not implemented');
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
exports.parseJoin = parseJoin;
|
|
20
19
|
function parseCallbackJoin(joinType, from, callback) {
|
|
21
20
|
return callback((0, parse_utils_js_1.createJoinBuilder)(joinType, from)).toOperationNode();
|
|
22
21
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseMergeWhen = parseMergeWhen;
|
|
4
|
+
exports.parseMergeThen = parseMergeThen;
|
|
4
5
|
const matched_node_js_1 = require("../operation-node/matched-node.js");
|
|
5
6
|
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
6
7
|
const raw_node_js_1 = require("../operation-node/raw-node.js");
|
|
@@ -19,7 +20,6 @@ function parseMergeWhen(type, args, refRight) {
|
|
|
19
20
|
: []),
|
|
20
21
|
], 'and', false));
|
|
21
22
|
}
|
|
22
|
-
exports.parseMergeWhen = parseMergeWhen;
|
|
23
23
|
function parseMergeThen(result) {
|
|
24
24
|
if ((0, object_utils_js_1.isString)(result)) {
|
|
25
25
|
return raw_node_js_1.RawNode.create([result], []);
|
|
@@ -29,4 +29,3 @@ function parseMergeThen(result) {
|
|
|
29
29
|
}
|
|
30
30
|
return result;
|
|
31
31
|
}
|
|
32
|
-
exports.parseMergeThen = parseMergeThen;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseOnCommitAction =
|
|
3
|
+
exports.parseOnCommitAction = parseOnCommitAction;
|
|
4
4
|
const create_table_node_js_1 = require("../operation-node/create-table-node.js");
|
|
5
5
|
function parseOnCommitAction(action) {
|
|
6
6
|
if (create_table_node_js_1.ON_COMMIT_ACTIONS.includes(action)) {
|
|
@@ -8,4 +8,3 @@ function parseOnCommitAction(action) {
|
|
|
8
8
|
}
|
|
9
9
|
throw new Error(`invalid OnCommitAction ${action}`);
|
|
10
10
|
}
|
|
11
|
-
exports.parseOnCommitAction = parseOnCommitAction;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseOnModifyForeignAction =
|
|
3
|
+
exports.parseOnModifyForeignAction = parseOnModifyForeignAction;
|
|
4
4
|
const references_node_js_1 = require("../operation-node/references-node.js");
|
|
5
5
|
function parseOnModifyForeignAction(action) {
|
|
6
6
|
if (references_node_js_1.ON_MODIFY_FOREIGN_ACTIONS.includes(action)) {
|
|
@@ -8,4 +8,3 @@ function parseOnModifyForeignAction(action) {
|
|
|
8
8
|
}
|
|
9
9
|
throw new Error(`invalid OnModifyForeignAction ${action}`);
|
|
10
10
|
}
|
|
11
|
-
exports.parseOnModifyForeignAction = parseOnModifyForeignAction;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isOrderByDirection = isOrderByDirection;
|
|
4
|
+
exports.parseOrderBy = parseOrderBy;
|
|
5
|
+
exports.parseOrderByItem = parseOrderByItem;
|
|
4
6
|
const dynamic_reference_builder_js_1 = require("../dynamic/dynamic-reference-builder.js");
|
|
5
7
|
const order_by_item_node_js_1 = require("../operation-node/order-by-item-node.js");
|
|
6
8
|
const raw_node_js_1 = require("../operation-node/raw-node.js");
|
|
@@ -9,7 +11,6 @@ const reference_parser_js_1 = require("./reference-parser.js");
|
|
|
9
11
|
function isOrderByDirection(thing) {
|
|
10
12
|
return thing === 'asc' || thing === 'desc';
|
|
11
13
|
}
|
|
12
|
-
exports.isOrderByDirection = isOrderByDirection;
|
|
13
14
|
function parseOrderBy(args) {
|
|
14
15
|
if (args.length === 2) {
|
|
15
16
|
return [parseOrderByItem(args[0], args[1])];
|
|
@@ -23,7 +24,6 @@ function parseOrderBy(args) {
|
|
|
23
24
|
}
|
|
24
25
|
throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${args.length}`);
|
|
25
26
|
}
|
|
26
|
-
exports.parseOrderBy = parseOrderBy;
|
|
27
27
|
function parseOrderByItem(ref, direction) {
|
|
28
28
|
const parsedRef = parseOrderByExpression(ref);
|
|
29
29
|
if (order_by_item_node_js_1.OrderByItemNode.is(parsedRef)) {
|
|
@@ -34,7 +34,6 @@ function parseOrderByItem(ref, direction) {
|
|
|
34
34
|
}
|
|
35
35
|
return order_by_item_node_js_1.OrderByItemNode.create(parsedRef, parseOrderByDirectionExpression(direction));
|
|
36
36
|
}
|
|
37
|
-
exports.parseOrderByItem = parseOrderByItem;
|
|
38
37
|
function parseOrderByExpression(expr) {
|
|
39
38
|
if ((0, expression_parser_js_1.isExpressionOrFactory)(expr)) {
|
|
40
39
|
return (0, expression_parser_js_1.parseExpression)(expr);
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createSelectQueryBuilder = createSelectQueryBuilder;
|
|
4
|
+
exports.createQueryCreator = createQueryCreator;
|
|
5
|
+
exports.createJoinBuilder = createJoinBuilder;
|
|
6
|
+
exports.createOverBuilder = createOverBuilder;
|
|
4
7
|
const join_node_js_1 = require("../operation-node/join-node.js");
|
|
5
8
|
const over_node_js_1 = require("../operation-node/over-node.js");
|
|
6
9
|
const select_query_node_js_1 = require("../operation-node/select-query-node.js");
|
|
@@ -18,22 +21,18 @@ function createSelectQueryBuilder() {
|
|
|
18
21
|
queryNode: select_query_node_js_1.SelectQueryNode.createFrom((0, table_parser_js_1.parseTableExpressionOrList)([])),
|
|
19
22
|
});
|
|
20
23
|
}
|
|
21
|
-
exports.createSelectQueryBuilder = createSelectQueryBuilder;
|
|
22
24
|
function createQueryCreator() {
|
|
23
25
|
return new query_creator_js_1.QueryCreator({
|
|
24
26
|
executor: noop_query_executor_js_1.NOOP_QUERY_EXECUTOR,
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
|
-
exports.createQueryCreator = createQueryCreator;
|
|
28
29
|
function createJoinBuilder(joinType, table) {
|
|
29
30
|
return new join_builder_js_1.JoinBuilder({
|
|
30
31
|
joinNode: join_node_js_1.JoinNode.create(joinType, (0, table_parser_js_1.parseTableExpression)(table)),
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
|
-
exports.createJoinBuilder = createJoinBuilder;
|
|
34
34
|
function createOverBuilder() {
|
|
35
35
|
return new over_builder_js_1.OverBuilder({
|
|
36
36
|
overNode: over_node_js_1.OverNode.create(),
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
exports.createOverBuilder = createOverBuilder;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parsePartitionBy =
|
|
3
|
+
exports.parsePartitionBy = parsePartitionBy;
|
|
4
4
|
const partition_by_item_node_js_1 = require("../operation-node/partition-by-item-node.js");
|
|
5
5
|
const reference_parser_js_1 = require("./reference-parser.js");
|
|
6
6
|
function parsePartitionBy(partitionBy) {
|
|
7
7
|
return (0, reference_parser_js_1.parseReferenceExpressionOrList)(partitionBy).map(partition_by_item_node_js_1.PartitionByItemNode.create);
|
|
8
8
|
}
|
|
9
|
-
exports.parsePartitionBy = parsePartitionBy;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseSimpleReferenceExpression = parseSimpleReferenceExpression;
|
|
4
|
+
exports.parseReferenceExpressionOrList = parseReferenceExpressionOrList;
|
|
5
|
+
exports.parseReferenceExpression = parseReferenceExpression;
|
|
6
|
+
exports.parseJSONReference = parseJSONReference;
|
|
7
|
+
exports.parseStringReference = parseStringReference;
|
|
8
|
+
exports.parseAliasedStringReference = parseAliasedStringReference;
|
|
9
|
+
exports.parseColumnName = parseColumnName;
|
|
10
|
+
exports.parseOrderedColumnName = parseOrderedColumnName;
|
|
4
11
|
const alias_node_js_1 = require("../operation-node/alias-node.js");
|
|
5
12
|
const column_node_js_1 = require("../operation-node/column-node.js");
|
|
6
13
|
const reference_node_js_1 = require("../operation-node/reference-node.js");
|
|
@@ -19,7 +26,6 @@ function parseSimpleReferenceExpression(exp) {
|
|
|
19
26
|
}
|
|
20
27
|
return exp.toOperationNode();
|
|
21
28
|
}
|
|
22
|
-
exports.parseSimpleReferenceExpression = parseSimpleReferenceExpression;
|
|
23
29
|
function parseReferenceExpressionOrList(arg) {
|
|
24
30
|
if ((0, object_utils_js_1.isReadonlyArray)(arg)) {
|
|
25
31
|
return arg.map((it) => parseReferenceExpression(it));
|
|
@@ -28,14 +34,12 @@ function parseReferenceExpressionOrList(arg) {
|
|
|
28
34
|
return [parseReferenceExpression(arg)];
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
|
-
exports.parseReferenceExpressionOrList = parseReferenceExpressionOrList;
|
|
32
37
|
function parseReferenceExpression(exp) {
|
|
33
38
|
if ((0, expression_parser_js_1.isExpressionOrFactory)(exp)) {
|
|
34
39
|
return (0, expression_parser_js_1.parseExpression)(exp);
|
|
35
40
|
}
|
|
36
41
|
return parseSimpleReferenceExpression(exp);
|
|
37
42
|
}
|
|
38
|
-
exports.parseReferenceExpression = parseReferenceExpression;
|
|
39
43
|
function parseJSONReference(ref, op) {
|
|
40
44
|
const referenceNode = parseStringReference(ref);
|
|
41
45
|
if ((0, operator_node_js_1.isJSONOperator)(op)) {
|
|
@@ -47,7 +51,6 @@ function parseJSONReference(ref, op) {
|
|
|
47
51
|
}
|
|
48
52
|
throw new Error(`Invalid JSON operator: ${op}`);
|
|
49
53
|
}
|
|
50
|
-
exports.parseJSONReference = parseJSONReference;
|
|
51
54
|
function parseStringReference(ref) {
|
|
52
55
|
const COLUMN_SEPARATOR = '.';
|
|
53
56
|
if (!ref.includes(COLUMN_SEPARATOR)) {
|
|
@@ -62,7 +65,6 @@ function parseStringReference(ref) {
|
|
|
62
65
|
}
|
|
63
66
|
throw new Error(`invalid column reference ${ref}`);
|
|
64
67
|
}
|
|
65
|
-
exports.parseStringReference = parseStringReference;
|
|
66
68
|
function parseAliasedStringReference(ref) {
|
|
67
69
|
const ALIAS_SEPARATOR = ' as ';
|
|
68
70
|
if (ref.includes(ALIAS_SEPARATOR)) {
|
|
@@ -73,11 +75,9 @@ function parseAliasedStringReference(ref) {
|
|
|
73
75
|
return parseStringReference(ref);
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
|
-
exports.parseAliasedStringReference = parseAliasedStringReference;
|
|
77
78
|
function parseColumnName(column) {
|
|
78
79
|
return column_node_js_1.ColumnNode.create(column);
|
|
79
80
|
}
|
|
80
|
-
exports.parseColumnName = parseColumnName;
|
|
81
81
|
function parseOrderedColumnName(column) {
|
|
82
82
|
const ORDER_SEPARATOR = ' ';
|
|
83
83
|
if (column.includes(ORDER_SEPARATOR)) {
|
|
@@ -91,7 +91,6 @@ function parseOrderedColumnName(column) {
|
|
|
91
91
|
return parseColumnName(column);
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
exports.parseOrderedColumnName = parseOrderedColumnName;
|
|
95
94
|
function parseStringReferenceWithTableAndSchema(parts) {
|
|
96
95
|
const [schema, table, column] = parts;
|
|
97
96
|
return reference_node_js_1.ReferenceNode.create(column_node_js_1.ColumnNode.create(column), table_node_js_1.TableNode.createWithSchema(schema, table));
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { DeleteResult } from '../query-builder/delete-result.js';
|
|
2
2
|
import { InsertResult } from '../query-builder/insert-result.js';
|
|
3
|
+
import { MergeResult } from '../query-builder/merge-result.js';
|
|
3
4
|
import { UpdateResult } from '../query-builder/update-result.js';
|
|
4
5
|
import { Selection, AllSelection, CallbackSelection } from './select-parser.js';
|
|
5
|
-
export type ReturningRow<DB, TB extends keyof DB, O, SE> = O extends InsertResult
|
|
6
|
-
export type ReturningCallbackRow<DB, TB extends keyof DB, O, CB> = O extends InsertResult
|
|
7
|
-
export type ReturningAllRow<DB, TB extends keyof DB, O> = O extends InsertResult
|
|
6
|
+
export type ReturningRow<DB, TB extends keyof DB, O, SE> = O extends InsertResult | DeleteResult | UpdateResult | MergeResult ? Selection<DB, TB, SE> : O & Selection<DB, TB, SE>;
|
|
7
|
+
export type ReturningCallbackRow<DB, TB extends keyof DB, O, CB> = O extends InsertResult | DeleteResult | UpdateResult | MergeResult ? CallbackSelection<DB, TB, CB> : O & CallbackSelection<DB, TB, CB>;
|
|
8
|
+
export type ReturningAllRow<DB, TB extends keyof DB, O> = O extends InsertResult | DeleteResult | UpdateResult | MergeResult ? AllSelection<DB, TB> : O & AllSelection<DB, TB>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseSelectArg = parseSelectArg;
|
|
4
|
+
exports.parseSelectAll = parseSelectAll;
|
|
4
5
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
6
|
const selection_node_js_1 = require("../operation-node/selection-node.js");
|
|
6
7
|
const reference_parser_js_1 = require("./reference-parser.js");
|
|
@@ -19,7 +20,6 @@ function parseSelectArg(selection) {
|
|
|
19
20
|
return [parseSelectExpression(selection)];
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
exports.parseSelectArg = parseSelectArg;
|
|
23
23
|
function parseSelectExpression(selection) {
|
|
24
24
|
if ((0, object_utils_js_1.isString)(selection)) {
|
|
25
25
|
return selection_node_js_1.SelectionNode.create((0, reference_parser_js_1.parseAliasedStringReference)(selection));
|
|
@@ -42,7 +42,6 @@ function parseSelectAll(table) {
|
|
|
42
42
|
return [parseSelectAllArg(table)];
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
exports.parseSelectAll = parseSelectAll;
|
|
46
45
|
function parseSelectAllArg(table) {
|
|
47
46
|
if ((0, object_utils_js_1.isString)(table)) {
|
|
48
47
|
return selection_node_js_1.SelectionNode.createSelectAllFromTable((0, table_parser_js_1.parseTable)(table));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseSetOperations =
|
|
3
|
+
exports.parseSetOperations = parseSetOperations;
|
|
4
4
|
const expression_builder_js_1 = require("../expression/expression-builder.js");
|
|
5
5
|
const set_operation_node_js_1 = require("../operation-node/set-operation-node.js");
|
|
6
6
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
@@ -14,4 +14,3 @@ function parseSetOperations(operator, expression, all) {
|
|
|
14
14
|
}
|
|
15
15
|
return expression.map((expr) => set_operation_node_js_1.SetOperationNode.create(operator, (0, expression_parser_js_1.parseExpression)(expr), all));
|
|
16
16
|
}
|
|
17
|
-
exports.parseSetOperations = parseSetOperations;
|