@message-queue-toolkit/sqs 3.2.0 → 3.4.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.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type { SQSQueueAWSConfig, SQSQueueConfig, SQSConsumerDependencies, SQSQueueLocatorType, SQSDependencies, } from './lib/sqs/AbstractSqsService';
2
2
  export { AbstractSqsConsumer } from './lib/sqs/AbstractSqsConsumer';
3
- export type { SQSCreationConfig } from './lib/sqs/AbstractSqsConsumer';
3
+ export type { SQSCreationConfig, ExtraSQSCreationParams } from './lib/sqs/AbstractSqsConsumer';
4
4
  export { AbstractSqsConsumerMultiSchema } from './lib/sqs/AbstractSqsConsumerMultiSchema';
5
5
  export { AbstractSqsConsumerMonoSchema } from './lib/sqs/AbstractSqsConsumerMonoSchema';
6
6
  export type { NewSQSConsumerOptions, ExistingSQSConsumerOptions, } from './lib/sqs/AbstractSqsConsumer';
@@ -11,4 +11,5 @@ export type { SQSMessageOptions } from './lib/sqs/AbstractSqsPublisherMonoSchema
11
11
  export { assertQueue, deleteQueue, getQueueAttributes } from './lib/utils/sqsUtils';
12
12
  export { deleteSqs } from './lib/utils/sqsInitter';
13
13
  export { deserializeSQSMessage } from './lib/utils/sqsMessageDeserializer';
14
+ export { generateQueuePublishForTopicPolicy, generateWildcardSqsArn, generateWildcardSnsArn, } from './lib/utils/sqsAttributeUtils';
14
15
  export type { CommonMessage, SQSMessage } from './lib/types/MessageTypes';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deserializeSQSMessage = exports.deleteSqs = exports.getQueueAttributes = exports.deleteQueue = exports.assertQueue = exports.AbstractSqsPublisherMultiSchema = exports.AbstractSqsPublisherMonoSchema = exports.SqsConsumerErrorResolver = exports.AbstractSqsConsumerMonoSchema = exports.AbstractSqsConsumerMultiSchema = exports.AbstractSqsConsumer = void 0;
3
+ exports.generateWildcardSnsArn = exports.generateWildcardSqsArn = exports.generateQueuePublishForTopicPolicy = exports.deserializeSQSMessage = exports.deleteSqs = exports.getQueueAttributes = exports.deleteQueue = exports.assertQueue = exports.AbstractSqsPublisherMultiSchema = exports.AbstractSqsPublisherMonoSchema = exports.SqsConsumerErrorResolver = exports.AbstractSqsConsumerMonoSchema = exports.AbstractSqsConsumerMultiSchema = exports.AbstractSqsConsumer = void 0;
4
4
  var AbstractSqsConsumer_1 = require("./lib/sqs/AbstractSqsConsumer");
5
5
  Object.defineProperty(exports, "AbstractSqsConsumer", { enumerable: true, get: function () { return AbstractSqsConsumer_1.AbstractSqsConsumer; } });
6
6
  var AbstractSqsConsumerMultiSchema_1 = require("./lib/sqs/AbstractSqsConsumerMultiSchema");
@@ -21,4 +21,8 @@ var sqsInitter_1 = require("./lib/utils/sqsInitter");
21
21
  Object.defineProperty(exports, "deleteSqs", { enumerable: true, get: function () { return sqsInitter_1.deleteSqs; } });
22
22
  var sqsMessageDeserializer_1 = require("./lib/utils/sqsMessageDeserializer");
23
23
  Object.defineProperty(exports, "deserializeSQSMessage", { enumerable: true, get: function () { return sqsMessageDeserializer_1.deserializeSQSMessage; } });
