@effect/sql-pg 4.0.0-beta.35 → 4.0.0-beta.37
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/PgClient.d.ts.map +1 -1
- package/dist/PgClient.js +81 -26
- package/dist/PgClient.js.map +1 -1
- package/package.json +3 -3
- package/src/PgClient.ts +128 -15
package/dist/PgClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PgClient.d.ts","sourceRoot":"","sources":["../src/PgClient.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAKrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD,OAAO,
|
|
1
|
+
{"version":3,"file":"PgClient.d.ts","sourceRoot":"","sources":["../src/PgClient.ts"],"names":[],"mappings":"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"}
|
package/dist/PgClient.js
CHANGED
|
@@ -19,7 +19,7 @@ import * as ServiceMap from "effect/ServiceMap";
|
|
|
19
19
|
import * as Stream from "effect/Stream";
|
|
20
20
|
import * as Reactivity from "effect/unstable/reactivity/Reactivity";
|
|
21
21
|
import * as Client from "effect/unstable/sql/SqlClient";
|
|
22
|
-
import { SqlError } from "effect/unstable/sql/SqlError";
|
|
22
|
+
import { AuthenticationError, AuthorizationError, ConnectionError, ConstraintError, DeadlockError, LockTimeoutError, SerializationError, SqlError, SqlSyntaxError, StatementTimeoutError, UnknownError } from "effect/unstable/sql/SqlError";
|
|
23
23
|
import * as Statement from "effect/unstable/sql/Statement";
|
|
24
24
|
import * as Pg from "pg";
|
|
25
25
|
import * as PgConnString from "pg-connection-string";
|
|
@@ -28,6 +28,51 @@ const ATTR_DB_SYSTEM_NAME = "db.system.name";
|
|
|
28
28
|
const ATTR_DB_NAMESPACE = "db.namespace";
|
|
29
29
|
const ATTR_SERVER_ADDRESS = "server.address";
|
|
30
30
|
const ATTR_SERVER_PORT = "server.port";
|
|
31
|
+
const pgCodeFromCause = cause => {
|
|
32
|
+
if (typeof cause !== "object" || cause === null || !("code" in cause)) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const code = cause.code;
|
|
36
|
+
return typeof code === "string" ? code : undefined;
|
|
37
|
+
};
|
|
38
|
+
const classifyError = (cause, message, operation) => {
|
|
39
|
+
const props = {
|
|
40
|
+
cause,
|
|
41
|
+
message,
|
|
42
|
+
operation
|
|
43
|
+
};
|
|
44
|
+
const code = pgCodeFromCause(cause);
|
|
45
|
+
if (code !== undefined) {
|
|
46
|
+
if (code.startsWith("08")) {
|
|
47
|
+
return new ConnectionError(props);
|
|
48
|
+
}
|
|
49
|
+
if (code.startsWith("28")) {
|
|
50
|
+
return new AuthenticationError(props);
|
|
51
|
+
}
|
|
52
|
+
if (code === "42501") {
|
|
53
|
+
return new AuthorizationError(props);
|
|
54
|
+
}
|
|
55
|
+
if (code.startsWith("42")) {
|
|
56
|
+
return new SqlSyntaxError(props);
|
|
57
|
+
}
|
|
58
|
+
if (code.startsWith("23")) {
|
|
59
|
+
return new ConstraintError(props);
|
|
60
|
+
}
|
|
61
|
+
if (code === "40P01") {
|
|
62
|
+
return new DeadlockError(props);
|
|
63
|
+
}
|
|
64
|
+
if (code === "40001") {
|
|
65
|
+
return new SerializationError(props);
|
|
66
|
+
}
|
|
67
|
+
if (code === "55P03") {
|
|
68
|
+
return new LockTimeoutError(props);
|
|
69
|
+
}
|
|
70
|
+
if (code === "57014") {
|
|
71
|
+
return new StatementTimeoutError(props);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return new UnknownError(props);
|
|
75
|
+
};
|
|
31
76
|
/**
|
|
32
77
|
* @category type ids
|
|
33
78
|
* @since 1.0.0
|
|
@@ -68,14 +113,16 @@ export const make = options => fromPool({
|
|
|
68
113
|
yield* Effect.acquireRelease(Effect.tryPromise({
|
|
69
114
|
try: () => pool.query("SELECT 1"),
|
|
70
115
|
catch: cause => new SqlError({
|
|
71
|
-
cause,
|
|
72
|
-
message: "PgClient: Failed to connect"
|
|
116
|
+
reason: classifyError(cause, "PgClient: Failed to connect", "connect")
|
|
73
117
|
})
|
|
74
118
|
}), () => Effect.promise(() => pool.end()).pipe(Effect.timeoutOption(1000))).pipe(Effect.timeoutOrElse({
|
|
75
119
|
duration: options.connectTimeout ?? Duration.seconds(5),
|
|
76
120
|
onTimeout: () => Effect.fail(new SqlError({
|
|
77
|
-
|
|
78
|
-
|
|
121
|
+
reason: new ConnectionError({
|
|
122
|
+
cause: new Error("Connection timed out"),
|
|
123
|
+
message: "PgClient: Connection timed out",
|
|
124
|
+
operation: "connect"
|
|
125
|
+
})
|
|
79
126
|
}))
|
|
80
127
|
}));
|
|
81
128
|
return pool;
|
|
@@ -108,8 +155,7 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
108
155
|
function onError(cause) {
|
|
109
156
|
cleanup(cause);
|
|
110
157
|
resume(Effect.fail(new SqlError({
|
|
111
|
-
cause,
|
|
112
|
-
message: "Connection error"
|
|
158
|
+
reason: classifyError(cause, "Connection error", "acquireConnection")
|
|
113
159
|
})));
|
|
114
160
|
}
|
|
115
161
|
function cleanup(cause) {
|
|
@@ -120,13 +166,15 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
120
166
|
pool.connect((cause, client_) => {
|
|
121
167
|
if (cause) {
|
|
122
168
|
return resume(Effect.fail(new SqlError({
|
|
123
|
-
cause,
|
|
124
|
-
message: "Failed to acquire connection"
|
|
169
|
+
reason: classifyError(cause, "Failed to acquire connection", "acquireConnection")
|
|
125
170
|
})));
|
|
126
171
|
} else if (!client_) {
|
|
127
172
|
return resume(Effect.fail(new SqlError({
|
|
128
|
-
|
|
129
|
-
|
|
173
|
+
reason: new ConnectionError({
|
|
174
|
+
message: "Failed to acquire connection",
|
|
175
|
+
cause: new Error("No client returned"),
|
|
176
|
+
operation: "acquireConnection"
|
|
177
|
+
})
|
|
130
178
|
})));
|
|
131
179
|
} else if (done) {
|
|
132
180
|
client_.release();
|
|
@@ -154,8 +202,7 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
154
202
|
client.query(query, params, (err, result) => {
|
|
155
203
|
if (err) {
|
|
156
204
|
resume(Effect.fail(new SqlError({
|
|
157
|
-
|
|
158
|
-
message: "Failed to execute statement"
|
|
205
|
+
reason: classifyError(err, "Failed to execute statement", "execute")
|
|
159
206
|
})));
|
|
160
207
|
} else {
|
|
161
208
|
// Multi-statement queries return an array of results
|
|
@@ -172,8 +219,7 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
172
219
|
client.query(sql, params, (err, result) => {
|
|
173
220
|
if (err) {
|
|
174
221
|
resume(Effect.fail(new SqlError({
|
|
175
|
-
|
|
176
|
-
message: "Failed to execute statement"
|
|
222
|
+
reason: classifyError(err, "Failed to execute statement", "execute")
|
|
177
223
|
})));
|
|
178
224
|
} else {
|
|
179
225
|
resume(Effect.succeed(result));
|
|
@@ -193,8 +239,7 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
193
239
|
}, (err, result) => {
|
|
194
240
|
if (err) {
|
|
195
241
|
resume(Effect.fail(new SqlError({
|
|
196
|
-
|
|
197
|
-
message: "Failed to execute statement"
|
|
242
|
+
reason: classifyError(err, "Failed to execute statement", "execute")
|
|
198
243
|
})));
|
|
199
244
|
} else {
|
|
200
245
|
resume(Effect.succeed(result.rows));
|
|
@@ -217,8 +262,7 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
217
262
|
cursor.read(128, (err, rows) => {
|
|
218
263
|
if (err) {
|
|
219
264
|
resume(Effect.fail(new SqlError({
|
|
220
|
-
|
|
221
|
-
message: "Failed to execute statement"
|
|
265
|
+
reason: classifyError(err, "Failed to execute statement", "stream")
|
|
222
266
|
})));
|
|
223
267
|
} else if (Arr.isArrayNonEmpty(rows)) {
|
|
224
268
|
resume(Effect.succeed(transformRows ? transformRows(rows) : rows));
|
|
@@ -237,8 +281,7 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
237
281
|
pool.connect((err, client, release) => {
|
|
238
282
|
if (err) {
|
|
239
283
|
resume(Effect.fail(new SqlError({
|
|
240
|
-
|
|
241
|
-
message: "Failed to acquire connection for transaction"
|
|
284
|
+
reason: classifyError(err, "Failed to acquire connection for transaction", "acquireConnection")
|
|
242
285
|
})));
|
|
243
286
|
} else {
|
|
244
287
|
resume(Effect.as(Scope.addFinalizer(scope, Effect.sync(() => {
|
|
@@ -253,8 +296,22 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
253
296
|
});
|
|
254
297
|
});
|
|
255
298
|
const reserve = Effect.map(reserveRaw, client => new ConnectionImpl(client));
|
|
299
|
+
const onListenClientError = _ => {};
|
|
256
300
|
const listenClient = yield* RcRef.make({
|
|
257
|
-
acquire:
|
|
301
|
+
acquire: Effect.acquireRelease(Effect.tryPromise({
|
|
302
|
+
try: async () => {
|
|
303
|
+
const client = new Pg.Client(pool.options);
|
|
304
|
+
await client.connect();
|
|
305
|
+
client.on("error", onListenClientError);
|
|
306
|
+
return client;
|
|
307
|
+
},
|
|
308
|
+
catch: cause => new SqlError({
|
|
309
|
+
reason: classifyError(cause, "Failed to acquire connection for listen", "acquireConnection")
|
|
310
|
+
})
|
|
311
|
+
}), client => Effect.promise(() => {
|
|
312
|
+
client.off("error", onListenClientError);
|
|
313
|
+
return client.end();
|
|
314
|
+
}).pipe(Effect.timeoutOption(1000)))
|
|
258
315
|
});
|
|
259
316
|
let config = {
|
|
260
317
|
url: pool.options.connectionString ? Redacted.make(pool.options.connectionString) : undefined,
|
|
@@ -307,8 +364,7 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
307
364
|
yield* Effect.tryPromise({
|
|
308
365
|
try: () => client.query(`LISTEN ${Pg.escapeIdentifier(channel)}`),
|
|
309
366
|
catch: cause => new SqlError({
|
|
310
|
-
cause,
|
|
311
|
-
message: "Failed to listen"
|
|
367
|
+
reason: classifyError(cause, "Failed to listen", "listen")
|
|
312
368
|
})
|
|
313
369
|
});
|
|
314
370
|
client.on("notification", onNotification);
|
|
@@ -317,8 +373,7 @@ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
317
373
|
pool.query(`NOTIFY ${Pg.escapeIdentifier(channel)}, $1`, [payload], err => {
|
|
318
374
|
if (err) {
|
|
319
375
|
resume(Effect.fail(new SqlError({
|
|
320
|
-
|
|
321
|
-
message: "Failed to notify"
|
|
376
|
+
reason: classifyError(err, "Failed to notify", "notify")
|
|
322
377
|
})));
|
|
323
378
|
} else {
|
|
324
379
|
resume(Effect.void);
|
package/dist/PgClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PgClient.js","names":["Arr","Cause","Channel","Config","Duration","Effect","Fiber","Layer","Number","Option","Queue","RcRef","Redacted","Scope","ServiceMap","Stream","Reactivity","Client","SqlError","Statement","Pg","PgConnString","Cursor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","PgClient","Service","make","options","fromPool","acquire","gen","pool","Pool","connectionString","url","value","undefined","user","username","host","database","password","ssl","port","stream","connectionTimeoutMillis","connectTimeout","toMillis","fromInputUnsafe","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","on","_err","acquireRelease","tryPromise","try","query","catch","cause","message","promise","end","pipe","timeoutOption","timeoutOrElse","duration","seconds","onTimeout","fail","Error","fnUntraced","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","ConnectionImpl","pg","constructor","runWithClient","f","callback","resume","makeCancel","done","cancel","client","onError","cleanup","release","off","connect","client_","once","eff","suspend","void","ensuring","sync","run","params","err","result","succeed","Array","isArray","map","r","rows","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","fromChannel","fromTransform","_","scope","provide","reserveRaw","addFinalizer","cursor","close","read","isArrayNonEmpty","fiber","getCurrent","getUnsafe","services","as","cause_","reserve","listenClient","config","parsed","parse","getOrUndefined","Object","assign","acquirer","transactionAcquirer","spanAttributes","entries","json","fragment","PgJson","listen","channel","queue","get","onNotification","msg","payload","offerUnsafe","escapeIdentifier","notify","cancelEffects","WeakMap","has","processId","processID","ending","interruptible","set","layerConfig","effectServices","unwrap","asEffect","flatMap","add","SqlClient","layer","layerFromPool","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","paramA","defaultEscape","custom"],"sources":["../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PgClient.js","names":["Arr","Cause","Channel","Config","Duration","Effect","Fiber","Layer","Number","Option","Queue","RcRef","Redacted","Scope","ServiceMap","Stream","Reactivity","Client","AuthenticationError","AuthorizationError","ConnectionError","ConstraintError","DeadlockError","LockTimeoutError","SerializationError","SqlError","SqlSyntaxError","StatementTimeoutError","UnknownError","Statement","Pg","PgConnString","Cursor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","pgCodeFromCause","cause","undefined","code","classifyError","message","operation","props","startsWith","TypeId","PgClient","Service","make","options","fromPool","acquire","gen","pool","Pool","connectionString","url","value","user","username","host","database","password","ssl","port","stream","connectionTimeoutMillis","connectTimeout","toMillis","fromInputUnsafe","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","on","_err","acquireRelease","tryPromise","try","query","catch","reason","promise","end","pipe","timeoutOption","timeoutOrElse","duration","seconds","onTimeout","fail","Error","fnUntraced","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","ConnectionImpl","pg","constructor","runWithClient","f","callback","resume","makeCancel","done","cancel","client","onError","cleanup","release","off","connect","client_","once","eff","suspend","void","ensuring","sync","run","params","err","result","succeed","Array","isArray","map","r","rows","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","fromChannel","fromTransform","_","scope","provide","reserveRaw","addFinalizer","cursor","close","read","isArrayNonEmpty","fiber","getCurrent","getUnsafe","services","as","cause_","reserve","onListenClientError","listenClient","config","parsed","parse","getOrUndefined","Object","assign","acquirer","transactionAcquirer","spanAttributes","entries","json","fragment","PgJson","listen","channel","queue","get","onNotification","msg","payload","offerUnsafe","escapeIdentifier","notify","cancelEffects","WeakMap","has","processId","processID","ending","interruptible","set","layerConfig","effectServices","unwrap","asEffect","flatMap","add","SqlClient","layer","layerFromPool","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","paramA","defaultEscape","custom"],"sources":["../src/PgClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,uCAAuC;AACnE,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD,SACEC,mBAAmB,EACnBC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,EACbC,gBAAgB,EAChBC,kBAAkB,EAClBC,QAAQ,EACRC,cAAc,EACdC,qBAAqB,EACrBC,YAAY,QACP,8BAA8B;AAErC,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAG1D,OAAO,KAAKC,EAAE,MAAM,IAAI;AACxB,OAAO,KAAKC,YAAY,MAAM,sBAAsB;AACpD,OAAOC,MAAM,MAAM,WAAW;AAE9B,MAAMC,mBAAmB,GAAG,gBAAgB;AAC5C,MAAMC,iBAAiB,GAAG,cAAc;AACxC,MAAMC,mBAAmB,GAAG,gBAAgB;AAC5C,MAAMC,gBAAgB,GAAG,aAAa;AAEtC,MAAMC,eAAe,GAAIC,KAAc,IAAwB;EAC7D,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,EAAE,MAAM,IAAIA,KAAK,CAAC,EAAE;IACrE,OAAOC,SAAS;EAClB;EACA,MAAMC,IAAI,GAAGF,KAAK,CAACE,IAAI;EACvB,OAAO,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGD,SAAS;AACpD,CAAC;AAED,MAAME,aAAa,GAAGA,CACpBH,KAAc,EACdI,OAAe,EACfC,SAAiB,KACf;EACF,MAAMC,KAAK,GAAG;IAAEN,KAAK;IAAEI,OAAO;IAAEC;EAAS,CAAE;EAC3C,MAAMH,IAAI,GAAGH,eAAe,CAACC,KAAK,CAAC;EACnC,IAAIE,IAAI,KAAKD,SAAS,EAAE;IACtB,IAAIC,IAAI,CAACK,UAAU,CAAC,IAAI,CAAC,EAAE;MACzB,OAAO,IAAIzB,eAAe,CAACwB,KAAK,CAAC;IACnC;IACA,IAAIJ,IAAI,CAACK,UAAU,CAAC,IAAI,CAAC,EAAE;MACzB,OAAO,IAAI3B,mBAAmB,CAAC0B,KAAK,CAAC;IACvC;IACA,IAAIJ,IAAI,KAAK,OAAO,EAAE;MACpB,OAAO,IAAIrB,kBAAkB,CAACyB,KAAK,CAAC;IACtC;IACA,IAAIJ,IAAI,CAACK,UAAU,CAAC,IAAI,CAAC,EAAE;MACzB,OAAO,IAAInB,cAAc,CAACkB,KAAK,CAAC;IAClC;IACA,IAAIJ,IAAI,CAACK,UAAU,CAAC,IAAI,CAAC,EAAE;MACzB,OAAO,IAAIxB,eAAe,CAACuB,KAAK,CAAC;IACnC;IACA,IAAIJ,IAAI,KAAK,OAAO,EAAE;MACpB,OAAO,IAAIlB,aAAa,CAACsB,KAAK,CAAC;IACjC;IACA,IAAIJ,IAAI,KAAK,OAAO,EAAE;MACpB,OAAO,IAAIhB,kBAAkB,CAACoB,KAAK,CAAC;IACtC;IACA,IAAIJ,IAAI,KAAK,OAAO,EAAE;MACpB,OAAO,IAAIjB,gBAAgB,CAACqB,KAAK,CAAC;IACpC;IACA,IAAIJ,IAAI,KAAK,OAAO,EAAE;MACpB,OAAO,IAAIb,qBAAqB,CAACiB,KAAK,CAAC;IACzC;EACF;EACA,OAAO,IAAIhB,YAAY,CAACgB,KAAK,CAAC;AAChC,CAAC;AAED;;;;AAIA,OAAO,MAAME,MAAM,GAAW,0BAA0B;AAoBxD;;;;AAIA,OAAO,MAAMC,QAAQ,gBAAGjC,UAAU,CAACkC,OAAO,CAAW,yBAAyB,CAAC;AAmC/E;;;;AAIA,OAAO,MAAMC,IAAI,GACfC,OAAuB,IAEvBC,QAAQ,CAAC;EACP,GAAGD,OAAO;EACVE,OAAO,EAAE/C,MAAM,CAACgD,GAAG,CAAC,aAAS;IAC3B,MAAMC,IAAI,GAAG,IAAIxB,EAAE,CAACyB,IAAI,CAAC;MACvBC,gBAAgB,EAAEN,OAAO,CAACO,GAAG,GAAG7C,QAAQ,CAAC8C,KAAK,CAACR,OAAO,CAACO,GAAG,CAAC,GAAGlB,SAAS;MACvEoB,IAAI,EAAET,OAAO,CAACU,QAAQ;MACtBC,IAAI,EAAEX,OAAO,CAACW,IAAI;MAClBC,QAAQ,EAAEZ,OAAO,CAACY,QAAQ;MAC1BC,QAAQ,EAAEb,OAAO,CAACa,QAAQ,GAAGnD,QAAQ,CAAC8C,KAAK,CAACR,OAAO,CAACa,QAAQ,CAAC,GAAGxB,SAAS;MACzEyB,GAAG,EAAEd,OAAO,CAACc,GAAG;MAChBC,IAAI,EAAEf,OAAO,CAACe,IAAI;MAClB,IAAIf,OAAO,CAACgB,MAAM,GAAG;QAAEA,MAAM,EAAEhB,OAAO,CAACgB;MAAM,CAAE,GAAG,EAAE,CAAC;MACrDC,uBAAuB,EAAEjB,OAAO,CAACkB,cAAc,GAC3ChE,QAAQ,CAACiE,QAAQ,CAACjE,QAAQ,CAACkE,eAAe,CAACpB,OAAO,CAACkB,cAAc,CAAC,CAAC,GACnE7B,SAAS;MACbgC,iBAAiB,EAAErB,OAAO,CAACsB,WAAW,GAClCpE,QAAQ,CAACiE,QAAQ,CAACjE,QAAQ,CAACkE,eAAe,CAACpB,OAAO,CAACsB,WAAW,CAAC,CAAC,GAChEjC,SAAS;MACbkC,GAAG,EAAEvB,OAAO,CAACwB,cAAc;MAC3BC,GAAG,EAAEzB,OAAO,CAAC0B,cAAc;MAC3BC,kBAAkB,EAAE3B,OAAO,CAAC4B,aAAa,GACrC1E,QAAQ,CAAC2E,SAAS,CAAC3E,QAAQ,CAACkE,eAAe,CAACpB,OAAO,CAAC4B,aAAa,CAAC,CAAC,GACnEvC,SAAS;MACbyC,gBAAgB,EAAE9B,OAAO,CAAC+B,eAAe,IAAI,gBAAgB;MAC7DC,KAAK,EAAEhC,OAAO,CAACgC;KAChB,CAAC;IAEF5B,IAAI,CAAC6B,EAAE,CAAC,OAAO,EAAGC,IAAI,IAAI,CAAE,CAAC,CAAC;IAE9B,OAAO/E,MAAM,CAACgF,cAAc,CAC1BhF,MAAM,CAACiF,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAMjC,IAAI,CAACkC,KAAK,CAAC,UAAU,CAAC;MACjCC,KAAK,EAAGnD,KAAK,IAAK,IAAIb,QAAQ,CAAC;QAAEiE,MAAM,EAAEjD,aAAa,CAACH,KAAK,EAAE,6BAA6B,EAAE,SAAS;MAAC,CAAE;KAC1G,CAAC,EACF,MACEjC,MAAM,CAACsF,OAAO,CAAC,MAAMrC,IAAI,CAACsC,GAAG,EAAE,CAAC,CAACC,IAAI,CACnCxF,MAAM,CAACyF,aAAa,CAAC,IAAI,CAAC,CAC3B,CACJ,CAACD,IAAI,CACJxF,MAAM,CAAC0F,aAAa,CAAC;MACnBC,QAAQ,EAAE9C,OAAO,CAACkB,cAAc,IAAIhE,QAAQ,CAAC6F,OAAO,CAAC,CAAC,CAAC;MACvDC,SAAS,EAAEA,CAAA,KACT7F,MAAM,CAAC8F,IAAI,CACT,IAAI1E,QAAQ,CAAC;QACXiE,MAAM,EAAE,IAAItE,eAAe,CAAC;UAC1BkB,KAAK,EAAE,IAAI8D,KAAK,CAAC,sBAAsB,CAAC;UACxC1D,OAAO,EAAE,gCAAgC;UACzCC,SAAS,EAAE;SACZ;OACF,CAAC;KAEP,CAAC,CACH;IAED,OAAOW,IAAI;EACb,CAAC;CACF,CAAC;AAEJ;;;;AAIA,OAAO,MAAMH,QAAQ,gBAAG9C,MAAM,CAACgG,UAAU,CAAC,WACxCnD,OAUC;EAED,MAAMoD,QAAQ,GAAGC,YAAY,CAC3BrD,OAAO,CAACsD,mBAAmB,EAC3BtD,OAAO,CAACuD,aAAa,CACtB;EACD,MAAMC,aAAa,GAAGxD,OAAO,CAACyD,oBAAoB,GAChD9E,SAAS,CAAC+E,iBAAiB,CACzB1D,OAAO,CAACyD,oBAAoB,EAC5BzD,OAAO,CAACuD,aAAa,CACtB,CAACI,KAAK,GACPtE,SAAS;EAEX,MAAMe,IAAI,GAAG,OAAOJ,OAAO,CAACE,OAAO;EAEnC,MAAM0D,cAAc;IACTC,EAAE;IACXC,YAAYD,EAAkB;MAC5B,IAAI,CAACA,EAAE,GAAGA,EAAE;IACd;IAEQE,aAAaA,CAAIC,CAAmF;MAC1G,IAAI,IAAI,CAACH,EAAE,KAAKxE,SAAS,EAAE;QACzB,OAAOlC,MAAM,CAAC8G,QAAQ,CAAeC,MAAM,IAAI;UAC7CF,CAAC,CAAC,IAAI,CAACH,EAAG,EAAEK,MAAM,CAAC;UACnB,OAAOC,UAAU,CAAC/D,IAAI,EAAE,IAAI,CAACyD,EAAG,CAAC;QACnC,CAAC,CAAC;MACJ;MACA,OAAO1G,MAAM,CAAC8G,QAAQ,CAAeC,MAAM,IAAI;QAC7C,IAAIE,IAAI,GAAG,KAAK;QAChB,IAAIC,MAAM,GAAoChF,SAAS;QACvD,IAAIiF,MAAM,GAA8BjF,SAAS;QACjD,SAASkF,OAAOA,CAACnF,KAAY;UAC3BoF,OAAO,CAACpF,KAAK,CAAC;UACd8E,MAAM,CAAC/G,MAAM,CAAC8F,IAAI,CAAC,IAAI1E,QAAQ,CAAC;YAAEiE,MAAM,EAAEjD,aAAa,CAACH,KAAK,EAAE,kBAAkB,EAAE,mBAAmB;UAAC,CAAE,CAAC,CAAC,CAAC;QAC9G;QACA,SAASoF,OAAOA,CAACpF,KAAa;UAC5B,IAAI,CAACgF,IAAI,EAAEE,MAAM,EAAEG,OAAO,CAACrF,KAAK,CAAC;UACjCgF,IAAI,GAAG,IAAI;UACXE,MAAM,EAAEI,GAAG,CAAC,OAAO,EAAEH,OAAO,CAAC;QAC/B;QACAnE,IAAI,CAACuE,OAAO,CAAC,CAACvF,KAAK,EAAEwF,OAAO,KAAI;UAC9B,IAAIxF,KAAK,EAAE;YACT,OAAO8E,MAAM,CACX/G,MAAM,CAAC8F,IAAI,CACT,IAAI1E,QAAQ,CAAC;cACXiE,MAAM,EAAEjD,aAAa,CAACH,KAAK,EAAE,8BAA8B,EAAE,mBAAmB;aACjF,CAAC,CACH,CACF;UACH,CAAC,MAAM,IAAI,CAACwF,OAAO,EAAE;YACnB,OAAOV,MAAM,CACX/G,MAAM,CAAC8F,IAAI,CACT,IAAI1E,QAAQ,CAAC;cACXiE,MAAM,EAAE,IAAItE,eAAe,CAAC;gBAC1BsB,OAAO,EAAE,8BAA8B;gBACvCJ,KAAK,EAAE,IAAI8D,KAAK,CAAC,oBAAoB,CAAC;gBACtCzD,SAAS,EAAE;eACZ;aACF,CAAC,CACH,CACF;UACH,CAAC,MAAM,IAAI2E,IAAI,EAAE;YACfQ,OAAO,CAACH,OAAO,EAAE;YACjB;UACF;UACAH,MAAM,GAAGM,OAAO;UAChBN,MAAM,CAACO,IAAI,CAAC,OAAO,EAAEN,OAAO,CAAC;UAC7BF,MAAM,GAAGF,UAAU,CAAC/D,IAAI,EAAEkE,MAAM,CAAC;UACjCN,CAAC,CAACM,MAAM,EAAGQ,GAAG,IAAI;YAChBN,OAAO,EAAE;YACTN,MAAM,CAACY,GAAG,CAAC;UACb,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,OAAO3H,MAAM,CAAC4H,OAAO,CAAC,MAAK;UACzB,IAAI,CAACV,MAAM,EAAE;YACXG,OAAO,EAAE;YACT,OAAOrH,MAAM,CAAC6H,IAAI;UACpB;UACA,OAAO7H,MAAM,CAAC8H,QAAQ,CAACZ,MAAM,EAAElH,MAAM,CAAC+H,IAAI,CAACV,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEQW,GAAGA,CAAC7C,KAAa,EAAE8C,MAA8B;MACvD,OAAO,IAAI,CAACrB,aAAa,CAAqB,CAACO,MAAM,EAAEJ,MAAM,KAAI;QAC/DI,MAAM,CAAChC,KAAK,CAACA,KAAK,EAAE8C,MAAa,EAAE,CAACC,GAAG,EAAEC,MAAM,KAAI;UACjD,IAAID,GAAG,EAAE;YACPnB,MAAM,CACJ/G,MAAM,CAAC8F,IAAI,CAAC,IAAI1E,QAAQ,CAAC;cAAEiE,MAAM,EAAEjD,aAAa,CAAC8F,GAAG,EAAE,6BAA6B,EAAE,SAAS;YAAC,CAAE,CAAC,CAAC,CACpG;UACH,CAAC,MAAM;YACL;YACAnB,MAAM,CAAC/G,MAAM,CAACoI,OAAO,CACnBC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GACjBA,MAAM,CAACI,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,IAAI,EAAE,CAAC,GAC/BN,MAAM,CAACM,IAAI,IAAI,EAAE,CACtB,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEAC,OAAOA,CACLC,GAAW,EACXV,MAA8B,EAC9B5B,aAA0F;MAE1F,OAAOA,aAAa,GAChBrG,MAAM,CAACuI,GAAG,CAAC,IAAI,CAACP,GAAG,CAACW,GAAG,EAAEV,MAAM,CAAC,EAAE5B,aAAa,CAAC,GAChD,IAAI,CAAC2B,GAAG,CAACW,GAAG,EAAEV,MAAM,CAAC;IAC3B;IACAW,UAAUA,CAACD,GAAW,EAAEV,MAA8B;MACpD,OAAO,IAAI,CAACrB,aAAa,CAAY,CAACO,MAAM,EAAEJ,MAAM,KAAI;QACtDI,MAAM,CAAChC,KAAK,CAACwD,GAAG,EAAEV,MAAa,EAAE,CAACC,GAAG,EAAEC,MAAM,KAAI;UAC/C,IAAID,GAAG,EAAE;YACPnB,MAAM,CACJ/G,MAAM,CAAC8F,IAAI,CAAC,IAAI1E,QAAQ,CAAC;cAAEiE,MAAM,EAAEjD,aAAa,CAAC8F,GAAG,EAAE,6BAA6B,EAAE,SAAS;YAAC,CAAE,CAAC,CAAC,CACpG;UACH,CAAC,MAAM;YACLnB,MAAM,CAAC/G,MAAM,CAACoI,OAAO,CAACD,MAAM,CAAC,CAAC;UAChC;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IACAU,uBAAuBA,CAACF,GAAW,EAAEV,MAA8B;MACjE,OAAO,IAAI,CAACD,GAAG,CAACW,GAAG,EAAEV,MAAM,CAAC;IAC9B;IACAa,aAAaA,CAACH,GAAW,EAAEV,MAA8B;MACvD,OAAO,IAAI,CAACrB,aAAa,CAAqB,CAACO,MAAM,EAAEJ,MAAM,KAAI;QAC/DI,MAAM,CAAChC,KAAK,CACV;UACE4D,IAAI,EAAEJ,GAAG;UACTK,OAAO,EAAE,OAAO;UAChBC,MAAM,EAAEhB;SACT,EACD,CAACC,GAAG,EAAEC,MAAM,KAAI;UACd,IAAID,GAAG,EAAE;YACPnB,MAAM,CACJ/G,MAAM,CAAC8F,IAAI,CAAC,IAAI1E,QAAQ,CAAC;cAAEiE,MAAM,EAAEjD,aAAa,CAAC8F,GAAG,EAAE,6BAA6B,EAAE,SAAS;YAAC,CAAE,CAAC,CAAC,CACpG;UACH,CAAC,MAAM;YACLnB,MAAM,CAAC/G,MAAM,CAACoI,OAAO,CAACD,MAAM,CAACM,IAAI,CAAC,CAAC;UACrC;QACF,CAAC,CACF;MACH,CAAC,CAAC;IACJ;IACAS,iBAAiBA,CACfP,GAAW,EACXV,MAA8B,EAC9B5B,aAA0F;MAE1F,OAAO,IAAI,CAACqC,OAAO,CAACC,GAAG,EAAEV,MAAM,EAAE5B,aAAa,CAAC;IACjD;IACA8C,aAAaA,CACXR,GAAW,EACXV,MAA8B,EAC9B5B,aAA0F;MAE1F;MACA,MAAM+C,IAAI,GAAG,IAAI;MACjB,OAAO1I,MAAM,CAAC2I,WAAW,CAACxJ,OAAO,CAACyJ,aAAa,CAACtJ,MAAM,CAACgG,UAAU,CAAC,WAAUuD,CAAC,EAAEC,KAAK;QAClF,MAAMrC,MAAM,GAAGiC,IAAI,CAAC1C,EAAE,KAAK,OAAOlG,KAAK,CAACiJ,OAAO,CAACC,UAAU,EAAEF,KAAK,CAAC,CAAC;QACnE,OAAOhJ,KAAK,CAACmJ,YAAY,CAACH,KAAK,EAAExJ,MAAM,CAACsF,OAAO,CAAC,MAAMsE,MAAM,CAACC,KAAK,EAAE,CAAC,CAAC;QACtE,MAAMD,MAAM,GAAGzC,MAAM,CAAChC,KAAK,CAAC,IAAIxD,MAAM,CAACgH,GAAG,EAAEV,MAAa,CAAC,CAAC;QAC3D;QACA,OAAOjI,MAAM,CAAC8G,QAAQ,CAAyDC,MAAM,IAAI;UACvF6C,MAAM,CAACE,IAAI,CAAC,GAAG,EAAE,CAAC5B,GAAG,EAAEO,IAAI,KAAI;YAC7B,IAAIP,GAAG,EAAE;cACPnB,MAAM,CAAC/G,MAAM,CAAC8F,IAAI,CAAC,IAAI1E,QAAQ,CAAC;gBAAEiE,MAAM,EAAEjD,aAAa,CAAC8F,GAAG,EAAE,6BAA6B,EAAE,QAAQ;cAAC,CAAE,CAAC,CAAC,CAAC;YAC5G,CAAC,MAAM,IAAIvI,GAAG,CAACoK,eAAe,CAACtB,IAAI,CAAC,EAAE;cACpC1B,MAAM,CAAC/G,MAAM,CAACoI,OAAO,CAAC/B,aAAa,GAAGA,aAAa,CAACoC,IAAI,CAAQ,GAAGA,IAAI,CAAC,CAAC;YAC3E,CAAC,MAAM;cACL1B,MAAM,CAACnH,KAAK,CAACqH,IAAI,EAAE,CAAC;YACtB;UACF,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC,CAAC,CAAC;IACN;;EAGF,MAAMyC,UAAU,GAAG1J,MAAM,CAAC8G,QAAQ,CAAwCC,MAAM,IAAI;IAClF,MAAMiD,KAAK,GAAG/J,KAAK,CAACgK,UAAU,EAAG;IACjC,MAAMT,KAAK,GAAG/I,UAAU,CAACyJ,SAAS,CAACF,KAAK,CAACG,QAAQ,EAAE3J,KAAK,CAACA,KAAK,CAAC;IAC/D,IAAIyB,KAAK,GAAsBC,SAAS;IACxCe,IAAI,CAACuE,OAAO,CAAC,CAACU,GAAG,EAAEf,MAAM,EAAEG,OAAO,KAAI;MACpC,IAAIY,GAAG,EAAE;QACPnB,MAAM,CACJ/G,MAAM,CAAC8F,IAAI,CACT,IAAI1E,QAAQ,CAAC;UACXiE,MAAM,EAAEjD,aAAa,CACnB8F,GAAG,EACH,8CAA8C,EAC9C,mBAAmB;SAEtB,CAAC,CACH,CACF;MACH,CAAC,MAAM;QACLnB,MAAM,CAAC/G,MAAM,CAACoK,EAAE,CACd5J,KAAK,CAACmJ,YAAY,CAChBH,KAAK,EACLxJ,MAAM,CAAC+H,IAAI,CAAC,MAAK;UACfZ,MAAO,CAACI,GAAG,CAAC,OAAO,EAAEH,OAAO,CAAC;UAC7BE,OAAO,CAACrF,KAAK,CAAC;QAChB,CAAC,CAAC,CACH,EACDkF,MAAO,CACR,CAAC;MACJ;MACA,SAASC,OAAOA,CAACiD,MAAa;QAC5BpI,KAAK,GAAGoI,MAAM;MAChB;MACAlD,MAAO,CAACrC,EAAE,CAAC,OAAO,EAAEsC,OAAO,CAAC;IAC9B,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,MAAMkD,OAAO,GAAGtK,MAAM,CAACuI,GAAG,CAACmB,UAAU,EAAGvC,MAAM,IAAK,IAAIV,cAAc,CAACU,MAAM,CAAC,CAAC;EAE9E,MAAMoD,mBAAmB,GAAIhB,CAAQ,IAAI,CACzC,CAAC;EAED,MAAMiB,YAAY,GAAG,OAAOlK,KAAK,CAACsC,IAAI,CAAC;IACrCG,OAAO,EAAE/C,MAAM,CAACgF,cAAc,CAC5BhF,MAAM,CAACiF,UAAU,CAAC;MAChBC,GAAG,EAAE,MAAAA,CAAA,KAAW;QACd,MAAMiC,MAAM,GAAG,IAAI1F,EAAE,CAACb,MAAM,CAACqC,IAAI,CAACJ,OAAO,CAAC;QAC1C,MAAMsE,MAAM,CAACK,OAAO,EAAE;QACtBL,MAAM,CAACrC,EAAE,CAAC,OAAO,EAAEyF,mBAAmB,CAAC;QACvC,OAAOpD,MAAM;MACf,CAAC;MACD/B,KAAK,EAAGnD,KAAK,IACX,IAAIb,QAAQ,CAAC;QACXiE,MAAM,EAAEjD,aAAa,CAACH,KAAK,EAAE,yCAAyC,EAAE,mBAAmB;OAC5F;KACJ,CAAC,EACDkF,MAAM,IACLnH,MAAM,CAACsF,OAAO,CAAC,MAAK;MAClB6B,MAAM,CAACI,GAAG,CAAC,OAAO,EAAEgD,mBAAmB,CAAC;MACxC,OAAOpD,MAAM,CAAC5B,GAAG,EAAE;IACrB,CAAC,CAAC,CAACC,IAAI,CACLxF,MAAM,CAACyF,aAAa,CAAC,IAAI,CAAC,CAC3B;GAEN,CAAC;EAEF,IAAIgF,MAAM,GAAmB;IAC3BrH,GAAG,EAAEH,IAAI,CAACJ,OAAO,CAACM,gBAAgB,GAAG5C,QAAQ,CAACqC,IAAI,CAACK,IAAI,CAACJ,OAAO,CAACM,gBAAgB,CAAC,GAAGjB,SAAS;IAC7FsB,IAAI,EAAEP,IAAI,CAACJ,OAAO,CAACW,IAAI;IACvBI,IAAI,EAAEX,IAAI,CAACJ,OAAO,CAACe,IAAI;IACvBH,QAAQ,EAAER,IAAI,CAACJ,OAAO,CAACY,QAAQ;IAC/BF,QAAQ,EAAEN,IAAI,CAACJ,OAAO,CAACS,IAAI;IAC3BI,QAAQ,EAAE,OAAOT,IAAI,CAACJ,OAAO,CAACa,QAAQ,KAAK,QAAQ,GAAGnD,QAAQ,CAACqC,IAAI,CAACK,IAAI,CAACJ,OAAO,CAACa,QAAQ,CAAC,GAAGxB,SAAS;IACtGyB,GAAG,EAAEV,IAAI,CAACJ,OAAO,CAACc,GAAG;IACrBiB,eAAe,EAAE3B,IAAI,CAACJ,OAAO,CAAC8B,gBAAgB;IAC9CE,KAAK,EAAE5B,IAAI,CAACJ,OAAO,CAACgC;GACrB;EACD,IAAI5B,IAAI,CAACJ,OAAO,CAACM,gBAAgB,EAAE;IACjC;IACA,IAAI;MACF,MAAMuH,MAAM,GAAGhJ,YAAY,CAACiJ,KAAK,CAAC1H,IAAI,CAACJ,OAAO,CAACM,gBAAgB,CAAC;MAChEsH,MAAM,GAAG;QACP,GAAGA,MAAM;QACTjH,IAAI,EAAEiH,MAAM,CAACjH,IAAI,IAAIkH,MAAM,CAAClH,IAAI,IAAItB,SAAS;QAC7C0B,IAAI,EAAE6G,MAAM,CAAC7G,IAAI,KAAK8G,MAAM,CAAC9G,IAAI,GAAGxD,MAAM,CAACwK,cAAc,CAACzK,MAAM,CAACwK,KAAK,CAACD,MAAM,CAAC9G,IAAI,CAAC,CAAC,GAAG1B,SAAS,CAAC;QACjGqB,QAAQ,EAAEkH,MAAM,CAAClH,QAAQ,IAAImH,MAAM,CAACpH,IAAI,IAAIpB,SAAS;QACrDwB,QAAQ,EAAE+G,MAAM,CAAC/G,QAAQ,KAAKgH,MAAM,CAAChH,QAAQ,GAAGnD,QAAQ,CAACqC,IAAI,CAAC8H,MAAM,CAAChH,QAAQ,CAAC,GAAGxB,SAAS,CAAC;QAC3FuB,QAAQ,EAAEgH,MAAM,CAAChH,QAAQ,IAAIiH,MAAM,CAACjH,QAAQ,IAAIvB;OACjD;IACH,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,OAAO2I,MAAM,CAACC,MAAM,CAClB,OAAOlK,MAAM,CAACgC,IAAI,CAAC;IACjBmI,QAAQ,EAAE/K,MAAM,CAACoI,OAAO,CAAC,IAAI3B,cAAc,EAAE,CAAC;IAC9CuE,mBAAmB,EAAEV,OAAO;IAC5BrE,QAAQ;IACRgF,cAAc,EAAE,CACd,IAAIpI,OAAO,CAACoI,cAAc,GAAGJ,MAAM,CAACK,OAAO,CAACrI,OAAO,CAACoI,cAAc,CAAC,GAAG,EAAE,CAAC,EACzE,CAACrJ,mBAAmB,EAAE,YAAY,CAAC,EACnC,CAACC,iBAAiB,EAAE4I,MAAM,CAAChH,QAAQ,IAAIgH,MAAM,CAAClH,QAAQ,IAAI,UAAU,CAAC,EACrE,CAACzB,mBAAmB,EAAE2I,MAAM,CAACjH,IAAI,IAAI,WAAW,CAAC,EACjD,CAACzB,gBAAgB,EAAE0I,MAAM,CAAC7G,IAAI,IAAI,IAAI,CAAC,CACxC;IACDyC;GACD,CAAC,EACF;IACE,CAAC5D,MAAM,GAAGA,MAAgB;IAC1BgI,MAAM;IACNU,IAAI,EAAG5B,CAAU,IAAK/H,SAAS,CAAC4J,QAAQ,CAAC,CAACC,MAAM,CAAC9B,CAAC,CAAC,CAAC,CAAC;IACrD+B,MAAM,EAAGC,OAAe,IACtB7K,MAAM,CAACoG,QAAQ,CAAmB9G,MAAM,CAACgG,UAAU,CAAC,WAAUwF,KAAK;MACjE,MAAMrE,MAAM,GAAG,OAAO7G,KAAK,CAACmL,GAAG,CAACjB,YAAY,CAAC;MAC7C,SAASkB,cAAcA,CAACC,GAAoB;QAC1C,IAAIA,GAAG,CAACJ,OAAO,KAAKA,OAAO,IAAII,GAAG,CAACC,OAAO,EAAE;UAC1CvL,KAAK,CAACwL,WAAW,CAACL,KAAK,EAAEG,GAAG,CAACC,OAAO,CAAC;QACvC;MACF;MACA,OAAO5L,MAAM,CAAC2J,YAAY,CAAC,MACzB3J,MAAM,CAACsF,OAAO,CAAC,MAAK;QAClB6B,MAAM,CAACI,GAAG,CAAC,cAAc,EAAEmE,cAAc,CAAC;QAC1C,OAAOvE,MAAM,CAAChC,KAAK,CAAC,YAAY1D,EAAE,CAACqK,gBAAgB,CAACP,OAAO,CAAC,EAAE,CAAC;MACjE,CAAC,CAAC,CACH;MACD,OAAOvL,MAAM,CAACiF,UAAU,CAAC;QACvBC,GAAG,EAAEA,CAAA,KAAMiC,MAAM,CAAChC,KAAK,CAAC,UAAU1D,EAAE,CAACqK,gBAAgB,CAACP,OAAO,CAAC,EAAE,CAAC;QACjEnG,KAAK,EAAGnD,KAAK,IAAK,IAAIb,QAAQ,CAAC;UAAEiE,MAAM,EAAEjD,aAAa,CAACH,KAAK,EAAE,kBAAkB,EAAE,QAAQ;QAAC,CAAE;OAC9F,CAAC;MACFkF,MAAM,CAACrC,EAAE,CAAC,cAAc,EAAE4G,cAAc,CAAC;IAC3C,CAAC,CAAC,CAAC;IACLK,MAAM,EAAEA,CAACR,OAAe,EAAEK,OAAe,KACvC5L,MAAM,CAAC8G,QAAQ,CAAkBC,MAAM,IAAI;MACzC9D,IAAI,CAACkC,KAAK,CAAC,UAAU1D,EAAE,CAACqK,gBAAgB,CAACP,OAAO,CAAC,MAAM,EAAE,CAACK,OAAO,CAAC,EAAG1D,GAAG,IAAI;QAC1E,IAAIA,GAAG,EAAE;UACPnB,MAAM,CAAC/G,MAAM,CAAC8F,IAAI,CAAC,IAAI1E,QAAQ,CAAC;YAAEiE,MAAM,EAAEjD,aAAa,CAAC8F,GAAG,EAAE,kBAAkB,EAAE,QAAQ;UAAC,CAAE,CAAC,CAAC,CAAC;QACjG,CAAC,MAAM;UACLnB,MAAM,CAAC/G,MAAM,CAAC6H,IAAI,CAAC;QACrB;MACF,CAAC,CAAC;IACJ,CAAC;GACJ,CACF;AACH,CAAC,CAAC;AAEF,MAAMmE,aAAa,gBAAG,IAAIC,OAAO,EAAkD;AACnF,MAAMjF,UAAU,GAAGA,CAAC/D,IAAa,EAAEkE,MAAqB,KAAI;EAC1D,IAAI6E,aAAa,CAACE,GAAG,CAAC/E,MAAM,CAAC,EAAE;IAC7B,OAAO6E,aAAa,CAACP,GAAG,CAACtE,MAAM,CAAE;EACnC;EACA,MAAMgF,SAAS,GAAIhF,MAAc,CAACiF,SAAS;EAC3C,MAAMzE,GAAG,GAAGwE,SAAS,KAAKjK;EACxB;EAAA,EACElC,MAAM,CAAC8G,QAAQ,CAAQC,MAAM,IAAI;IACjC,IAAI9D,IAAI,CAACoJ,MAAM,EAAE,OAAOtF,MAAM,CAAC/G,MAAM,CAAC6H,IAAI,CAAC;IAC3C5E,IAAI,CAACkC,KAAK,CAAC,4BAA4BgH,SAAS,GAAG,EAAE,MAAK;MACxDpF,MAAM,CAAC/G,MAAM,CAAC6H,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC,CAACrC,IAAI,CACLxF,MAAM,CAACsM,aAAa,EACpBtM,MAAM,CAACyF,aAAa,CAAC,IAAI,CAAC,CAC3B,GACCvD,SAAS;EACb8J,aAAa,CAACO,GAAG,CAACpF,MAAM,EAAEQ,GAAG,CAAC;EAC9B,OAAOA,GAAG;AACZ,CAAC;AAED;;;;AAIA,OAAO,MAAM6E,WAAW,GAGtB/B,MAAmC,IAEnCvK,KAAK,CAACuM,cAAc,CAClB3M,MAAM,CAAC4M,MAAM,CAACjC,MAAM,CAAC,CAACkC,QAAQ,EAAE,CAACnH,IAAI,CACnCxF,MAAM,CAAC4M,OAAO,CAAChK,IAAI,CAAC,EACpB5C,MAAM,CAACuI,GAAG,CAAEpB,MAAM,IAChB1G,UAAU,CAACmC,IAAI,CAACF,QAAQ,EAAEyE,MAAM,CAAC,CAAC3B,IAAI,CACpC/E,UAAU,CAACoM,GAAG,CAACjM,MAAM,CAACkM,SAAS,EAAE3F,MAAM,CAAC,CACzC,CACF,CACF,CACF,CAAC3B,IAAI,CAACtF,KAAK,CAACuJ,OAAO,CAAC9I,UAAU,CAACoM,KAAK,CAAC,CAAC;AAEzC;;;;AAIA,OAAO,MAAMA,KAAK,GAChBtC,MAAsB,IAEtBvK,KAAK,CAACuM,cAAc,CAClBzM,MAAM,CAACuI,GAAG,CAAC3F,IAAI,CAAC6H,MAAM,CAAC,EAAGtD,MAAM,IAC9B1G,UAAU,CAACmC,IAAI,CAACF,QAAQ,EAAEyE,MAAM,CAAC,CAAC3B,IAAI,CACpC/E,UAAU,CAACoM,GAAG,CAACjM,MAAM,CAACkM,SAAS,EAAE3F,MAAM,CAAC,CACzC,CAAC,CACL,CAAC3B,IAAI,CAACtF,KAAK,CAACuJ,OAAO,CAAC9I,UAAU,CAACoM,KAAK,CAAC,CAAC;AAEzC;;;;AAIA,OAAO,MAAMC,aAAa,GAAInK,OAU7B,IACC3C,KAAK,CAACuM,cAAc,CAClBzM,MAAM,CAACuI,GAAG,CAACzF,QAAQ,CAACD,OAAO,CAAC,EAAGsE,MAAM,IACnC1G,UAAU,CAACmC,IAAI,CAACF,QAAQ,EAAEyE,MAAM,CAAC,CAAC3B,IAAI,CACpC/E,UAAU,CAACoM,GAAG,CAACjM,MAAM,CAACkM,SAAS,EAAE3F,MAAM,CAAC,CACzC,CAAC,CACL,CAAC3B,IAAI,CAACtF,KAAK,CAACuJ,OAAO,CAAC9I,UAAU,CAACoM,KAAK,CAAC,CAAC;AAEzC;;;;AAIA,OAAO,MAAM7G,YAAY,GAAGA,CAC1B+G,SAAiC,EACjC7G,aAAa,GAAG,IAAI,KACE;EACtB,MAAM8G,cAAc,GAAG9G,aAAa,IAAI6G,SAAS,GAC7CzL,SAAS,CAAC+E,iBAAiB,CAAC0G,SAAS,CAAC,CAAC5J,KAAK,GAC5CnB,SAAS;EAEb,OAAOV,SAAS,CAAC0E,YAAY,CAAW;IACtCiH,OAAO,EAAE,IAAI;IACbC,WAAWA,CAAC7D,CAAC;MACX,OAAO,IAAIA,CAAC,EAAE;IAChB,CAAC;IACD8D,YAAY,EAAEJ,SAAS,GACrB,UAAS5J,KAAK,EAAEiK,gBAAgB;MAC9B,OAAOA,gBAAgB,GAAGC,MAAM,CAAClK,KAAK,CAAC,GAAGkK,MAAM,CAACN,SAAS,CAAC5J,KAAK,CAAC,CAAC;IACpE,CAAC,GACDkK,MAAM;IACRC,cAAcA,CAACC,YAAY,EAAEC,UAAU,EAAEC,YAAY,EAAE1E,MAAM,EAAE2E,SAAS;MACtE,OAAO,CACL,WAAWH,YAAY,QAAQC,UAAU,GAAGC,YAAY,GAAGC,SAAS,GAAG,cAAcA,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAC1GA,SAAS,GACP3E,MAAM,CAAC4E,IAAI,EAAE,CAACC,MAAM,CAACF,SAAS,CAAC,CAAC,CAAC,CAAC,GAClC3E,MAAM,CAAC4E,IAAI,EAAE,CAChB;IACH,CAAC;IACDE,QAAQA,CAACC,IAAI,EAAEZ,WAAW,EAAEE,gBAAgB;MAC1C,QAAQU,IAAI,CAACC,IAAI;QACf,KAAK,QAAQ;UAAE;YACb,OAAO,CACLb,WAAW,CAAClL,SAAS,CAAC,EACtB,CACEoL,gBAAgB,IAAIJ,cAAc,KAAKhL,SAAS,GAC5C8L,IAAI,CAACE,MAAM,GACXhB,cAAc,CAACc,IAAI,CAACE,MAAM,CAAC,CAChC,CACF;UACH;MACF;IACF;GACD,CAAC;AACJ,CAAC;AAED,MAAMX,MAAM,gBAAG/L,SAAS,CAAC2M,aAAa,CAAC,IAAI,CAAC;AAa5C;;;;AAIA,MAAM9C,MAAM,gBAAG7J,SAAS,CAAC4M,MAAM,CAAS,QAAQ,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/sql-pg",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.37",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A PostgreSQL toolkit for Effect",
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"@testcontainers/postgresql": "^11.11.0",
|
|
47
47
|
"@types/pg": "^8.16.0",
|
|
48
48
|
"@types/pg-cursor": "^2.7.2",
|
|
49
|
-
"effect": "^4.0.0-beta.
|
|
49
|
+
"effect": "^4.0.0-beta.37"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"effect": "^4.0.0-beta.
|
|
52
|
+
"effect": "^4.0.0-beta.37"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"pg": "^8.18.0",
|
package/src/PgClient.ts
CHANGED
|
@@ -20,7 +20,19 @@ import * as Stream from "effect/Stream"
|
|
|
20
20
|
import * as Reactivity from "effect/unstable/reactivity/Reactivity"
|
|
21
21
|
import * as Client from "effect/unstable/sql/SqlClient"
|
|
22
22
|
import type { Connection } from "effect/unstable/sql/SqlConnection"
|
|
23
|
-
import {
|
|
23
|
+
import {
|
|
24
|
+
AuthenticationError,
|
|
25
|
+
AuthorizationError,
|
|
26
|
+
ConnectionError,
|
|
27
|
+
ConstraintError,
|
|
28
|
+
DeadlockError,
|
|
29
|
+
LockTimeoutError,
|
|
30
|
+
SerializationError,
|
|
31
|
+
SqlError,
|
|
32
|
+
SqlSyntaxError,
|
|
33
|
+
StatementTimeoutError,
|
|
34
|
+
UnknownError
|
|
35
|
+
} from "effect/unstable/sql/SqlError"
|
|
24
36
|
import type { Custom, Fragment } from "effect/unstable/sql/Statement"
|
|
25
37
|
import * as Statement from "effect/unstable/sql/Statement"
|
|
26
38
|
import type { Duplex } from "node:stream"
|
|
@@ -34,6 +46,53 @@ const ATTR_DB_NAMESPACE = "db.namespace"
|
|
|
34
46
|
const ATTR_SERVER_ADDRESS = "server.address"
|
|
35
47
|
const ATTR_SERVER_PORT = "server.port"
|
|
36
48
|
|
|
49
|
+
const pgCodeFromCause = (cause: unknown): string | undefined => {
|
|
50
|
+
if (typeof cause !== "object" || cause === null || !("code" in cause)) {
|
|
51
|
+
return undefined
|
|
52
|
+
}
|
|
53
|
+
const code = cause.code
|
|
54
|
+
return typeof code === "string" ? code : undefined
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const classifyError = (
|
|
58
|
+
cause: unknown,
|
|
59
|
+
message: string,
|
|
60
|
+
operation: string
|
|
61
|
+
) => {
|
|
62
|
+
const props = { cause, message, operation }
|
|
63
|
+
const code = pgCodeFromCause(cause)
|
|
64
|
+
if (code !== undefined) {
|
|
65
|
+
if (code.startsWith("08")) {
|
|
66
|
+
return new ConnectionError(props)
|
|
67
|
+
}
|
|
68
|
+
if (code.startsWith("28")) {
|
|
69
|
+
return new AuthenticationError(props)
|
|
70
|
+
}
|
|
71
|
+
if (code === "42501") {
|
|
72
|
+
return new AuthorizationError(props)
|
|
73
|
+
}
|
|
74
|
+
if (code.startsWith("42")) {
|
|
75
|
+
return new SqlSyntaxError(props)
|
|
76
|
+
}
|
|
77
|
+
if (code.startsWith("23")) {
|
|
78
|
+
return new ConstraintError(props)
|
|
79
|
+
}
|
|
80
|
+
if (code === "40P01") {
|
|
81
|
+
return new DeadlockError(props)
|
|
82
|
+
}
|
|
83
|
+
if (code === "40001") {
|
|
84
|
+
return new SerializationError(props)
|
|
85
|
+
}
|
|
86
|
+
if (code === "55P03") {
|
|
87
|
+
return new LockTimeoutError(props)
|
|
88
|
+
}
|
|
89
|
+
if (code === "57014") {
|
|
90
|
+
return new StatementTimeoutError(props)
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return new UnknownError(props)
|
|
94
|
+
}
|
|
95
|
+
|
|
37
96
|
/**
|
|
38
97
|
* @category type ids
|
|
39
98
|
* @since 1.0.0
|
|
@@ -136,7 +195,7 @@ export const make = (
|
|
|
136
195
|
yield* Effect.acquireRelease(
|
|
137
196
|
Effect.tryPromise({
|
|
138
197
|
try: () => pool.query("SELECT 1"),
|
|
139
|
-
catch: (cause) => new SqlError({ cause,
|
|
198
|
+
catch: (cause) => new SqlError({ reason: classifyError(cause, "PgClient: Failed to connect", "connect") })
|
|
140
199
|
}),
|
|
141
200
|
() =>
|
|
142
201
|
Effect.promise(() => pool.end()).pipe(
|
|
@@ -148,8 +207,11 @@ export const make = (
|
|
|
148
207
|
onTimeout: () =>
|
|
149
208
|
Effect.fail(
|
|
150
209
|
new SqlError({
|
|
151
|
-
|
|
152
|
-
|
|
210
|
+
reason: new ConnectionError({
|
|
211
|
+
cause: new Error("Connection timed out"),
|
|
212
|
+
message: "PgClient: Connection timed out",
|
|
213
|
+
operation: "connect"
|
|
214
|
+
})
|
|
153
215
|
})
|
|
154
216
|
)
|
|
155
217
|
})
|
|
@@ -208,7 +270,7 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
208
270
|
let client: Pg.PoolClient | undefined = undefined
|
|
209
271
|
function onError(cause: Error) {
|
|
210
272
|
cleanup(cause)
|
|
211
|
-
resume(Effect.fail(new SqlError({ cause,
|
|
273
|
+
resume(Effect.fail(new SqlError({ reason: classifyError(cause, "Connection error", "acquireConnection") })))
|
|
212
274
|
}
|
|
213
275
|
function cleanup(cause?: Error) {
|
|
214
276
|
if (!done) client?.release(cause)
|
|
@@ -217,11 +279,23 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
217
279
|
}
|
|
218
280
|
pool.connect((cause, client_) => {
|
|
219
281
|
if (cause) {
|
|
220
|
-
return resume(
|
|
282
|
+
return resume(
|
|
283
|
+
Effect.fail(
|
|
284
|
+
new SqlError({
|
|
285
|
+
reason: classifyError(cause, "Failed to acquire connection", "acquireConnection")
|
|
286
|
+
})
|
|
287
|
+
)
|
|
288
|
+
)
|
|
221
289
|
} else if (!client_) {
|
|
222
290
|
return resume(
|
|
223
291
|
Effect.fail(
|
|
224
|
-
new SqlError({
|
|
292
|
+
new SqlError({
|
|
293
|
+
reason: new ConnectionError({
|
|
294
|
+
message: "Failed to acquire connection",
|
|
295
|
+
cause: new Error("No client returned"),
|
|
296
|
+
operation: "acquireConnection"
|
|
297
|
+
})
|
|
298
|
+
})
|
|
225
299
|
)
|
|
226
300
|
)
|
|
227
301
|
} else if (done) {
|
|
@@ -250,7 +324,9 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
250
324
|
return this.runWithClient<ReadonlyArray<any>>((client, resume) => {
|
|
251
325
|
client.query(query, params as any, (err, result) => {
|
|
252
326
|
if (err) {
|
|
253
|
-
resume(
|
|
327
|
+
resume(
|
|
328
|
+
Effect.fail(new SqlError({ reason: classifyError(err, "Failed to execute statement", "execute") }))
|
|
329
|
+
)
|
|
254
330
|
} else {
|
|
255
331
|
// Multi-statement queries return an array of results
|
|
256
332
|
resume(Effect.succeed(
|
|
@@ -276,7 +352,9 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
276
352
|
return this.runWithClient<Pg.Result>((client, resume) => {
|
|
277
353
|
client.query(sql, params as any, (err, result) => {
|
|
278
354
|
if (err) {
|
|
279
|
-
resume(
|
|
355
|
+
resume(
|
|
356
|
+
Effect.fail(new SqlError({ reason: classifyError(err, "Failed to execute statement", "execute") }))
|
|
357
|
+
)
|
|
280
358
|
} else {
|
|
281
359
|
resume(Effect.succeed(result))
|
|
282
360
|
}
|
|
@@ -296,7 +374,9 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
296
374
|
},
|
|
297
375
|
(err, result) => {
|
|
298
376
|
if (err) {
|
|
299
|
-
resume(
|
|
377
|
+
resume(
|
|
378
|
+
Effect.fail(new SqlError({ reason: classifyError(err, "Failed to execute statement", "execute") }))
|
|
379
|
+
)
|
|
300
380
|
} else {
|
|
301
381
|
resume(Effect.succeed(result.rows))
|
|
302
382
|
}
|
|
@@ -326,7 +406,7 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
326
406
|
return Effect.callback<Arr.NonEmptyReadonlyArray<any>, SqlError | Cause.Done>((resume) => {
|
|
327
407
|
cursor.read(128, (err, rows) => {
|
|
328
408
|
if (err) {
|
|
329
|
-
resume(Effect.fail(new SqlError({
|
|
409
|
+
resume(Effect.fail(new SqlError({ reason: classifyError(err, "Failed to execute statement", "stream") })))
|
|
330
410
|
} else if (Arr.isArrayNonEmpty(rows)) {
|
|
331
411
|
resume(Effect.succeed(transformRows ? transformRows(rows) as any : rows))
|
|
332
412
|
} else {
|
|
@@ -344,7 +424,17 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
344
424
|
let cause: Error | undefined = undefined
|
|
345
425
|
pool.connect((err, client, release) => {
|
|
346
426
|
if (err) {
|
|
347
|
-
resume(
|
|
427
|
+
resume(
|
|
428
|
+
Effect.fail(
|
|
429
|
+
new SqlError({
|
|
430
|
+
reason: classifyError(
|
|
431
|
+
err,
|
|
432
|
+
"Failed to acquire connection for transaction",
|
|
433
|
+
"acquireConnection"
|
|
434
|
+
)
|
|
435
|
+
})
|
|
436
|
+
)
|
|
437
|
+
)
|
|
348
438
|
} else {
|
|
349
439
|
resume(Effect.as(
|
|
350
440
|
Scope.addFinalizer(
|
|
@@ -365,8 +455,31 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
365
455
|
})
|
|
366
456
|
const reserve = Effect.map(reserveRaw, (client) => new ConnectionImpl(client))
|
|
367
457
|
|
|
458
|
+
const onListenClientError = (_: Error) => {
|
|
459
|
+
}
|
|
460
|
+
|
|
368
461
|
const listenClient = yield* RcRef.make({
|
|
369
|
-
acquire:
|
|
462
|
+
acquire: Effect.acquireRelease(
|
|
463
|
+
Effect.tryPromise({
|
|
464
|
+
try: async () => {
|
|
465
|
+
const client = new Pg.Client(pool.options)
|
|
466
|
+
await client.connect()
|
|
467
|
+
client.on("error", onListenClientError)
|
|
468
|
+
return client
|
|
469
|
+
},
|
|
470
|
+
catch: (cause) =>
|
|
471
|
+
new SqlError({
|
|
472
|
+
reason: classifyError(cause, "Failed to acquire connection for listen", "acquireConnection")
|
|
473
|
+
})
|
|
474
|
+
}),
|
|
475
|
+
(client) =>
|
|
476
|
+
Effect.promise(() => {
|
|
477
|
+
client.off("error", onListenClientError)
|
|
478
|
+
return client.end()
|
|
479
|
+
}).pipe(
|
|
480
|
+
Effect.timeoutOption(1000)
|
|
481
|
+
)
|
|
482
|
+
)
|
|
370
483
|
})
|
|
371
484
|
|
|
372
485
|
let config: PgClientConfig = {
|
|
@@ -431,7 +544,7 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
431
544
|
)
|
|
432
545
|
yield* Effect.tryPromise({
|
|
433
546
|
try: () => client.query(`LISTEN ${Pg.escapeIdentifier(channel)}`),
|
|
434
|
-
catch: (cause) => new SqlError({ cause,
|
|
547
|
+
catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to listen", "listen") })
|
|
435
548
|
})
|
|
436
549
|
client.on("notification", onNotification)
|
|
437
550
|
})),
|
|
@@ -439,7 +552,7 @@ export const fromPool = Effect.fnUntraced(function*(
|
|
|
439
552
|
Effect.callback<void, SqlError>((resume) => {
|
|
440
553
|
pool.query(`NOTIFY ${Pg.escapeIdentifier(channel)}, $1`, [payload], (err) => {
|
|
441
554
|
if (err) {
|
|
442
|
-
resume(Effect.fail(new SqlError({
|
|
555
|
+
resume(Effect.fail(new SqlError({ reason: classifyError(err, "Failed to notify", "notify") })))
|
|
443
556
|
} else {
|
|
444
557
|
resume(Effect.void)
|
|
445
558
|
}
|