@event-driven-io/emmett-postgresql 0.38.2 → 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 CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  var _dumbo = require('@event-driven-io/dumbo');
5
5
 
6
- // ../emmett/dist/chunk-SJ7ERGWB.js
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
  }
@@ -314,6 +324,11 @@ var getCheckpoint = (message2) => {
314
324
  message2.metadata.streamPosition
315
325
  ) : null;
316
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
+ };
317
332
  var MessageProcessorType = {
318
333
  PROJECTOR: "projector",
319
334
  REACTOR: "reactor"
@@ -365,6 +380,7 @@ var reactor = (options) => {
365
380
  return await processingScope(async (context) => {
366
381
  let result = void 0;
367
382
  for (const message2 of messages) {
383
+ if (wasMessageHandled(message2, lastCheckpoint)) continue;
368
384
  const messageProcessingResult = await eachMessage(message2, context);
369
385
  if (checkpoints) {
370
386
  const storeCheckpointResult = await checkpoints.store(
@@ -377,7 +393,7 @@ var reactor = (options) => {
377
393
  },
378
394
  context
379
395
  );
380
- if (storeCheckpointResult && storeCheckpointResult.success) {
396
+ if (storeCheckpointResult.success) {
381
397
  lastCheckpoint = storeCheckpointResult.newCheckpoint;
382
398
  }
383
399
  }