24
+ var sqsAttributeUtils_1 = require("./lib/utils/sqsAttributeUtils");
25
+ Object.defineProperty(exports, "generateQueuePublishForTopicPolicy", { enumerable: true, get: function () { return sqsAttributeUtils_1.generateQueuePublishForTopicPolicy; } });
26
+ Object.defineProperty(exports, "generateWildcardSqsArn", { enumerable: true, get: function () { return sqsAttributeUtils_1.generateWildcardSqsArn; } });
27
+ Object.defineProperty(exports, "generateWildcardSnsArn", { enumerable: true, get: function () { return sqsAttributeUtils_1.generateWildcardSnsArn; } });
24
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAQA,qEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAE5B,2FAAyF;AAAhF,gJAAA,8BAA8B,OAAA;AACvC,yFAAuF;AAA9E,8IAAA,6BAA6B,OAAA;AAMtC,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAEjC,2FAAyF;AAAhF,gJAAA,8BAA8B,OAAA;AACvC,6FAA2F;AAAlF,kJAAA,+BAA+B,OAAA;AAGxC,iDAAmF;AAA1E,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AACrD,qDAAkD;AAAzC,uGAAA,SAAS,OAAA;AAClB,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAQA,qEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAE5B,2FAAyF;AAAhF,gJAAA,8BAA8B,OAAA;AACvC,yFAAuF;AAA9E,8IAAA,6BAA6B,OAAA;AAMtC,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAEjC,2FAAyF;AAAhF,gJAAA,8BAA8B,OAAA;AACvC,6FAA2F;AAAlF,kJAAA,+BAA+B,OAAA;AAGxC,iDAAmF;AAA1E,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AACrD,qDAAkD;AAAzC,uGAAA,SAAS,OAAA;AAClB,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA;AAC9B,mEAIsC;AAHpC,uIAAA,kCAAkC,OAAA;AAClC,2HAAA,sBAAsB,OAAA;AACtB,2HAAA,sBAAsB,OAAA"}
@@ -5,9 +5,12 @@ import type { ConsumerOptions } from 'sqs-consumer/src/types';
5
5
  import type { SQSMessage } from '../types/MessageTypes';
6
6
  import type { SQSConsumerDependencies, SQSQueueAWSConfig, SQSQueueLocatorType } from './AbstractSqsService';
7
7
  import { AbstractSqsService } from './AbstractSqsService';
