kysely 0.27.2 → 0.27.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +1 -1
- package/README.md +7 -7
- package/dist/cjs/dialect/database-introspector.d.ts +1 -0
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +2 -1
- package/dist/cjs/dialect/dialect-adapter-base.js +4 -1
- package/dist/cjs/dialect/dialect-adapter.d.ts +5 -0
- package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +1 -5
- package/dist/cjs/dialect/mssql/mssql-adapter.js +2 -4
- package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +46 -26
- package/dist/cjs/dialect/mssql/mssql-driver.d.ts +1 -0
- package/dist/cjs/dialect/mssql/mssql-driver.js +95 -36
- package/dist/cjs/dialect/mssql/mssql-introspector.js +13 -2
- package/dist/cjs/dialect/mssql/mssql-query-compiler.d.ts +4 -0
- package/dist/cjs/dialect/mssql/mssql-query-compiler.js +8 -0
- package/dist/cjs/dialect/mysql/mysql-introspector.js +2 -0
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +1 -1
- package/dist/cjs/dialect/postgres/postgres-driver.js +2 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.js +3 -1
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -0
- package/dist/cjs/driver/database-connection.d.ts +4 -2
- package/dist/cjs/dynamic/dynamic-reference-builder.js +2 -2
- package/dist/cjs/dynamic/dynamic.d.ts +1 -1
- package/dist/cjs/dynamic/dynamic.js +1 -1
- package/dist/cjs/expression/expression-builder.d.ts +31 -5
- package/dist/cjs/expression/expression-builder.js +7 -3
- package/dist/cjs/expression/expression.js +2 -3
- package/dist/cjs/helpers/mssql.js +3 -4
- package/dist/cjs/helpers/mysql.d.ts +3 -3
- package/dist/cjs/helpers/mysql.js +6 -7
- package/dist/cjs/helpers/postgres.d.ts +4 -4
- package/dist/cjs/helpers/postgres.js +7 -8
- package/dist/cjs/helpers/sqlite.js +3 -4
- package/dist/cjs/index.d.ts +31 -18
- package/dist/cjs/index.js +30 -17
- package/dist/cjs/kysely.d.ts +1 -1
- package/dist/cjs/kysely.js +3 -3
- package/dist/cjs/operation-node/add-index-node.js +1 -1
- 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/cast-node.d.ts +13 -0
- package/dist/cjs/operation-node/cast-node.js +19 -0
- package/dist/cjs/operation-node/column-definition-node.d.ts +2 -0
- package/dist/cjs/operation-node/data-type-node.d.ts +5 -1
- package/dist/cjs/operation-node/data-type-node.js +56 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +6 -0
- package/dist/cjs/operation-node/delete-query-node.js +12 -0
- package/dist/cjs/operation-node/fetch-node.d.ts +15 -0
- package/dist/cjs/operation-node/fetch-node.js +19 -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 +6 -1
- package/dist/cjs/operation-node/insert-query-node.js +5 -0
- package/dist/cjs/operation-node/join-node.d.ts +1 -1
- package/dist/cjs/operation-node/matched-node.d.ts +13 -0
- package/dist/cjs/operation-node/matched-node.js +19 -0
- package/dist/cjs/operation-node/merge-query-node.d.ts +27 -0
- package/dist/cjs/operation-node/merge-query-node.js +45 -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 +12 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +62 -0
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +12 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +6 -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 +17 -5
- package/dist/cjs/operation-node/query-node.js +24 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +6 -0
- package/dist/cjs/operation-node/select-query-node.js +12 -0
- package/dist/cjs/operation-node/top-node.d.ts +14 -0
- package/dist/cjs/operation-node/top-node.js +19 -0
- package/dist/cjs/operation-node/update-query-node.d.ts +9 -1
- package/dist/cjs/operation-node/update-query-node.js +11 -0
- package/dist/cjs/operation-node/where-node.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.js +7 -8
- package/dist/cjs/parser/data-type-parser.js +8 -5
- 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.d.ts +2 -0
- package/dist/cjs/parser/fetch-parser.js +17 -0
- 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.d.ts +3 -3
- 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.d.ts +9 -0
- package/dist/cjs/parser/merge-parser.js +31 -0
- 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.d.ts +4 -3
- package/dist/cjs/parser/table-parser.js +4 -5
- package/dist/cjs/parser/top-parser.d.ts +2 -0
- package/dist/cjs/parser/top-parser.js +19 -0
- 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 +2 -2
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +2 -2
- package/dist/cjs/plugin/camel-case/camel-case.js +2 -3
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +4 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +188 -5
- package/dist/cjs/query-builder/delete-query-builder.js +139 -5
- package/dist/cjs/query-builder/function-module.d.ts +5 -5
- package/dist/cjs/query-builder/function-module.js +1 -2
- package/dist/cjs/query-builder/insert-query-builder.d.ts +166 -10
- package/dist/cjs/query-builder/insert-query-builder.js +107 -10
- package/dist/cjs/query-builder/merge-query-builder.d.ts +721 -0
- package/dist/cjs/query-builder/merge-query-builder.js +547 -0
- package/dist/cjs/query-builder/merge-result.d.ts +4 -0
- package/dist/cjs/query-builder/merge-result.js +10 -0
- package/dist/cjs/query-builder/no-result-error.js +2 -2
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +2 -2
- package/dist/cjs/query-builder/output-interface.d.ts +95 -0
- package/dist/cjs/query-builder/output-interface.js +2 -0
- package/dist/cjs/query-builder/returning-interface.d.ts +2 -0
- package/dist/cjs/query-builder/select-query-builder.d.ts +177 -17
- package/dist/cjs/query-builder/select-query-builder.js +21 -2
- package/dist/cjs/query-builder/update-query-builder.d.ts +175 -10
- package/dist/cjs/query-builder/update-query-builder.js +119 -7
- 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 +1 -1
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +12 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +118 -10
- package/dist/cjs/query-compiler/query-compiler.d.ts +2 -1
- package/dist/cjs/query-creator.d.ts +96 -5
- package/dist/cjs/query-creator.js +63 -1
- package/dist/cjs/raw-builder/raw-builder.js +1 -2
- package/dist/cjs/raw-builder/sql.d.ts +5 -5
- package/dist/cjs/schema/alter-column-builder.js +3 -0
- package/dist/cjs/schema/alter-table-add-index-builder.d.ts +1 -1
- package/dist/cjs/schema/alter-table-add-index-builder.js +7 -3
- package/dist/cjs/schema/alter-table-builder.js +1 -2
- package/dist/cjs/schema/column-definition-builder.d.ts +18 -1
- package/dist/cjs/schema/column-definition-builder.js +22 -1
- package/dist/cjs/util/assert.js +2 -3
- package/dist/cjs/util/compilable.js +1 -2
- package/dist/cjs/util/infer-result.d.ts +2 -1
- 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.js +1 -2
- package/dist/cjs/util/stack-trace-utils.js +1 -2
- package/dist/cjs/util/type-utils.d.ts +3 -2
- package/dist/esm/dialect/database-introspector.d.ts +1 -0
- package/dist/esm/dialect/dialect-adapter-base.d.ts +2 -1
- package/dist/esm/dialect/dialect-adapter-base.js +4 -1
- package/dist/esm/dialect/dialect-adapter.d.ts +5 -0
- package/dist/esm/dialect/mssql/mssql-adapter.d.ts +1 -5
- package/dist/esm/dialect/mssql/mssql-adapter.js +2 -4
- package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +46 -26
- package/dist/esm/dialect/mssql/mssql-driver.d.ts +1 -0
- package/dist/esm/dialect/mssql/mssql-driver.js +95 -36
- package/dist/esm/dialect/mssql/mssql-introspector.js +13 -2
- package/dist/esm/dialect/mssql/mssql-query-compiler.d.ts +4 -0
- package/dist/esm/dialect/mssql/mssql-query-compiler.js +8 -0
- package/dist/esm/dialect/mysql/mysql-introspector.js +2 -0
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +1 -1
- package/dist/esm/dialect/postgres/postgres-driver.js +2 -1
- package/dist/esm/dialect/postgres/postgres-introspector.js +3 -1
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
- package/dist/esm/driver/database-connection.d.ts +4 -2
- package/dist/esm/dynamic/dynamic.d.ts +1 -1
- package/dist/esm/dynamic/dynamic.js +1 -1
- package/dist/esm/expression/expression-builder.d.ts +31 -5
- package/dist/esm/expression/expression-builder.js +5 -0
- package/dist/esm/helpers/mysql.d.ts +3 -3
- package/dist/esm/helpers/mysql.js +3 -3
- package/dist/esm/helpers/postgres.d.ts +4 -4
- package/dist/esm/helpers/postgres.js +4 -4
- package/dist/esm/index.d.ts +31 -18
- package/dist/esm/index.js +30 -17
- package/dist/esm/kysely.d.ts +1 -1
- package/dist/esm/kysely.js +1 -1
- package/dist/esm/operation-node/add-index-node.js +1 -1
- 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/cast-node.d.ts +13 -0
- package/dist/esm/operation-node/cast-node.js +17 -0
- package/dist/esm/operation-node/column-definition-node.d.ts +2 -0
- package/dist/esm/operation-node/data-type-node.d.ts +5 -1
- package/dist/esm/operation-node/data-type-node.js +55 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +6 -0
- package/dist/esm/operation-node/delete-query-node.js +12 -0
- package/dist/esm/operation-node/fetch-node.d.ts +15 -0
- package/dist/esm/operation-node/fetch-node.js +17 -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 +6 -1
- package/dist/esm/operation-node/insert-query-node.js +5 -0
- package/dist/esm/operation-node/join-node.d.ts +1 -1
- package/dist/esm/operation-node/matched-node.d.ts +13 -0
- package/dist/esm/operation-node/matched-node.js +17 -0
- package/dist/esm/operation-node/merge-query-node.d.ts +27 -0
- package/dist/esm/operation-node/merge-query-node.js +43 -0
- package/dist/esm/operation-node/on-node.d.ts +1 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +12 -0
- package/dist/esm/operation-node/operation-node-transformer.js +62 -0
- package/dist/esm/operation-node/operation-node-visitor.d.ts +12 -0
- package/dist/esm/operation-node/operation-node-visitor.js +6 -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 +17 -5
- package/dist/esm/operation-node/query-node.js +24 -1
- package/dist/esm/operation-node/select-query-node.d.ts +6 -0
- package/dist/esm/operation-node/select-query-node.js +12 -0
- package/dist/esm/operation-node/top-node.d.ts +14 -0
- package/dist/esm/operation-node/top-node.js +17 -0
- package/dist/esm/operation-node/update-query-node.d.ts +9 -1
- package/dist/esm/operation-node/update-query-node.js +11 -0
- package/dist/esm/operation-node/where-node.d.ts +1 -1
- package/dist/esm/parser/binary-operation-parser.d.ts +1 -1
- package/dist/esm/parser/binary-operation-parser.js +2 -2
- package/dist/esm/parser/data-type-parser.js +8 -4
- package/dist/esm/parser/fetch-parser.d.ts +2 -0
- package/dist/esm/parser/fetch-parser.js +15 -0
- package/dist/esm/parser/insert-values-parser.d.ts +3 -3
- package/dist/esm/parser/merge-parser.d.ts +9 -0
- package/dist/esm/parser/merge-parser.js +28 -0
- package/dist/esm/parser/returning-parser.d.ts +4 -3
- package/dist/esm/parser/table-parser.d.ts +4 -3
- package/dist/esm/parser/top-parser.d.ts +2 -0
- package/dist/esm/parser/top-parser.js +17 -0
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +2 -2
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +2 -2
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +4 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +188 -5
- package/dist/esm/query-builder/delete-query-builder.js +139 -5
- package/dist/esm/query-builder/function-module.d.ts +5 -5
- package/dist/esm/query-builder/insert-query-builder.d.ts +166 -10
- package/dist/esm/query-builder/insert-query-builder.js +107 -10
- package/dist/esm/query-builder/merge-query-builder.d.ts +721 -0
- package/dist/esm/query-builder/merge-query-builder.js +541 -0
- package/dist/esm/query-builder/merge-result.d.ts +4 -0
- package/dist/esm/query-builder/merge-result.js +7 -0
- package/dist/esm/query-builder/on-conflict-builder.d.ts +2 -2
- package/dist/esm/query-builder/output-interface.d.ts +95 -0
- package/dist/esm/query-builder/output-interface.js +2 -0
- package/dist/esm/query-builder/returning-interface.d.ts +2 -0
- package/dist/esm/query-builder/select-query-builder.d.ts +177 -17
- package/dist/esm/query-builder/select-query-builder.js +20 -0
- package/dist/esm/query-builder/update-query-builder.d.ts +175 -10
- package/dist/esm/query-builder/update-query-builder.js +119 -7
- 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 +1 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +12 -0
- package/dist/esm/query-compiler/default-query-compiler.js +118 -10
- package/dist/esm/query-compiler/query-compiler.d.ts +2 -1
- package/dist/esm/query-creator.d.ts +96 -5
- package/dist/esm/query-creator.js +64 -2
- package/dist/esm/raw-builder/sql.d.ts +5 -5
- package/dist/esm/schema/alter-column-builder.js +3 -0
- package/dist/esm/schema/alter-table-add-index-builder.d.ts +1 -1
- package/dist/esm/schema/alter-table-add-index-builder.js +8 -4
- package/dist/esm/schema/alter-table-builder.js +1 -2
- package/dist/esm/schema/column-definition-builder.d.ts +18 -1
- package/dist/esm/schema/column-definition-builder.js +22 -1
- package/dist/esm/util/infer-result.d.ts +2 -1
- package/dist/esm/util/object-utils.js +18 -5
- package/dist/esm/util/type-utils.d.ts +3 -2
- package/package.json +26 -24
|
@@ -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;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseFetch = parseFetch;
|
|
4
|
+
const fetch_node_js_1 = require("../operation-node/fetch-node.js");
|
|
5
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
6
|
+
function parseFetch(rowCount, modifier) {
|
|
7
|
+
if (!(0, object_utils_js_1.isNumber)(rowCount) && !(0, object_utils_js_1.isBigInt)(rowCount)) {
|
|
8
|
+
throw new Error(`Invalid fetch row count: ${rowCount}`);
|
|
9
|
+
}
|
|
10
|
+
if (!isFetchModifier(modifier)) {
|
|
11
|
+
throw new Error(`Invalid fetch modifier: ${modifier}`);
|
|
12
|
+
}
|
|
13
|
+
return fetch_node_js_1.FetchNode.create(rowCount, modifier);
|
|
14
|
+
}
|
|
15
|
+
function isFetchModifier(value) {
|
|
16
|
+
return value === 'only' || value === 'with ties';
|
|
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
|
}
|
|
@@ -9,6 +9,6 @@ export type InsertObject<DB, TB extends keyof DB> = {
|
|
|
9
9
|
[C in NullableInsertKeys<DB[TB]>]?: ValueExpression<DB, TB, InsertType<DB[TB][C]>> | undefined;
|
|
10
10
|
};
|
|
11
11
|
export type InsertObjectOrList<DB, TB extends keyof DB> = InsertObject<DB, TB> | ReadonlyArray<InsertObject<DB, TB>>;
|
|
12
|
-
export type InsertObjectOrListFactory<DB, TB extends keyof DB> = (eb: ExpressionBuilder<DB, TB>) => InsertObjectOrList<DB, TB>;
|
|
13
|
-
export type InsertExpression<DB, TB extends keyof DB> = InsertObjectOrList<DB, TB> | InsertObjectOrListFactory<DB, TB>;
|
|
14
|
-
export declare function parseInsertExpression(arg: InsertExpression<any, any>): [ReadonlyArray<ColumnNode>, ValuesNode];
|
|
12
|
+
export type InsertObjectOrListFactory<DB, TB extends keyof DB, UT extends keyof DB = never> = (eb: ExpressionBuilder<DB, TB | UT>) => InsertObjectOrList<DB, TB>;
|
|
13
|
+
export type InsertExpression<DB, TB extends keyof DB, UT extends keyof DB = never> = InsertObjectOrList<DB, TB> | InsertObjectOrListFactory<DB, TB, UT>;
|
|
14
|
+
export declare function parseInsertExpression(arg: InsertExpression<any, any, any>): [ReadonlyArray<ColumnNode>, ValuesNode];
|
|
@@ -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
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InsertQueryNode } from '../operation-node/insert-query-node.js';
|
|
2
|
+
import { OperationNodeSource } from '../operation-node/operation-node-source.js';
|
|
3
|
+
import { OperationNode } from '../operation-node/operation-node.js';
|
|
4
|
+
import { WhenNode } from '../operation-node/when-node.js';
|
|
5
|
+
export declare function parseMergeWhen(type: {
|
|
6
|
+
isMatched: boolean;
|
|
7
|
+
bySource?: boolean;
|
|
8
|
+
}, args?: any[], refRight?: boolean): WhenNode;
|
|
9
|
+
export declare function parseMergeThen(result: 'delete' | 'do nothing' | OperationNodeSource | InsertQueryNode): OperationNode;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMergeWhen = parseMergeWhen;
|
|
4
|
+
exports.parseMergeThen = parseMergeThen;
|
|
5
|
+
const matched_node_js_1 = require("../operation-node/matched-node.js");
|
|
6
|
+
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
|
|
7
|
+
const raw_node_js_1 = require("../operation-node/raw-node.js");
|
|
8
|
+
const when_node_js_1 = require("../operation-node/when-node.js");
|
|
9
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
10
|
+
const binary_operation_parser_js_1 = require("./binary-operation-parser.js");
|
|
11
|
+
function parseMergeWhen(type, args, refRight) {
|
|
12
|
+
return when_node_js_1.WhenNode.create((0, binary_operation_parser_js_1.parseFilterList)([
|
|
13
|
+
matched_node_js_1.MatchedNode.create(!type.isMatched, type.bySource),
|
|
14
|
+
...(args && args.length > 0
|
|
15
|
+
? [
|
|
16
|
+
args.length === 3 && refRight
|
|
17
|
+
? (0, binary_operation_parser_js_1.parseReferentialBinaryOperation)(args[0], args[1], args[2])
|
|
18
|
+
: (0, binary_operation_parser_js_1.parseValueBinaryOperationOrExpression)(args),
|
|
19
|
+
]
|
|
20
|
+
: []),
|
|
21
|
+
], 'and', false));
|
|
22
|
+
}
|
|
23
|
+
function parseMergeThen(result) {
|
|
24
|
+
if ((0, object_utils_js_1.isString)(result)) {
|
|
25
|
+
return raw_node_js_1.RawNode.create([result], []);
|
|
26
|
+
}
|
|
27
|
+
if ((0, operation_node_source_js_1.isOperationNodeSource)(result)) {
|
|
28
|
+
return result.toOperationNode();
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
@@ -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;
|
|
@@ -6,16 +6,17 @@ import { AliasedExpression } from '../expression/expression.js';
|
|
|
6
6
|
import { DrainOuterGeneric, ShallowRecord } from '../util/type-utils.js';
|
|
7
7
|
export type TableExpression<DB, TB extends keyof DB> = AnyAliasedTable<DB> | AnyTable<DB> | AliasedExpressionOrFactory<DB, TB>;
|
|
8
8
|
export type TableExpressionOrList<DB, TB extends keyof DB> = TableExpression<DB, TB> | ReadonlyArray<TableExpression<DB, TB>>;
|
|
9
|
-
export type TableReference<DB> =
|
|
9
|
+
export type TableReference<DB> = SimpleTableReference<DB> | AliasedExpression<any, any>;
|
|
10
|
+
export type SimpleTableReference<DB> = AnyAliasedTable<DB> | AnyTable<DB>;
|
|
10
11
|
export type AnyAliasedTable<DB> = `${AnyTable<DB>} as ${string}`;
|
|
11
12
|
export type TableReferenceOrList<DB> = TableReference<DB> | ReadonlyArray<TableReference<DB>>;
|
|
12
13
|
export type From<DB, TE> = DrainOuterGeneric<{
|
|
13
14
|
[C in keyof DB | ExtractAliasFromTableExpression<DB, TE>]: C extends ExtractAliasFromTableExpression<DB, TE> ? ExtractRowTypeFromTableExpression<DB, TE, C> : C extends keyof DB ? DB[C] : never;
|
|
14
15
|
}>;
|
|
15
16
|
export type FromTables<DB, TB extends keyof DB, TE> = DrainOuterGeneric<TB | ExtractAliasFromTableExpression<DB, TE>>;
|
|
16
|
-
export type ExtractTableAlias<DB, TE> = TE extends `${string} as ${infer TA}` ? TA : TE extends keyof DB ? TE : never;
|
|
17
|
+
export type ExtractTableAlias<DB, TE> = TE extends `${string} as ${infer TA}` ? TA extends keyof DB ? TA : never : TE extends keyof DB ? TE : never;
|
|
17
18
|
export type PickTableWithAlias<DB, T extends AnyAliasedTable<DB>> = T extends `${infer TB} as ${infer A}` ? TB extends keyof DB ? ShallowRecord<A, DB[TB]> : never : never;
|
|
18
|
-
type ExtractAliasFromTableExpression<DB, TE> = TE extends string ?
|
|
19
|
+
type ExtractAliasFromTableExpression<DB, TE> = TE extends string ? TE extends `${string} as ${infer TA}` ? TA : TE extends keyof DB ? TE : never : TE extends AliasedExpression<any, infer QA> ? QA : TE extends (qb: any) => AliasedExpression<any, infer QA> ? QA : never;
|
|
19
20
|
type ExtractRowTypeFromTableExpression<DB, TE, A extends keyof any> = TE extends `${infer T} as ${infer TA}` ? TA extends A ? T extends keyof DB ? DB[T] : never : never : TE extends A ? TE extends keyof DB ? DB[TE] : never : TE extends AliasedExpression<infer O, infer QA> ? QA extends A ? O : never : TE extends (qb: any) => AliasedExpression<infer O, infer QA> ? QA extends A ? O : never : never;
|
|
20
21
|
type AnyTable<DB> = keyof DB & string;
|
|
21
22
|
export declare function parseTableExpressionOrList(table: TableExpressionOrList<any, any>): OperationNode[];
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseTableExpressionOrList = parseTableExpressionOrList;
|
|
4
|
+
exports.parseTableExpression = parseTableExpression;
|
|
5
|
+
exports.parseAliasedTable = parseAliasedTable;
|
|
6
|
+
exports.parseTable = parseTable;
|
|
4
7
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
8
|
const alias_node_js_1 = require("../operation-node/alias-node.js");
|
|
6
9
|
const table_node_js_1 = require("../operation-node/table-node.js");
|
|
@@ -14,7 +17,6 @@ function parseTableExpressionOrList(table) {
|
|
|
14
17
|
return [parseTableExpression(table)];
|
|
15
18
|
}
|
|
16
19
|
}
|
|
17
|
-
exports.parseTableExpressionOrList = parseTableExpressionOrList;
|
|
18
20
|
function parseTableExpression(table) {
|
|
19
21
|
if ((0, object_utils_js_1.isString)(table)) {
|
|
20
22
|
return parseAliasedTable(table);
|
|
@@ -23,7 +25,6 @@ function parseTableExpression(table) {
|
|
|
23
25
|
return (0, expression_parser_js_1.parseAliasedExpression)(table);
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
|
-
exports.parseTableExpression = parseTableExpression;
|
|
27
28
|
function parseAliasedTable(from) {
|
|
28
29
|
const ALIAS_SEPARATOR = ' as ';
|
|
29
30
|
if (from.includes(ALIAS_SEPARATOR)) {
|
|
@@ -34,7 +35,6 @@ function parseAliasedTable(from) {
|
|
|
34
35
|
return parseTable(from);
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
|
-
exports.parseAliasedTable = parseAliasedTable;
|
|
38
38
|
function parseTable(from) {
|
|
39
39
|
const SCHEMA_SEPARATOR = '.';
|
|
40
40
|
if (from.includes(SCHEMA_SEPARATOR)) {
|
|
@@ -45,7 +45,6 @@ function parseTable(from) {
|
|
|
45
45
|
return table_node_js_1.TableNode.create(from);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
exports.parseTable = parseTable;
|
|
49
48
|
function trim(str) {
|
|
50
49
|
return str.trim();
|
|
51
50
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseTop = parseTop;
|
|
4
|
+
const top_node_js_1 = require("../operation-node/top-node.js");
|
|
5
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
6
|
+
function parseTop(expression, modifiers) {
|
|
7
|
+
if (!(0, object_utils_js_1.isNumber)(expression) && !(0, object_utils_js_1.isBigInt)(expression)) {
|
|
8
|
+
throw new Error(`Invalid top expression: ${expression}`);
|
|
9
|
+
}
|
|
10
|
+
if (!(0, object_utils_js_1.isUndefined)(modifiers) && !isTopModifiers(modifiers)) {
|
|
11
|
+
throw new Error(`Invalid top modifiers: ${modifiers}`);
|
|
12
|
+
}
|
|
13
|
+
return top_node_js_1.TopNode.create(expression, modifiers);
|
|
14
|
+
}
|
|
15
|
+
function isTopModifiers(modifiers) {
|
|
16
|
+
return (modifiers === 'percent' ||
|
|
17
|
+
modifiers === 'with ties' ||
|
|
18
|
+
modifiers === 'percent with ties');
|
|
19
|
+
}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseExists = parseExists;
|
|
4
|
+
exports.parseNotExists = parseNotExists;
|
|
5
|
+
exports.parseUnaryOperation = parseUnaryOperation;
|
|
4
6
|
const operator_node_js_1 = require("../operation-node/operator-node.js");
|
|
5
7
|
const unary_operation_node_js_1 = require("../operation-node/unary-operation-node.js");
|
|
6
8
|
const reference_parser_js_1 = require("./reference-parser.js");
|
|
7
9
|
function parseExists(operand) {
|
|
8
10
|
return parseUnaryOperation('exists', operand);
|
|
9
11
|
}
|
|
10
|
-
exports.parseExists = parseExists;
|
|
11
12
|
function parseNotExists(operand) {
|
|
12
13
|
return parseUnaryOperation('not exists', operand);
|
|
13
14
|
}
|
|
14
|
-
exports.parseNotExists = parseNotExists;
|
|
15
15
|
function parseUnaryOperation(operator, operand) {
|
|
16
16
|
return unary_operation_node_js_1.UnaryOperationNode.create(operator_node_js_1.OperatorNode.create(operator), (0, reference_parser_js_1.parseReferenceExpression)(operand));
|
|
17
17
|
}
|
|
18
|
-
exports.parseUnaryOperation = parseUnaryOperation;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseUpdate = parseUpdate;
|
|
4
|
+
exports.parseUpdateObjectExpression = parseUpdateObjectExpression;
|
|
4
5
|
const column_node_js_1 = require("../operation-node/column-node.js");
|
|
5
6
|
const column_update_node_js_1 = require("../operation-node/column-update-node.js");
|
|
6
7
|
const expression_builder_js_1 = require("../expression/expression-builder.js");
|
|
@@ -15,7 +16,6 @@ function parseUpdate(...args) {
|
|
|
15
16
|
}
|
|
16
17
|
return parseUpdateObjectExpression(args[0]);
|
|
17
18
|
}
|
|
18
|
-
exports.parseUpdate = parseUpdate;
|
|
19
19
|
function parseUpdateObjectExpression(update) {
|
|
20
20
|
const updateObj = (0, object_utils_js_1.isFunction)(update) ? update((0, expression_builder_js_1.expressionBuilder)()) : update;
|
|
21
21
|
return Object.entries(updateObj)
|
|
@@ -24,4 +24,3 @@ function parseUpdateObjectExpression(update) {
|
|
|
24
24
|
return column_update_node_js_1.ColumnUpdateNode.create(column_node_js_1.ColumnNode.create(key), (0, value_parser_js_1.parseValueExpression)(value));
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
exports.parseUpdateObjectExpression = parseUpdateObjectExpression;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.parseValueExpressionOrList = parseValueExpressionOrList;
|
|
4
|
+
exports.parseValueExpression = parseValueExpression;
|
|
5
|
+
exports.isSafeImmediateValue = isSafeImmediateValue;
|
|
6
|
+
exports.parseSafeImmediateValue = parseSafeImmediateValue;
|
|
4
7
|
const primitive_value_list_node_js_1 = require("../operation-node/primitive-value-list-node.js");
|
|
5
8
|
const value_list_node_js_1 = require("../operation-node/value-list-node.js");
|
|
6
9
|
const value_node_js_1 = require("../operation-node/value-node.js");
|
|
@@ -12,25 +15,21 @@ function parseValueExpressionOrList(arg) {
|
|
|
12
15
|
}
|
|
13
16
|
return parseValueExpression(arg);
|
|
14
17
|
}
|
|
15
|
-
exports.parseValueExpressionOrList = parseValueExpressionOrList;
|
|
16
18
|
function parseValueExpression(exp) {
|
|
17
19
|
if ((0, expression_parser_js_1.isExpressionOrFactory)(exp)) {
|
|
18
20
|
return (0, expression_parser_js_1.parseExpression)(exp);
|
|
19
21
|
}
|
|
20
22
|
return value_node_js_1.ValueNode.create(exp);
|
|
21
23
|
}
|
|
22
|
-
exports.parseValueExpression = parseValueExpression;
|
|
23
24
|
function isSafeImmediateValue(value) {
|
|
24
25
|
return (0, object_utils_js_1.isNumber)(value) || (0, object_utils_js_1.isBoolean)(value) || (0, object_utils_js_1.isNull)(value);
|
|
25
26
|
}
|
|
26
|
-
exports.isSafeImmediateValue = isSafeImmediateValue;
|
|
27
27
|
function parseSafeImmediateValue(value) {
|
|
28
28
|
if (!isSafeImmediateValue(value)) {
|
|
29
29
|
throw new Error(`unsafe immediate value ${JSON.stringify(value)}`);
|
|
30
30
|
}
|
|
31
31
|
return value_node_js_1.ValueNode.createImmediate(value);
|
|
32
32
|
}
|
|
33
|
-
exports.parseSafeImmediateValue = parseSafeImmediateValue;
|
|
34
33
|
function parseValueExpressionList(arg) {
|
|
35
34
|
if (arg.some(expression_parser_js_1.isExpressionOrFactory)) {
|
|
36
35
|
return value_list_node_js_1.ValueListNode.create(arg.map((it) => parseValueExpression(it)));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseCommonTableExpression =
|
|
3
|
+
exports.parseCommonTableExpression = parseCommonTableExpression;
|
|
4
4
|
const common_table_expression_name_node_js_1 = require("../operation-node/common-table-expression-name-node.js");
|
|
5
5
|
const parse_utils_js_1 = require("./parse-utils.js");
|
|
6
6
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
@@ -13,7 +13,6 @@ function parseCommonTableExpression(nameOrBuilderCallback, expression) {
|
|
|
13
13
|
}
|
|
14
14
|
return common_table_expression_node_js_1.CommonTableExpressionNode.create(parseCommonTableExpressionName(nameOrBuilderCallback), expressionNode);
|
|
15
15
|
}
|
|
16
|
-
exports.parseCommonTableExpression = parseCommonTableExpression;
|
|
17
16
|
function cteBuilderFactory(expressionNode) {
|
|
18
17
|
return (name) => {
|
|
19
18
|
return new cte_builder_js_1.CTEBuilder({
|
|
@@ -35,7 +35,7 @@ export interface CamelCasePluginOptions {
|
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* A plugin that converts snake_case identifiers in the database into
|
|
38
|
-
* camelCase in the
|
|
38
|
+
* camelCase in the JavaScript side.
|
|
39
39
|
*
|
|
40
40
|
* For example let's assume we have a table called `person_table`
|
|
41
41
|
* with columns `first_name` and `last_name` in the database. When
|
|
@@ -75,7 +75,7 @@ export interface CamelCasePluginOptions {
|
|
|
75
75
|
* ```
|
|
76
76
|
*
|
|
77
77
|
* As you can see from the example, __everything__ needs to be defined
|
|
78
|
-
* in camelCase in the
|
|
78
|
+
* in camelCase in the TypeScript code: table names, columns, schemas,
|
|
79
79
|
* __everything__. When using the `CamelCasePlugin` Kysely works as if
|
|
80
80
|
* the database was defined in camelCase.
|
|
81
81
|
*
|