@slonik/driver 46.1.0 → 46.2.0
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.
|
@@ -8,9 +8,9 @@ type StreamDataEvent<T> = {
|
|
|
8
8
|
fields: readonly Field[];
|
|
9
9
|
};
|
|
10
10
|
export interface DriverStream<T> extends Readable {
|
|
11
|
+
[Symbol.asyncIterator]: () => AsyncIterableIterator<StreamDataEvent<T>>;
|
|
11
12
|
on(event: 'data', listener: (chunk: StreamDataEvent<T>) => void): this;
|
|
12
13
|
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
13
|
-
[Symbol.asyncIterator]: () => AsyncIterableIterator<StreamDataEvent<T>>;
|
|
14
14
|
}
|
|
15
15
|
type BasicConnection = {
|
|
16
16
|
readonly query: (query: string) => Promise<void>;
|
|
@@ -23,16 +23,16 @@ export type DriverTypeParser<T = unknown> = {
|
|
|
23
23
|
readonly parse: (value: string) => T;
|
|
24
24
|
};
|
|
25
25
|
export type DriverConfiguration = {
|
|
26
|
-
readonly connectionTimeout:
|
|
26
|
+
readonly connectionTimeout: 'DISABLE_TIMEOUT' | number;
|
|
27
27
|
readonly connectionUri: string;
|
|
28
28
|
readonly gracefulTerminationTimeout?: number;
|
|
29
|
-
readonly idleInTransactionSessionTimeout:
|
|
30
|
-
readonly idleTimeout?:
|
|
29
|
+
readonly idleInTransactionSessionTimeout: 'DISABLE_TIMEOUT' | number;
|
|
30
|
+
readonly idleTimeout?: 'DISABLE_TIMEOUT' | number;
|
|
31
31
|
readonly maximumPoolSize?: number;
|
|
32
32
|
readonly minimumPoolSize?: number;
|
|
33
33
|
readonly resetConnection?: (connection: BasicConnection) => Promise<void>;
|
|
34
34
|
readonly ssl?: TlsConnectionOptions;
|
|
35
|
-
readonly statementTimeout:
|
|
35
|
+
readonly statementTimeout: 'DISABLE_TIMEOUT' | number;
|
|
36
36
|
readonly typeParsers: readonly DriverTypeParser[];
|
|
37
37
|
};
|
|
38
38
|
export type DriverNotice = {
|
|
@@ -75,14 +75,14 @@ export type DriverCommand = 'COPY' | 'DELETE' | 'INSERT' | 'SELECT' | 'UPDATE';
|
|
|
75
75
|
export type DriverQueryResult = {
|
|
76
76
|
readonly command: DriverCommand;
|
|
77
77
|
readonly fields: DriverField[];
|
|
78
|
-
readonly rowCount:
|
|
78
|
+
readonly rowCount: null | number;
|
|
79
79
|
readonly rows: Array<Record<string, unknown>>;
|
|
80
80
|
};
|
|
81
81
|
export type DriverStreamResult = {
|
|
82
82
|
readonly fields: DriverField[];
|
|
83
83
|
readonly row: Record<string, unknown>;
|
|
84
84
|
};
|
|
85
|
-
type DriverSetup = ({
|
|
85
|
+
type DriverSetup = ({ driverConfiguration, driverEventEmitter, }: {
|
|
86
86
|
driverConfiguration: DriverConfiguration;
|
|
87
87
|
driverEventEmitter: DriverEventEmitter;
|
|
88
88
|
}) => Promise<InternalPoolClientFactory>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDriverFactory.d.ts","sourceRoot":"","sources":["../../src/factories/createDriverFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createDriverFactory.d.ts","sourceRoot":"","sources":["../../src/factories/createDriverFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/consistent-type-definitions */
|
|
2
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
5
|
};
|
|
@@ -36,7 +37,7 @@ const createDriverFactory = (setup) => {
|
|
|
36
37
|
}, 'unhandled driver client error');
|
|
37
38
|
};
|
|
38
39
|
clientEventEmitter.on('error', onError);
|
|
39
|
-
const {
|
|
40
|
+
const { connect, end, query, stream } = await createPoolClient({
|
|
40
41
|
clientEventEmitter,
|
|
41
42
|
});
|
|
42
43
|
let isAcquired = false;
|
|
@@ -125,7 +126,6 @@ const createDriverFactory = (setup) => {
|
|
|
125
126
|
idleTimeout = null;
|
|
126
127
|
}, driverConfiguration.idleTimeout).unref();
|
|
127
128
|
}
|
|
128
|
-
// eslint-disable-next-line require-atomic-updates
|
|
129
129
|
isAcquired = false;
|
|
130
130
|
releasePromise = null;
|
|
131
131
|
clientEventEmitter.emit('release');
|
|
@@ -190,7 +190,6 @@ const createDriverFactory = (setup) => {
|
|
|
190
190
|
return result;
|
|
191
191
|
}
|
|
192
192
|
finally {
|
|
193
|
-
// eslint-disable-next-line require-atomic-updates
|
|
194
193
|
activeQueryPromise = null;
|
|
195
194
|
}
|
|
196
195
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDriverFactory.js","sourceRoot":"","sources":["../../src/factories/createDriverFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createDriverFactory.js","sourceRoot":"","sources":["../../src/factories/createDriverFactory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -16,22 +16,22 @@
|
|
|
16
16
|
]
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@slonik/types": "^46.
|
|
20
|
-
"@slonik/utilities": "^46.
|
|
19
|
+
"@slonik/types": "^46.2.0",
|
|
20
|
+
"@slonik/utilities": "^46.2.0",
|
|
21
21
|
"roarr": "^7.21.1",
|
|
22
22
|
"serialize-error": "^8.0.0",
|
|
23
23
|
"strict-event-emitter-types": "^2.0.0"
|
|
24
24
|
},
|
|
25
25
|
"description": "A Node.js PostgreSQL client with strict types, detailed logging and assertions.",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@types/node": "^
|
|
27
|
+
"@types/node": "^22.9.0",
|
|
28
28
|
"ava": "^6.1.3",
|
|
29
|
-
"cspell": "^8.
|
|
30
|
-
"eslint": "^
|
|
31
|
-
"eslint-config-canonical": "^42.8.1",
|
|
29
|
+
"cspell": "^8.16.0",
|
|
30
|
+
"eslint": "^9.14.0",
|
|
32
31
|
"nyc": "^15.1.0",
|
|
33
32
|
"ts-node": "^10.9.1",
|
|
34
|
-
"typescript": "^5.
|
|
33
|
+
"typescript": "^5.6.3",
|
|
34
|
+
"@slonik/eslint-config": "^46.2.0"
|
|
35
35
|
},
|
|
36
36
|
"engines": {
|
|
37
37
|
"node": ">=18"
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"url": "https://github.com/gajus/slonik"
|
|
75
75
|
},
|
|
76
76
|
"types": "./dist/index.d.ts",
|
|
77
|
-
"version": "46.
|
|
77
|
+
"version": "46.2.0",
|
|
78
78
|
"scripts": {
|
|
79
79
|
"build": "rm -fr ./dist && tsc --project ./tsconfig.json",
|
|
80
80
|
"lint": "npm run lint:cspell && npm run lint:eslint && npm run lint:tsc",
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/consistent-type-definitions */
|
|
2
|
+
|
|
1
3
|
import { Logger } from '../Logger';
|
|
2
4
|
import { type Field } from '@slonik/types';
|
|
3
5
|
import { generateUid } from '@slonik/utilities';
|
|
@@ -10,14 +12,14 @@ import { type StrictEventEmitter } from 'strict-event-emitter-types';
|
|
|
10
12
|
|
|
11
13
|
type StreamDataEvent<T> = { data: T; fields: readonly Field[] };
|
|
12
14
|
|
|
13
|
-
//
|
|
15
|
+
// @ts-expect-error - TODO figure out how to fix this
|
|
14
16
|
export interface DriverStream<T> extends Readable {
|
|
17
|
+
[Symbol.asyncIterator]: () => AsyncIterableIterator<StreamDataEvent<T>>;
|
|
15
18
|
// eslint-disable-next-line @typescript-eslint/method-signature-style
|
|
16
19
|
on(event: 'data', listener: (chunk: StreamDataEvent<T>) => void): this;
|
|
20
|
+
|
|
17
21
|
// eslint-disable-next-line @typescript-eslint/method-signature-style
|
|
18
22
|
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
19
|
-
|
|
20
|
-
[Symbol.asyncIterator]: () => AsyncIterableIterator<StreamDataEvent<T>>;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
type BasicConnection = {
|
|
@@ -33,16 +35,16 @@ export type DriverTypeParser<T = unknown> = {
|
|
|
33
35
|
};
|
|
34
36
|
|
|
35
37
|
export type DriverConfiguration = {
|
|
36
|
-
readonly connectionTimeout:
|
|
38
|
+
readonly connectionTimeout: 'DISABLE_TIMEOUT' | number;
|
|
37
39
|
readonly connectionUri: string;
|
|
38
40
|
readonly gracefulTerminationTimeout?: number;
|
|
39
|
-
readonly idleInTransactionSessionTimeout:
|
|
40
|
-
readonly idleTimeout?:
|
|
41
|
+
readonly idleInTransactionSessionTimeout: 'DISABLE_TIMEOUT' | number;
|
|
42
|
+
readonly idleTimeout?: 'DISABLE_TIMEOUT' | number;
|
|
41
43
|
readonly maximumPoolSize?: number;
|
|
42
44
|
readonly minimumPoolSize?: number;
|
|
43
45
|
readonly resetConnection?: (connection: BasicConnection) => Promise<void>;
|
|
44
46
|
readonly ssl?: TlsConnectionOptions;
|
|
45
|
-
readonly statementTimeout:
|
|
47
|
+
readonly statementTimeout: 'DISABLE_TIMEOUT' | number;
|
|
46
48
|
readonly typeParsers: readonly DriverTypeParser[];
|
|
47
49
|
};
|
|
48
50
|
|
|
@@ -111,7 +113,7 @@ export type DriverCommand = 'COPY' | 'DELETE' | 'INSERT' | 'SELECT' | 'UPDATE';
|
|
|
111
113
|
export type DriverQueryResult = {
|
|
112
114
|
readonly command: DriverCommand;
|
|
113
115
|
readonly fields: DriverField[];
|
|
114
|
-
readonly rowCount:
|
|
116
|
+
readonly rowCount: null | number;
|
|
115
117
|
readonly rows: Array<Record<string, unknown>>;
|
|
116
118
|
};
|
|
117
119
|
|
|
@@ -121,8 +123,8 @@ export type DriverStreamResult = {
|
|
|
121
123
|
};
|
|
122
124
|
|
|
123
125
|
type DriverSetup = ({
|
|
124
|
-
driverEventEmitter,
|
|
125
126
|
driverConfiguration,
|
|
127
|
+
driverEventEmitter,
|
|
126
128
|
}: {
|
|
127
129
|
driverConfiguration: DriverConfiguration;
|
|
128
130
|
driverEventEmitter: DriverEventEmitter;
|
|
@@ -189,7 +191,7 @@ export const createDriverFactory = (setup: DriverSetup): DriverFactory => {
|
|
|
189
191
|
|
|
190
192
|
clientEventEmitter.on('error', onError);
|
|
191
193
|
|
|
192
|
-
const {
|
|
194
|
+
const { connect, end, query, stream } = await createPoolClient({
|
|
193
195
|
clientEventEmitter,
|
|
194
196
|
});
|
|
195
197
|
|
|
@@ -197,9 +199,9 @@ export const createDriverFactory = (setup: DriverSetup): DriverFactory => {
|
|
|
197
199
|
let isDestroyed = false;
|
|
198
200
|
let idleTimeout: NodeJS.Timeout | null = null;
|
|
199
201
|
|
|
200
|
-
let activeQueryPromise: Promise<DriverQueryResult>
|
|
201
|
-
let destroyPromise: Promise<void>
|
|
202
|
-
let releasePromise: Promise<void>
|
|
202
|
+
let activeQueryPromise: null | Promise<DriverQueryResult> = null;
|
|
203
|
+
let destroyPromise: null | Promise<void> = null;
|
|
204
|
+
let releasePromise: null | Promise<void> = null;
|
|
203
205
|
|
|
204
206
|
const id = generateUid();
|
|
205
207
|
|
|
@@ -311,7 +313,6 @@ export const createDriverFactory = (setup: DriverSetup): DriverFactory => {
|
|
|
311
313
|
}, driverConfiguration.idleTimeout).unref();
|
|
312
314
|
}
|
|
313
315
|
|
|
314
|
-
// eslint-disable-next-line require-atomic-updates
|
|
315
316
|
isAcquired = false;
|
|
316
317
|
|
|
317
318
|
releasePromise = null;
|
|
@@ -397,7 +398,6 @@ export const createDriverFactory = (setup: DriverSetup): DriverFactory => {
|
|
|
397
398
|
|
|
398
399
|
return result;
|
|
399
400
|
} finally {
|
|
400
|
-
// eslint-disable-next-line require-atomic-updates
|
|
401
401
|
activeQueryPromise = null;
|
|
402
402
|
}
|
|
403
403
|
},
|