@event-driven-io/emmett-postgresql 0.38.1 → 0.38.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/dist/index.cjs +26 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +26 -9
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var _dumbo = require('@event-driven-io/dumbo');
|
|
5
5
|
|
|
6
|
-
// ../emmett/dist/chunk-
|
|
6
|
+
// ../emmett/dist/chunk-O2VMBOV4.js
|
|
7
7
|
var isNumber = (val) => typeof val === "number" && val === val;
|
|
8
8
|
var isBigint = (val) => typeof val === "bigint" && val === val;
|
|
9
9
|
var isString = (val) => typeof val === "string";
|
|
@@ -20,6 +20,15 @@ var EmmettError = class _EmmettError extends Error {
|
|
|
20
20
|
this.errorCode = errorCode;
|
|
21
21
|
Object.setPrototypeOf(this, _EmmettError.prototype);
|
|
22
22
|
}
|
|
23
|
+
static mapFrom(error) {
|
|
24
|
+
if (error instanceof _EmmettError) {
|
|
25
|
+
return error;
|
|
26
|
+
}
|
|
27
|
+
return new _EmmettError({
|
|
28
|
+
errorCode: "errorCode" in error && error.errorCode !== void 0 && error.errorCode !== null ? error.errorCode : 500,
|
|
29
|
+
message: _nullishCoalesce(error.message, () => ( "An unknown error occurred"))
|
|
30
|
+
});
|
|
31
|
+
}
|
|
23
32
|
};
|
|
24
33
|
var ConcurrencyError = class _ConcurrencyError extends EmmettError {
|
|
25
34
|
constructor(current, expected, message) {
|
|
@@ -139,6 +148,7 @@ var asyncRetry = async (fn, opts) => {
|
|
|
139
148
|
} catch (error2) {
|
|
140
149
|
if (_optionalChain([opts, 'optionalAccess', _15 => _15.shouldRetryError]) && !opts.shouldRetryError(error2)) {
|
|
141
150
|
bail(error2);
|
|
151
|
+
return void 0;
|
|
142
152
|
}
|
|
143
153
|
throw error2;
|
|
144
154
|
}
|
|
@@ -299,10 +309,12 @@ var NotifyAboutNoActiveReadersStream = (_class = class extends _webstreamspolyfi
|
|
|
299
309
|
}
|
|
300
310
|
}
|
|
301
311
|
}, _class);
|
|
302
|
-
var
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
312
|
+
var getCheckpoint = (message2) => {
|
|
313
|
+
return "checkpoint" in message2.metadata && // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
314
|
+
isBigint(message2.metadata.checkpoint) ? (
|
|
315
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
316
|
+
message2.metadata.checkpoint
|
|
317
|
+
) : "globalPosition" in message2.metadata && // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
306
318
|
isBigint(message2.metadata.globalPosition) ? (
|
|
307
319
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
308
320
|
message2.metadata.globalPosition
|
|
@@ -312,6 +324,11 @@ var getCheckpoint = (message2, context) => {
|
|
|
312
324
|
message2.metadata.streamPosition
|
|
313
325
|
) : null;
|
|
314
326
|
};
|
|
327
|
+
var wasMessageHandled = (message2, checkpoint) => {
|
|
328
|
+
const messageCheckpoint = getCheckpoint(message2);
|
|
329
|
+
const checkpointBigint = checkpoint;
|
|
330
|
+
return messageCheckpoint !== null && messageCheckpoint !== void 0 && checkpointBigint !== null && checkpointBigint !== void 0 && messageCheckpoint <= checkpointBigint;
|
|
331
|
+
};
|
|
315
332
|
var MessageProcessorType = {
|
|
316
333
|
PROJECTOR: "projector",
|
|
317
334
|
REACTOR: "reactor"
|
|
@@ -363,6 +380,7 @@ var reactor = (options) => {
|
|
|
363
380
|
return await processingScope(async (context) => {
|
|
364
381
|
let result = void 0;
|
|
365
382
|
for (const message2 of messages) {
|
|
383
|
+
if (wasMessageHandled(message2, lastCheckpoint)) continue;
|
|
366
384
|
const messageProcessingResult = await eachMessage(message2, context);
|
|
367
385
|
if (checkpoints) {
|
|
368
386
|
const storeCheckpointResult = await checkpoints.store(
|
|
@@ -371,12 +389,11 @@ var reactor = (options) => {
|
|
|
371
389
|
version: options.version,
|
|
372
390
|
message: message2,
|
|
373
391
|
lastCheckpoint,
|
|
374
|
-
partition: options.partition
|
|
375
|
-
getCheckpoint: contextualGetCheckpoint(context)
|
|
392
|
+
partition: options.partition
|
|
376
393
|
},
|
|
377
394
|
context
|
|
378
395
|
);
|
|
379
|
-
if (storeCheckpointResult
|
|
396
|
+
if (storeCheckpointResult.success) {
|
|
380
397
|
lastCheckpoint = storeCheckpointResult.newCheckpoint;
|
|
381
398
|
}
|
|
382
399
|
}
|
|
@@ -1477,7 +1494,7 @@ var postgreSQLCheckpointer = () => ({
|
|
|
1477
1494
|
return { lastCheckpoint: _optionalChain([result, 'optionalAccess', _48 => _48.lastProcessedPosition]) };
|
|
1478
1495
|
},
|
|
1479
1496
|
store: async (options, context) => {
|
|
1480
|
-
const newPosition = getCheckpoint(options.message
|
|
1497
|
+
const newPosition = getCheckpoint(options.message);
|
|
1481
1498
|
const result = await storeProcessorCheckpoint(context.execute, {
|
|
1482
1499
|
lastProcessedPosition: options.lastCheckpoint,
|
|
1483
1500
|
newPosition,
|