@message-queue-toolkit/sns 3.7.0 → 4.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.
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export type { NewSnsSqsConsumerOptionsMulti, ExistingSnsSqsConsumerOptionsMulti,
10
10
  export type { SNSMessageOptions } from './lib/sns/AbstractSnsPublisherMonoSchema';
11
11
  export type { CommonMessage } from './lib/types/MessageTypes';
12
12
  export { deserializeSNSMessage } from './lib/utils/snsMessageDeserializer';
13
- export { assertTopic, deleteTopic, getTopicAttributes, deleteSubscription, } from './lib/utils/snsUtils';
13
+ export { assertTopic, deleteTopic, getTopicAttributes, deleteSubscription, findSubscriptionByTopicAndQueue, getSubscriptionAttributes, } from './lib/utils/snsUtils';
14
14
  export { subscribeToTopic } from './lib/utils/snsSubscriber';
15
15
  export { initSns, initSnsSqs } from './lib/utils/snsInitter';
16
16
  export { readSnsMessage } from './lib/utils/snsMessageReader';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateTopicSubscriptionPolicy = exports.generateFilterAttributes = exports.readSnsMessage = exports.initSnsSqs = exports.initSns = exports.subscribeToTopic = exports.deleteSubscription = exports.getTopicAttributes = exports.deleteTopic = exports.assertTopic = exports.deserializeSNSMessage = exports.AbstractSnsSqsConsumerMultiSchema = exports.AbstractSnsSqsConsumerMonoSchema = exports.AbstractSnsPublisherMultiSchema = exports.AbstractSnsPublisherMonoSchema = exports.SnsConsumerErrorResolver = exports.AbstractSnsService = void 0;
3
+ exports.generateTopicSubscriptionPolicy = exports.generateFilterAttributes = exports.readSnsMessage = exports.initSnsSqs = exports.initSns = exports.subscribeToTopic = exports.getSubscriptionAttributes = exports.findSubscriptionByTopicAndQueue = exports.deleteSubscription = exports.getTopicAttributes = exports.deleteTopic = exports.assertTopic = exports.deserializeSNSMessage = exports.AbstractSnsSqsConsumerMultiSchema = exports.AbstractSnsSqsConsumerMonoSchema = exports.AbstractSnsPublisherMultiSchema = exports.AbstractSnsPublisherMonoSchema = exports.SnsConsumerErrorResolver = exports.AbstractSnsService = void 0;
4
4
  var AbstractSnsService_1 = require("./lib/sns/AbstractSnsService");
5
5
  Object.defineProperty(exports, "AbstractSnsService", { enumerable: true, get: function () { return AbstractSnsService_1.AbstractSnsService; } });
6
6
  var SnsConsumerErrorResolver_1 = require("./lib/errors/SnsConsumerErrorResolver");
@@ -20,6 +20,8 @@ Object.defineProperty(exports, "assertTopic", { enumerable: true, get: function
20
20
  Object.defineProperty(exports, "deleteTopic", { enumerable: true, get: function () { return snsUtils_1.deleteTopic; } });
21
21
  Object.defineProperty(exports, "getTopicAttributes", { enumerable: true, get: function () { return snsUtils_1.getTopicAttributes; } });
22
22
  Object.defineProperty(exports, "deleteSubscription", { enumerable: true, get: function () { return snsUtils_1.deleteSubscription; } });
23
+ Object.defineProperty(exports, "findSubscriptionByTopicAndQueue", { enumerable: true, get: function () { return snsUtils_1.findSubscriptionByTopicAndQueue; } });
24
+ Object.defineProperty(exports, "getSubscriptionAttributes", { enumerable: true, get: function () { return snsUtils_1.getSubscriptionAttributes; } });
23
25
  var snsSubscriber_1 = require("./lib/utils/snsSubscriber");
24
26
  Object.defineProperty(exports, "subscribeToTopic", { enumerable: true, get: function () { return snsSubscriber_1.subscribeToTopic; } });
25
27
  var snsInitter_1 = require("./lib/utils/snsInitter");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAaA,mEAAiE;AAAxD,wHAAA,kBAAkB,OAAA;AAE3B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAEjC,2FAAyF;AAAhF,gJAAA,8BAA8B,OAAA;AACvC,6FAA2F;AAAlF,kJAAA,+BAA+B,OAAA;AAExC,+FAA6F;AAApF,oJAAA,gCAAgC,OAAA;AACzC,iGAA+F;AAAtF,sJAAA,iCAAiC,OAAA;AAkB1C,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA;AAE9B,iDAK6B;AAJ3B,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAGpB,2DAA4D;AAAnD,iHAAA,gBAAgB,OAAA;AACzB,qDAA4D;AAAnD,qGAAA,OAAO,OAAA;AAAE,wGAAA,UAAU,OAAA;AAC5B,iEAA6D;AAApD,kHAAA,cAAc,OAAA;AACvB,mEAGsC;AAFpC,6HAAA,wBAAwB,OAAA;AACxB,oIAAA,+BAA+B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAaA,mEAAiE;AAAxD,wHAAA,kBAAkB,OAAA;AAE3B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAEjC,2FAAyF;AAAhF,gJAAA,8BAA8B,OAAA;AACvC,6FAA2F;AAAlF,kJAAA,+BAA+B,OAAA;AAExC,+FAA6F;AAApF,oJAAA,gCAAgC,OAAA;AACzC,iGAA+F;AAAtF,sJAAA,iCAAiC,OAAA;AAkB1C,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA;AAE9B,iDAO6B;AAN3B,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,2HAAA,+BAA+B,OAAA;AAC/B,qHAAA,yBAAyB,OAAA;AAG3B,2DAA4D;AAAnD,iHAAA,gBAAgB,OAAA;AACzB,qDAA4D;AAAnD,qGAAA,OAAO,OAAA;AAAE,wGAAA,UAAU,OAAA;AAC5B,iEAA6D;AAApD,kHAAA,cAAc,OAAA;AACvB,mEAGsC;AAFpC,6HAAA,wBAAwB,OAAA;AACxB,oIAAA,+BAA+B,OAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { SNSClient } from '@aws-sdk/client-sns';
2
2
  import type { Either } from '@lokalise/node-core';
3
- import type { MonoSchemaQueueOptions } from '@message-queue-toolkit/core';
3
+ import type { MonoSchemaQueueOptions, BarrierResult } from '@message-queue-toolkit/core';
4
4
  import type { SQSConsumerDependencies, NewSQSConsumerOptions, ExistingSQSConsumerOptions, SQSQueueLocatorType, SQSCreationConfig, SQSMessage } from '@message-queue-toolkit/sqs';
5
5
  import { AbstractSqsConsumer } from '@message-queue-toolkit/sqs';
6
6
  import type { ZodSchema } from 'zod';
@@ -20,7 +20,7 @@ export type SNSSQSConsumerDependencies = SQSConsumerDependencies & {
20
20
  export type SNSSQSQueueLocatorType = SQSQueueLocatorType & SNSQueueLocatorType & {
21
21
  subscriptionArn?: string;
22
22
  };
23
- export declare abstract class AbstractSnsSqsConsumerMonoSchema<MessagePayloadType extends object> extends AbstractSqsConsumer<MessagePayloadType, SNSSQSQueueLocatorType, SNSCreationConfig & SQSCreationConfig, NewSnsSqsConsumerOptions | ExistingSnsSqsConsumerOptionsMono<MessagePayloadType>> {
23
+ export declare abstract class AbstractSnsSqsConsumerMonoSchema<MessagePayloadType extends object, BarrierOutput = undefined> extends AbstractSqsConsumer<MessagePayloadType, SNSSQSQueueLocatorType, SNSCreationConfig & SQSCreationConfig, NewSnsSqsConsumerOptions | ExistingSnsSqsConsumerOptionsMono<MessagePayloadType>, BarrierOutput> {
24
24
  private readonly subscriptionConfig?;
25
25
  private readonly snsClient;
26
26
  private readonly messageSchema;
@@ -33,6 +33,6 @@ export declare abstract class AbstractSnsSqsConsumerMonoSchema<MessagePayloadTyp
33
33
  /**
34
34
  * Override to implement barrier pattern
35
35
  */
36
- protected preHandlerBarrier(_message: MessagePayloadType, _messageType: string): Promise<boolean>;
36
+ protected preHandlerBarrier(_message: MessagePayloadType, _messageType: string): Promise<BarrierResult<BarrierOutput>>;
37
37
  init(): Promise<void>;
38
38
  }
@@ -4,6 +4,10 @@ exports.AbstractSnsSqsConsumerMonoSchema = void 0;
4
4
  const sqs_1 = require("@message-queue-toolkit/sqs");
5
5
  const snsInitter_1 = require("../utils/snsInitter");
6
6
  const snsMessageReader_1 = require("../utils/snsMessageReader");
7
+ const DEFAULT_BARRIER_RESULT = {
8
+ isPassing: true,
9
+ output: undefined,
10
+ };
7
11
  class AbstractSnsSqsConsumerMonoSchema extends sqs_1.AbstractSqsConsumer {
8
12
  subscriptionConfig;
9
13
  snsClient;
@@ -34,16 +38,21 @@ class AbstractSnsSqsConsumerMonoSchema extends sqs_1.AbstractSqsConsumer {
34
38
  * Override to implement barrier pattern
35
39
  */
36
40
  preHandlerBarrier(_message, _messageType) {
37
- return Promise.resolve(true);
41
+ // @ts-ignore
42
+ return Promise.resolve(DEFAULT_BARRIER_RESULT);
38
43
  }
39
44
  async init() {
40
45
  if (this.deletionConfig && this.creationConfig && this.subscriptionConfig) {
41
- await (0, snsInitter_1.deleteSnsSqs)(this.sqsClient, this.snsClient, this.deletionConfig, this.creationConfig.queue, this.creationConfig.topic, this.subscriptionConfig);
46
+ await (0, snsInitter_1.deleteSnsSqs)(this.sqsClient, this.snsClient, this.deletionConfig, this.creationConfig.queue, this.creationConfig.topic, this.subscriptionConfig, {
47
+ logger: this.logger,
48
+ });
42
49
  }
43
50
  else if (this.deletionConfig && this.creationConfig) {
44
51
  await (0, sqs_1.deleteSqs)(this.sqsClient, this.deletionConfig, this.creationConfig);
45
52
  }
46
- const initSnsSqsResult = await (0, snsInitter_1.initSnsSqs)(this.sqsClient, this.snsClient, this.locatorConfig, this.creationConfig, this.subscriptionConfig);
53
+ const initSnsSqsResult = await (0, snsInitter_1.initSnsSqs)(this.sqsClient, this.snsClient, this.locatorConfig, this.creationConfig, this.subscriptionConfig, {
54
+ logger: this.logger,
55
+ });
47
56
  this.queueUrl = initSnsSqsResult.queueUrl;
48
57
  this.topicArn = initSnsSqsResult.topicArn;
49
58
  this.subscriptionArn = initSnsSqsResult.subscriptionArn;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSnsSqsConsumerMonoSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumerMonoSchema.ts"],"names":[],"mappings":";;;AAWA,oDAA2E;AAG3E,oDAA8D;AAC9D,gEAA0D;AAqC1D,MAAsB,gCAEpB,SAAQ,yBAKT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IACpB,aAAa,CAA+B;IAC5C,YAAY,CAA8C;IAC3E,aAAa;IACN,QAAQ,CAAQ;IACvB,aAAa;IACN,eAAe,CAAQ;IAE9B,YACE,YAAwC,EACxC,OAEyD;QAEzD,KAAK,CAAC,YAAY,EAAE;YAClB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;QACvC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG;YAClB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAA;IACH,CAAC;IAEkB,aAAa;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAEkB,cAAc,CAAC,OAAmB;QACnD,OAAO,IAAA,iCAAc,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IACpD,CAAC;IAED;;OAEG;IACO,iBAAiB,CACzB,QAA4B,EAC5B,YAAoB;QAEpB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzE,MAAM,IAAA,yBAAY,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,CACxB,CAAA;SACF;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;YACrD,MAAM,IAAA,eAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;SAC1E;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,uBAAU,EACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,CACxB,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;IACzD,CAAC;CACF;AA9ED,4EA8EC"}
1
+ {"version":3,"file":"AbstractSnsSqsConsumerMonoSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumerMonoSchema.ts"],"names":[],"mappings":";;;AAWA,oDAA2E;AAG3E,oDAA8D;AAC9D,gEAA0D;AAqC1D,MAAM,sBAAsB,GAAG;IAC7B,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,SAAS;CACT,CAAA;AAEV,MAAsB,gCAGpB,SAAQ,yBAMT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IACpB,aAAa,CAA+B;IAC5C,YAAY,CAA8C;IAC3E,aAAa;IACN,QAAQ,CAAQ;IACvB,aAAa;IACN,eAAe,CAAQ;IAE9B,YACE,YAAwC,EACxC,OAEyD;QAEzD,KAAK,CAAC,YAAY,EAAE;YAClB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;QACvC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG;YAClB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAA;IACH,CAAC;IAEkB,aAAa;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAEkB,cAAc,CAAC,OAAmB;QACnD,OAAO,IAAA,iCAAc,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IACpD,CAAC;IAED;;OAEG;IACO,iBAAiB,CACzB,QAA4B,EAC5B,YAAoB;QAEpB,aAAa;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAChD,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzE,MAAM,IAAA,yBAAY,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,EACvB;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CACF,CAAA;SACF;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;YACrD,MAAM,IAAA,eAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;SAC1E;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,uBAAU,EACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CACF,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;IACzD,CAAC;CACF;AAvFD,4EAuFC"}
@@ -25,7 +25,9 @@ class AbstractSnsSqsConsumerMultiSchema extends sqs_1.AbstractSqsConsumerMultiSc
25
25
  else if (this.deletionConfig && this.creationConfig) {
26
26
  await (0, sqs_1.deleteSqs)(this.sqsClient, this.deletionConfig, this.creationConfig);
27
27
  }
28
- const initSnsSqsResult = await (0, snsInitter_1.initSnsSqs)(this.sqsClient, this.snsClient, this.locatorConfig, this.creationConfig, this.subscriptionConfig);
28
+ const initSnsSqsResult = await (0, snsInitter_1.initSnsSqs)(this.sqsClient, this.snsClient, this.locatorConfig, this.creationConfig, this.subscriptionConfig, {
29
+ logger: this.logger,
30
+ });
29
31
  this.queueUrl = initSnsSqsResult.queueUrl;
30
32
  this.topicArn = initSnsSqsResult.topicArn;
31
33
  this.subscriptionArn = initSnsSqsResult.subscriptionArn;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSnsSqsConsumerMultiSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumerMultiSchema.ts"],"names":[],"mappings":";;;AAGA,oDAAsF;AAEtF,oDAA8D;AAC9D,gEAA0D;AAqB1D,MAAsB,iCAGpB,SAAQ,oCAOT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IACrC,aAAa;IACN,QAAQ,CAAQ;IACvB,aAAa;IACN,eAAe,CAAQ;IAE9B,YACE,YAAwC,EACxC,OAE+E;QAE/E,KAAK,CAAC,YAAY,EAAE;YAClB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzE,MAAM,IAAA,yBAAY,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,CACxB,CAAA;SACF;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;YACrD,MAAM,IAAA,eAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;SAC1E;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,uBAAU,EACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,CACxB,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;IACzD,CAAC;IAEkB,cAAc,CAAC,OAAmB;QACnD,OAAO,IAAA,iCAAc,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IACpD,CAAC;IAEkB,aAAa,CAAC,cAAqC;QACpE,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAClE,CAAC;CACF;AAjED,8EAiEC"}
1
+ {"version":3,"file":"AbstractSnsSqsConsumerMultiSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumerMultiSchema.ts"],"names":[],"mappings":";;;AAGA,oDAAsF;AAEtF,oDAA8D;AAC9D,gEAA0D;AAqB1D,MAAsB,iCAGpB,SAAQ,oCAOT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IACrC,aAAa;IACN,QAAQ,CAAQ;IACvB,aAAa;IACN,eAAe,CAAQ;IAE9B,YACE,YAAwC,EACxC,OAE+E;QAE/E,KAAK,CAAC,YAAY,EAAE;YAClB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzE,MAAM,IAAA,yBAAY,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,CACxB,CAAA;SACF;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;YACrD,MAAM,IAAA,eAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;SAC1E;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,uBAAU,EACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CACF,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;IACzD,CAAC;IAEkB,cAAc,CAAC,OAAmB;QACnD,OAAO,IAAA,iCAAc,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IACpD,CAAC;IAEkB,aAAa,CAAC,cAAqC;QACpE,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAClE,CAAC;CACF;AApED,8EAoEC"}
@@ -1,16 +1,16 @@
1
1
  import type { SNSClient, CreateTopicCommandInput } from '@aws-sdk/client-sns';
2
2
  import type { SQSClient, CreateQueueCommandInput } from '@aws-sdk/client-sqs';
3
- import type { DeletionConfig } from '@message-queue-toolkit/core';
3
+ import type { DeletionConfig, ExtraParams } from '@message-queue-toolkit/core';
4
4
  import type { SQSCreationConfig } from '@message-queue-toolkit/sqs';
5
5
  import type { SNSCreationConfig, SNSQueueLocatorType } from '../sns/AbstractSnsService';
6
6
  import type { SNSSQSQueueLocatorType } from '../sns/AbstractSnsSqsConsumerMonoSchema';
7
7
  import type { SNSSubscriptionOptions } from './snsSubscriber';
8
- export declare function initSnsSqs(sqsClient: SQSClient, snsClient: SNSClient, locatorConfig?: SNSSQSQueueLocatorType, creationConfig?: SNSCreationConfig & SQSCreationConfig, subscriptionConfig?: SNSSubscriptionOptions): Promise<{
8
+ export declare function initSnsSqs(sqsClient: SQSClient, snsClient: SNSClient, locatorConfig?: SNSSQSQueueLocatorType, creationConfig?: SNSCreationConfig & SQSCreationConfig, subscriptionConfig?: SNSSubscriptionOptions, extraParams?: ExtraParams): Promise<{
9
9
  subscriptionArn: string;
10
10
  topicArn: string;
11
11
  queueUrl: string;
12
12
  }>;
13
- export declare function deleteSnsSqs(sqsClient: SQSClient, snsClient: SNSClient, deletionConfig: DeletionConfig, queueConfiguration: CreateQueueCommandInput, topicConfiguration: CreateTopicCommandInput, subscriptionConfiguration: SNSSubscriptionOptions): Promise<void>;
13
+ export declare function deleteSnsSqs(sqsClient: SQSClient, snsClient: SNSClient, deletionConfig: DeletionConfig, queueConfiguration: CreateQueueCommandInput, topicConfiguration: CreateTopicCommandInput, subscriptionConfiguration: SNSSubscriptionOptions, extraParams?: ExtraParams): Promise<void>;
14
14
  export declare function deleteSns(snsClient: SNSClient, deletionConfig: DeletionConfig, creationConfig: SNSCreationConfig): Promise<void>;
15
15
  export declare function initSns(snsClient: SNSClient, locatorConfig?: SNSQueueLocatorType, creationConfig?: SNSCreationConfig): Promise<{
16
16
  topicArn: string;
@@ -5,7 +5,7 @@ const core_1 = require("@message-queue-toolkit/core");
5
5
  const sqs_1 = require("@message-queue-toolkit/sqs");
6
6
  const snsSubscriber_1 = require("./snsSubscriber");
7
7
  const snsUtils_1 = require("./snsUtils");
8
- async function initSnsSqs(sqsClient, snsClient, locatorConfig, creationConfig, subscriptionConfig) {
8
+ async function initSnsSqs(sqsClient, snsClient, locatorConfig, creationConfig, subscriptionConfig, extraParams) {
9
9
  if (!locatorConfig?.subscriptionArn) {
10
10
  if (!creationConfig?.topic) {
11
11
  throw new Error('If locatorConfig.subscriptionArn is not specified, creationConfig.topic parameter is mandatory, as there will be an attempt to create the missing topic');
@@ -19,6 +19,7 @@ async function initSnsSqs(sqsClient, snsClient, locatorConfig, creationConfig, s
19
19
  const { subscriptionArn, topicArn, queueUrl } = await (0, snsSubscriber_1.subscribeToTopic)(sqsClient, snsClient, creationConfig.queue, creationConfig.topic, subscriptionConfig, {
20
20
  queueUrlsWithSubscribePermissionsPrefix: creationConfig.queueUrlsWithSubscribePermissionsPrefix,
21
21
  topicArnsWithPublishPermissionsPrefix: creationConfig.topicArnsWithPublishPermissionsPrefix,
22
+ logger: extraParams?.logger,
22
23
  });
23
24
  if (!subscriptionArn) {
24
25
  throw new Error('Failed to subscribe');
@@ -46,14 +47,14 @@ async function initSnsSqs(sqsClient, snsClient, locatorConfig, creationConfig, s
46
47
  };
47
48
  }
48
49
  exports.initSnsSqs = initSnsSqs;
49
- async function deleteSnsSqs(sqsClient, snsClient, deletionConfig, queueConfiguration, topicConfiguration, subscriptionConfiguration) {
50
+ async function deleteSnsSqs(sqsClient, snsClient, deletionConfig, queueConfiguration, topicConfiguration, subscriptionConfiguration, extraParams) {
50
51
  if (!deletionConfig.deleteIfExists) {
51
52
  return;
52
53
  }
53
54
  if ((0, core_1.isProduction)() && !deletionConfig.forceDeleteInProduction) {
54
55
  throw new Error('You are running autodeletion in production. This can and probably will cause a loss of data. If you are absolutely sure you want to do this, please set deletionConfig.forceDeleteInProduction to true');
55
56
  }
56
- const { subscriptionArn } = await (0, snsSubscriber_1.subscribeToTopic)(sqsClient, snsClient, queueConfiguration, topicConfiguration, subscriptionConfiguration);
57
+ const { subscriptionArn } = await (0, snsSubscriber_1.subscribeToTopic)(sqsClient, snsClient, queueConfiguration, topicConfiguration, subscriptionConfiguration, extraParams);
57
58
  if (!subscriptionArn) {
58
59
  throw new Error('subscriptionArn must be set for automatic deletion');
59
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snsInitter.js","sourceRoot":"","sources":["../../../lib/utils/snsInitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snsInitter.js","sourceRoot":"","sources":["../../../lib/utils/snsInitter.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import type { CreateTopicCommandInput, SNSClient } from '@aws-sdk/client-sns';
2
2
  import type { SubscribeCommandInput } from '@aws-sdk/client-sns/dist-types/commands/SubscribeCommand';
3
3
  import type { CreateQueueCommandInput, SQSClient } from '@aws-sdk/client-sqs';
4
+ import type { ExtraParams } from '@message-queue-toolkit/core';
4
5
  import type { ExtraSQSCreationParams } from '@message-queue-toolkit/sqs';
5
6
  import type { ExtraSNSCreationParams } from '../sns/AbstractSnsService';
6
- export type SNSSubscriptionOptions = Omit<SubscribeCommandInput, 'TopicArn' | 'Endpoint' | 'Protocol' | 'ReturnSubscriptionArn'>;
7
- export declare function subscribeToTopic(sqsClient: SQSClient, snsClient: SNSClient, queueConfiguration: CreateQueueCommandInput, topicConfiguration: CreateTopicCommandInput, subscriptionConfiguration: SNSSubscriptionOptions, extraParams?: ExtraSNSCreationParams & ExtraSQSCreationParams): Promise<{
7
+ export type SNSSubscriptionOptions = Omit<SubscribeCommandInput, 'TopicArn' | 'Endpoint' | 'Protocol' | 'ReturnSubscriptionArn'> & {
8
+ updateAttributesIfExists: boolean;
9
+ };
10
+ export declare function subscribeToTopic(sqsClient: SQSClient, snsClient: SNSClient, queueConfiguration: CreateQueueCommandInput, topicConfiguration: CreateTopicCommandInput, subscriptionConfiguration: SNSSubscriptionOptions, extraParams?: ExtraSNSCreationParams & ExtraSQSCreationParams & ExtraParams): Promise<{
8
11
  subscriptionArn: string | undefined;
9
12
  topicArn: string;
10
13
  queueUrl: string;
@@ -18,13 +18,52 @@ async function subscribeToTopic(sqsClient, snsClient, queueConfiguration, topicC
18
18
  ReturnSubscriptionArn: true,
19
19
  ...subscriptionConfiguration,
20
20
  });
21
- const subscriptionResult = await snsClient.send(subscribeCommand);
22
- return {
23
- subscriptionArn: subscriptionResult.SubscriptionArn,
24
- topicArn,
25
- queueUrl,
26
- queueArn,
27
- };
21
+ try {
22
+ const subscriptionResult = await snsClient.send(subscribeCommand);
23
+ return {
24
+ subscriptionArn: subscriptionResult.SubscriptionArn,
25
+ topicArn,
26
+ queueUrl,
27
+ queueArn,
28
+ };
29
+ }
30
+ catch (err) {
31
+ const logger = extraParams?.logger ?? console;
32
+ // @ts-ignore
33
+ logger.error(`Error while creating subscription for queue "${queueConfiguration.QueueName}", topic "${topicConfiguration.Name}": ${err.message}`);
34
+ if (subscriptionConfiguration.updateAttributesIfExists &&
35
+ err.message.indexOf('Subscription already exists with different attributes') !== -1) {
36
+ const result = await tryToUpdateSubscription(snsClient, topicArn, queueArn, subscriptionConfiguration);
37
+ if (!result) {
38
+ logger.error('Failed to update subscription');
39
+ throw err;
40
+ }
41
+ return {
42
+ subscriptionArn: result.SubscriptionArn,
43
+ topicArn,
44
+ queueUrl,
45
+ queueArn,
46
+ };
47
+ }
48
+ throw err;
49
+ }
28
50
  }
29
51
  exports.subscribeToTopic = subscribeToTopic;
52
+ async function tryToUpdateSubscription(snsClient, topicArn, queueArn, subscriptionConfiguration) {
53
+ const subscription = await (0, snsUtils_1.findSubscriptionByTopicAndQueue)(snsClient, topicArn, queueArn);
54
+ if (!subscription || !subscriptionConfiguration.Attributes) {
55
+ return undefined;
56
+ }
57
+ const setSubscriptionAttributesCommands = Object.entries(subscriptionConfiguration.Attributes).map(([key, value]) => {
58
+ return new client_sns_1.SetSubscriptionAttributesCommand({
59
+ SubscriptionArn: subscription.SubscriptionArn,
60
+ AttributeName: key,
61
+ AttributeValue: value,
62
+ });
63
+ });
64
+ for (let command of setSubscriptionAttributesCommands) {
65
+ await snsClient.send(command);
66
+ }
67
+ return subscription;
68
+ }
30
69
  //# sourceMappingURL=snsSubscriber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snsSubscriber.js","sourceRoot":"","sources":["../../../lib/utils/snsSubscriber.ts"],"names":[],"mappings":";;;AACA,oDAAsD;AAItD,oDAAwD;AAIxD,yCAAwC;AAOjC,KAAK,UAAU,gBAAgB,CACpC,SAAoB,EACpB,SAAoB,EACpB,kBAA2C,EAC3C,kBAA2C,EAC3C,yBAAiD,EACjD,WAA6D;IAE7D,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,SAAS,EAAE,kBAAkB,EAAE;QAChE,uCAAuC,EAAE,WAAW,EAAE,uCAAuC;KAC9F,CAAC,CAAA;IACF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,iBAAW,EAAC,SAAS,EAAE,kBAAkB,EAAE;QAC9E,qCAAqC,EAAE,WAAW,EAAE,qCAAqC;KAC1F,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,IAAI,6BAAgB,CAAC;QAC5C,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,KAAK;QACf,qBAAqB,EAAE,IAAI;QAC3B,GAAG,yBAAyB;KAC7B,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACjE,OAAO;QACL,eAAe,EAAE,kBAAkB,CAAC,eAAe;QACnD,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAA;AACH,CAAC;AA9BD,4CA8BC"}
1
+ {"version":3,"file":"snsSubscriber.js","sourceRoot":"","sources":["../../../lib/utils/snsSubscriber.ts"],"names":[],"mappings":";;;AACA,oDAAwF;AAKxF,oDAAwD;AAIxD,yCAAyE;AAOlE,KAAK,UAAU,gBAAgB,CACpC,SAAoB,EACpB,SAAoB,EACpB,kBAA2C,EAC3C,kBAA2C,EAC3C,yBAAiD,EACjD,WAA2E;IAE3E,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,SAAS,EAAE,kBAAkB,EAAE;QAChE,uCAAuC,EAAE,WAAW,EAAE,uCAAuC;KAC9F,CAAC,CAAA;IACF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,iBAAW,EAAC,SAAS,EAAE,kBAAkB,EAAE;QAC9E,qCAAqC,EAAE,WAAW,EAAE,qCAAqC;KAC1F,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,IAAI,6BAAgB,CAAC;QAC5C,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,KAAK;QACf,qBAAqB,EAAE,IAAI;QAC3B,GAAG,yBAAyB;KAC7B,CAAC,CAAA;IAEF,IAAI;QACF,MAAM,kBAAkB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACjE,OAAO;YACL,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACnD,QAAQ;YACR,QAAQ;YACR,QAAQ;SACT,CAAA;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,OAAO,CAAA;QAC7C,aAAa;QACb,MAAM,CAAC,KAAK,CACV,gDAAgD,kBAAkB,CAAC,SAAS,aAC1E,kBAAkB,CAAC,IACrB,MAAO,GAAa,CAAC,OAAO,EAAE,CAC/B,CAAA;QAED,IACE,yBAAyB,CAAC,wBAAwB;YACjD,GAAa,CAAC,OAAO,CAAC,OAAO,CAAC,uDAAuD,CAAC,KAAK,CAAC,CAAC,EAC9F;YACA,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,yBAAyB,CAC1B,CAAA;YACD,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;gBAC7C,MAAM,GAAG,CAAA;aACV;YACD,OAAO;gBACL,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,QAAQ;gBACR,QAAQ;gBACR,QAAQ;aACT,CAAA;SACF;QAED,MAAM,GAAG,CAAA;KACV;AACH,CAAC;AAhED,4CAgEC;AAED,KAAK,UAAU,uBAAuB,CACpC,SAAoB,EACpB,QAAgB,EAChB,QAAgB,EAChB,yBAAiD;IAEjD,MAAM,YAAY,GAAG,MAAM,IAAA,0CAA+B,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzF,IAAI,CAAC,YAAY,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE;QAC1D,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,iCAAiC,GAAG,MAAM,CAAC,OAAO,CACtD,yBAAyB,CAAC,UAAU,CACrC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrB,OAAO,IAAI,6CAAgC,CAAC;YAC1C,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,KAAK;SACtB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,IAAI,OAAO,IAAI,iCAAiC,EAAE;QACrD,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAC9B;IAED,OAAO,YAAY,CAAA;AACrB,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import type { CreateTopicCommandInput, SNSClient } from '@aws-sdk/client-sns';
2
2
  import type { Either } from '@lokalise/node-core';
3
3
  import type { ExtraSNSCreationParams } from '../sns/AbstractSnsService';
4
- type QueueAttributesResult = {
4
+ type AttributesResult = {
5
5
  attributes?: Record<string, string>;
6
6
  };
7
- export declare function getTopicAttributes(snsClient: SNSClient, topicArn: string): Promise<Either<'not_found', QueueAttributesResult>>;
7
+ export declare function getTopicAttributes(snsClient: SNSClient, topicArn: string): Promise<Either<'not_found', AttributesResult>>;
8
+ export declare function getSubscriptionAttributes(snsClient: SNSClient, subscriptionArn: string): Promise<Either<'not_found', AttributesResult>>;
8
9
  export declare function assertTopic(snsClient: SNSClient, topicOptions: CreateTopicCommandInput, extraParams?: ExtraSNSCreationParams): Promise<string>;
9
10
  export declare function deleteTopic(client: SNSClient, topicName: string): Promise<void>;
10
11
  export declare function deleteSubscription(client: SNSClient, subscriptionArn: string): Promise<void>;
12
+ export declare function findSubscriptionByTopicAndQueue(snsClient: SNSClient, topicArn: string, queueArn: string): Promise<import("@aws-sdk/client-sns").Subscription | undefined>;
11
13
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteSubscription = exports.deleteTopic = exports.assertTopic = exports.getTopicAttributes = void 0;
3
+ exports.findSubscriptionByTopicAndQueue = exports.deleteSubscription = exports.deleteTopic = exports.assertTopic = exports.getSubscriptionAttributes = exports.getTopicAttributes = void 0;
4
4
  const client_sns_1 = require("@aws-sdk/client-sns");
5
5
  const snsAttributeUtils_1 = require("./snsAttributeUtils");
6
6
  async function getTopicAttributes(snsClient, topicArn) {
@@ -27,6 +27,30 @@ async function getTopicAttributes(snsClient, topicArn) {
27
27
  }
28
28
  }
29
29
  exports.getTopicAttributes = getTopicAttributes;
30
+ async function getSubscriptionAttributes(snsClient, subscriptionArn) {
31
+ const command = new client_sns_1.GetSubscriptionAttributesCommand({
32
+ SubscriptionArn: subscriptionArn,
33
+ });
34
+ try {
35
+ const response = await snsClient.send(command);
36
+ return {
37
+ result: {
38
+ attributes: response.Attributes,
39
+ },
40
+ };
41
+ }
42
+ catch (err) {
43
+ // @ts-ignore
44
+ if (err.Code === 'AWS.SimpleQueueService.NonExistentQueue') {
45
+ return {
46
+ // @ts-ignore
47
+ error: 'not_found',
48
+ };
49
+ }
50
+ throw err;
51
+ }
52
+ }
53
+ exports.getSubscriptionAttributes = getSubscriptionAttributes;
30
54
  async function assertTopic(snsClient, topicOptions, extraParams) {
31
55
  const command = new client_sns_1.CreateTopicCommand(topicOptions);
32
56
  const response = await snsClient.send(command);
@@ -72,4 +96,14 @@ async function deleteSubscription(client, subscriptionArn) {
72
96
  }
73
97
  }
74
98
  exports.deleteSubscription = deleteSubscription;
99
+ async function findSubscriptionByTopicAndQueue(snsClient, topicArn, queueArn) {
100
+ const listSubscriptionsCommand = new client_sns_1.ListSubscriptionsByTopicCommand({
101
+ TopicArn: topicArn,
102
+ });
103
+ const listSubscriptionResult = await snsClient.send(listSubscriptionsCommand);
104
+ return listSubscriptionResult.Subscriptions?.find((entry) => {
105
+ return entry.Endpoint === queueArn;
106
+ });
107
+ }
108
+ exports.findSubscriptionByTopicAndQueue = findSubscriptionByTopicAndQueue;
75
109
  //# sourceMappingURL=snsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snsUtils.js","sourceRoot":"","sources":["../../../lib/utils/snsUtils.ts"],"names":[],"mappings":";;;AACA,oDAM4B;AAK5B,2DAAqE;AAM9D,KAAK,UAAU,kBAAkB,CACtC,SAAoB,EACpB,QAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,sCAAyB,CAAC;QAC5C,QAAQ,EAAE,QAAQ;KACnB,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,CAC/B,SAAoB,EACpB,YAAqC,EACrC,WAAoC;IAEpC,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC,YAAY,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;KAC5C;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;IAElC,IAAI,WAAW,EAAE,uCAAuC,EAAE;QACxD,MAAM,yBAAyB,GAAG,IAAI,sCAAyB,CAAC;YAC9D,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,QAAQ;YACvB,cAAc,EAAE,IAAA,mDAA+B,EAC7C,QAAQ,EACR,WAAW,CAAC,uCAAuC,CACpD;SACF,CAAC,CAAA;QACF,MAAM,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;KAChD;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AA1BD,kCA0BC;AAEM,KAAK,UAAU,WAAW,CAAC,MAAiB,EAAE,SAAiB;IACpE,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;YACzC,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;YACrC,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAC3B;IAAC,OAAO,GAAG,EAAE;QACZ,wCAAwC;KACzC;AACH,CAAC;AAdD,kCAcC;AAEM,KAAK,UAAU,kBAAkB,CAAC,MAAiB,EAAE,eAAuB;IACjF,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;QACrC,eAAe,EAAE,eAAe;KACjC,CAAC,CAAA;IACF,IAAI;QACF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAC3B;IAAC,OAAO,GAAG,EAAE;QACZ,wCAAwC;KACzC;AACH,CAAC;AATD,gDASC"}
1
+ {"version":3,"file":"snsUtils.js","sourceRoot":"","sources":["../../../lib/utils/snsUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@message-queue-toolkit/sns",
3
- "version": "3.7.0",
3
+ "version": "4.0.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "SNS adapter for message-queue-toolkit",
@@ -26,36 +26,36 @@
26
26
  "prepublishOnly": "npm run build:release"
27
27
  },
28
28
  "dependencies": {
29
- "@lokalise/node-core": "^6.0.0",
30
- "sqs-consumer": "^7.2.2",
31
- "zod": "^3.21.4"
29
+ "@lokalise/node-core": "^6.4.0",
30
+ "sqs-consumer": "^7.3.0",
31
+ "zod": "^3.22.4"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@aws-sdk/client-sns": "^3.385.0",
35
35
  "@aws-sdk/client-sqs": "^3.385.0",
36
- "@message-queue-toolkit/core": "^3.6.0",
37
- "@message-queue-toolkit/sqs": "^3.7.0"
36
+ "@message-queue-toolkit/core": "^4.0.0",
37
+ "@message-queue-toolkit/sqs": "^4.0.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@aws-sdk/client-sns": "^3.385.0",
41
41
  "@aws-sdk/client-sqs": "^3.385.0",
42
42
  "@message-queue-toolkit/core": "*",
43
43
  "@message-queue-toolkit/sqs": "*",
44
- "@types/node": "^20.4.1",
45
- "@typescript-eslint/eslint-plugin": "^6.2.1",
46
- "@typescript-eslint/parser": "^6.2.1",
47
- "@vitest/coverage-v8": "^0.34.1",
44
+ "@types/node": "^20.7.0",
45
+ "@typescript-eslint/eslint-plugin": "^6.7.3",
46
+ "@typescript-eslint/parser": "^6.7.3",
47
+ "@vitest/coverage-v8": "^0.34.5",
48
48
  "awilix": "^8.0.1",
49
- "awilix-manager": "^2.0.0",
49
+ "awilix-manager": "^3.2.0",
50
50
  "del-cli": "^5.0.0",
51
- "eslint": "^8.44.0",
51
+ "eslint": "^8.50.0",
52
52
  "eslint-config-prettier": "^9.0.0",
53
53
  "eslint-plugin-import": "^2.27.5",
54
54
  "eslint-plugin-prettier": "^5.0.0",
55
- "eslint-plugin-vitest": "^0.2.6",
55
+ "eslint-plugin-vitest": "^0.3.1",
56
56
  "prettier": "^3.0.0",
57
- "typescript": "^5.1.6",
58
- "vitest": "^0.34.1"
57
+ "typescript": "^5.2.2",
58
+ "vitest": "^0.34.5"
59
59
  },
60
60
  "homepage": "https://github.com/kibertoad/message-queue-toolkit",
61
61
  "repository": {