@fedify/postgres 2.2.0-pr.715.28 → 2.2.0-pr.731.34
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/mq.cjs +31 -19
- package/dist/mq.js +31 -19
- package/package.json +3 -3
package/dist/mq.cjs
CHANGED
|
@@ -28,6 +28,10 @@ function withTimeout(result, timeoutMs) {
|
|
|
28
28
|
function isInitializationRaceError(error) {
|
|
29
29
|
return error instanceof postgres.default.PostgresError && (error.constraint_name === "pg_type_typname_nsp_index" || error.constraint_name === "pg_class_relname_nsp_index" || error.code === "42P07" || error.code === "42710");
|
|
30
30
|
}
|
|
31
|
+
function isConnectionDestroyedError(error) {
|
|
32
|
+
if (typeof error !== "object" || error == null) return false;
|
|
33
|
+
return "code" in error && error.code === "CONNECTION_DESTROYED" || "errno" in error && error.errno === "CONNECTION_DESTROYED";
|
|
34
|
+
}
|
|
31
35
|
function getCreatedIndexName(tableName) {
|
|
32
36
|
let hash = 0;
|
|
33
37
|
for (let i = 0; i < tableName.length; i++) hash = hash * 31 + tableName.charCodeAt(i) >>> 0;
|
|
@@ -246,28 +250,36 @@ var PostgresMessageQueue = class {
|
|
|
246
250
|
await safeSerializedPoll("notify-fallback");
|
|
247
251
|
}
|
|
248
252
|
}, () => safeSerializedPoll("subscribe"));
|
|
249
|
-
|
|
250
|
-
listen.unlisten();
|
|
253
|
+
const clearTimeouts = () => {
|
|
251
254
|
for (const timeout of timeouts) clearTimeout(timeout);
|
|
252
255
|
timeouts.clear();
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
timeout
|
|
259
|
-
|
|
260
|
-
resolve
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
256
|
+
};
|
|
257
|
+
signal?.addEventListener("abort", clearTimeouts, { once: true });
|
|
258
|
+
let unlistenError;
|
|
259
|
+
try {
|
|
260
|
+
while (!signal?.aborted) {
|
|
261
|
+
let timeout;
|
|
262
|
+
await new Promise((resolve) => {
|
|
263
|
+
signal?.addEventListener("abort", resolve, { once: true });
|
|
264
|
+
timeout = setTimeout(() => {
|
|
265
|
+
signal?.removeEventListener("abort", resolve);
|
|
266
|
+
resolve(0);
|
|
267
|
+
}, this.#pollIntervalMs);
|
|
268
|
+
timeouts.add(timeout);
|
|
269
|
+
});
|
|
270
|
+
if (timeout != null) timeouts.delete(timeout);
|
|
271
|
+
await safeSerializedPoll("interval");
|
|
272
|
+
}
|
|
273
|
+
} finally {
|
|
274
|
+
signal?.removeEventListener("abort", clearTimeouts);
|
|
275
|
+
clearTimeouts();
|
|
276
|
+
try {
|
|
277
|
+
await listen.unlisten();
|
|
278
|
+
} catch (error) {
|
|
279
|
+
if (!isConnectionDestroyedError(error)) unlistenError = error;
|
|
280
|
+
}
|
|
266
281
|
}
|
|
267
|
-
|
|
268
|
-
signal?.addEventListener("abort", () => resolve());
|
|
269
|
-
if (signal?.aborted) return resolve();
|
|
270
|
-
});
|
|
282
|
+
if (unlistenError != null) throw unlistenError;
|
|
271
283
|
}
|
|
272
284
|
/**
|
|
273
285
|
* Initializes the message queue table if it does not already exist.
|
package/dist/mq.js
CHANGED
|
@@ -25,6 +25,10 @@ function withTimeout(result, timeoutMs) {
|
|
|
25
25
|
function isInitializationRaceError(error) {
|
|
26
26
|
return error instanceof postgres.PostgresError && (error.constraint_name === "pg_type_typname_nsp_index" || error.constraint_name === "pg_class_relname_nsp_index" || error.code === "42P07" || error.code === "42710");
|
|
27
27
|
}
|
|
28
|
+
function isConnectionDestroyedError(error) {
|
|
29
|
+
if (typeof error !== "object" || error == null) return false;
|
|
30
|
+
return "code" in error && error.code === "CONNECTION_DESTROYED" || "errno" in error && error.errno === "CONNECTION_DESTROYED";
|
|
31
|
+
}
|
|
28
32
|
function getCreatedIndexName(tableName) {
|
|
29
33
|
let hash = 0;
|
|
30
34
|
for (let i = 0; i < tableName.length; i++) hash = hash * 31 + tableName.charCodeAt(i) >>> 0;
|
|
@@ -243,28 +247,36 @@ var PostgresMessageQueue = class {
|
|
|
243
247
|
await safeSerializedPoll("notify-fallback");
|
|
244
248
|
}
|
|
245
249
|
}, () => safeSerializedPoll("subscribe"));
|
|
246
|
-
|
|
247
|
-
listen.unlisten();
|
|
250
|
+
const clearTimeouts = () => {
|
|
248
251
|
for (const timeout of timeouts) clearTimeout(timeout);
|
|
249
252
|
timeouts.clear();
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
timeout
|
|
256
|
-
|
|
257
|
-
resolve
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
253
|
+
};
|
|
254
|
+
signal?.addEventListener("abort", clearTimeouts, { once: true });
|
|
255
|
+
let unlistenError;
|
|
256
|
+
try {
|
|
257
|
+
while (!signal?.aborted) {
|
|
258
|
+
let timeout;
|
|
259
|
+
await new Promise((resolve) => {
|
|
260
|
+
signal?.addEventListener("abort", resolve, { once: true });
|
|
261
|
+
timeout = setTimeout(() => {
|
|
262
|
+
signal?.removeEventListener("abort", resolve);
|
|
263
|
+
resolve(0);
|
|
264
|
+
}, this.#pollIntervalMs);
|
|
265
|
+
timeouts.add(timeout);
|
|
266
|
+
});
|
|
267
|
+
if (timeout != null) timeouts.delete(timeout);
|
|
268
|
+
await safeSerializedPoll("interval");
|
|
269
|
+
}
|
|
270
|
+
} finally {
|
|
271
|
+
signal?.removeEventListener("abort", clearTimeouts);
|
|
272
|
+
clearTimeouts();
|
|
273
|
+
try {
|
|
274
|
+
await listen.unlisten();
|
|
275
|
+
} catch (error) {
|
|
276
|
+
if (!isConnectionDestroyedError(error)) unlistenError = error;
|
|
277
|
+
}
|
|
263
278
|
}
|
|
264
|
-
|
|
265
|
-
signal?.addEventListener("abort", () => resolve());
|
|
266
|
-
if (signal?.aborted) return resolve();
|
|
267
|
-
});
|
|
279
|
+
if (unlistenError != null) throw unlistenError;
|
|
268
280
|
}
|
|
269
281
|
/**
|
|
270
282
|
* Initializes the message queue table if it does not already exist.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fedify/postgres",
|
|
3
|
-
"version": "2.2.0-pr.
|
|
3
|
+
"version": "2.2.0-pr.731.34+1e1bb860",
|
|
4
4
|
"description": "PostgreSQL drivers for Fedify",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fedify",
|
|
@@ -74,14 +74,14 @@
|
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
76
76
|
"postgres": "^3.4.7",
|
|
77
|
-
"@fedify/fedify": "^2.2.0-pr.
|
|
77
|
+
"@fedify/fedify": "^2.2.0-pr.731.34+1e1bb860"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@std/async": "npm:@jsr/std__async@^1.0.13",
|
|
81
81
|
"tsdown": "^0.21.6",
|
|
82
82
|
"typescript": "^5.9.2",
|
|
83
83
|
"@fedify/fixture": "^2.0.0",
|
|
84
|
-
"@fedify/testing": "^2.2.0-pr.
|
|
84
|
+
"@fedify/testing": "^2.2.0-pr.731.34+1e1bb860"
|
|
85
85
|
},
|
|
86
86
|
"scripts": {
|
|
87
87
|
"build:self": "tsdown",
|