@slonik/driver 46.0.1 → 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,15 +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
|
+
readonly minimumPoolSize?: number;
|
|
32
33
|
readonly resetConnection?: (connection: BasicConnection) => Promise<void>;
|
|
33
34
|
readonly ssl?: TlsConnectionOptions;
|
|
34
|
-
readonly statementTimeout:
|
|
35
|
+
readonly statementTimeout: 'DISABLE_TIMEOUT' | number;
|
|
35
36
|
readonly typeParsers: readonly DriverTypeParser[];
|
|
36
37
|
};
|
|
37
38
|
export type DriverNotice = {
|
|
@@ -74,14 +75,14 @@ export type DriverCommand = 'COPY' | 'DELETE' | 'INSERT' | 'SELECT' | 'UPDATE';
|
|
|
74
75
|
export type DriverQueryResult = {
|
|
75
76
|
readonly command: DriverCommand;
|
|
76
77
|
readonly fields: DriverField[];
|
|
77
|
-
readonly rowCount:
|
|
78
|
+
readonly rowCount: null | number;
|
|
78
79
|
readonly rows: Array<Record<string, unknown>>;
|
|
79
80
|
};
|
|
80
81
|
export type DriverStreamResult = {
|
|
81
82
|
readonly fields: DriverField[];
|
|
82
83
|
readonly row: Record<string, unknown>;
|
|
83
84
|
};
|
|
84
|
-
type DriverSetup = ({
|
|
85
|
+
type DriverSetup = ({ driverConfiguration, driverEventEmitter, }: {
|
|
85
86
|
driverConfiguration: DriverConfiguration;
|
|
86
87
|
driverEventEmitter: DriverEventEmitter;
|
|
87
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":"AAGA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,KAAK,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE1E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,KAAK,eAAe,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE,CAAC;AAGhE,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,QAAQ;IAC/C,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAGvE,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CACtE;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,MAAM,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,+BAA+B,EAAE,iBAAiB,GAAG,MAAM,CAAC;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,QAAQ,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,MAAM,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,CACjD,YAAY,EACZ;IACE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B,CACF,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,CACvD,YAAY,EACZ;IACE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,WAAW,GACX,MAAM,GACN,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,EAAE,EAAE,MAAM,MAAM,CAAC;IACjB,GAAG,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACrC,EAAE,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,cAAc,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,KAAK,EAAE,MAAM,iBAAiB,CAAC;IAC/B,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,OAAO,EAAE,KACf,YAAY,CAAC,kBAAkB,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,EAC3B,mBAAmB,GACpB,EAAE;IACD,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEtB,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,KAAK,WAAW,GAAG,CAAC,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,EAAE;IACD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEzC;;;;GAIG;AACH,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzE,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,OAAO,EAAE,KACf,YAAY,CAAC,kBAAkB,CAAC,CAAC;CACvC,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,gBAAgB,EAAE,CAAC,EACjB,kBAAkB,GACnB,EAAE;QACD,kBAAkB,EAAE,wBAAwB,CAAC;KAC9C,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAW,WAAW,KAAG,aA4RxD,CAAC"}
|
|
@@ -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.0
|
|
20
|
-
"@slonik/utilities": "^46.0
|
|
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.0
|
|
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,15 +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;
|
|
44
|
+
readonly minimumPoolSize?: number;
|
|
42
45
|
readonly resetConnection?: (connection: BasicConnection) => Promise<void>;
|
|
43
46
|
readonly ssl?: TlsConnectionOptions;
|
|
44
|
-
readonly statementTimeout:
|
|
47
|
+
readonly statementTimeout: 'DISABLE_TIMEOUT' | number;
|
|
45
48
|
readonly typeParsers: readonly DriverTypeParser[];
|
|
46
49
|
};
|
|
47
50
|
|
|
@@ -110,7 +113,7 @@ export type DriverCommand = 'COPY' | 'DELETE' | 'INSERT' | 'SELECT' | 'UPDATE';
|
|
|
110
113
|
export type DriverQueryResult = {
|
|
111
114
|
readonly command: DriverCommand;
|
|
112
115
|
readonly fields: DriverField[];
|
|
113
|
-
readonly rowCount:
|
|
116
|
+
readonly rowCount: null | number;
|
|
114
117
|
readonly rows: Array<Record<string, unknown>>;
|
|
115
118
|
};
|
|
116
119
|
|
|
@@ -120,8 +123,8 @@ export type DriverStreamResult = {
|
|
|
120
123
|
};
|
|
121
124
|
|
|
122
125
|
type DriverSetup = ({
|
|
123
|
-
driverEventEmitter,
|
|
124
126
|
driverConfiguration,
|
|
127
|
+
driverEventEmitter,
|
|
125
128
|
}: {
|
|
126
129
|
driverConfiguration: DriverConfiguration;
|
|
127
130
|
driverEventEmitter: DriverEventEmitter;
|
|
@@ -188,7 +191,7 @@ export const createDriverFactory = (setup: DriverSetup): DriverFactory => {
|
|
|
188
191
|
|
|
189
192
|
clientEventEmitter.on('error', onError);
|
|
190
193
|
|
|
191
|
-
const {
|
|
194
|
+
const { connect, end, query, stream } = await createPoolClient({
|
|
192
195
|
clientEventEmitter,
|
|
193
196
|
});
|
|
194
197
|
|
|
@@ -196,9 +199,9 @@ export const createDriverFactory = (setup: DriverSetup): DriverFactory => {
|
|
|
196
199
|
let isDestroyed = false;
|
|
197
200
|
let idleTimeout: NodeJS.Timeout | null = null;
|
|
198
201
|
|
|
199
|
-
let activeQueryPromise: Promise<DriverQueryResult>
|
|
200
|
-
let destroyPromise: Promise<void>
|
|
201
|
-
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;
|
|
202
205
|
|
|
203
206
|
const id = generateUid();
|
|
204
207
|
|
|
@@ -310,7 +313,6 @@ export const createDriverFactory = (setup: DriverSetup): DriverFactory => {
|
|
|
310
313
|
}, driverConfiguration.idleTimeout).unref();
|
|
311
314
|
}
|
|
312
315
|
|
|
313
|
-
// eslint-disable-next-line require-atomic-updates
|
|
314
316
|
isAcquired = false;
|
|
315
317
|
|
|
316
318
|
releasePromise = null;
|
|
@@ -396,7 +398,6 @@ export const createDriverFactory = (setup: DriverSetup): DriverFactory => {
|
|
|
396
398
|
|
|
397
399
|
return result;
|
|
398
400
|
} finally {
|
|
399
|
-
// eslint-disable-next-line require-atomic-updates
|
|
400
401
|
activeQueryPromise = null;
|
|
401
402
|
}
|
|
402
403
|
},
|