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
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isEmpty = isEmpty;
|
|
4
|
+
exports.isUndefined = isUndefined;
|
|
5
|
+
exports.isString = isString;
|
|
6
|
+
exports.isNumber = isNumber;
|
|
7
|
+
exports.isBoolean = isBoolean;
|
|
8
|
+
exports.isNull = isNull;
|
|
9
|
+
exports.isDate = isDate;
|
|
10
|
+
exports.isBigInt = isBigInt;
|
|
11
|
+
exports.isBuffer = isBuffer;
|
|
12
|
+
exports.isFunction = isFunction;
|
|
13
|
+
exports.isObject = isObject;
|
|
14
|
+
exports.isArrayBufferOrView = isArrayBufferOrView;
|
|
15
|
+
exports.isPlainObject = isPlainObject;
|
|
16
|
+
exports.getLast = getLast;
|
|
17
|
+
exports.freeze = freeze;
|
|
18
|
+
exports.asArray = asArray;
|
|
19
|
+
exports.asReadonlyArray = asReadonlyArray;
|
|
20
|
+
exports.isReadonlyArray = isReadonlyArray;
|
|
21
|
+
exports.noop = noop;
|
|
22
|
+
exports.compare = compare;
|
|
4
23
|
function isEmpty(obj) {
|
|
5
24
|
if (Array.isArray(obj) || isString(obj) || isBuffer(obj)) {
|
|
6
25
|
return obj.length === 0;
|
|
@@ -10,69 +29,60 @@ function isEmpty(obj) {
|
|
|
10
29
|
}
|
|
11
30
|
return false;
|
|
12
31
|
}
|
|
13
|
-
exports.isEmpty = isEmpty;
|
|
14
32
|
function isUndefined(obj) {
|
|
15
33
|
return typeof obj === 'undefined' || obj === undefined;
|
|
16
34
|
}
|
|
17
|
-
exports.isUndefined = isUndefined;
|
|
18
35
|
function isString(obj) {
|
|
19
36
|
return typeof obj === 'string';
|
|
20
37
|
}
|
|
21
|
-
exports.isString = isString;
|
|
22
38
|
function isNumber(obj) {
|
|
23
39
|
return typeof obj === 'number';
|
|
24
40
|
}
|
|
25
|
-
exports.isNumber = isNumber;
|
|
26
41
|
function isBoolean(obj) {
|
|
27
42
|
return typeof obj === 'boolean';
|
|
28
43
|
}
|
|
29
|
-
exports.isBoolean = isBoolean;
|
|
30
44
|
function isNull(obj) {
|
|
31
45
|
return obj === null;
|
|
32
46
|
}
|
|
33
|
-
exports.isNull = isNull;
|
|
34
47
|
function isDate(obj) {
|
|
35
48
|
return obj instanceof Date;
|
|
36
49
|
}
|
|
37
|
-
exports.isDate = isDate;
|
|
38
50
|
function isBigInt(obj) {
|
|
39
51
|
return typeof obj === 'bigint';
|
|
40
52
|
}
|
|
41
|
-
exports.isBigInt = isBigInt;
|
|
42
53
|
// Don't change the returnd type to `obj is Buffer` to not create a
|
|
43
54
|
// hard dependency to node.
|
|
44
55
|
function isBuffer(obj) {
|
|
45
56
|
return typeof Buffer !== 'undefined' && Buffer.isBuffer(obj);
|
|
46
57
|
}
|
|
47
|
-
exports.isBuffer = isBuffer;
|
|
48
58
|
function isFunction(obj) {
|
|
49
59
|
return typeof obj === 'function';
|
|
50
60
|
}
|
|
51
|
-
exports.isFunction = isFunction;
|
|
52
61
|
function isObject(obj) {
|
|
53
62
|
return typeof obj === 'object' && obj !== null;
|
|
54
63
|
}
|
|
55
|
-
exports.isObject = isObject;
|
|
56
64
|
function isArrayBufferOrView(obj) {
|
|
57
65
|
return obj instanceof ArrayBuffer || ArrayBuffer.isView(obj);
|
|
58
66
|
}
|
|
59
|
-
exports.isArrayBufferOrView = isArrayBufferOrView;
|
|
60
67
|
function isPlainObject(obj) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
if (!isObject(obj) || getTag(obj) !== '[object Object]') {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
if (Object.getPrototypeOf(obj) === null) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
let proto = obj;
|
|
75
|
+
while (Object.getPrototypeOf(proto) !== null) {
|
|
76
|
+
proto = Object.getPrototypeOf(proto);
|
|
77
|
+
}
|
|
78
|
+
return Object.getPrototypeOf(obj) === proto;
|
|
66
79
|
}
|
|
67
|
-
exports.isPlainObject = isPlainObject;
|
|
68
80
|
function getLast(arr) {
|
|
69
81
|
return arr[arr.length - 1];
|
|
70
82
|
}
|
|
71
|
-
exports.getLast = getLast;
|
|
72
83
|
function freeze(obj) {
|
|
73
84
|
return Object.freeze(obj);
|
|
74
85
|
}
|
|
75
|
-
exports.freeze = freeze;
|
|
76
86
|
function asArray(arg) {
|
|
77
87
|
if (isReadonlyArray(arg)) {
|
|
78
88
|
return arg;
|
|
@@ -81,7 +91,6 @@ function asArray(arg) {
|
|
|
81
91
|
return [arg];
|
|
82
92
|
}
|
|
83
93
|
}
|
|
84
|
-
exports.asArray = asArray;
|
|
85
94
|
function asReadonlyArray(arg) {
|
|
86
95
|
if (isReadonlyArray(arg)) {
|
|
87
96
|
return arg;
|
|
@@ -90,15 +99,12 @@ function asReadonlyArray(arg) {
|
|
|
90
99
|
return freeze([arg]);
|
|
91
100
|
}
|
|
92
101
|
}
|
|
93
|
-
exports.asReadonlyArray = asReadonlyArray;
|
|
94
102
|
function isReadonlyArray(arg) {
|
|
95
103
|
return Array.isArray(arg);
|
|
96
104
|
}
|
|
97
|
-
exports.isReadonlyArray = isReadonlyArray;
|
|
98
105
|
function noop(obj) {
|
|
99
106
|
return obj;
|
|
100
107
|
}
|
|
101
|
-
exports.noop = noop;
|
|
102
108
|
function compare(obj1, obj2) {
|
|
103
109
|
if (isReadonlyArray(obj1) && isReadonlyArray(obj2)) {
|
|
104
110
|
return compareArrays(obj1, obj2);
|
|
@@ -108,7 +114,6 @@ function compare(obj1, obj2) {
|
|
|
108
114
|
}
|
|
109
115
|
return obj1 === obj2;
|
|
110
116
|
}
|
|
111
|
-
exports.compare = compare;
|
|
112
117
|
function compareArrays(arr1, arr2) {
|
|
113
118
|
if (arr1.length !== arr2.length) {
|
|
114
119
|
return false;
|
|
@@ -148,3 +153,10 @@ function compareGenericObjects(obj1, obj2) {
|
|
|
148
153
|
}
|
|
149
154
|
return true;
|
|
150
155
|
}
|
|
156
|
+
const toString = Object.prototype.toString;
|
|
157
|
+
function getTag(value) {
|
|
158
|
+
if (value == null) {
|
|
159
|
+
return value === undefined ? '[object Undefined]' : '[object Null]';
|
|
160
|
+
}
|
|
161
|
+
return toString.call(value);
|
|
162
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.performanceNow =
|
|
3
|
+
exports.performanceNow = performanceNow;
|
|
4
4
|
const object_utils_js_1 = require("./object-utils.js");
|
|
5
5
|
function performanceNow() {
|
|
6
6
|
if (typeof performance !== 'undefined' && (0, object_utils_js_1.isFunction)(performance.now)) {
|
|
@@ -10,4 +10,3 @@ function performanceNow() {
|
|
|
10
10
|
return Date.now();
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
exports.performanceNow = performanceNow;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.preventAwait =
|
|
3
|
+
exports.preventAwait = preventAwait;
|
|
4
4
|
function preventAwait(clazz, message) {
|
|
5
5
|
Object.defineProperties(clazz.prototype, {
|
|
6
6
|
then: {
|
|
@@ -11,4 +11,3 @@ function preventAwait(clazz, message) {
|
|
|
11
11
|
},
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
-
exports.preventAwait = preventAwait;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createQueryId =
|
|
3
|
+
exports.createQueryId = createQueryId;
|
|
4
4
|
const random_string_js_1 = require("./random-string.js");
|
|
5
5
|
function createQueryId() {
|
|
6
6
|
return new LazyQueryId();
|
|
7
7
|
}
|
|
8
|
-
exports.createQueryId = createQueryId;
|
|
9
8
|
class LazyQueryId {
|
|
10
9
|
#queryId;
|
|
11
10
|
get queryId() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.randomString =
|
|
3
|
+
exports.randomString = randomString;
|
|
4
4
|
const CHARS = [
|
|
5
5
|
'A',
|
|
6
6
|
'B',
|
|
@@ -72,7 +72,6 @@ function randomString(length) {
|
|
|
72
72
|
}
|
|
73
73
|
return chars;
|
|
74
74
|
}
|
|
75
|
-
exports.randomString = randomString;
|
|
76
75
|
function randomChar() {
|
|
77
76
|
return CHARS[~~(Math.random() * CHARS.length)];
|
|
78
77
|
}
|
|
@@ -26,14 +26,16 @@ type AllProps<T> = T & {
|
|
|
26
26
|
* 1. Omit checked type - all checked properties will be expect as of type never
|
|
27
27
|
*
|
|
28
28
|
* ```ts
|
|
29
|
-
*
|
|
29
|
+
* type SomeType = { propA: string; propB?: number; }
|
|
30
|
+
* // const z: SomeType = requireAllProps({ propC: "no type will work" }); // Property 'propA' is missing in type '{ propC: string; }' but required in type 'SomeType'.
|
|
30
31
|
* ```
|
|
31
32
|
*
|
|
32
33
|
* 2. Apply to spreaded object - there is no way how to check in compile time if spreaded object contains all properties
|
|
33
34
|
*
|
|
34
35
|
* ```ts
|
|
36
|
+
* type SomeType = { propA: string; propB?: number; }
|
|
35
37
|
* const y: SomeType = { propA: "" }; // valid object according to SomeType declaration
|
|
36
|
-
* const x = requireAllProps<SomeType>(
|
|
38
|
+
* // const x = requireAllProps<SomeType>({ ...y }); // Argument of type '{ propA: string; propB?: number; }' is not assignable to parameter of type 'AllProps<SomeType>'.
|
|
37
39
|
* ```
|
|
38
40
|
*
|
|
39
41
|
* @param obj object to check if all properties has been used
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.requireAllProps =
|
|
3
|
+
exports.requireAllProps = requireAllProps;
|
|
4
4
|
/**
|
|
5
5
|
* Helper function to check listed properties according to given type. Check if all properties has been used when object is initialised.
|
|
6
6
|
*
|
|
@@ -21,14 +21,16 @@ exports.requireAllProps = void 0;
|
|
|
21
21
|
* 1. Omit checked type - all checked properties will be expect as of type never
|
|
22
22
|
*
|
|
23
23
|
* ```ts
|
|
24
|
-
*
|
|
24
|
+
* type SomeType = { propA: string; propB?: number; }
|
|
25
|
+
* // const z: SomeType = requireAllProps({ propC: "no type will work" }); // Property 'propA' is missing in type '{ propC: string; }' but required in type 'SomeType'.
|
|
25
26
|
* ```
|
|
26
27
|
*
|
|
27
28
|
* 2. Apply to spreaded object - there is no way how to check in compile time if spreaded object contains all properties
|
|
28
29
|
*
|
|
29
30
|
* ```ts
|
|
31
|
+
* type SomeType = { propA: string; propB?: number; }
|
|
30
32
|
* const y: SomeType = { propA: "" }; // valid object according to SomeType declaration
|
|
31
|
-
* const x = requireAllProps<SomeType>(
|
|
33
|
+
* // const x = requireAllProps<SomeType>({ ...y }); // Argument of type '{ propA: string; propB?: number; }' is not assignable to parameter of type 'AllProps<SomeType>'.
|
|
32
34
|
* ```
|
|
33
35
|
*
|
|
34
36
|
* @param obj object to check if all properties has been used
|
|
@@ -37,4 +39,3 @@ exports.requireAllProps = void 0;
|
|
|
37
39
|
function requireAllProps(obj) {
|
|
38
40
|
return obj;
|
|
39
41
|
}
|
|
40
|
-
exports.requireAllProps = requireAllProps;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extendStackTrace =
|
|
3
|
+
exports.extendStackTrace = extendStackTrace;
|
|
4
4
|
const object_utils_js_1 = require("./object-utils.js");
|
|
5
5
|
function extendStackTrace(err, stackError) {
|
|
6
6
|
if (isStackHolder(err) && stackError.stack) {
|
|
@@ -11,7 +11,6 @@ function extendStackTrace(err, stackError) {
|
|
|
11
11
|
}
|
|
12
12
|
return err;
|
|
13
13
|
}
|
|
14
|
-
exports.extendStackTrace = extendStackTrace;
|
|
15
14
|
function isStackHolder(obj) {
|
|
16
15
|
return (0, object_utils_js_1.isObject)(obj) && (0, object_utils_js_1.isString)(obj.stack);
|
|
17
16
|
}
|
|
@@ -125,7 +125,9 @@ export type NarrowPartial<O, T> = DrainOuterGeneric<T extends object ? {
|
|
|
125
125
|
* Example:
|
|
126
126
|
*
|
|
127
127
|
* ```ts
|
|
128
|
-
*
|
|
128
|
+
* import type { NotNull } from 'kysely'
|
|
129
|
+
*
|
|
130
|
+
* await db.selectFrom('person')
|
|
129
131
|
* .where('nullable_column', 'is not', null)
|
|
130
132
|
* .selectAll()
|
|
131
133
|
* .$narrowType<{ nullable_column: NotNull }>()
|
|
@@ -148,7 +150,7 @@ export type SqlBool = boolean | 0 | 1;
|
|
|
148
150
|
* A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<T>>>>>>>>>>>>>>>>>>>>>>>>
|
|
149
151
|
* >
|
|
150
152
|
*
|
|
151
|
-
* type Error = Test<number> // Type instantiation is excessively deep and possibly infinite.ts (2589)
|
|
153
|
+
* // type Error = Test<number> // Type instantiation is excessively deep and possibly infinite.ts (2589)
|
|
152
154
|
* ```
|
|
153
155
|
*
|
|
154
156
|
* To fix this, we can use `DrainOuterGeneric`:
|
|
@@ -2,7 +2,7 @@ import { Kysely } from '../kysely.js';
|
|
|
2
2
|
import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js';
|
|
3
3
|
/**
|
|
4
4
|
* A basic implementation of `DialectAdapter` with sensible default values.
|
|
5
|
-
*
|
|
5
|
+
* Third-party dialects can extend this instead of implementing the `DialectAdapter`
|
|
6
6
|
* interface from scratch. That way all new settings will get default values when
|
|
7
7
|
* they are added and there will be less breaking changes.
|
|
8
8
|
*/
|
|
@@ -26,6 +26,7 @@ export declare abstract class DialectAdapterBase implements DialectAdapter {
|
|
|
26
26
|
* updates and deletes.
|
|
27
27
|
*/
|
|
28
28
|
get supportsReturning(): boolean;
|
|
29
|
+
get supportsOutput(): boolean;
|
|
29
30
|
/**
|
|
30
31
|
* This method is used to acquire a lock for the migrations so that
|
|
31
32
|
* it's not possible for two migration operations to run in parallel.
|
|
@@ -46,8 +47,13 @@ export declare abstract class DialectAdapterBase implements DialectAdapter {
|
|
|
46
47
|
* have explicit locks but supports `FOR UPDATE` row locks and transactional DDL:
|
|
47
48
|
*
|
|
48
49
|
* ```ts
|
|
49
|
-
* {
|
|
50
|
-
*
|
|
50
|
+
* import { DialectAdapterBase, type MigrationLockOptions, Kysely } from 'kysely'
|
|
51
|
+
*
|
|
52
|
+
* export class MyAdapter extends DialectAdapterBase {
|
|
53
|
+
* override async acquireMigrationLock(
|
|
54
|
+
* db: Kysely<any>,
|
|
55
|
+
* options: MigrationLockOptions
|
|
56
|
+
* ): Promise<void> {
|
|
51
57
|
* const queryDb = options.lockTableSchema
|
|
52
58
|
* ? db.withSchema(options.lockTableSchema)
|
|
53
59
|
* : db
|
|
@@ -63,6 +69,10 @@ export declare abstract class DialectAdapterBase implements DialectAdapter {
|
|
|
63
69
|
* .forUpdate()
|
|
64
70
|
* .execute()
|
|
65
71
|
* }
|
|
72
|
+
*
|
|
73
|
+
* override async releaseMigrationLock() {
|
|
74
|
+
* // noop
|
|
75
|
+
* }
|
|
66
76
|
* }
|
|
67
77
|
* ```
|
|
68
78
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="./dialect-adapter-base.d.ts" />
|
|
2
2
|
/**
|
|
3
3
|
* A basic implementation of `DialectAdapter` with sensible default values.
|
|
4
|
-
*
|
|
4
|
+
* Third-party dialects can extend this instead of implementing the `DialectAdapter`
|
|
5
5
|
* interface from scratch. That way all new settings will get default values when
|
|
6
6
|
* they are added and there will be less breaking changes.
|
|
7
7
|
*/
|
|
@@ -15,4 +15,7 @@ export class DialectAdapterBase {
|
|
|
15
15
|
get supportsReturning() {
|
|
16
16
|
return false;
|
|
17
17
|
}
|
|
18
|
+
get supportsOutput() {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
18
21
|
}
|
|
@@ -27,6 +27,11 @@ export interface DialectAdapter {
|
|
|
27
27
|
* updates and deletes.
|
|
28
28
|
*/
|
|
29
29
|
readonly supportsReturning: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether or not this dialect supports the `output` clause in inserts
|
|
32
|
+
* updates and deletes.
|
|
33
|
+
*/
|
|
34
|
+
readonly supportsOutput?: boolean;
|
|
30
35
|
/**
|
|
31
36
|
* This method is used to acquire a lock for the migrations so that
|
|
32
37
|
* it's not possible for two migration operations to run in parallel.
|
|
@@ -47,8 +52,13 @@ export interface DialectAdapter {
|
|
|
47
52
|
* have explicit locks but supports `FOR UPDATE` row locks and transactional DDL:
|
|
48
53
|
*
|
|
49
54
|
* ```ts
|
|
50
|
-
* {
|
|
51
|
-
*
|
|
55
|
+
* import { DialectAdapterBase, type MigrationLockOptions, Kysely } from 'kysely'
|
|
56
|
+
*
|
|
57
|
+
* export class MyAdapter extends DialectAdapterBase {
|
|
58
|
+
* override async acquireMigrationLock(
|
|
59
|
+
* db: Kysely<any>,
|
|
60
|
+
* options: MigrationLockOptions
|
|
61
|
+
* ): Promise<void> {
|
|
52
62
|
* const queryDb = options.lockTableSchema
|
|
53
63
|
* ? db.withSchema(options.lockTableSchema)
|
|
54
64
|
* : db
|
|
@@ -64,6 +74,10 @@ export interface DialectAdapter {
|
|
|
64
74
|
* .forUpdate()
|
|
65
75
|
* .execute()
|
|
66
76
|
* }
|
|
77
|
+
*
|
|
78
|
+
* override async releaseMigrationLock() {
|
|
79
|
+
* // noop
|
|
80
|
+
* }
|
|
67
81
|
* }
|
|
68
82
|
* ```
|
|
69
83
|
*
|
|
@@ -15,11 +15,7 @@ export declare class MssqlAdapter extends DialectAdapterBase {
|
|
|
15
15
|
* If this is true, migrations are executed inside a transaction.
|
|
16
16
|
*/
|
|
17
17
|
get supportsTransactionalDdl(): boolean;
|
|
18
|
-
|
|
19
|
-
* Whether or not this dialect supports the `returning` in inserts
|
|
20
|
-
* updates and deletes.
|
|
21
|
-
*/
|
|
22
|
-
get supportsReturning(): boolean;
|
|
18
|
+
get supportsOutput(): boolean;
|
|
23
19
|
/**
|
|
24
20
|
* This method is used to acquire a lock for the migrations so that
|
|
25
21
|
* it's not possible for two migration operations to run in parallel.
|
|
@@ -40,8 +36,13 @@ export declare class MssqlAdapter extends DialectAdapterBase {
|
|
|
40
36
|
* have explicit locks but supports `FOR UPDATE` row locks and transactional DDL:
|
|
41
37
|
*
|
|
42
38
|
* ```ts
|
|
43
|
-
* {
|
|
44
|
-
*
|
|
39
|
+
* import { DialectAdapterBase, type MigrationLockOptions, Kysely } from 'kysely'
|
|
40
|
+
*
|
|
41
|
+
* export class MyAdapter extends DialectAdapterBase {
|
|
42
|
+
* override async acquireMigrationLock(
|
|
43
|
+
* db: Kysely<any>,
|
|
44
|
+
* options: MigrationLockOptions
|
|
45
|
+
* ): Promise<void> {
|
|
45
46
|
* const queryDb = options.lockTableSchema
|
|
46
47
|
* ? db.withSchema(options.lockTableSchema)
|
|
47
48
|
* : db
|
|
@@ -57,6 +58,10 @@ export declare class MssqlAdapter extends DialectAdapterBase {
|
|
|
57
58
|
* .forUpdate()
|
|
58
59
|
* .execute()
|
|
59
60
|
* }
|
|
61
|
+
*
|
|
62
|
+
* override async releaseMigrationLock() {
|
|
63
|
+
* // noop
|
|
64
|
+
* }
|
|
60
65
|
* }
|
|
61
66
|
* ```
|
|
62
67
|
*
|
|
@@ -9,10 +9,8 @@ export class MssqlAdapter extends DialectAdapterBase {
|
|
|
9
9
|
get supportsTransactionalDdl() {
|
|
10
10
|
return true;
|
|
11
11
|
}
|
|
12
|
-
get
|
|
13
|
-
|
|
14
|
-
// we need to figure this out when we'll introduce support for it.
|
|
15
|
-
return false;
|
|
12
|
+
get supportsOutput() {
|
|
13
|
+
return true;
|
|
16
14
|
}
|
|
17
15
|
async acquireMigrationLock(db) {
|
|
18
16
|
// Acquire a transaction-level exclusive lock on the migrations table.
|
|
@@ -6,21 +6,23 @@ export interface MssqlDialectConfig {
|
|
|
6
6
|
* (excluding `create`, `destroy` and `validate` functions which are controlled by this dialect),
|
|
7
7
|
* `min` & `max` connections at the very least.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* ### Examples
|
|
10
10
|
*
|
|
11
11
|
* ```ts
|
|
12
|
+
* import { MssqlDialect } from 'kysely'
|
|
12
13
|
* import * as Tarn from 'tarn'
|
|
14
|
+
* import * as Tedious from 'tedious'
|
|
13
15
|
*
|
|
14
16
|
* const dialect = new MssqlDialect({
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* ...
|
|
18
|
-
*
|
|
17
|
+
* tarn: { ...Tarn, options: { max: 10, min: 0 } },
|
|
18
|
+
* tedious: {
|
|
19
|
+
* ...Tedious,
|
|
20
|
+
* connectionFactory: () => new Tedious.Connection({
|
|
19
21
|
* // ...
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* },
|
|
23
|
-
* }
|
|
22
|
+
* server: 'localhost',
|
|
23
|
+
* // ...
|
|
24
|
+
* }),
|
|
25
|
+
* }
|
|
24
26
|
* })
|
|
25
27
|
* ```
|
|
26
28
|
*/
|
|
@@ -31,17 +33,23 @@ export interface MssqlDialectConfig {
|
|
|
31
33
|
* you need to pass the `tedious` package itself. You also need to pass a factory
|
|
32
34
|
* function that creates new `tedious` `Connection` instances on demand.
|
|
33
35
|
*
|
|
34
|
-
*
|
|
36
|
+
* ### Examples
|
|
35
37
|
*
|
|
36
38
|
* ```ts
|
|
39
|
+
* import { MssqlDialect } from 'kysely'
|
|
40
|
+
* import * as Tarn from 'tarn'
|
|
37
41
|
* import * as Tedious from 'tedious'
|
|
38
42
|
*
|
|
39
43
|
* const dialect = new MssqlDialect({
|
|
40
|
-
*
|
|
44
|
+
* tarn: { ...Tarn, options: { max: 10, min: 0 } },
|
|
41
45
|
* tedious: {
|
|
42
46
|
* ...Tedious,
|
|
43
|
-
* connectionFactory: () => new Tedious.Connection({
|
|
44
|
-
*
|
|
47
|
+
* connectionFactory: () => new Tedious.Connection({
|
|
48
|
+
* // ...
|
|
49
|
+
* server: 'localhost',
|
|
50
|
+
* // ...
|
|
51
|
+
* }),
|
|
52
|
+
* }
|
|
45
53
|
* })
|
|
46
54
|
* ```
|
|
47
55
|
*/
|
|
@@ -50,39 +58,66 @@ export interface MssqlDialectConfig {
|
|
|
50
58
|
export interface Tedious {
|
|
51
59
|
connectionFactory: () => TediousConnection | Promise<TediousConnection>;
|
|
52
60
|
ISOLATION_LEVEL: TediousIsolationLevel;
|
|
53
|
-
Request:
|
|
61
|
+
Request: TediousRequestClass;
|
|
54
62
|
TYPES: TediousTypes;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
name: string;
|
|
63
|
-
type: string;
|
|
63
|
+
/**
|
|
64
|
+
* Controls whether connections are reset to their initial states when released back to the pool. Resetting a connection performs additional requests to the database.
|
|
65
|
+
* See {@link https://tediousjs.github.io/tedious/api-connection.html#function_reset | connection.reset}.
|
|
66
|
+
*
|
|
67
|
+
* Defaults to `true`.
|
|
68
|
+
*/
|
|
69
|
+
resetConnectionOnRelease?: boolean;
|
|
64
70
|
}
|
|
65
71
|
export interface TediousConnection {
|
|
66
|
-
beginTransaction(callback: (error?: Error) => void,
|
|
67
|
-
cancel():
|
|
72
|
+
beginTransaction(callback: (error?: Error | null, transactionDescriptor?: any) => void, name?: string, isolationLevel?: number): void;
|
|
73
|
+
cancel(): boolean;
|
|
68
74
|
close(): void;
|
|
69
|
-
commitTransaction(callback: (error?: Error) => void): void;
|
|
70
|
-
connect(callback
|
|
75
|
+
commitTransaction(callback: (error?: Error | null) => void, name?: string): void;
|
|
76
|
+
connect(callback?: (error?: Error) => void): void;
|
|
71
77
|
execSql(request: TediousRequest): void;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
78
|
+
off(event: 'error', listener: (error: unknown) => void): this;
|
|
79
|
+
off(event: string, listener: (...args: any[]) => void): this;
|
|
80
|
+
on(event: 'error', listener: (error: unknown) => void): this;
|
|
81
|
+
on(event: string, listener: (...args: any[]) => void): this;
|
|
82
|
+
once(event: 'end', listener: () => void): this;
|
|
83
|
+
once(event: string, listener: (...args: any[]) => void): this;
|
|
84
|
+
reset(callback: (error?: Error | null) => void): void;
|
|
85
|
+
rollbackTransaction(callback: (error?: Error | null) => void, name?: string): void;
|
|
86
|
+
saveTransaction(callback: (error?: Error | null) => void, name: string): void;
|
|
87
|
+
}
|
|
88
|
+
export type TediousIsolationLevel = Record<string, number>;
|
|
89
|
+
export interface TediousRequestClass {
|
|
90
|
+
new (sqlTextOrProcedure: string | undefined, callback: (error?: Error | null, rowCount?: number, rows?: any) => void, options?: {
|
|
91
|
+
statementColumnEncryptionSetting?: any;
|
|
92
|
+
}): TediousRequest;
|
|
75
93
|
}
|
|
76
94
|
export declare class TediousRequest {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
length?: number
|
|
80
|
-
precision?: number
|
|
81
|
-
scale?: number
|
|
82
|
-
}): void;
|
|
83
|
-
off(event: 'row', listener: (
|
|
84
|
-
|
|
85
|
-
|
|
95
|
+
addParameter(name: string, dataType: TediousDataType, value?: unknown, options?: Readonly<{
|
|
96
|
+
output?: boolean;
|
|
97
|
+
length?: number;
|
|
98
|
+
precision?: number;
|
|
99
|
+
scale?: number;
|
|
100
|
+
}> | null): void;
|
|
101
|
+
off(event: 'row', listener: (columns: any) => void): this;
|
|
102
|
+
off(event: string, listener: (...args: any[]) => void): this;
|
|
103
|
+
on(event: 'row', listener: (columns: any) => void): this;
|
|
104
|
+
on(event: string, listener: (...args: any[]) => void): this;
|
|
105
|
+
once(event: 'requestCompleted', listener: () => void): this;
|
|
106
|
+
once(event: string, listener: (...args: any[]) => void): this;
|
|
107
|
+
pause(): void;
|
|
108
|
+
resume(): void;
|
|
109
|
+
}
|
|
110
|
+
export interface TediousTypes {
|
|
111
|
+
NVarChar: TediousDataType;
|
|
112
|
+
BigInt: TediousDataType;
|
|
113
|
+
Int: TediousDataType;
|
|
114
|
+
Float: TediousDataType;
|
|
115
|
+
Bit: TediousDataType;
|
|
116
|
+
DateTime: TediousDataType;
|
|
117
|
+
VarBinary: TediousDataType;
|
|
118
|
+
[x: string]: TediousDataType;
|
|
119
|
+
}
|
|
120
|
+
export interface TediousDataType {
|
|
86
121
|
}
|
|
87
122
|
export interface TediousColumnValue {
|
|
88
123
|
metadata: {
|
|
@@ -95,23 +130,16 @@ export interface Tarn {
|
|
|
95
130
|
* Tarn.js' pool options, excluding `create`, `destroy` and `validate` functions,
|
|
96
131
|
* which must be implemented by this dialect.
|
|
97
132
|
*/
|
|
98
|
-
options: Omit<TarnPoolOptions<any>, 'create' | 'destroy' | 'validate'
|
|
133
|
+
options: Omit<TarnPoolOptions<any>, 'create' | 'destroy' | 'validate'> & {
|
|
134
|
+
/**
|
|
135
|
+
* Controls whether connections are validated before being acquired from the pool. Connection validation performs additional requests to the database.
|
|
136
|
+
*
|
|
137
|
+
* Defaults to `true`.
|
|
138
|
+
*/
|
|
139
|
+
validateConnections?: boolean;
|
|
140
|
+
};
|
|
99
141
|
/**
|
|
100
142
|
* Tarn.js' Pool class.
|
|
101
|
-
*
|
|
102
|
-
* Example:
|
|
103
|
-
*
|
|
104
|
-
* ```ts
|
|
105
|
-
* import { Pool } from 'tarn'
|
|
106
|
-
*
|
|
107
|
-
* const dialect = new MssqlDialect({
|
|
108
|
-
* // ...
|
|
109
|
-
* tarn: {
|
|
110
|
-
* // ...
|
|
111
|
-
* Pool,
|
|
112
|
-
* },
|
|
113
|
-
* })
|
|
114
|
-
* ```
|
|
115
143
|
*/
|
|
116
144
|
Pool: typeof TarnPool;
|
|
117
145
|
}
|
|
@@ -134,7 +162,7 @@ export interface TarnPoolOptions<R> {
|
|
|
134
162
|
min: number;
|
|
135
163
|
propagateCreateError?: boolean;
|
|
136
164
|
reapIntervalMillis?: number;
|
|
137
|
-
validate(resource: R): boolean;
|
|
165
|
+
validate?(resource: R): boolean;
|
|
138
166
|
}
|
|
139
167
|
export interface TarnPendingRequest<R> {
|
|
140
168
|
promise: Promise<R>;
|
|
@@ -44,6 +44,7 @@ declare class MssqlConnection implements DatabaseConnection {
|
|
|
44
44
|
constructor(connection: TediousConnection, tedious: Tedious);
|
|
45
45
|
beginTransaction(settings: TransactionSettings): Promise<void>;
|
|
46
46
|
commitTransaction(): Promise<void>;
|
|
47
|
+
connect(): Promise<this>;
|
|
47
48
|
executeQuery<O>(compiledQuery: CompiledQuery): Promise<QueryResult<O>>;
|
|
48
49
|
rollbackTransaction(): Promise<void>;
|
|
49
50
|
streamQuery<O>(compiledQuery: CompiledQuery, chunkSize: number): AsyncIterableIterator<QueryResult<O>>;
|