@juit/pgproxy-pool 1.0.16 → 1.0.18
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/dist/connection.cjs +16 -32
- package/dist/connection.cjs.map +1 -1
- package/dist/connection.mjs +16 -32
- package/dist/connection.mjs.map +1 -1
- package/dist/pool.cjs +21 -42
- package/dist/pool.cjs.map +1 -1
- package/dist/pool.mjs +21 -42
- package/dist/pool.mjs.map +1 -1
- package/dist/queue.cjs +2 -4
- package/dist/queue.cjs.map +1 -1
- package/dist/queue.mjs +2 -4
- package/dist/queue.mjs.map +1 -1
- package/package.json +1 -1
package/dist/connection.cjs
CHANGED
|
@@ -74,17 +74,14 @@ var finalizer = new FinalizationRegistry(
|
|
|
74
74
|
function convertOptions(options) {
|
|
75
75
|
const params = [];
|
|
76
76
|
for (const [option, value] of Object.entries(options)) {
|
|
77
|
-
if (value == null)
|
|
78
|
-
continue;
|
|
77
|
+
if (value == null) continue;
|
|
79
78
|
const key = optionKeys[option];
|
|
80
|
-
if (!key)
|
|
81
|
-
continue;
|
|
79
|
+
if (!key) continue;
|
|
82
80
|
const string = typeof value === "boolean" ? value ? "1" : "0" : typeof value === "number" ? value.toString() : typeof value === "string" ? value : (
|
|
83
81
|
/* coverage ignore next */
|
|
84
82
|
import_node_assert.default.fail(`Invalid type for option ${option}`)
|
|
85
83
|
);
|
|
86
|
-
if (string.length === 0)
|
|
87
|
-
continue;
|
|
84
|
+
if (string.length === 0) continue;
|
|
88
85
|
params.push(`${key}=${quoteParamValue(string)}`);
|
|
89
86
|
}
|
|
90
87
|
return params.join(" ");
|
|
@@ -150,16 +147,13 @@ var Connection = class extends import_events.Emitter {
|
|
|
150
147
|
});
|
|
151
148
|
try {
|
|
152
149
|
const connected = await promise;
|
|
153
|
-
if (this._destroyed)
|
|
154
|
-
|
|
155
|
-
if (!connected)
|
|
156
|
-
throw new Error(`Connection "${this.id}" not connected`);
|
|
150
|
+
if (this._destroyed) throw new Error(`Connection "${this.id}" aborted`);
|
|
151
|
+
if (!connected) throw new Error(`Connection "${this.id}" not connected`);
|
|
157
152
|
this._logger.info(`Connection "${this.id}" connected (server version ${this.serverVersion})`);
|
|
158
153
|
this._emit("connected");
|
|
159
154
|
return this;
|
|
160
155
|
} catch (error) {
|
|
161
|
-
if (error instanceof Error)
|
|
162
|
-
Error.captureStackTrace(error);
|
|
156
|
+
if (error instanceof Error) Error.captureStackTrace(error);
|
|
163
157
|
finalizer.unregister(this._pq);
|
|
164
158
|
this._pq.finish();
|
|
165
159
|
this._destroyed = true;
|
|
@@ -169,8 +163,7 @@ var Connection = class extends import_events.Emitter {
|
|
|
169
163
|
}
|
|
170
164
|
/** Destroy this {@link Connection} releasing all related resources */
|
|
171
165
|
destroy() {
|
|
172
|
-
if (this._destroyed)
|
|
173
|
-
return;
|
|
166
|
+
if (this._destroyed) return;
|
|
174
167
|
finalizer.unregister(this._pq);
|
|
175
168
|
this._pq.finish();
|
|
176
169
|
this._destroyed = true;
|
|
@@ -186,20 +179,17 @@ var Connection = class extends import_events.Emitter {
|
|
|
186
179
|
try {
|
|
187
180
|
return await promise;
|
|
188
181
|
} catch (error) {
|
|
189
|
-
if (error instanceof Error)
|
|
190
|
-
Error.captureStackTrace(error);
|
|
182
|
+
if (error instanceof Error) Error.captureStackTrace(error);
|
|
191
183
|
throw error;
|
|
192
184
|
} finally {
|
|
193
|
-
if (!this._pq.connected)
|
|
194
|
-
this.destroy();
|
|
185
|
+
if (!this._pq.connected) this.destroy();
|
|
195
186
|
}
|
|
196
187
|
}
|
|
197
188
|
/** Cancel (if possible) the currently running query */
|
|
198
189
|
cancel() {
|
|
199
190
|
(0, import_node_assert.default)(this._pq.connected, `Connection "${this.id}" not connected`);
|
|
200
191
|
const cancel = this._pq.cancel();
|
|
201
|
-
if (cancel === true)
|
|
202
|
-
return;
|
|
192
|
+
if (cancel === true) return;
|
|
203
193
|
throw new Error(cancel || "Unknown error canceling");
|
|
204
194
|
}
|
|
205
195
|
};
|
|
@@ -212,11 +202,9 @@ var Query = class extends import_events.Emitter {
|
|
|
212
202
|
run(text, params = []) {
|
|
213
203
|
return new Promise((resolve, reject) => {
|
|
214
204
|
const sent = params.length > 0 ? this._pq.sendQueryParams(text, params) : this._pq.sendQuery(text);
|
|
215
|
-
if (!sent)
|
|
216
|
-
throw this._fail("sendQuery", "Unable to send query");
|
|
205
|
+
if (!sent) throw this._fail("sendQuery", "Unable to send query");
|
|
217
206
|
this._flushQuery((error) => {
|
|
218
|
-
if (error)
|
|
219
|
-
return reject(error);
|
|
207
|
+
if (error) return reject(error);
|
|
220
208
|
const readableCallback = () => this._read(onResult);
|
|
221
209
|
const onResult = (error2) => {
|
|
222
210
|
this._pq.stopReader();
|
|
@@ -246,10 +234,8 @@ var Query = class extends import_events.Emitter {
|
|
|
246
234
|
_error;
|
|
247
235
|
_flushQuery(cb) {
|
|
248
236
|
const result = this._pq.flush();
|
|
249
|
-
if (result === 0)
|
|
250
|
-
|
|
251
|
-
if (result === -1)
|
|
252
|
-
cb(this._fail("flush", "Unable to flush query"));
|
|
237
|
+
if (result === 0) return cb();
|
|
238
|
+
if (result === -1) cb(this._fail("flush", "Unable to flush query"));
|
|
253
239
|
this._pq.writable(
|
|
254
240
|
/* coverage ignore next */
|
|
255
241
|
() => this._flushQuery(cb)
|
|
@@ -259,8 +245,7 @@ var Query = class extends import_events.Emitter {
|
|
|
259
245
|
if (!this._pq.consumeInput()) {
|
|
260
246
|
return onResult(this._fail("consumeInput", "Unable to consume input"));
|
|
261
247
|
}
|
|
262
|
-
if (this._pq.isBusy())
|
|
263
|
-
return;
|
|
248
|
+
if (this._pq.isBusy()) return;
|
|
264
249
|
while (this._pq.getResult()) {
|
|
265
250
|
const status = this._pq.resultStatus();
|
|
266
251
|
switch (status) {
|
|
@@ -274,8 +259,7 @@ var Query = class extends import_events.Emitter {
|
|
|
274
259
|
default:
|
|
275
260
|
return onResult(this._fail("resultStatus", `Unrecognized status ${status}`));
|
|
276
261
|
}
|
|
277
|
-
if (this._pq.isBusy())
|
|
278
|
-
return;
|
|
262
|
+
if (this._pq.isBusy()) return;
|
|
279
263
|
}
|
|
280
264
|
onResult(this._error);
|
|
281
265
|
}
|
package/dist/connection.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/connection.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAmB;AACnB,yBAA2B;AAE3B,oBAAwB;AACxB,mBAAsB;AACtB,mBAAsB;AAStB,IAAM,aAAa;AAAA,EACjB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,MAAM;AACR;AAGA,SAAS,gBAAgB,OAAuB;AAC9C,UAAQ,MAAM,QAAQ,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAM;AACzD,SAAO,IAAI,KAAK;AAClB;AAGA,IAAM,YAAY,IAAI;AAAA;AAAA,EAAwD,CAAC,OAAO;AACpF,OAAG,OAAO;AAAA,EACZ;AAAC;AAmHM,SAAS,eAAe,SAAoC;AACjE,QAAM,SAAmB,CAAC;AAC1B,aAAW,CAAE,QAAQ,KAAM,KAAK,OAAO,QAAQ,OAAO,GAAG;AACvD,QAAI,SAAS;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["assert", "error"]
|
|
6
6
|
}
|
package/dist/connection.mjs
CHANGED
|
@@ -39,17 +39,14 @@ var finalizer = new FinalizationRegistry(
|
|
|
39
39
|
function convertOptions(options) {
|
|
40
40
|
const params = [];
|
|
41
41
|
for (const [option, value] of Object.entries(options)) {
|
|
42
|
-
if (value == null)
|
|
43
|
-
continue;
|
|
42
|
+
if (value == null) continue;
|
|
44
43
|
const key = optionKeys[option];
|
|
45
|
-
if (!key)
|
|
46
|
-
continue;
|
|
44
|
+
if (!key) continue;
|
|
47
45
|
const string = typeof value === "boolean" ? value ? "1" : "0" : typeof value === "number" ? value.toString() : typeof value === "string" ? value : (
|
|
48
46
|
/* coverage ignore next */
|
|
49
47
|
assert.fail(`Invalid type for option ${option}`)
|
|
50
48
|
);
|
|
51
|
-
if (string.length === 0)
|
|
52
|
-
continue;
|
|
49
|
+
if (string.length === 0) continue;
|
|
53
50
|
params.push(`${key}=${quoteParamValue(string)}`);
|
|
54
51
|
}
|
|
55
52
|
return params.join(" ");
|
|
@@ -115,16 +112,13 @@ var Connection = class extends Emitter {
|
|
|
115
112
|
});
|
|
116
113
|
try {
|
|
117
114
|
const connected = await promise;
|
|
118
|
-
if (this._destroyed)
|
|
119
|
-
|
|
120
|
-
if (!connected)
|
|
121
|
-
throw new Error(`Connection "${this.id}" not connected`);
|
|
115
|
+
if (this._destroyed) throw new Error(`Connection "${this.id}" aborted`);
|
|
116
|
+
if (!connected) throw new Error(`Connection "${this.id}" not connected`);
|
|
122
117
|
this._logger.info(`Connection "${this.id}" connected (server version ${this.serverVersion})`);
|
|
123
118
|
this._emit("connected");
|
|
124
119
|
return this;
|
|
125
120
|
} catch (error) {
|
|
126
|
-
if (error instanceof Error)
|
|
127
|
-
Error.captureStackTrace(error);
|
|
121
|
+
if (error instanceof Error) Error.captureStackTrace(error);
|
|
128
122
|
finalizer.unregister(this._pq);
|
|
129
123
|
this._pq.finish();
|
|
130
124
|
this._destroyed = true;
|
|
@@ -134,8 +128,7 @@ var Connection = class extends Emitter {
|
|
|
134
128
|
}
|
|
135
129
|
/** Destroy this {@link Connection} releasing all related resources */
|
|
136
130
|
destroy() {
|
|
137
|
-
if (this._destroyed)
|
|
138
|
-
return;
|
|
131
|
+
if (this._destroyed) return;
|
|
139
132
|
finalizer.unregister(this._pq);
|
|
140
133
|
this._pq.finish();
|
|
141
134
|
this._destroyed = true;
|
|
@@ -151,20 +144,17 @@ var Connection = class extends Emitter {
|
|
|
151
144
|
try {
|
|
152
145
|
return await promise;
|
|
153
146
|
} catch (error) {
|
|
154
|
-
if (error instanceof Error)
|
|
155
|
-
Error.captureStackTrace(error);
|
|
147
|
+
if (error instanceof Error) Error.captureStackTrace(error);
|
|
156
148
|
throw error;
|
|
157
149
|
} finally {
|
|
158
|
-
if (!this._pq.connected)
|
|
159
|
-
this.destroy();
|
|
150
|
+
if (!this._pq.connected) this.destroy();
|
|
160
151
|
}
|
|
161
152
|
}
|
|
162
153
|
/** Cancel (if possible) the currently running query */
|
|
163
154
|
cancel() {
|
|
164
155
|
assert(this._pq.connected, `Connection "${this.id}" not connected`);
|
|
165
156
|
const cancel = this._pq.cancel();
|
|
166
|
-
if (cancel === true)
|
|
167
|
-
return;
|
|
157
|
+
if (cancel === true) return;
|
|
168
158
|
throw new Error(cancel || "Unknown error canceling");
|
|
169
159
|
}
|
|
170
160
|
};
|
|
@@ -177,11 +167,9 @@ var Query = class extends Emitter {
|
|
|
177
167
|
run(text, params = []) {
|
|
178
168
|
return new Promise((resolve, reject) => {
|
|
179
169
|
const sent = params.length > 0 ? this._pq.sendQueryParams(text, params) : this._pq.sendQuery(text);
|
|
180
|
-
if (!sent)
|
|
181
|
-
throw this._fail("sendQuery", "Unable to send query");
|
|
170
|
+
if (!sent) throw this._fail("sendQuery", "Unable to send query");
|
|
182
171
|
this._flushQuery((error) => {
|
|
183
|
-
if (error)
|
|
184
|
-
return reject(error);
|
|
172
|
+
if (error) return reject(error);
|
|
185
173
|
const readableCallback = () => this._read(onResult);
|
|
186
174
|
const onResult = (error2) => {
|
|
187
175
|
this._pq.stopReader();
|
|
@@ -211,10 +199,8 @@ var Query = class extends Emitter {
|
|
|
211
199
|
_error;
|
|
212
200
|
_flushQuery(cb) {
|
|
213
201
|
const result = this._pq.flush();
|
|
214
|
-
if (result === 0)
|
|
215
|
-
|
|
216
|
-
if (result === -1)
|
|
217
|
-
cb(this._fail("flush", "Unable to flush query"));
|
|
202
|
+
if (result === 0) return cb();
|
|
203
|
+
if (result === -1) cb(this._fail("flush", "Unable to flush query"));
|
|
218
204
|
this._pq.writable(
|
|
219
205
|
/* coverage ignore next */
|
|
220
206
|
() => this._flushQuery(cb)
|
|
@@ -224,8 +210,7 @@ var Query = class extends Emitter {
|
|
|
224
210
|
if (!this._pq.consumeInput()) {
|
|
225
211
|
return onResult(this._fail("consumeInput", "Unable to consume input"));
|
|
226
212
|
}
|
|
227
|
-
if (this._pq.isBusy())
|
|
228
|
-
return;
|
|
213
|
+
if (this._pq.isBusy()) return;
|
|
229
214
|
while (this._pq.getResult()) {
|
|
230
215
|
const status = this._pq.resultStatus();
|
|
231
216
|
switch (status) {
|
|
@@ -239,8 +224,7 @@ var Query = class extends Emitter {
|
|
|
239
224
|
default:
|
|
240
225
|
return onResult(this._fail("resultStatus", `Unrecognized status ${status}`));
|
|
241
226
|
}
|
|
242
|
-
if (this._pq.isBusy())
|
|
243
|
-
return;
|
|
227
|
+
if (this._pq.isBusy()) return;
|
|
244
228
|
}
|
|
245
229
|
onResult(this._error);
|
|
246
230
|
}
|
package/dist/connection.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/connection.ts"],
|
|
4
|
-
"mappings": ";AAAA,OAAO,YAAY;AACnB,SAAS,kBAAkB;AAE3B,SAAS,eAAe;AACxB,SAAS,aAAa;AACtB,SAAS,aAAa;AAStB,IAAM,aAAa;AAAA,EACjB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,MAAM;AACR;AAGA,SAAS,gBAAgB,OAAuB;AAC9C,UAAQ,MAAM,QAAQ,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAM;AACzD,SAAO,IAAI,KAAK;AAClB;AAGA,IAAM,YAAY,IAAI;AAAA;AAAA,EAAwD,CAAC,OAAO;AACpF,OAAG,OAAO;AAAA,EACZ;AAAC;AAmHM,SAAS,eAAe,SAAoC;AACjE,QAAM,SAAmB,CAAC;AAC1B,aAAW,CAAE,QAAQ,KAAM,KAAK,OAAO,QAAQ,OAAO,GAAG;AACvD,QAAI,SAAS;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["error"]
|
|
6
6
|
}
|
package/dist/pool.cjs
CHANGED
|
@@ -38,22 +38,17 @@ var import_connection = require("./connection.cjs");
|
|
|
38
38
|
var import_events = require("./events.cjs");
|
|
39
39
|
function parseEnvNumber(variable, defaultValue) {
|
|
40
40
|
const string = process.env[variable];
|
|
41
|
-
if (string == null)
|
|
42
|
-
return defaultValue;
|
|
41
|
+
if (string == null) return defaultValue;
|
|
43
42
|
const value = parseFloat(string);
|
|
44
|
-
if (isNaN(value))
|
|
45
|
-
throw new Error(`Invalid value "${string}" for environment variable "${variable}"`);
|
|
43
|
+
if (isNaN(value)) throw new Error(`Invalid value "${string}" for environment variable "${variable}"`);
|
|
46
44
|
return value;
|
|
47
45
|
}
|
|
48
46
|
function parseEnvBoolean(variable, defaultValue) {
|
|
49
47
|
const string = process.env[variable];
|
|
50
|
-
if (string == null)
|
|
51
|
-
return defaultValue;
|
|
48
|
+
if (string == null) return defaultValue;
|
|
52
49
|
const value = string.toLowerCase();
|
|
53
|
-
if (value === "false")
|
|
54
|
-
|
|
55
|
-
if (value === "true")
|
|
56
|
-
return true;
|
|
50
|
+
if (value === "false") return false;
|
|
51
|
+
if (value === "true") return true;
|
|
57
52
|
throw new Error(`Invalid value "${string}" for environment variable "${variable}"`);
|
|
58
53
|
}
|
|
59
54
|
var ConnectionRequest = class {
|
|
@@ -86,15 +81,13 @@ var ConnectionRequest = class {
|
|
|
86
81
|
/** Resolve this instance's {@link Promise} with a {@link Connection} */
|
|
87
82
|
resolve(connection) {
|
|
88
83
|
clearTimeout(this._timeout);
|
|
89
|
-
if (this._pending)
|
|
90
|
-
this._resolve(connection);
|
|
84
|
+
if (this._pending) this._resolve(connection);
|
|
91
85
|
this._pending = false;
|
|
92
86
|
}
|
|
93
87
|
/** Reject this instance's {@link Promise} with an {@link Error} */
|
|
94
88
|
reject(error) {
|
|
95
89
|
clearTimeout(this._timeout);
|
|
96
|
-
if (this._pending)
|
|
97
|
-
this._reject(error);
|
|
90
|
+
if (this._pending) this._reject(error);
|
|
98
91
|
this._pending = false;
|
|
99
92
|
}
|
|
100
93
|
};
|
|
@@ -202,10 +195,8 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
202
195
|
}
|
|
203
196
|
/** Validate a connection by issuing a super-simple statement */
|
|
204
197
|
async _validate(connection) {
|
|
205
|
-
if (!connection.connected)
|
|
206
|
-
|
|
207
|
-
if (!this._validateOnBorrow)
|
|
208
|
-
return true;
|
|
198
|
+
if (!connection.connected) return false;
|
|
199
|
+
if (!this._validateOnBorrow) return true;
|
|
209
200
|
const start = process.hrtime.bigint();
|
|
210
201
|
try {
|
|
211
202
|
this._logger.debug(`Validating connection "${connection.id}"`);
|
|
@@ -222,8 +213,7 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
222
213
|
}
|
|
223
214
|
/** Recycle a connection rolling back any running transaction */
|
|
224
215
|
async _recycle(connection) {
|
|
225
|
-
if (!connection.connected)
|
|
226
|
-
return false;
|
|
216
|
+
if (!connection.connected) return false;
|
|
227
217
|
try {
|
|
228
218
|
const result = await connection.query("SELECT pg_current_xact_id_if_assigned() IS NOT NULL");
|
|
229
219
|
if (result.rows[0]?.[0] === "t") {
|
|
@@ -246,8 +236,7 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
246
236
|
this.once("stopped", destroyer);
|
|
247
237
|
const evictor = (forced) => {
|
|
248
238
|
this.off("stopped", destroyer);
|
|
249
|
-
if (forced)
|
|
250
|
-
return;
|
|
239
|
+
if (forced) return;
|
|
251
240
|
this._evict(connection);
|
|
252
241
|
this._runCreateLoop();
|
|
253
242
|
};
|
|
@@ -270,8 +259,7 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
270
259
|
clearTimeout(this._borrowed.get(connection));
|
|
271
260
|
this._borrowed.delete(connection);
|
|
272
261
|
const index = this._available.indexOf(connection);
|
|
273
|
-
if (index >= 0)
|
|
274
|
-
this._available.splice(index);
|
|
262
|
+
if (index >= 0) this._available.splice(index);
|
|
275
263
|
connection.destroy();
|
|
276
264
|
this._emit(aborted ? "connection_aborted" : "connection_destroyed", connection);
|
|
277
265
|
} catch (error) {
|
|
@@ -288,8 +276,7 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
288
276
|
* event handler (on disconnect) and simply adds them to the available array.
|
|
289
277
|
*/
|
|
290
278
|
_runCreateLoop() {
|
|
291
|
-
if (!this._started)
|
|
292
|
-
return;
|
|
279
|
+
if (!this._started) return;
|
|
293
280
|
Promise.resolve().then(async () => {
|
|
294
281
|
while (this._started) {
|
|
295
282
|
const connections = this._connections.size;
|
|
@@ -319,10 +306,8 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
319
306
|
await new Promise((resolve) => setTimeout(resolve, this._retryIntervalMs));
|
|
320
307
|
continue;
|
|
321
308
|
}
|
|
322
|
-
if (this._started)
|
|
323
|
-
|
|
324
|
-
else
|
|
325
|
-
this._evict(connection, true);
|
|
309
|
+
if (this._started) this._available.push(connection);
|
|
310
|
+
else this._evict(connection, true);
|
|
326
311
|
this._runBorrowLoop();
|
|
327
312
|
this._emit("connection_created", connection);
|
|
328
313
|
}
|
|
@@ -343,15 +328,13 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
343
328
|
* then it simply triggers the create loop.
|
|
344
329
|
*/
|
|
345
330
|
_runBorrowLoop() {
|
|
346
|
-
if (!this._started)
|
|
347
|
-
return;
|
|
331
|
+
if (!this._started) return;
|
|
348
332
|
Promise.resolve().then(async () => {
|
|
349
333
|
let request;
|
|
350
334
|
while (this._started && (request = this._pending.splice(0, 1)[0])) {
|
|
351
335
|
const connection = this._available.splice(0, 1)[0];
|
|
352
336
|
if (!connection) {
|
|
353
|
-
if (request.pending)
|
|
354
|
-
this._pending.unshift(request);
|
|
337
|
+
if (request.pending) this._pending.unshift(request);
|
|
355
338
|
return this._runCreateLoop();
|
|
356
339
|
}
|
|
357
340
|
if (!request.pending) {
|
|
@@ -368,8 +351,7 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
368
351
|
return;
|
|
369
352
|
}
|
|
370
353
|
if (!valid) {
|
|
371
|
-
if (request.pending)
|
|
372
|
-
this._pending.unshift(request);
|
|
354
|
+
if (request.pending) this._pending.unshift(request);
|
|
373
355
|
this._evict(connection);
|
|
374
356
|
continue;
|
|
375
357
|
}
|
|
@@ -405,8 +387,7 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
405
387
|
}
|
|
406
388
|
/** Release a {@link Connection} back to this {@link ConnectionPool} */
|
|
407
389
|
release(connection) {
|
|
408
|
-
if (this._evicted.has(connection))
|
|
409
|
-
return;
|
|
390
|
+
if (this._evicted.has(connection)) return;
|
|
410
391
|
(0, import_node_assert.default)(this._connections.has(connection), `Connection "${connection.id}" not owned by this pool`);
|
|
411
392
|
Promise.resolve().then(async () => {
|
|
412
393
|
this._logger.debug(`Releasing connection "${connection.id}"`);
|
|
@@ -434,8 +415,7 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
434
415
|
/* ===== POOL LIFECYCLE =================================================== */
|
|
435
416
|
/** Start this {@link ConnectionPool} validating an initial connection */
|
|
436
417
|
async start() {
|
|
437
|
-
if (this._started || this._starting)
|
|
438
|
-
return this;
|
|
418
|
+
if (this._started || this._starting) return this;
|
|
439
419
|
this._logger.debug("Starting connection pool");
|
|
440
420
|
this._starting = true;
|
|
441
421
|
try {
|
|
@@ -461,8 +441,7 @@ var ConnectionPool = class extends import_events.Emitter {
|
|
|
461
441
|
}
|
|
462
442
|
/** Stop this {@link ConnectionPool} and disconnect all connections. */
|
|
463
443
|
stop() {
|
|
464
|
-
if (!this._started)
|
|
465
|
-
return;
|
|
444
|
+
if (!this._started) return;
|
|
466
445
|
this._started = false;
|
|
467
446
|
const connections = `${this._connections.size} connections`;
|
|
468
447
|
const requests = `${this._pending.length} pending requests`;
|
package/dist/pool.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/pool.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,yBAAmB;AAEnB,wBAA2C;AAC3C,oBAAwB;AAUxB,SAAS,eAAe,UAAkB,cAA8B;AACtE,QAAM,SAAS,QAAQ,IAAI,QAAQ;AACnC,MAAI,UAAU
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["assert"]
|
|
6
6
|
}
|
package/dist/pool.mjs
CHANGED
|
@@ -4,22 +4,17 @@ import { Connection, convertOptions } from "./connection.mjs";
|
|
|
4
4
|
import { Emitter } from "./events.mjs";
|
|
5
5
|
function parseEnvNumber(variable, defaultValue) {
|
|
6
6
|
const string = process.env[variable];
|
|
7
|
-
if (string == null)
|
|
8
|
-
return defaultValue;
|
|
7
|
+
if (string == null) return defaultValue;
|
|
9
8
|
const value = parseFloat(string);
|
|
10
|
-
if (isNaN(value))
|
|
11
|
-
throw new Error(`Invalid value "${string}" for environment variable "${variable}"`);
|
|
9
|
+
if (isNaN(value)) throw new Error(`Invalid value "${string}" for environment variable "${variable}"`);
|
|
12
10
|
return value;
|
|
13
11
|
}
|
|
14
12
|
function parseEnvBoolean(variable, defaultValue) {
|
|
15
13
|
const string = process.env[variable];
|
|
16
|
-
if (string == null)
|
|
17
|
-
return defaultValue;
|
|
14
|
+
if (string == null) return defaultValue;
|
|
18
15
|
const value = string.toLowerCase();
|
|
19
|
-
if (value === "false")
|
|
20
|
-
|
|
21
|
-
if (value === "true")
|
|
22
|
-
return true;
|
|
16
|
+
if (value === "false") return false;
|
|
17
|
+
if (value === "true") return true;
|
|
23
18
|
throw new Error(`Invalid value "${string}" for environment variable "${variable}"`);
|
|
24
19
|
}
|
|
25
20
|
var ConnectionRequest = class {
|
|
@@ -52,15 +47,13 @@ var ConnectionRequest = class {
|
|
|
52
47
|
/** Resolve this instance's {@link Promise} with a {@link Connection} */
|
|
53
48
|
resolve(connection) {
|
|
54
49
|
clearTimeout(this._timeout);
|
|
55
|
-
if (this._pending)
|
|
56
|
-
this._resolve(connection);
|
|
50
|
+
if (this._pending) this._resolve(connection);
|
|
57
51
|
this._pending = false;
|
|
58
52
|
}
|
|
59
53
|
/** Reject this instance's {@link Promise} with an {@link Error} */
|
|
60
54
|
reject(error) {
|
|
61
55
|
clearTimeout(this._timeout);
|
|
62
|
-
if (this._pending)
|
|
63
|
-
this._reject(error);
|
|
56
|
+
if (this._pending) this._reject(error);
|
|
64
57
|
this._pending = false;
|
|
65
58
|
}
|
|
66
59
|
};
|
|
@@ -168,10 +161,8 @@ var ConnectionPool = class extends Emitter {
|
|
|
168
161
|
}
|
|
169
162
|
/** Validate a connection by issuing a super-simple statement */
|
|
170
163
|
async _validate(connection) {
|
|
171
|
-
if (!connection.connected)
|
|
172
|
-
|
|
173
|
-
if (!this._validateOnBorrow)
|
|
174
|
-
return true;
|
|
164
|
+
if (!connection.connected) return false;
|
|
165
|
+
if (!this._validateOnBorrow) return true;
|
|
175
166
|
const start = process.hrtime.bigint();
|
|
176
167
|
try {
|
|
177
168
|
this._logger.debug(`Validating connection "${connection.id}"`);
|
|
@@ -188,8 +179,7 @@ var ConnectionPool = class extends Emitter {
|
|
|
188
179
|
}
|
|
189
180
|
/** Recycle a connection rolling back any running transaction */
|
|
190
181
|
async _recycle(connection) {
|
|
191
|
-
if (!connection.connected)
|
|
192
|
-
return false;
|
|
182
|
+
if (!connection.connected) return false;
|
|
193
183
|
try {
|
|
194
184
|
const result = await connection.query("SELECT pg_current_xact_id_if_assigned() IS NOT NULL");
|
|
195
185
|
if (result.rows[0]?.[0] === "t") {
|
|
@@ -212,8 +202,7 @@ var ConnectionPool = class extends Emitter {
|
|
|
212
202
|
this.once("stopped", destroyer);
|
|
213
203
|
const evictor = (forced) => {
|
|
214
204
|
this.off("stopped", destroyer);
|
|
215
|
-
if (forced)
|
|
216
|
-
return;
|
|
205
|
+
if (forced) return;
|
|
217
206
|
this._evict(connection);
|
|
218
207
|
this._runCreateLoop();
|
|
219
208
|
};
|
|
@@ -236,8 +225,7 @@ var ConnectionPool = class extends Emitter {
|
|
|
236
225
|
clearTimeout(this._borrowed.get(connection));
|
|
237
226
|
this._borrowed.delete(connection);
|
|
238
227
|
const index = this._available.indexOf(connection);
|
|
239
|
-
if (index >= 0)
|
|
240
|
-
this._available.splice(index);
|
|
228
|
+
if (index >= 0) this._available.splice(index);
|
|
241
229
|
connection.destroy();
|
|
242
230
|
this._emit(aborted ? "connection_aborted" : "connection_destroyed", connection);
|
|
243
231
|
} catch (error) {
|
|
@@ -254,8 +242,7 @@ var ConnectionPool = class extends Emitter {
|
|
|
254
242
|
* event handler (on disconnect) and simply adds them to the available array.
|
|
255
243
|
*/
|
|
256
244
|
_runCreateLoop() {
|
|
257
|
-
if (!this._started)
|
|
258
|
-
return;
|
|
245
|
+
if (!this._started) return;
|
|
259
246
|
Promise.resolve().then(async () => {
|
|
260
247
|
while (this._started) {
|
|
261
248
|
const connections = this._connections.size;
|
|
@@ -285,10 +272,8 @@ var ConnectionPool = class extends Emitter {
|
|
|
285
272
|
await new Promise((resolve) => setTimeout(resolve, this._retryIntervalMs));
|
|
286
273
|
continue;
|
|
287
274
|
}
|
|
288
|
-
if (this._started)
|
|
289
|
-
|
|
290
|
-
else
|
|
291
|
-
this._evict(connection, true);
|
|
275
|
+
if (this._started) this._available.push(connection);
|
|
276
|
+
else this._evict(connection, true);
|
|
292
277
|
this._runBorrowLoop();
|
|
293
278
|
this._emit("connection_created", connection);
|
|
294
279
|
}
|
|
@@ -309,15 +294,13 @@ var ConnectionPool = class extends Emitter {
|
|
|
309
294
|
* then it simply triggers the create loop.
|
|
310
295
|
*/
|
|
311
296
|
_runBorrowLoop() {
|
|
312
|
-
if (!this._started)
|
|
313
|
-
return;
|
|
297
|
+
if (!this._started) return;
|
|
314
298
|
Promise.resolve().then(async () => {
|
|
315
299
|
let request;
|
|
316
300
|
while (this._started && (request = this._pending.splice(0, 1)[0])) {
|
|
317
301
|
const connection = this._available.splice(0, 1)[0];
|
|
318
302
|
if (!connection) {
|
|
319
|
-
if (request.pending)
|
|
320
|
-
this._pending.unshift(request);
|
|
303
|
+
if (request.pending) this._pending.unshift(request);
|
|
321
304
|
return this._runCreateLoop();
|
|
322
305
|
}
|
|
323
306
|
if (!request.pending) {
|
|
@@ -334,8 +317,7 @@ var ConnectionPool = class extends Emitter {
|
|
|
334
317
|
return;
|
|
335
318
|
}
|
|
336
319
|
if (!valid) {
|
|
337
|
-
if (request.pending)
|
|
338
|
-
this._pending.unshift(request);
|
|
320
|
+
if (request.pending) this._pending.unshift(request);
|
|
339
321
|
this._evict(connection);
|
|
340
322
|
continue;
|
|
341
323
|
}
|
|
@@ -371,8 +353,7 @@ var ConnectionPool = class extends Emitter {
|
|
|
371
353
|
}
|
|
372
354
|
/** Release a {@link Connection} back to this {@link ConnectionPool} */
|
|
373
355
|
release(connection) {
|
|
374
|
-
if (this._evicted.has(connection))
|
|
375
|
-
return;
|
|
356
|
+
if (this._evicted.has(connection)) return;
|
|
376
357
|
assert(this._connections.has(connection), `Connection "${connection.id}" not owned by this pool`);
|
|
377
358
|
Promise.resolve().then(async () => {
|
|
378
359
|
this._logger.debug(`Releasing connection "${connection.id}"`);
|
|
@@ -400,8 +381,7 @@ var ConnectionPool = class extends Emitter {
|
|
|
400
381
|
/* ===== POOL LIFECYCLE =================================================== */
|
|
401
382
|
/** Start this {@link ConnectionPool} validating an initial connection */
|
|
402
383
|
async start() {
|
|
403
|
-
if (this._started || this._starting)
|
|
404
|
-
return this;
|
|
384
|
+
if (this._started || this._starting) return this;
|
|
405
385
|
this._logger.debug("Starting connection pool");
|
|
406
386
|
this._starting = true;
|
|
407
387
|
try {
|
|
@@ -427,8 +407,7 @@ var ConnectionPool = class extends Emitter {
|
|
|
427
407
|
}
|
|
428
408
|
/** Stop this {@link ConnectionPool} and disconnect all connections. */
|
|
429
409
|
stop() {
|
|
430
|
-
if (!this._started)
|
|
431
|
-
return;
|
|
410
|
+
if (!this._started) return;
|
|
432
411
|
this._started = false;
|
|
433
412
|
const connections = `${this._connections.size} connections`;
|
|
434
413
|
const requests = `${this._pending.length} pending requests`;
|
package/dist/pool.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/pool.ts"],
|
|
4
|
-
"mappings": ";AAEA,OAAO,YAAY;AAEnB,SAAS,YAAY,sBAAsB;AAC3C,SAAS,eAAe;AAUxB,SAAS,eAAe,UAAkB,cAA8B;AACtE,QAAM,SAAS,QAAQ,IAAI,QAAQ;AACnC,MAAI,UAAU
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/queue.cjs
CHANGED
|
@@ -44,11 +44,9 @@ var Queue = class {
|
|
|
44
44
|
_queue = [];
|
|
45
45
|
_running = false;
|
|
46
46
|
_run() {
|
|
47
|
-
if (this._running)
|
|
48
|
-
return;
|
|
47
|
+
if (this._running) return;
|
|
49
48
|
const next = this._queue.splice(0, 1)[0];
|
|
50
|
-
if (!next)
|
|
51
|
-
return;
|
|
49
|
+
if (!next) return;
|
|
52
50
|
this._running = true;
|
|
53
51
|
void next.execute().finally(() => {
|
|
54
52
|
this._running = false;
|
package/dist/queue.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/queue.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,IAAM,WAAN,MAAkB;AAAA,EAChB,YACY,OACA,UACA,SACV;AAHU;AACA;AACA;AAAA,EACT;AAAA,EAEH,UAAyB;AACvB,WAAO,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACxC,UAAI;AACF,cAAM,SAAS,MAAM,KAAK,MAAM;AAChC,aAAK,SAAS,MAAM;AAAA,MACtB,SAAS,OAAO;AACd,aAAK,QAAQ,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,QAAN,MAAY;AAAA,EACT,SAA0B,CAAC;AAAA,EAC3B,WAAoB;AAAA,EAEpB,OAAa;AACnB,QAAI,KAAK;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,IAAM,WAAN,MAAkB;AAAA,EAChB,YACY,OACA,UACA,SACV;AAHU;AACA;AACA;AAAA,EACT;AAAA,EAEH,UAAyB;AACvB,WAAO,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACxC,UAAI;AACF,cAAM,SAAS,MAAM,KAAK,MAAM;AAChC,aAAK,SAAS,MAAM;AAAA,MACtB,SAAS,OAAO;AACd,aAAK,QAAQ,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,QAAN,MAAY;AAAA,EACT,SAA0B,CAAC;AAAA,EAC3B,WAAoB;AAAA,EAEpB,OAAa;AACnB,QAAI,KAAK,SAAU;AAEnB,UAAM,OAAO,KAAK,OAAO,OAAO,GAAG,CAAC,EAAE,CAAC;AACvC,QAAI,CAAE,KAAM;AAEZ,SAAK,WAAW;AAEhB,SAAK,KAAK,QAAQ,EAAE,QAAQ,MAAM;AAChC,WAAK,WAAW;AAChB,WAAK,KAAK;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,QAAW,MAA2B;AACpC,WAAO,IAAI,QAAW,CAAC,SAAS,WAAW;AACzC,YAAM,WAAW,IAAI,SAAS,MAAM,SAAS,MAAM;AACnD,WAAK,OAAO,KAAK,QAAQ;AACzB,cAAQ,SAAS,MAAM,KAAK,KAAK,CAAC;AAAA,IACpC,CAAC;AAAA,EACH;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/queue.mjs
CHANGED
|
@@ -20,11 +20,9 @@ var Queue = class {
|
|
|
20
20
|
_queue = [];
|
|
21
21
|
_running = false;
|
|
22
22
|
_run() {
|
|
23
|
-
if (this._running)
|
|
24
|
-
return;
|
|
23
|
+
if (this._running) return;
|
|
25
24
|
const next = this._queue.splice(0, 1)[0];
|
|
26
|
-
if (!next)
|
|
27
|
-
return;
|
|
25
|
+
if (!next) return;
|
|
28
26
|
this._running = true;
|
|
29
27
|
void next.execute().finally(() => {
|
|
30
28
|
this._running = false;
|
package/dist/queue.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/queue.ts"],
|
|
4
|
-
"mappings": ";AAEA,IAAM,WAAN,MAAkB;AAAA,EAChB,YACY,OACA,UACA,SACV;AAHU;AACA;AACA;AAAA,EACT;AAAA,EAEH,UAAyB;AACvB,WAAO,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACxC,UAAI;AACF,cAAM,SAAS,MAAM,KAAK,MAAM;AAChC,aAAK,SAAS,MAAM;AAAA,MACtB,SAAS,OAAO;AACd,aAAK,QAAQ,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,QAAN,MAAY;AAAA,EACT,SAA0B,CAAC;AAAA,EAC3B,WAAoB;AAAA,EAEpB,OAAa;AACnB,QAAI,KAAK;
|
|
4
|
+
"mappings": ";AAEA,IAAM,WAAN,MAAkB;AAAA,EAChB,YACY,OACA,UACA,SACV;AAHU;AACA;AACA;AAAA,EACT;AAAA,EAEH,UAAyB;AACvB,WAAO,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACxC,UAAI;AACF,cAAM,SAAS,MAAM,KAAK,MAAM;AAChC,aAAK,SAAS,MAAM;AAAA,MACtB,SAAS,OAAO;AACd,aAAK,QAAQ,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,QAAN,MAAY;AAAA,EACT,SAA0B,CAAC;AAAA,EAC3B,WAAoB;AAAA,EAEpB,OAAa;AACnB,QAAI,KAAK,SAAU;AAEnB,UAAM,OAAO,KAAK,OAAO,OAAO,GAAG,CAAC,EAAE,CAAC;AACvC,QAAI,CAAE,KAAM;AAEZ,SAAK,WAAW;AAEhB,SAAK,KAAK,QAAQ,EAAE,QAAQ,MAAM;AAChC,WAAK,WAAW;AAChB,WAAK,KAAK;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,QAAW,MAA2B;AACpC,WAAO,IAAI,QAAW,CAAC,SAAS,WAAW;AACzC,YAAM,WAAW,IAAI,SAAS,MAAM,SAAS,MAAM;AACnD,WAAK,OAAO,KAAK,QAAQ;AACzB,cAAQ,SAAS,MAAM,KAAK,KAAK,CAAC;AAAA,IACpC,CAAC;AAAA,EACH;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|