@fedify/postgres 0.1.0-dev.2 → 0.1.0-dev.3
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/esm/src/mq.js +12 -1
- package/package.json +1 -1
- package/script/src/mq.js +15 -1
- package/types/src/mq.d.ts.map +1 -1
package/esm/src/mq.js
CHANGED
|
@@ -11,6 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
11
11
|
};
|
|
12
12
|
var _PostgresMessageQueue_sql, _PostgresMessageQueue_tableName, _PostgresMessageQueue_channelName, _PostgresMessageQueue_pollIntervalMs, _PostgresMessageQueue_initialized;
|
|
13
13
|
import * as dntShim from "../_dnt.shims.js";
|
|
14
|
+
import postgres from "postgres";
|
|
14
15
|
/**
|
|
15
16
|
* A message queue that uses PostgreSQL as the underlying storage.
|
|
16
17
|
*
|
|
@@ -58,6 +59,7 @@ export class PostgresMessageQueue {
|
|
|
58
59
|
async listen(
|
|
59
60
|
// deno-lint-ignore no-explicit-any
|
|
60
61
|
handler, options = {}) {
|
|
62
|
+
await this.initialize();
|
|
61
63
|
const { signal } = options;
|
|
62
64
|
const poll = async () => {
|
|
63
65
|
if (signal?.aborted)
|
|
@@ -122,7 +124,8 @@ export class PostgresMessageQueue {
|
|
|
122
124
|
async initialize() {
|
|
123
125
|
if (__classPrivateFieldGet(this, _PostgresMessageQueue_initialized, "f"))
|
|
124
126
|
return;
|
|
125
|
-
|
|
127
|
+
try {
|
|
128
|
+
await __classPrivateFieldGet(this, _PostgresMessageQueue_sql, "f").bind(this) `
|
|
126
129
|
CREATE TABLE IF NOT EXISTS ${__classPrivateFieldGet(this, _PostgresMessageQueue_sql, "f").call(this, __classPrivateFieldGet(this, _PostgresMessageQueue_tableName, "f"))} (
|
|
127
130
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
128
131
|
message jsonb NOT NULL,
|
|
@@ -130,6 +133,13 @@ export class PostgresMessageQueue {
|
|
|
130
133
|
created timestamp with time zone DEFAULT CURRENT_TIMESTAMP
|
|
131
134
|
);
|
|
132
135
|
`;
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
if (!(e instanceof postgres.PostgresError &&
|
|
139
|
+
e.constraint_name === "pg_type_typname_nsp_index")) {
|
|
140
|
+
throw e;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
133
143
|
__classPrivateFieldSet(this, _PostgresMessageQueue_initialized, true, "f");
|
|
134
144
|
}
|
|
135
145
|
/**
|
|
@@ -140,3 +150,4 @@ export class PostgresMessageQueue {
|
|
|
140
150
|
}
|
|
141
151
|
}
|
|
142
152
|
_PostgresMessageQueue_sql = new WeakMap(), _PostgresMessageQueue_tableName = new WeakMap(), _PostgresMessageQueue_channelName = new WeakMap(), _PostgresMessageQueue_pollIntervalMs = new WeakMap(), _PostgresMessageQueue_initialized = new WeakMap();
|
|
153
|
+
// cSpell: ignore typname
|
package/package.json
CHANGED
package/script/src/mq.js
CHANGED
|
@@ -33,10 +33,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
33
33
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
34
34
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
35
35
|
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
36
39
|
var _PostgresMessageQueue_sql, _PostgresMessageQueue_tableName, _PostgresMessageQueue_channelName, _PostgresMessageQueue_pollIntervalMs, _PostgresMessageQueue_initialized;
|
|
37
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
41
|
exports.PostgresMessageQueue = void 0;
|
|
39
42
|
const dntShim = __importStar(require("../_dnt.shims.js"));
|
|
43
|
+
const postgres_1 = __importDefault(require("postgres"));
|
|
40
44
|
/**
|
|
41
45
|
* A message queue that uses PostgreSQL as the underlying storage.
|
|
42
46
|
*
|
|
@@ -84,6 +88,7 @@ class PostgresMessageQueue {
|
|
|
84
88
|
async listen(
|
|
85
89
|
// deno-lint-ignore no-explicit-any
|
|
86
90
|
handler, options = {}) {
|
|
91
|
+
await this.initialize();
|
|
87
92
|
const { signal } = options;
|
|
88
93
|
const poll = async () => {
|
|
89
94
|
if (signal?.aborted)
|
|
@@ -148,7 +153,8 @@ class PostgresMessageQueue {
|
|
|
148
153
|
async initialize() {
|
|
149
154
|
if (__classPrivateFieldGet(this, _PostgresMessageQueue_initialized, "f"))
|
|
150
155
|
return;
|
|
151
|
-
|
|
156
|
+
try {
|
|
157
|
+
await __classPrivateFieldGet(this, _PostgresMessageQueue_sql, "f").bind(this) `
|
|
152
158
|
CREATE TABLE IF NOT EXISTS ${__classPrivateFieldGet(this, _PostgresMessageQueue_sql, "f").call(this, __classPrivateFieldGet(this, _PostgresMessageQueue_tableName, "f"))} (
|
|
153
159
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
154
160
|
message jsonb NOT NULL,
|
|
@@ -156,6 +162,13 @@ class PostgresMessageQueue {
|
|
|
156
162
|
created timestamp with time zone DEFAULT CURRENT_TIMESTAMP
|
|
157
163
|
);
|
|
158
164
|
`;
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
if (!(e instanceof postgres_1.default.PostgresError &&
|
|
168
|
+
e.constraint_name === "pg_type_typname_nsp_index")) {
|
|
169
|
+
throw e;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
159
172
|
__classPrivateFieldSet(this, _PostgresMessageQueue_initialized, true, "f");
|
|
160
173
|
}
|
|
161
174
|
/**
|
|
@@ -167,3 +180,4 @@ class PostgresMessageQueue {
|
|
|
167
180
|
}
|
|
168
181
|
exports.PostgresMessageQueue = PostgresMessageQueue;
|
|
169
182
|
_PostgresMessageQueue_sql = new WeakMap(), _PostgresMessageQueue_tableName = new WeakMap(), _PostgresMessageQueue_channelName = new WeakMap(), _PostgresMessageQueue_pollIntervalMs = new WeakMap(), _PostgresMessageQueue_initialized = new WeakMap();
|
|
183
|
+
// cSpell: ignore typname
|
package/types/src/mq.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mq.d.ts","sourceRoot":"","sources":["../../src/src/mq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"mq.d.ts","sourceRoot":"","sources":["../../src/src/mq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAGpC;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;CAC1E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,oBAAqB,YAAW,YAAY;;gBAUrD,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EACZ,OAAO,GAAE,2BAAgC;IAWrC,OAAO,CAEX,OAAO,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CAEV,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC/C,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,IAAI,CAAC;IA0DhB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
|