@message-queue-toolkit/sqs 20.0.0 → 21.0.0

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.
Files changed (57) hide show
  1. package/dist/errors/SqsConsumerErrorResolver.js +34 -0
  2. package/dist/errors/SqsConsumerErrorResolver.js.map +1 -0
  3. package/dist/{lib/fakes → fakes}/FakeConsumerErrorResolver.d.ts +1 -1
  4. package/dist/fakes/FakeConsumerErrorResolver.js +19 -0
  5. package/dist/fakes/FakeConsumerErrorResolver.js.map +1 -0
  6. package/dist/index.d.ts +15 -15
  7. package/dist/index.js +11 -32
  8. package/dist/index.js.map +1 -1
  9. package/dist/{lib/sqs → sqs}/AbstractSqsConsumer.d.ts +4 -4
  10. package/dist/{lib/sqs → sqs}/AbstractSqsConsumer.js +29 -33
  11. package/dist/sqs/AbstractSqsConsumer.js.map +1 -0
  12. package/dist/{lib/sqs → sqs}/AbstractSqsPublisher.d.ts +3 -3
  13. package/dist/{lib/sqs → sqs}/AbstractSqsPublisher.js +14 -18
  14. package/dist/sqs/AbstractSqsPublisher.js.map +1 -0
  15. package/dist/{lib/sqs → sqs}/AbstractSqsService.d.ts +5 -1
  16. package/dist/sqs/AbstractSqsService.js +32 -0
  17. package/dist/sqs/AbstractSqsService.js.map +1 -0
  18. package/dist/types/MessageTypes.js +2 -0
  19. package/dist/{lib/types → types}/MessageTypes.js.map +1 -1
  20. package/dist/utils/messageUtils.js +17 -0
  21. package/dist/utils/messageUtils.js.map +1 -0
  22. package/dist/{lib/utils → utils}/sqsAttributeUtils.js +3 -8
  23. package/dist/utils/sqsAttributeUtils.js.map +1 -0
  24. package/dist/{lib/utils → utils}/sqsInitter.d.ts +1 -1
  25. package/dist/{lib/utils → utils}/sqsInitter.js +16 -21
  26. package/dist/utils/sqsInitter.js.map +1 -0
  27. package/dist/{lib/utils → utils}/sqsMessageDeserializer.d.ts +1 -1
  28. package/dist/utils/sqsMessageDeserializer.js +10 -0
  29. package/dist/utils/sqsMessageDeserializer.js.map +1 -0
  30. package/dist/{lib/utils → utils}/sqsMessageReader.d.ts +1 -1
  31. package/dist/{lib/utils → utils}/sqsMessageReader.js +1 -4
  32. package/dist/utils/sqsMessageReader.js.map +1 -0
  33. package/dist/{lib/utils → utils}/sqsUtils.d.ts +2 -1
  34. package/dist/{lib/utils → utils}/sqsUtils.js +41 -36
  35. package/dist/utils/sqsUtils.js.map +1 -0
  36. package/package.json +64 -59
  37. package/dist/lib/errors/SqsConsumerErrorResolver.js +0 -38
  38. package/dist/lib/errors/SqsConsumerErrorResolver.js.map +0 -1
  39. package/dist/lib/fakes/FakeConsumerErrorResolver.js +0 -23
  40. package/dist/lib/fakes/FakeConsumerErrorResolver.js.map +0 -1
  41. package/dist/lib/sqs/AbstractSqsConsumer.js.map +0 -1
  42. package/dist/lib/sqs/AbstractSqsPublisher.js.map +0 -1
  43. package/dist/lib/sqs/AbstractSqsService.js +0 -36
  44. package/dist/lib/sqs/AbstractSqsService.js.map +0 -1
  45. package/dist/lib/types/MessageTypes.js +0 -3
  46. package/dist/lib/utils/messageUtils.js +0 -22
  47. package/dist/lib/utils/messageUtils.js.map +0 -1
  48. package/dist/lib/utils/sqsAttributeUtils.js.map +0 -1
  49. package/dist/lib/utils/sqsInitter.js.map +0 -1
  50. package/dist/lib/utils/sqsMessageDeserializer.js +0 -14
  51. package/dist/lib/utils/sqsMessageDeserializer.js.map +0 -1
  52. package/dist/lib/utils/sqsMessageReader.js.map +0 -1
  53. package/dist/lib/utils/sqsUtils.js.map +0 -1
  54. /package/dist/{lib/errors → errors}/SqsConsumerErrorResolver.d.ts +0 -0
  55. /package/dist/{lib/types → types}/MessageTypes.d.ts +0 -0
  56. /package/dist/{lib/utils → utils}/messageUtils.d.ts +0 -0
  57. /package/dist/{lib/utils → utils}/sqsAttributeUtils.d.ts +0 -0