8
+ export type ExtraSQSCreationParams = {
9
+ topicArnsWithPublishPermissionsPrefix?: string;
10
+ };
8
11
  export type SQSCreationConfig = {
9
12
  queue: SQSQueueAWSConfig;
10
- };
13
+ } & ExtraSQSCreationParams;
11
14
  export type NewSQSConsumerOptions<CreationConfigType extends SQSCreationConfig> = NewQueueOptions<CreationConfigType> & {
12
15
  consumerOverrides?: Partial<ConsumerOptions>;
13
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function generateQueuePublishForTopicPolicy(queueUrl: string, supportedSnsTopicArnPrefix: string): string;
2
+ export declare function generateWildcardSqsArn(sqsQueueArnPrefix: string): string;
3
+ export declare function generateWildcardSnsArn(snsTopicArnPrefix: string): string;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateWildcardSnsArn = exports.generateWildcardSqsArn = exports.generateQueuePublishForTopicPolicy = void 0;
4
+ // See https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_version.html
5
+ const POLICY_VERSION = '2012-10-17';
6
+ function generateQueuePublishForTopicPolicy(queueUrl, supportedSnsTopicArnPrefix) {
7
+ return `{"Version":"${POLICY_VERSION}","Id":"__default_policy_ID","Statement":[{"Sid":"AllowSNSPublish","Effect":"Allow","Principal":{"AWS":"*"},"Action":"sqs:SendMessage","Resource":"${queueUrl}","Condition":{"ArnLike":{"aws:SourceArn":"${supportedSnsTopicArnPrefix}"}}}]}`;
8
+ }
9
+ exports.generateQueuePublishForTopicPolicy = generateQueuePublishForTopicPolicy;
10
+ function generateWildcardSqsArn(sqsQueueArnPrefix) {
11
+ return `arn:aws:sqs:*:*:${sqsQueueArnPrefix}`;
12
+ }
13
+ exports.generateWildcardSqsArn = generateWildcardSqsArn;
14
+ function generateWildcardSnsArn(snsTopicArnPrefix) {
15
+ return `arn:aws:sns:*:*:${snsTopicArnPrefix}`;
16
+ }
17
+ exports.generateWildcardSnsArn = generateWildcardSnsArn;
18
+ //# 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,SAAgB,kCAAkC,CAChD,QAAgB,EAChB,0BAAkC;IAElC,OAAO,eAAe,cAAc,sJAAsJ,QAAQ,8CAA8C,0BAA0B,QAAQ,CAAA;AACpR,CAAC;AALD,gFAKC;AAED,SAAgB,sBAAsB,CAAC,iBAAyB;IAC9D,OAAO,mBAAmB,iBAAiB,EAAE,CAAA;AAC/C,CAAC;AAFD,wDAEC;AAED,SAAgB,sBAAsB,CAAC,iBAAyB;IAC9D,OAAO,mBAAmB,iBAAiB,EAAE,CAAA;AAC/C,CAAC;AAFD,wDAEC"}
@@ -35,7 +35,9 @@ async function initSqs(sqsClient, locatorConfig, creationConfig) {
35
35
  if (!creationConfig?.queue.QueueName) {
36
36
  throw new Error('queueConfig.QueueName is mandatory when locator is not provided');
37
37
  }
38
- const queueUrl = await (0, sqsUtils_1.assertQueue)(sqsClient, creationConfig.queue);
38
+ const queueUrl = await (0, sqsUtils_1.assertQueue)(sqsClient, creationConfig.queue, {
39
+ topicArnsWithPublishPermissionsPrefix: creationConfig.topicArnsWithPublishPermissionsPrefix,
40
+ });
39
41
  const queueName = creationConfig.queue.QueueName;
40
42
  return {
41
43
  queueUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"sqsInitter.js","sourceRoot":"","sources":["../../../lib/utils/sqsInitter.ts"],"names":[],"mappings":";;;AAEA,sDAA0D;AAK1D,yCAAyE;AAElE,KAAK,UAAU,SAAS,CAC7B,SAAoB,EACpB,cAA8B,EAC9B,cAAiC;IAEjC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;QAClC,OAAM;KACP;IAED,IAAI,IAAA,mBAAY,GAAE,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE;QAC7D,MAAM,IAAI,KAAK,CACb,wMAAwM,CACzM,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;IAED,MAAM,IAAA,sBAAW,EAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AAC9D,CAAC;AApBD,8BAoBC;AAEM,KAAK,UAAU,OAAO,CAC3B,SAAoB,EACpB,aAAmC,EACnC,cAAkC;IAElC,4BAA4B;IAC5B,IAAI,aAAa,EAAE;QACjB,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAkB,EAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACtE,IAAI,WAAW,CAAC,KAAK,KAAK,WAAW,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,uBAAuB,aAAa,CAAC,QAAQ,kBAAkB,CAAC,CAAA;SACjF;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;QAEvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/C,OAAO;YACL,QAAQ;YACR,SAAS;SACV,CAAA;KACF;IAED,qCAAqC;IACrC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;KACnF;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IACnE,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAA;IAEhD,OAAO;QACL,QAAQ;QACR,SAAS;KACV,CAAA;AACH,CAAC;AAlCD,0BAkCC"}
1
+ {"version":3,"file":"sqsInitter.js","sourceRoot":"","sources":["../../../lib/utils/sqsInitter.ts"],"names":[],"mappings":";;;AAEA,sDAA0D;AAK1D,yCAAyE;AAElE,KAAK,UAAU,SAAS,CAC7B,SAAoB,EACpB,cAA8B,EAC9B,cAAiC;IAEjC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;QAClC,OAAM;KACP;IAED,IAAI,IAAA,mBAAY,GAAE,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE;QAC7D,MAAM,IAAI,KAAK,CACb,wMAAwM,CACzM,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;IAED,MAAM,IAAA,sBAAW,EAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AAC9D,CAAC;AApBD,8BAoBC;AAEM,KAAK,UAAU,OAAO,CAC3B,SAAoB,EACpB,aAAmC,EACnC,cAAkC;IAElC,4BAA4B;IAC5B,IAAI,aAAa,EAAE;QACjB,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAkB,EAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACtE,IAAI,WAAW,CAAC,KAAK,KAAK,WAAW,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,uBAAuB,aAAa,CAAC,QAAQ,kBAAkB,CAAC,CAAA;SACjF;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;QAEvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/C,OAAO;YACL,QAAQ;YACR,SAAS;SACV,CAAA;KACF;IAED,qCAAqC;IACrC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;KACnF;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,SAAS,EAAE,cAAc,CAAC,KAAK,EAAE;QAClE,qCAAqC,EAAE,cAAc,CAAC,qCAAqC;KAC5F,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAA;IAEhD,OAAO;QACL,QAAQ;QACR,SAAS;KACV,CAAA;AACH,CAAC;AApCD,0BAoCC"}
@@ -1,10 +1,12 @@
1
1
  import type { CreateQueueCommandInput, SQSClient } from '@aws-sdk/client-sqs';
2
+ import type { QueueAttributeName } from '@aws-sdk/client-sqs/dist-types/models/models_0';
2
3
  import type { Either } from '@lokalise/node-core';
4
+ import type { ExtraSQSCreationParams } from '../sqs/AbstractSqsConsumer';
3
5
  import type { SQSQueueLocatorType } from '../sqs/AbstractSqsService';
4
6
  type QueueAttributesResult = {
5
7
  attributes?: Record<string, string>;
6
8
  };
7
- export declare function getQueueAttributes(sqsClient: SQSClient, queueLocator: SQSQueueLocatorType): Promise<Either<'not_found', QueueAttributesResult>>;
8
- export declare function assertQueue(sqsClient: SQSClient, queueConfig: CreateQueueCommandInput): Promise<string>;
9
+ export declare function getQueueAttributes(sqsClient: SQSClient, queueLocator: SQSQueueLocatorType, attributeNames?: QueueAttributeName[]): Promise<Either<'not_found', QueueAttributesResult>>;
10
+ export declare function assertQueue(sqsClient: SQSClient, queueConfig: CreateQueueCommandInput, extraParams?: ExtraSQSCreationParams): Promise<string>;
9
11
  export declare function deleteQueue(client: SQSClient, queueName: string): Promise<void>;
10
12
  export {};
@@ -2,9 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deleteQueue = exports.assertQueue = exports.getQueueAttributes = void 0;
4
4
  const client_sqs_1 = require("@aws-sdk/client-sqs");
5
- async function getQueueAttributes(sqsClient, queueLocator) {
5
+ const sqsAttributeUtils_1 = require("./sqsAttributeUtils");
6
+ async function getQueueAttributes(sqsClient, queueLocator, attributeNames) {
6
7
  const command = new client_sqs_1.GetQueueAttributesCommand({
7
8
  QueueUrl: queueLocator.queueUrl,
9
+ AttributeNames: attributeNames,
8
10
  });
9
11
  try {
10
12
  const response = await sqsClient.send(command);
@@ -26,7 +28,7 @@ async function getQueueAttributes(sqsClient, queueLocator) {
26
28
  }
27
29
  }
28
30
  exports.getQueueAttributes = getQueueAttributes;
29
- async function assertQueue(sqsClient, queueConfig) {
31
+ async function assertQueue(sqsClient, queueConfig, extraParams) {
30
32
  const command = new client_sqs_1.CreateQueueCommand(queueConfig);
31
33
  await sqsClient.send(command);
32
34
  const getUrlCommand = new client_sqs_1.GetQueueUrlCommand({
@@ -36,6 +38,15 @@ async function assertQueue(sqsClient, queueConfig) {
36
38
  if (!response.QueueUrl) {
37
39
  throw new Error(`Queue ${queueConfig.QueueName ?? ''} was not created`);
38
40
  }
41
+ if (extraParams?.topicArnsWithPublishPermissionsPrefix) {
42
+ const setTopicAttributesCommand = new client_sqs_1.SetQueueAttributesCommand({
43
+ QueueUrl: response.QueueUrl,
44
+ Attributes: {
45
+ Policy: (0, sqsAttributeUtils_1.generateQueuePublishForTopicPolicy)(response.QueueUrl, extraParams.topicArnsWithPublishPermissionsPrefix),
46
+ },
47
+ });
48
+ await sqsClient.send(setTopicAttributesCommand);
49
+ }
39
50
  return response.QueueUrl;
40
51
  }
41
52
  exports.assertQueue = assertQueue;
@@ -1 +1 @@
1
- {"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":";;;AACA,oDAK4B;AASrB,KAAK,UAAU,kBAAkB,CACtC,SAAoB,EACpB,YAAiC;IAEjC,MAAM,OAAO,GAAG,IAAI,sCAAyB,CAAC;QAC5C,QAAQ,EAAE,YAAY,CAAC,QAAQ;KAChC,CAAC,CAAA;IAEF,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO;YACL,MAAM,EAAE;gBACN,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC;SACF,CAAA;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,aAAa;QACb,IAAI,GAAG,CAAC,IAAI,KAAK,yCAAyC,EAAE;YAC1D,OAAO;gBACL,aAAa;gBACb,KAAK,EAAE,WAAW;aACnB,CAAA;SACF;QACD,MAAM,GAAG,CAAA;KACV;AACH,CAAC;AAzBD,gDAyBC;AAEM,KAAK,UAAU,WAAW,CAAC,SAAoB,EAAE,WAAoC;IAC1F,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC,WAAW,CAAC,CAAA;IACnD,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE7B,MAAM,aAAa,GAAG,IAAI,+BAAkB,CAAC;QAC3C,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAEpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,CAAC,SAAS,IAAI,EAAE,kBAAkB,CAAC,CAAA;KACxE;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAA;AAC1B,CAAC;AAdD,kCAcC;AAEM,KAAK,UAAU,WAAW,CAAC,MAAiB,EAAE,SAAiB;IACpE,IAAI;QACF,MAAM,eAAe,GAAG,IAAI,+BAAkB,CAAC;YAC7C,SAAS,EAAE,SAAS;SACrB,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAEnD,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;YACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAC3B;IAAC,OAAO,GAAG,EAAE;QACZ,aAAa;QACb,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;KAChD;AACH,CAAC;AAhBD,kCAgBC"}
1
+ {"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":";;;AACA,oDAM4B;AAO5B,2DAAwE;AAMjE,KAAK,UAAU,kBAAkB,CACtC,SAAoB,EACpB,YAAiC,EACjC,cAAqC;IAErC,MAAM,OAAO,GAAG,IAAI,sCAAyB,CAAC;QAC5C,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,cAAc;KAC/B,CAAC,CAAA;IAEF,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO;YACL,MAAM,EAAE;gBACN,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC;SACF,CAAA;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,aAAa;QACb,IAAI,GAAG,CAAC,IAAI,KAAK,yCAAyC,EAAE;YAC1D,OAAO;gBACL,aAAa;gBACb,KAAK,EAAE,WAAW;aACnB,CAAA;SACF;QACD,MAAM,GAAG,CAAA;KACV;AACH,CAAC;AA3BD,gDA2BC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAoB,EACpB,WAAoC,EACpC,WAAoC;IAEpC,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC,WAAW,CAAC,CAAA;IACnD,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE7B,MAAM,aAAa,GAAG,IAAI,+BAAkB,CAAC;QAC3C,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAEpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,CAAC,SAAS,IAAI,EAAE,kBAAkB,CAAC,CAAA;KACxE;IAED,IAAI,WAAW,EAAE,qCAAqC,EAAE;QACtD,MAAM,yBAAyB,GAAG,IAAI,sCAAyB,CAAC;YAC9D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,EAAE;gBACV,MAAM,EAAE,IAAA,sDAAkC,EACxC,QAAQ,CAAC,QAAQ,EACjB,WAAW,CAAC,qCAAqC,CAClD;aACF;SACF,CAAC,CAAA;QACF,MAAM,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;KAChD;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAA;AAC1B,CAAC;AA/BD,kCA+BC;AAEM,KAAK,UAAU,WAAW,CAAC,MAAiB,EAAE,SAAiB;IACpE,IAAI;QACF,MAAM,eAAe,GAAG,IAAI,+BAAkB,CAAC;YAC7C,SAAS,EAAE,SAAS;SACrB,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAEnD,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;YACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAC3B;IAAC,OAAO,GAAG,EAAE;QACZ,aAAa;QACb,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;KAChD;AACH,CAAC;AAhBD,kCAgBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@message-queue-toolkit/sqs",
3
- "version": "3.2.0",
3
+ "version": "3.4.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "SQS adapter for message-queue-toolkit",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@aws-sdk/client-sqs": "^3.385.0",
35
- "@message-queue-toolkit/core": "^3.2.0"
35
+ "@message-queue-toolkit/core": "^3.3.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@aws-sdk/client-sqs": "^3.385.0",