@@ -0,0 +1,34 @@
1
+ import { types } from 'node:util';
2
+ import { InternalError, isStandardizedError } from '@lokalise/node-core';
3
+ import { MessageInvalidFormatError, MessageValidationError } from '@message-queue-toolkit/core';
4
+ import { ZodError } from 'zod';
5
+ export class SqsConsumerErrorResolver {
6
+ processError(error) {
7
+ if (types.isNativeError(error) && error?.name === 'SyntaxError') {
8
+ return new MessageInvalidFormatError({
9
+ message: error.message,
10
+ });
11
+ }
12
+ if (error instanceof ZodError) {
13
+ return new MessageValidationError({
14
+ message: error.message,
15
+ details: {
16
+ error: error.issues,
17
+ },
18
+ });
19
+ }
20
+ if (isStandardizedError(error)) {
21
+ return new InternalError({
22
+ message: error.message,
23
+ errorCode: error.code,
24
+ });
25
+ }
26
+ /* c8 ignore start */
27
+ return new InternalError({
28
+ message: 'Error processing message',
29
+ errorCode: 'INTERNAL_ERROR',
30
+ });
31
+ /* c8 ignore stop */
32
+ }
33
+ }
34
+ //# sourceMappingURL=SqsConsumerErrorResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqsConsumerErrorResolver.js","sourceRoot":"","sources":["../../lib/errors/SqsConsumerErrorResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAGjC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAE9B,MAAM,OAAO,wBAAwB;IAC5B,YAAY,CAAC,KAAc;QAChC,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;YAChE,OAAO,IAAI,yBAAyB,CAAC;gBACnC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,sBAAsB,CAAC;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE;oBACP,KAAK,EAAE,KAAK,CAAC,MAAM;iBACpB;aACF,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,aAAa,CAAC;gBACvB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAC,CAAA;QACJ,CAAC;QACD,qBAAqB;QACrB,OAAO,IAAI,aAAa,CAAC;YACvB,OAAO,EAAE,0BAA0B;YACnC,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAA;QACF,oBAAoB;IACtB,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { SqsConsumerErrorResolver } from '../errors/SqsConsumerErrorResolver';
1
+ import { SqsConsumerErrorResolver } from '../errors/SqsConsumerErrorResolver.ts';
2
2
  export declare class FakeConsumerErrorResolver extends SqsConsumerErrorResolver {
3
3
  private _errors;
4
4
  constructor();
@@ -0,0 +1,19 @@
1
+ import { SqsConsumerErrorResolver } from "../errors/SqsConsumerErrorResolver.js";
2
+ export class FakeConsumerErrorResolver extends SqsConsumerErrorResolver {
3
+ _errors;
4
+ constructor() {
5
+ super();
6
+ this._errors = [];
7
+ }
8
+ processError(error) {
9
+ this._errors.push(error);
10
+ return super.processError(error);
11
+ }
12
+ get errors() {
13
+ return this._errors;
14
+ }
15
+ clear() {
16
+ this._errors = [];
17
+ }
18
+ }
19
+ //# sourceMappingURL=FakeConsumerErrorResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeConsumerErrorResolver.js","sourceRoot":"","sources":["../../lib/fakes/FakeConsumerErrorResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AAEhF,MAAM,OAAO,yBAA0B,SAAQ,wBAAwB;IAC7D,OAAO,CAAW;IAE1B;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IAEe,YAAY,CAAC,KAAc;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IACM,KAAK;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- export type { ExtraSQSCreationParams, SQSDependencies, SQSCreationConfig, SQSQueueLocatorType, } from './lib/sqs/AbstractSqsService';
2
- export { SQS_MESSAGE_MAX_SIZE } from './lib/sqs/AbstractSqsService';
3
- export { SqsConsumerErrorResolver } from './lib/errors/SqsConsumerErrorResolver';
4
- export type { SQSConsumerDependencies, SQSConsumerOptions } from './lib/sqs/AbstractSqsConsumer';
5
- export { AbstractSqsConsumer } from './lib/sqs/AbstractSqsConsumer';
6
- export { AbstractSqsPublisher, OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE, } from './lib/sqs/AbstractSqsPublisher';
7
- export type { SQSMessageOptions } from './lib/sqs/AbstractSqsPublisher';
8
- export { assertQueue, deleteQueue, getQueueAttributes, getQueueUrl } from './lib/utils/sqsUtils';
9
- export { deleteSqs, updateQueueAttributes } from './lib/utils/sqsInitter';
10
- export { deserializeSQSMessage } from './lib/utils/sqsMessageDeserializer';
11
- export { generateQueuePublishForTopicPolicy, generateWildcardSqsArn, generateWildcardSnsArn, } from './lib/utils/sqsAttributeUtils';
12
- export type { CommonMessage, SQSMessage } from './lib/types/MessageTypes';
13
- export { FakeConsumerErrorResolver } from './lib/fakes/FakeConsumerErrorResolver';
14
- export { calculateOutgoingMessageSize } from './lib/utils/sqsUtils';
15
- export { resolveOutgoingMessageAttributes } from './lib/utils/messageUtils';
1
+ export type { ExtraSQSCreationParams, SQSDependencies, SQSCreationConfig, SQSQueueLocatorType, } from './sqs/AbstractSqsService.ts';
2
+ export { SQS_MESSAGE_MAX_SIZE } from './sqs/AbstractSqsService.ts';
3
+ export { SqsConsumerErrorResolver } from './errors/SqsConsumerErrorResolver.ts';
4
+ export type { SQSConsumerDependencies, SQSConsumerOptions } from './sqs/AbstractSqsConsumer.ts';
5
+ export { AbstractSqsConsumer } from './sqs/AbstractSqsConsumer.ts';
6
+ export { AbstractSqsPublisher, OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE, } from './sqs/AbstractSqsPublisher.ts';
7
+ export type { SQSMessageOptions } from './sqs/AbstractSqsPublisher.ts';
8
+ export { assertQueue, deleteQueue, getQueueAttributes, getQueueUrl, resolveQueueUrlFromLocatorConfig, } from './utils/sqsUtils.ts';
9
+ export { deleteSqs, updateQueueAttributes } from './utils/sqsInitter.ts';
10
+ export { deserializeSQSMessage } from './utils/sqsMessageDeserializer.ts';
11
+ export { generateQueuePublishForTopicPolicy, generateWildcardSqsArn, generateWildcardSnsArn, } from './utils/sqsAttributeUtils.ts';
12
+ export type { CommonMessage, SQSMessage } from './types/MessageTypes.ts';
13
+ export { FakeConsumerErrorResolver } from './fakes/FakeConsumerErrorResolver.ts';
14
+ export { calculateOutgoingMessageSize } from './utils/sqsUtils.ts';
15
+ export { resolveOutgoingMessageAttributes } from './utils/messageUtils.ts';
package/dist/index.js CHANGED
@@ -1,33 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveOutgoingMessageAttributes = exports.calculateOutgoingMessageSize = exports.FakeConsumerErrorResolver = exports.generateWildcardSnsArn = exports.generateWildcardSqsArn = exports.generateQueuePublishForTopicPolicy = exports.deserializeSQSMessage = exports.updateQueueAttributes = exports.deleteSqs = exports.getQueueUrl = exports.getQueueAttributes = exports.deleteQueue = exports.assertQueue = exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = exports.AbstractSqsPublisher = exports.AbstractSqsConsumer = exports.SqsConsumerErrorResolver = exports.SQS_MESSAGE_MAX_SIZE = void 0;
4
- var AbstractSqsService_1 = require("./lib/sqs/AbstractSqsService");
5
- Object.defineProperty(exports, "SQS_MESSAGE_MAX_SIZE", { enumerable: true, get: function () { return AbstractSqsService_1.SQS_MESSAGE_MAX_SIZE; } });
6
- var SqsConsumerErrorResolver_1 = require("./lib/errors/SqsConsumerErrorResolver");
7
- Object.defineProperty(exports, "SqsConsumerErrorResolver", { enumerable: true, get: function () { return SqsConsumerErrorResolver_1.SqsConsumerErrorResolver; } });
8
- var AbstractSqsConsumer_1 = require("./lib/sqs/AbstractSqsConsumer");
9
- Object.defineProperty(exports, "AbstractSqsConsumer", { enumerable: true, get: function () { return AbstractSqsConsumer_1.AbstractSqsConsumer; } });
10
- var AbstractSqsPublisher_1 = require("./lib/sqs/AbstractSqsPublisher");
11
- Object.defineProperty(exports, "AbstractSqsPublisher", { enumerable: true, get: function () { return AbstractSqsPublisher_1.AbstractSqsPublisher; } });
12
- Object.defineProperty(exports, "OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE", { enumerable: true, get: function () { return AbstractSqsPublisher_1.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE; } });
13
- var sqsUtils_1 = require("./lib/utils/sqsUtils");
14
- Object.defineProperty(exports, "assertQueue", { enumerable: true, get: function () { return sqsUtils_1.assertQueue; } });
15
- Object.defineProperty(exports, "deleteQueue", { enumerable: true, get: function () { return sqsUtils_1.deleteQueue; } });
16
- Object.defineProperty(exports, "getQueueAttributes", { enumerable: true, get: function () { return sqsUtils_1.getQueueAttributes; } });
17
- Object.defineProperty(exports, "getQueueUrl", { enumerable: true, get: function () { return sqsUtils_1.getQueueUrl; } });
18
- var sqsInitter_1 = require("./lib/utils/sqsInitter");
19
- Object.defineProperty(exports, "deleteSqs", { enumerable: true, get: function () { return sqsInitter_1.deleteSqs; } });
20
- Object.defineProperty(exports, "updateQueueAttributes", { enumerable: true, get: function () { return sqsInitter_1.updateQueueAttributes; } });
21
- var sqsMessageDeserializer_1 = require("./lib/utils/sqsMessageDeserializer");
22
- Object.defineProperty(exports, "deserializeSQSMessage", { enumerable: true, get: function () { return sqsMessageDeserializer_1.deserializeSQSMessage; } });
23
- var sqsAttributeUtils_1 = require("./lib/utils/sqsAttributeUtils");
24
- Object.defineProperty(exports, "generateQueuePublishForTopicPolicy", { enumerable: true, get: function () { return sqsAttributeUtils_1.generateQueuePublishForTopicPolicy; } });
25
- Object.defineProperty(exports, "generateWildcardSqsArn", { enumerable: true, get: function () { return sqsAttributeUtils_1.generateWildcardSqsArn; } });
26
- Object.defineProperty(exports, "generateWildcardSnsArn", { enumerable: true, get: function () { return sqsAttributeUtils_1.generateWildcardSnsArn; } });
27
- var FakeConsumerErrorResolver_1 = require("./lib/fakes/FakeConsumerErrorResolver");
28
- Object.defineProperty(exports, "FakeConsumerErrorResolver", { enumerable: true, get: function () { return FakeConsumerErrorResolver_1.FakeConsumerErrorResolver; } });
29
- var sqsUtils_2 = require("./lib/utils/sqsUtils");
30
- Object.defineProperty(exports, "calculateOutgoingMessageSize", { enumerable: true, get: function () { return sqsUtils_2.calculateOutgoingMessageSize; } });
31
- var messageUtils_1 = require("./lib/utils/messageUtils");
32
- Object.defineProperty(exports, "resolveOutgoingMessageAttributes", { enumerable: true, get: function () { return messageUtils_1.resolveOutgoingMessageAttributes; } });
1
+ export { SQS_MESSAGE_MAX_SIZE } from "./sqs/AbstractSqsService.js";
2
+ export { SqsConsumerErrorResolver } from "./errors/SqsConsumerErrorResolver.js";
3
+ export { AbstractSqsConsumer } from "./sqs/AbstractSqsConsumer.js";
4
+ export { AbstractSqsPublisher, OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE, } from "./sqs/AbstractSqsPublisher.js";
5
+ export { assertQueue, deleteQueue, getQueueAttributes, getQueueUrl, resolveQueueUrlFromLocatorConfig, } from "./utils/sqsUtils.js";
6
+ export { deleteSqs, updateQueueAttributes } from "./utils/sqsInitter.js";
7
+ export { deserializeSQSMessage } from "./utils/sqsMessageDeserializer.js";
8
+ export { generateQueuePublishForTopicPolicy, generateWildcardSqsArn, generateWildcardSnsArn, } from "./utils/sqsAttributeUtils.js";
9
+ export { FakeConsumerErrorResolver } from "./fakes/FakeConsumerErrorResolver.js";
10
+ export { calculateOutgoingMessageSize } from "./utils/sqsUtils.js";
11
+ export { resolveOutgoingMessageAttributes } from "./utils/messageUtils.js";
33
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAOA,mEAAmE;AAA1D,0HAAA,oBAAoB,OAAA;AAE7B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,qEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAE5B,uEAGuC;AAFrC,4HAAA,oBAAoB,OAAA;AACpB,wIAAA,gCAAgC,OAAA;AAIlC,iDAAgG;AAAvF,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAAE,uGAAA,WAAW,OAAA;AAClE,qDAAyE;AAAhE,uGAAA,SAAS,OAAA;AAAE,mHAAA,qBAAqB,OAAA;AACzC,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA;AAC9B,mEAIsC;AAHpC,uIAAA,kCAAkC,OAAA;AAClC,2HAAA,sBAAsB,OAAA;AACtB,2HAAA,sBAAsB,OAAA;AAIxB,mFAAiF;AAAxE,sIAAA,yBAAyB,OAAA;AAElC,iDAAmE;AAA1D,wHAAA,4BAA4B,OAAA;AACrC,yDAA2E;AAAlE,gIAAA,gCAAgC,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAG/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAElE,OAAO,EACL,oBAAoB,EACpB,gCAAgC,GACjC,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EACL,kCAAkC,EAClC,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAEhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import type { Either, ErrorResolver } from '@lokalise/node-core';
2
2
  import { type BarrierResult, type MessageSchemaContainer, type PreHandlingOutputs, type Prehandler, type QueueConsumer, type QueueConsumerDependencies, type QueueConsumerOptions } from '@message-queue-toolkit/core';
3
- import type { ConsumerOptions } from 'sqs-consumer/src/types';
4
- import type { SQSMessage } from '../types/MessageTypes';
5
- import type { SQSCreationConfig, SQSDependencies, SQSQueueLocatorType } from './AbstractSqsService';
6
- import { AbstractSqsService } from './AbstractSqsService';
3
+ import type { ConsumerOptions } from 'sqs-consumer';
4
+ import type { SQSMessage } from '../types/MessageTypes.ts';
5
+ import type { SQSCreationConfig, SQSDependencies, SQSQueueLocatorType } from './AbstractSqsService.ts';
6
+ import { AbstractSqsService } from './AbstractSqsService.ts';
7
7
  type SQSDeadLetterQueueOptions = {
8
8
  redrivePolicy: {
9
9
  maxReceiveCount: number;
@@ -1,20 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractSqsConsumer = void 0;
4
- const client_sqs_1 = require("@aws-sdk/client-sqs");
5
- const core_1 = require("@message-queue-toolkit/core");
6
- const sqs_consumer_1 = require("sqs-consumer");
7
- const messageUtils_1 = require("../utils/messageUtils");
8
- const sqsInitter_1 = require("../utils/sqsInitter");
9
- const sqsMessageReader_1 = require("../utils/sqsMessageReader");
10
- const sqsUtils_1 = require("../utils/sqsUtils");
11
- const AbstractSqsPublisher_1 = require("./AbstractSqsPublisher");
12
- const AbstractSqsService_1 = require("./AbstractSqsService");
1
+ import { SendMessageCommand, SetQueueAttributesCommand } from '@aws-sdk/client-sqs';
2
+ import { DeduplicationRequesterEnum, HandlerContainer, isMessageError, noopReleasableLock, parseMessage, } from '@message-queue-toolkit/core';
3
+ import { Consumer } from 'sqs-consumer';
4
+ import { hasOffloadedPayload } from "../utils/messageUtils.js";
5
+ import { deleteSqs, initSqs } from "../utils/sqsInitter.js";
6
+ import { readSqsMessage } from "../utils/sqsMessageReader.js";
7
+ import { getQueueAttributes } from "../utils/sqsUtils.js";
8
+ import { PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX } from "./AbstractSqsPublisher.js";
9
+ import { AbstractSqsService } from "./AbstractSqsService.js";
13
10
  const ABORT_EARLY_EITHER = {
14
11
  error: 'abort',
15
12
  };
16
13
  const DEFAULT_MAX_RETRY_DURATION = 4 * 24 * 60 * 60; // 4 days in seconds
17
- class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
14
+ export class AbstractSqsConsumer extends AbstractSqsService {
18
15
  consumers;
19
16
  concurrentConsumersAmount;
20
17
  transactionObservabilityManager;
@@ -38,7 +35,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
38
35
  this.consumers = [];
39
36
  this.concurrentConsumersAmount = options.concurrentConsumersAmount ?? 1;
40
37
  this._messageSchemaContainer = this.resolveConsumerMessageSchemaContainer(options);
41
- this.handlerContainer = new core_1.HandlerContainer({
38
+ this.handlerContainer = new HandlerContainer({
42
39
  messageTypeField: this.messageTypeField,
43
40
  messageHandlers: options.handlers,
44
41
  });
@@ -53,10 +50,10 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
53
50
  return;
54
51
  const { deletionConfig, locatorConfig, creationConfig, redrivePolicy } = this.deadLetterQueueOptions;
55
52
  if (deletionConfig && creationConfig) {
56
- await (0, sqsInitter_1.deleteSqs)(this.sqsClient, deletionConfig, creationConfig);
53
+ await deleteSqs(this.sqsClient, deletionConfig, creationConfig);
57
54
  }
58
- const result = await (0, sqsInitter_1.initSqs)(this.sqsClient, locatorConfig, creationConfig);
59
- await this.sqsClient.send(new client_sqs_1.SetQueueAttributesCommand({
55
+ const result = await initSqs(this.sqsClient, locatorConfig, creationConfig);
56
+ await this.sqsClient.send(new SetQueueAttributesCommand({
60
57
  QueueUrl: this.queueUrl,
61
58
  Attributes: {
62
59
  RedrivePolicy: JSON.stringify({
@@ -84,11 +81,11 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
84
81
  this.stopExistingConsumers(abort ?? false);
85
82
  }
86
83
  createConsumer(options) {
87
- return sqs_consumer_1.Consumer.create({
84
+ return Consumer.create({
88
85
  sqs: this.sqsClient,
89
86
  queueUrl: this.queueUrl,
90
87
  visibilityTimeout: options.visibilityTimeout,
91
- messageAttributeNames: [`${AbstractSqsPublisher_1.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX}*`],
88
+ messageAttributeNames: [`${PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX}*`],
92
89
  ...this.consumerOptionsOverride,
93
90
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>
94
91
  handleMessage: async (message) => {
@@ -110,7 +107,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
110
107
  }
111
108
  const { parsedMessage, originalMessage } = deserializedMessage.result;
112
109
  if (this.isDeduplicationEnabledForMessage(parsedMessage) &&
113
- (await this.isMessageDuplicated(parsedMessage, core_1.DeduplicationRequester.Consumer))) {
110
+ (await this.isMessageDuplicated(parsedMessage, DeduplicationRequesterEnum.Consumer))) {
114
111
  this.handleMessageProcessed({
115
112
  message: parsedMessage,
116
113
  processingResult: { status: 'consumed', skippedAsDuplicate: true },
@@ -122,7 +119,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
122
119
  }
123
120
  const acquireLockResult = this.isDeduplicationEnabledForMessage(parsedMessage)
124
121
  ? await this.acquireLockForMessage(parsedMessage)
125
- : { result: core_1.noopReleasableLock };
122
+ : { result: noopReleasableLock };
126
123
  // Lock cannot be acquired as it is already being processed by another consumer.
127
124
  // We don't want to discard message yet as we don't know if the other consumer will be able to process it successfully.
128
125
  // We're re-queueing the message, so it can be processed later.
@@ -133,7 +130,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
133
130
  // While the consumer was waiting for a lock to be acquired, the message might have been processed
134
131
  // by another consumer already, hence we need to check again if the message is not marked as duplicated.
135
132
  if (this.isDeduplicationEnabledForMessage(parsedMessage) &&
136
- (await this.isMessageDuplicated(parsedMessage, core_1.DeduplicationRequester.Consumer))) {
133
+ (await this.isMessageDuplicated(parsedMessage, DeduplicationRequesterEnum.Consumer))) {
137
134
  await acquireLockResult.result?.release();
138
135
  this.handleMessageProcessed({
139
136
  message: parsedMessage,
@@ -166,7 +163,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
166
163
  });
167
164
  // success
168
165
  if (result.result) {
169
- await this.deduplicateMessage(parsedMessage, core_1.DeduplicationRequester.Consumer);
166
+ await this.deduplicateMessage(parsedMessage, DeduplicationRequesterEnum.Consumer);
170
167
  await acquireLockResult.result?.release();
171
168
  this.handleMessageProcessed({
172
169
  message: originalMessage,
@@ -194,7 +191,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
194
191
  }
195
192
  async handleRetryLater(message, originalMessage, parsedMessage, messageProcessingStartTimestamp) {
196
193
  if (this.shouldBeRetried(originalMessage, this.maxRetryDuration)) {
197
- await this.sqsClient.send(new client_sqs_1.SendMessageCommand({
194
+ await this.sqsClient.send(new SendMessageCommand({
198
195
  QueueUrl: this.queueUrl,
199
196
  DelaySeconds: this.getMessageRetryDelayInSeconds(originalMessage),
200
197
  MessageBody: JSON.stringify(this.updateInternalProperties(originalMessage)),
@@ -260,14 +257,14 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
260
257
  return handler.messageLogFormatter(message);
261
258
  }
262
259
  resolveMessage(message) {
263
- return (0, sqsMessageReader_1.readSqsMessage)(message, this.errorResolver);
260
+ return readSqsMessage(message, this.errorResolver);
264
261
  }
265
262
  isDeduplicationEnabledForMessage(message) {
266
263
  return this.isDeduplicationEnabled && super.isDeduplicationEnabledForMessage(message);
267
264
  }
268
265
  async resolveMaybeOffloadedPayloadMessage(message) {
269
266
  const resolveMessageResult = this.resolveMessage(message);
270
- if ((0, core_1.isMessageError)(resolveMessageResult.error)) {
267
+ if (isMessageError(resolveMessageResult.error)) {
271
268
  this.handleError(resolveMessageResult.error);
272
269
  return ABORT_EARLY_EITHER;
273
270
  }
@@ -275,7 +272,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
275
272
  if (!resolveMessageResult.result || !resolveMessageResult.result.body) {
276
273
  return ABORT_EARLY_EITHER;
277
274
  }
278
- if ((0, messageUtils_1.hasOffloadedPayload)(resolveMessageResult.result)) {
275
+ if (hasOffloadedPayload(resolveMessageResult.result)) {
279
276
  const retrieveOffloadedMessagePayloadResult = await this.retrieveOffloadedMessagePayload(resolveMessageResult.result.body);
280
277
  if (retrieveOffloadedMessagePayloadResult.error) {
281
278
  this.handleError(retrieveOffloadedMessagePayloadResult.error);
@@ -287,7 +284,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
287
284
  }
288
285
  tryToExtractId(message) {
289
286
  const resolveMessageResult = this.resolveMessage(message);
290
- if ((0, core_1.isMessageError)(resolveMessageResult.error)) {
287
+ if (isMessageError(resolveMessageResult.error)) {
291
288
  this.handleError(resolveMessageResult.error);
292
289
  return ABORT_EARLY_EITHER;
293
290
  }
@@ -317,8 +314,8 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
317
314
  this.handleError(resolveSchemaResult.error);
318
315
  return ABORT_EARLY_EITHER;
319
316
  }
320
- const deserializationResult = (0, core_1.parseMessage)(resolveMessageResult.result.body, resolveSchemaResult.result, this.errorResolver);
321
- if ((0, core_1.isMessageError)(deserializationResult.error)) {
317
+ const deserializationResult = parseMessage(resolveMessageResult.result.body, resolveSchemaResult.result, this.errorResolver);
318
+ if (isMessageError(deserializationResult.error)) {
322
319
  this.handleError(deserializationResult.error);
323
320
  return ABORT_EARLY_EITHER;
324
321
  }
@@ -333,7 +330,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
333
330
  async failProcessing(message) {
334
331
  if (!this.deadLetterQueueUrl)
335
332
  return;
336
- const command = new client_sqs_1.SendMessageCommand({
333
+ const command = new SendMessageCommand({
337
334
  QueueUrl: this.deadLetterQueueUrl,
338
335
  MessageBody: message.Body,
339
336
  });
@@ -346,7 +343,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
346
343
  }
347
344
  else {
348
345
  // if user is using locatorConfig, we should look into queue config
349
- const queueAttributes = await (0, sqsUtils_1.getQueueAttributes)(this.sqsClient, this.queueUrl, [
346
+ const queueAttributes = await getQueueAttributes(this.sqsClient, this.queueUrl, [
350
347
  'VisibilityTimeout',
351
348
  ]);
352
349
  visibilityTimeoutString = queueAttributes.result?.attributes?.VisibilityTimeout;
@@ -355,5 +352,4 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
355
352
  return visibilityTimeoutString ? Number.parseInt(visibilityTimeoutString) : undefined;
356
353
  }
357
354
  }
358
- exports.AbstractSqsConsumer = AbstractSqsConsumer;
359
355
  //# sourceMappingURL=AbstractSqsConsumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { Either } from '@lokalise/node-core';
2
2
  import { type AsyncPublisher, type BarrierResult, type MessageInvalidFormatError, type MessageValidationError, type OffloadedPayloadPointerPayload, type QueuePublisherOptions, type ResolvedMessage } from '@message-queue-toolkit/core';
3
3
  import type { ZodSchema } from 'zod';
4
- import type { SQSMessage } from '../types/MessageTypes';
5
- import type { SQSCreationConfig, SQSDependencies, SQSQueueLocatorType } from './AbstractSqsService';
6
- import { AbstractSqsService } from './AbstractSqsService';
4
+ import type { SQSMessage } from '../types/MessageTypes.ts';
5
+ import type { SQSCreationConfig, SQSDependencies, SQSQueueLocatorType } from './AbstractSqsService.ts';
6
+ import { AbstractSqsService } from './AbstractSqsService.ts';
7
7
  export type SQSMessageOptions = {
8
8
  MessageGroupId?: string;
9
9
  MessageDeduplicationId?: string;
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractSqsPublisher = exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = exports.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX = void 0;
4
- const client_sqs_1 = require("@aws-sdk/client-sqs");
5
- const node_core_1 = require("@lokalise/node-core");
6
- const core_1 = require("@message-queue-toolkit/core");
7
- const messageUtils_1 = require("../utils/messageUtils");
8
- const sqsUtils_1 = require("../utils/sqsUtils");
9
- const AbstractSqsService_1 = require("./AbstractSqsService");
10
- exports.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX = 'payloadOffloading.';
11
- exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = `${exports.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX}size`;
12
- class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
1
+ import { SendMessageCommand } from '@aws-sdk/client-sqs';
2
+ import { InternalError } from '@lokalise/node-core';
3
+ import { DeduplicationRequesterEnum, } from '@message-queue-toolkit/core';
4
+ import { resolveOutgoingMessageAttributes } from "../utils/messageUtils.js";
5
+ import { calculateOutgoingMessageSize } from "../utils/sqsUtils.js";
6
+ import { AbstractSqsService } from "./AbstractSqsService.js";
7
+ export const PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX = 'payloadOffloading.';
8
+ export const OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = `${PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX}size`;
9
+ export class AbstractSqsPublisher extends AbstractSqsService {
13
10
  messageSchemaContainer;
14
11
  isDeduplicationEnabled;
15
12
  initPromise;
@@ -42,9 +39,9 @@ class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
42
39
  }
43
40
  // biome-ignore lint/style/noParameterAssign: This is expected
44
41
  message = this.updateInternalProperties(message);
45
- const maybeOffloadedPayloadMessage = await this.offloadMessagePayloadIfNeeded(message, () => (0, sqsUtils_1.calculateOutgoingMessageSize)(message));
42
+ const maybeOffloadedPayloadMessage = await this.offloadMessagePayloadIfNeeded(message, () => calculateOutgoingMessageSize(message));
46
43
  if (this.isDeduplicationEnabledForMessage(parsedMessage) &&
47
- (await this.deduplicateMessage(parsedMessage, core_1.DeduplicationRequester.Publisher))
44
+ (await this.deduplicateMessage(parsedMessage, DeduplicationRequesterEnum.Publisher))
48
45
  .isDuplicated) {
49
46
  this.handleMessageProcessed({
50
47
  message: parsedMessage,
@@ -65,7 +62,7 @@ class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
65
62
  catch (error) {
66
63
  const err = error;
67
64
  this.handleError(err);
68
- throw new node_core_1.InternalError({
65
+ throw new InternalError({
69
66
  message: `Error while publishing to SQS: ${err.message}`,
70
67
  errorCode: 'SQS_PUBLISH_ERROR',
71
68
  details: {
@@ -103,8 +100,8 @@ class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
103
100
  return this.messageSchemaContainer.resolveSchema(message);
104
101
  }
105
102
  async sendMessage(payload, options) {
106
- const attributes = (0, messageUtils_1.resolveOutgoingMessageAttributes)(payload);
107
- const command = new client_sqs_1.SendMessageCommand({
103
+ const attributes = resolveOutgoingMessageAttributes(payload);
104
+ const command = new SendMessageCommand({
108
105
  QueueUrl: this.queueUrl,
109
106
  MessageBody: JSON.stringify(payload),
110
107
  MessageAttributes: attributes,
@@ -113,5 +110,4 @@ class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
113
110
  await this.sqsClient.send(command);
114
111
  }
115
112
  }
116
- exports.AbstractSqsPublisher = AbstractSqsPublisher;
117
113
  //# sourceMappingURL=AbstractSqsPublisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractSqsPublisher.js","sourceRoot":"","sources":["../../lib/sqs/AbstractSqsPublisher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAGL,0BAA0B,GAO3B,MAAM,6BAA6B,CAAA;AAIpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAMnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAO5D,MAAM,CAAC,MAAM,mCAAmC,GAAG,oBAAoB,CAAA;AACvE,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,mCAAmC,MAAM,CAAA;AAE5F,MAAM,OAAgB,oBACpB,SAAQ,kBAAsC;IAG7B,sBAAsB,CAA4C;IAClE,sBAAsB,CAAS;IACxC,WAAW,CAAgB;IAEnC,YACE,YAA6B,EAC7B,OAA0F;QAE1F,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAA;QAClF,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA2B,EAAE,UAA6B,EAAE;QACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,mBAAmB,CAAC,KAAK,CAAA;QACjC,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,kCAAkC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAChC,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAA;YACtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,+BAA+B,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAClD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE/D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,aAAa;gBACb,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;gBAC1F,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;YACrC,CAAC;YAED,8DAA8D;YAC9D,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAChD,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,GAAG,EAAE,CAC1F,4BAA4B,CAAC,OAAO,CAAC,CACtC,CAAA;YAED,IACE,IAAI,CAAC,gCAAgC,CAAC,aAAa,CAAC;gBACpD,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;qBACjF,YAAY,EACf,CAAC;gBACD,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,OAAO,EAAE,aAAa;oBACtB,gBAAgB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE;oBACnE,+BAA+B;oBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAA;YAC7D,IAAI,CAAC,sBAAsB,CAAC;gBAC1B,OAAO,EAAE,aAAa;gBACtB,gBAAgB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;gBACzC,+BAA+B;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAA;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACrB,MAAM,IAAI,aAAa,CAAC;gBACtB,OAAO,EAAE,kCAAkC,GAAG,CAAC,OAAO,EAAE;gBACxD,SAAS,EAAE,mBAAmB;gBAC9B,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;oBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,aAAa;oBACb,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,SAAS;iBACzD;gBACD,KAAK,EAAE,GAAG;aACX,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,qBAAqB;IACF,mBAAmB;QACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAES,cAAc,CACtB,QAAoB;QAEpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAEkB,kBAAkB;QACnC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAEkB,iBAAiB;QAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAEQ,cAAc;QACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IACD,oBAAoB;IAED,gCAAgC,CAAC,OAA2B;QAC7E,OAAO,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAA;IACvF,CAAC;IAEkB,aAAa,CAC9B,OAA2B;QAE3B,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAES,KAAK,CAAC,WAAW,CACzB,OAA4D,EAC5D,OAA0B;QAE1B,MAAM,UAAU,GAAG,gCAAgC,CAAwB,OAAO,CAAC,CAAA;QACnF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACpC,iBAAiB,EAAE,UAAU;YAC7B,GAAG,OAAO;SACX,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import type { CreateQueueRequest, SQSClient } from '@aws-sdk/client-sqs';
2
2
  import type { QueueDependencies, QueueOptions } from '@message-queue-toolkit/core';
3
3
  import { AbstractQueueService } from '@message-queue-toolkit/core';
4
- import type { SQSMessage } from '../types/MessageTypes';
4
+ import type { SQSMessage } from '../types/MessageTypes.ts';
5
5
  export declare const SQS_MESSAGE_MAX_SIZE: number;
6
6
  export type SQSDependencies = QueueDependencies & {
7
7
  sqsClient: SQSClient;
@@ -18,6 +18,10 @@ export type SQSCreationConfig = {
18
18
  } & ExtraSQSCreationParams;
19
19
  export type SQSQueueLocatorType = {
20
20
  queueUrl: string;
21
+ queueName?: never;
22
+ } | {
23
+ queueName: string;
24
+ queueUrl?: never;
21
25
  };
22
26
  export declare abstract class AbstractSqsService<MessagePayloadType extends object, QueueLocatorType extends object = SQSQueueLocatorType, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, SQSOptionsType extends QueueOptions<CreationConfigType, QueueLocatorType> = QueueOptions<CreationConfigType, QueueLocatorType>, DependenciesType extends SQSDependencies = SQSDependencies, PrehandlerOutput = unknown, ExecutionContext = unknown> extends AbstractQueueService<MessagePayloadType, SQSMessage, DependenciesType, CreationConfigType, QueueLocatorType, SQSOptionsType, PrehandlerOutput, ExecutionContext> {
23
27
  protected readonly sqsClient: SQSClient;
@@ -0,0 +1,32 @@
1
+ import { AbstractQueueService } from '@message-queue-toolkit/core';
2
+ import { deleteSqs, initSqs } from "../utils/sqsInitter.js";
3
+ // https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
4
+ export const SQS_MESSAGE_MAX_SIZE = 256 * 1024; // 256KB
5
+ export class AbstractSqsService extends AbstractQueueService {
6
+ sqsClient;
7
+ // @ts-ignore
8
+ queueName;
9
+ // @ts-ignore
10
+ queueUrl;
11
+ // @ts-ignore
12
+ queueArn;
13
+ constructor(dependencies, options) {
14
+ super(dependencies, options);
15
+ this.sqsClient = dependencies.sqsClient;
16
+ }
17
+ async init() {
18
+ if (this.deletionConfig && this.creationConfig) {
19
+ await deleteSqs(this.sqsClient, this.deletionConfig, this.creationConfig);
20
+ }
21
+ const { queueName, queueUrl, queueArn } = await initSqs(this.sqsClient, this.locatorConfig, this.creationConfig);
22
+ this.queueName = queueName;
23
+ this.queueUrl = queueUrl;
24
+ this.queueArn = queueArn;
25
+ this.isInitted = true;
26
+ }
27
+ close() {
28
+ this.isInitted = false;
29
+ return Promise.resolve();
30
+ }
31
+ }
32
+ //# sourceMappingURL=AbstractSqsService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAE3D,kGAAkG;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,QAAQ;AA4BvD,MAAM,OAAgB,kBAWpB,SAAQ,oBAST;IACoB,SAAS,CAAW;IAEvC,aAAa;IACH,SAAS,CAAQ;IAC3B,aAAa;IACH,QAAQ,CAAQ;IAC1B,aAAa;IACH,QAAQ,CAAQ;IAE1B,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CACrD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,CACpB,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAEe,KAAK;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MessageTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTypes.js","sourceRoot":"","sources":["../../../lib/types/MessageTypes.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"MessageTypes.js","sourceRoot":"","sources":["../../lib/types/MessageTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { isOffloadedPayloadPointerPayload } from '@message-queue-toolkit/core';
2
+ export const OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = 'payloadOffloading.size';
3
+ export function resolveOutgoingMessageAttributes(payload) {
4
+ const attributes = {};
5
+ if (isOffloadedPayloadPointerPayload(payload)) {
6
+ attributes[OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE] = {
7
+ DataType: 'Number',
8
+ // The SQS SDK does not provide properties to set numeric values, we have to convert it to string
9
+ StringValue: payload.offloadedPayloadSize.toString(),
10
+ };
11
+ }
12
+ return attributes;
13
+ }
14
+ export function hasOffloadedPayload(message) {
15
+ return !!message.attributes && OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE in message.attributes;
16
+ }
17
+ //# sourceMappingURL=messageUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageUtils.js","sourceRoot":"","sources":["../../lib/utils/messageUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAA;AAE9E,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAA;AAExE,MAAM,UAAU,gCAAgC,CAC9C,OAAgB;IAEhB,MAAM,UAAU,GAA0C,EAAE,CAAA;IAE5D,IAAI,gCAAgC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,UAAU,CAAC,gCAAgC,CAAC,GAAG;YAC7C,QAAQ,EAAE,QAAQ;YAClB,iGAAiG;YACjG,WAAW,EAAE,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;SAC5B,CAAA;IAC5B,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAwB;IAC1D,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,gCAAgC,IAAI,OAAO,CAAC,UAAU,CAAA;AACvF,CAAC"}
@@ -1,17 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateQueuePublishForTopicPolicy = generateQueuePublishForTopicPolicy;
4
- exports.generateWildcardSqsArn = generateWildcardSqsArn;
5
- exports.generateWildcardSnsArn = generateWildcardSnsArn;
6
1
  // See https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_version.html
7
2
  const POLICY_VERSION = '2012-10-17';
8
- function generateQueuePublishForTopicPolicy(queueArn, supportedSnsTopicArnPrefix) {
3
+ export function generateQueuePublishForTopicPolicy(queueArn, supportedSnsTopicArnPrefix) {
9
4
  return `{"Version":"${POLICY_VERSION}","Id":"__default_policy_ID","Statement":[{"Sid":"AllowSNSPublish","Effect":"Allow","Principal":{"AWS":"*"},"Action":"sqs:SendMessage","Resource":"${queueArn}","Condition":{"ArnLike":{"aws:SourceArn":"${supportedSnsTopicArnPrefix}"}}}]}`;
10
5
  }
11
- function generateWildcardSqsArn(sqsQueueArnPrefix) {
6
+ export function generateWildcardSqsArn(sqsQueueArnPrefix) {
12
7
  return `arn:aws:sqs:*:*:${sqsQueueArnPrefix}`;
13
8
  }
14
- function generateWildcardSnsArn(snsTopicArnPrefix) {
9
+ export function generateWildcardSnsArn(snsTopicArnPrefix) {
15
10
  return `arn:aws:sns:*:*:${snsTopicArnPrefix}`;
16
11
  }
17
12
  //# sourceMappingURL=sqsAttributeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqsAttributeUtils.js","sourceRoot":"","sources":["../../lib/utils/sqsAttributeUtils.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,cAAc,GAAG,YAAY,CAAA;AAEnC,MAAM,UAAU,kCAAkC,CAChD,QAAgB,EAChB,0BAAkC;IAElC,OAAO,eAAe,cAAc,sJAAsJ,QAAQ,8CAA8C,0BAA0B,QAAQ,CAAA;AACpR,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,iBAAyB;IAC9D,OAAO,mBAAmB,iBAAiB,EAAE,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,iBAAyB;IAC9D,OAAO,mBAAmB,iBAAiB,EAAE,CAAA;AAC/C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { QueueAttributeName, SQSClient } from '@aws-sdk/client-sqs';
2
2
  import type { DeletionConfig } from '@message-queue-toolkit/core';
3
- import type { SQSCreationConfig, SQSQueueLocatorType } from '../sqs/AbstractSqsService';
3
+ import type { SQSCreationConfig, SQSQueueLocatorType } from '../sqs/AbstractSqsService.ts';
4
4
  export declare function deleteSqs(sqsClient: SQSClient, deletionConfig: DeletionConfig, creationConfig: SQSCreationConfig): Promise<void>;
5
5
  export declare function updateQueueAttributes(sqsClient: SQSClient, queueUrl: string, attributes?: Partial<Record<QueueAttributeName, string>>): Promise<void>;
6
6
  export declare function updateQueueTags(sqsClient: SQSClient, queueUrl: string, tags?: Record<string, string> | undefined): Promise<void>;