@message-queue-toolkit/sns 13.0.1 → 14.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
@@ -12,3 +12,6 @@ export { subscribeToTopic } from './lib/utils/snsSubscriber';
12
12
  export { initSns, initSnsSqs } from './lib/utils/snsInitter';
13
13
  export { readSnsMessage } from './lib/utils/snsMessageReader';
14
14
  export { generateFilterAttributes, generateTopicSubscriptionPolicy, } from './lib/utils/snsAttributeUtils';
15
+ export * from './lib/sns/CommonSnsPublisherFactory';
16
+ export * from './lib/sns/SnsPublisherManager';
17
+ export { FakeConsumer } from './lib/sns/fakes/FakeConsumer';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
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.getSubscriptionAttributes = exports.findSubscriptionByTopicAndQueue = exports.deleteSubscription = exports.getTopicAttributes = exports.deleteTopic = exports.assertTopic = exports.deserializeSNSMessage = exports.AbstractSnsSqsConsumer = exports.AbstractSnsPublisher = exports.SnsConsumerErrorResolver = exports.AbstractSnsService = void 0;
3
+ exports.FakeConsumer = 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.AbstractSnsSqsConsumer = exports.AbstractSnsPublisher = exports.SnsConsumerErrorResolver = exports.AbstractSnsService = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  var AbstractSnsService_1 = require("./lib/sns/AbstractSnsService");
5
6
  Object.defineProperty(exports, "AbstractSnsService", { enumerable: true, get: function () { return AbstractSnsService_1.AbstractSnsService; } });
6
7
  var SnsConsumerErrorResolver_1 = require("./lib/errors/SnsConsumerErrorResolver");
@@ -28,4 +29,8 @@ Object.defineProperty(exports, "readSnsMessage", { enumerable: true, get: functi
28
29
  var snsAttributeUtils_1 = require("./lib/utils/snsAttributeUtils");
29
30
  Object.defineProperty(exports, "generateFilterAttributes", { enumerable: true, get: function () { return snsAttributeUtils_1.generateFilterAttributes; } });
30
31
  Object.defineProperty(exports, "generateTopicSubscriptionPolicy", { enumerable: true, get: function () { return snsAttributeUtils_1.generateTopicSubscriptionPolicy; } });
32
+ tslib_1.__exportStar(require("./lib/sns/CommonSnsPublisherFactory"), exports);
33
+ tslib_1.__exportStar(require("./lib/sns/SnsPublisherManager"), exports);
34
+ var FakeConsumer_1 = require("./lib/sns/fakes/FakeConsumer");
35
+ Object.defineProperty(exports, "FakeConsumer", { enumerable: true, get: function () { return FakeConsumer_1.FakeConsumer; } });
31
36
  //# 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,mEAAiE;AAAxD,wHAAA,kBAAkB,OAAA;AAE3B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,uEAAqE;AAA5D,4HAAA,oBAAoB,OAAA;AAM7B,2EAAyE;AAAhE,gIAAA,sBAAsB,OAAA;AAI/B,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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAQA,mEAAiE;AAAxD,wHAAA,kBAAkB,OAAA;AAE3B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,uEAAqE;AAA5D,4HAAA,oBAAoB,OAAA;AAM7B,2EAAyE;AAAhE,gIAAA,sBAAsB,OAAA;AAI/B,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;AAGjC,8EAAmD;AACnD,wEAA6C;AAE7C,6DAA2D;AAAlD,4GAAA,YAAY,OAAA"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbstractSnsPublisher = void 0;
4
4
  const client_sns_1 = require("@aws-sdk/client-sns");
5
+ const node_core_1 = require("@lokalise/node-core");
5
6
  const core_1 = require("@message-queue-toolkit/core");
6
7
  const AbstractSnsService_1 = require("./AbstractSnsService");
7
8
  class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
@@ -47,8 +48,19 @@ class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
47
48
  this.handleMessageProcessed(message, 'published');
48
49
  }
49
50
  catch (error) {
50
- this.handleError(error);
51
- throw error;
51
+ const err = error;
52
+ this.handleError(err);
53
+ throw new node_core_1.InternalError({
54
+ message: `Error while publishing to SNS: ${err.message}`,
55
+ errorCode: 'SNS_PUBLISH_ERROR',
56
+ details: {
57
+ publisher: this.constructor.name,
58
+ topic: this.topicArn,
59
+ // @ts-ignore
60
+ messageType: message[this.messageTypeField] ?? 'unknown',
61
+ },
62
+ cause: err,
63
+ });
52
64
  }
53
65
  }
54
66
  resolveMessage() {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSnsPublisher.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisher.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AAUpD,sDAAoE;AAGpE,6DAAyD;AAazD,MAAsB,oBACpB,SAAQ,uCAA0D;IAGjD,sBAAsB,CAA4C;IAE3E,SAAS,CAAS;IAClB,WAAW,CAAgB;IAEnC,YAAY,YAA6B,EAAE,OAAgD;QACzF,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,6BAAsB,CAAqB;YAC3E,cAAc;YACd,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAA;QACF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACxB,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;QACxB,CAAC;QAED,IAAI,CAAC;YACH,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAEzC,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,MAAM,KAAK,GAAG;gBACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,OAAO;aACmB,CAAA;YAC/B,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC,KAAK,CAAC,CAAA;YACzC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACvB,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEkB,cAAc;QAI/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAEkB,aAAa,CAAC,OAA2B;QAC1D,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED,qBAAqB;IACF,mBAAmB;QACpC,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;CAEF;AAtFD,oDAsFC"}
1
+ {"version":3,"file":"AbstractSnsPublisher.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { BaseEventType } from '@message-queue-toolkit/core';
2
+ import type { SNSPublisherOptions } from './AbstractSnsPublisher';
3
+ import { AbstractSnsPublisher } from './AbstractSnsPublisher';
4
+ import type { SNSDependencies } from './AbstractSnsService';
5
+ export type SnsPublisherFactory<T extends AbstractSnsPublisher<M>, M extends BaseEventType> = {
6
+ buildPublisher(dependencies: SNSDependencies, options: SNSPublisherOptions<M>): T;
7
+ };
8
+ export declare class CommonSnsPublisher<M extends BaseEventType = BaseEventType> extends AbstractSnsPublisher<M> {
9
+ }
10
+ export declare class CommonSnsPublisherFactory<M extends BaseEventType = BaseEventType> implements SnsPublisherFactory<CommonSnsPublisher<M>, M> {
11
+ buildPublisher(dependencies: SNSDependencies, options: SNSPublisherOptions<M>): CommonSnsPublisher<M>;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonSnsPublisherFactory = exports.CommonSnsPublisher = void 0;
4
+ const AbstractSnsPublisher_1 = require("./AbstractSnsPublisher");
5
+ class CommonSnsPublisher extends AbstractSnsPublisher_1.AbstractSnsPublisher {
6
+ }
7
+ exports.CommonSnsPublisher = CommonSnsPublisher;
8
+ class CommonSnsPublisherFactory {
9
+ buildPublisher(dependencies, options) {
10
+ return new CommonSnsPublisher(dependencies, options);
11
+ }
12
+ }
13
+ exports.CommonSnsPublisherFactory = CommonSnsPublisherFactory;
14
+ //# sourceMappingURL=CommonSnsPublisherFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonSnsPublisherFactory.js","sourceRoot":"","sources":["../../../lib/sns/CommonSnsPublisherFactory.ts"],"names":[],"mappings":";;;AAGA,iEAA6D;AAO7D,MAAa,kBAEX,SAAQ,2CAAuB;CAAG;AAFpC,gDAEoC;AAEpC,MAAa,yBAAyB;IAGpC,cAAc,CACZ,YAA6B,EAC7B,OAA+B;QAE/B,OAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;CACF;AATD,8DASC"}
@@ -0,0 +1,44 @@
1
+ import type { BaseEventType, CommonEventDefinition, EventRegistry, MetadataFiller } from '@message-queue-toolkit/core';
2
+ import type { MessageMetadataType } from '@message-queue-toolkit/core/lib/messages/baseMessageSchemas';
3
+ import type { SNSDependencies } from '@message-queue-toolkit/sns';
4
+ import type z from 'zod';
5
+ import type { AbstractSnsPublisher, SNSPublisherOptions } from './AbstractSnsPublisher';
6
+ import type { SNSCreationConfig } from './AbstractSnsService';
7
+ import type { SnsPublisherFactory } from './CommonSnsPublisherFactory';
8
+ export type SnsAwareEventDefinition = {
9
+ schemaVersion?: string;
10
+ snsTopic?: string;
11
+ } & CommonEventDefinition;
12
+ export type SnsPublisherManagerDependencies<SupportedEvents extends SnsAwareEventDefinition[]> = {
13
+ eventRegistry: EventRegistry<SupportedEvents>;
14
+ } & SNSDependencies;
15
+ export type SnsPublisherManagerOptions<T extends AbstractSnsPublisher<EventType>, EventType extends BaseEventType, MetadataType> = {
16
+ metadataField?: string;
17
+ publisherFactory: SnsPublisherFactory<T, EventType>;
18
+ metadataFiller: MetadataFiller<EventType, MetadataType>;
19
+ newPublisherOptions: Omit<SNSPublisherOptions<EventType>, 'messageSchemas' | 'creationConfig' | 'locatorConfig'> & {
20
+ creationConfig?: Omit<SNSCreationConfig, 'topic'>;
21
+ };
22
+ };
23
+ export type SnsMessageSchemaType<T extends SnsAwareEventDefinition> = z.infer<T['schema']>;
24
+ export type SnsMessagePublishType<T extends SnsAwareEventDefinition> = Pick<z.infer<T['schema']>, 'type' | 'payload'> & {
25
+ id?: string;
26
+ };
27
+ export declare class SnsPublisherManager<T extends AbstractSnsPublisher<z.infer<SupportedEventDefinitions[number]['schema']>>, SupportedEventDefinitions extends SnsAwareEventDefinition[], MetadataType = MessageMetadataType> {
28
+ private readonly publisherFactory;
29
+ private readonly snsClient;
30
+ private readonly logger;
31
+ private readonly errorReporter;
32
+ private readonly topicToEventMap;
33
+ private topicToPublisherMap;
34
+ private readonly newPublisherOptions;
35
+ private readonly metadataFiller;
36
+ private readonly metadataField;
37
+ constructor(dependencies: SnsPublisherManagerDependencies<SupportedEventDefinitions>, options: SnsPublisherManagerOptions<T, z.infer<SupportedEventDefinitions[number]['schema']>, MetadataType>);
38
+ private registerEvents;
39
+ private registerPublishers;
40
+ injectPublisher(snsTopic: string, publisher: T): void;
41
+ injectEventDefinition(eventDefinition: SnsAwareEventDefinition): void;
42
+ publish(snsTopic: string, message: SnsMessagePublishType<SupportedEventDefinitions[number]>, precedingEventMetadata?: MetadataType): Promise<SnsMessageSchemaType<SupportedEventDefinitions[number]>>;
43
+ handlerSpy(snsTopic: string): import("@message-queue-toolkit/core").PublicHandlerSpy<z.TypeOf<SupportedEventDefinitions[number]["schema"]>>;
44
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SnsPublisherManager = void 0;
4
+ const CommonSnsPublisherFactory_1 = require("./CommonSnsPublisherFactory");
5
+ class SnsPublisherManager {
6
+ publisherFactory;
7
+ snsClient;
8
+ logger;
9
+ errorReporter;
10
+ topicToEventMap = {};
11
+ topicToPublisherMap = {};
12
+ newPublisherOptions;
13
+ metadataFiller;
14
+ metadataField;
15
+ constructor(dependencies, options) {
16
+ this.snsClient = dependencies.snsClient;
17
+ this.errorReporter = dependencies.errorReporter;
18
+ this.logger = dependencies.logger;
19
+ this.publisherFactory = options.publisherFactory ?? new CommonSnsPublisherFactory_1.CommonSnsPublisherFactory();
20
+ this.newPublisherOptions = options.newPublisherOptions;
21
+ this.metadataFiller = options.metadataFiller;
22
+ this.metadataField = options.metadataField ?? 'metadata';
23
+ this.registerEvents(dependencies.eventRegistry.supportedEvents);
24
+ this.registerPublishers();
25
+ }
26
+ registerEvents(events) {
27
+ for (const supportedEvent of events) {
28
+ if (!supportedEvent.snsTopic) {
29
+ continue;
30
+ }
31
+ if (!this.topicToEventMap[supportedEvent.snsTopic]) {
32
+ this.topicToEventMap[supportedEvent.snsTopic] = [];
33
+ }
34
+ this.topicToEventMap[supportedEvent.snsTopic].push(supportedEvent);
35
+ }
36
+ }
37
+ registerPublishers() {
38
+ const dependencies = {
39
+ snsClient: this.snsClient,
40
+ logger: this.logger,
41
+ errorReporter: this.errorReporter,
42
+ };
43
+ for (const snsTopic in this.topicToEventMap) {
44
+ if (this.topicToPublisherMap[snsTopic]) {
45
+ continue;
46
+ }
47
+ const messageSchemas = this.topicToEventMap[snsTopic].map((entry) => {
48
+ return entry.schema;
49
+ });
50
+ const creationConfig = {
51
+ ...this.newPublisherOptions,
52
+ topic: {
53
+ Name: snsTopic,
54
+ },
55
+ };
56
+ this.topicToPublisherMap[snsTopic] = this.publisherFactory.buildPublisher(dependencies, {
57
+ ...this.newPublisherOptions,
58
+ creationConfig,
59
+ messageSchemas,
60
+ });
61
+ }
62
+ }
63
+ injectPublisher(snsTopic, publisher) {
64
+ this.topicToPublisherMap[snsTopic] = publisher;
65
+ }
66
+ injectEventDefinition(eventDefinition) {
67
+ if (!eventDefinition.snsTopic) {
68
+ throw new Error('snsTopic is mandatory');
69
+ }
70
+ if (!this.topicToEventMap[eventDefinition.snsTopic]) {
71
+ this.topicToEventMap[eventDefinition.snsTopic] = [];
72
+ }
73
+ this.topicToEventMap[eventDefinition.snsTopic].push(eventDefinition);
74
+ }
75
+ async publish(snsTopic, message, precedingEventMetadata) {
76
+ const publisher = this.topicToPublisherMap[snsTopic];
77
+ if (!publisher) {
78
+ throw new Error(`No publisher for topic ${snsTopic}`);
79
+ }
80
+ // ToDo optimize the lookup
81
+ const messageDefinition = this.topicToEventMap[snsTopic].find((entry) => entry.schema.shape.type.value === message.type);
82
+ // @ts-ignore
83
+ const resolvedMetadata = message[this.metadataField]
84
+ ? // @ts-ignore
85
+ message[this.metadataField]
86
+ : // @ts-ignore
87
+ this.metadataFiller.produceMetadata(message, messageDefinition, precedingEventMetadata);
88
+ const resolvedMessage = {
89
+ id: message.id ? message.id : this.metadataFiller.produceId(),
90
+ timestamp: this.metadataFiller.produceTimestamp(),
91
+ ...message,
92
+ // @ts-ignore
93
+ metadata: resolvedMetadata,
94
+ };
95
+ await publisher.publish(resolvedMessage);
96
+ return resolvedMessage;
97
+ }
98
+ handlerSpy(snsTopic) {
99
+ const publisher = this.topicToPublisherMap[snsTopic];
100
+ if (!publisher) {
101
+ throw new Error(`No publisher for topic ${snsTopic}`);
102
+ }
103
+ return publisher.handlerSpy;
104
+ }
105
+ }
106
+ exports.SnsPublisherManager = SnsPublisherManager;
107
+ //# sourceMappingURL=SnsPublisherManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnsPublisherManager.js","sourceRoot":"","sources":["../../../lib/sns/SnsPublisherManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { BaseMessageType } from '@message-queue-toolkit/core';
2
+ import type { ZodSchema } from 'zod';
3
+ import type { SNSSQSConsumerDependencies } from '../AbstractSnsSqsConsumer';
4
+ import { AbstractSnsSqsConsumer } from '../AbstractSnsSqsConsumer';
5
+ export declare class FakeConsumer<T extends BaseMessageType> extends AbstractSnsSqsConsumer<T, unknown> {
6
+ constructor(dependencies: SNSSQSConsumerDependencies, queue: string, topic: string, messageSchema: ZodSchema<T>);
7
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FakeConsumer = void 0;
4
+ const core_1 = require("@message-queue-toolkit/core");
5
+ const AbstractSnsSqsConsumer_1 = require("../AbstractSnsSqsConsumer");
6
+ class FakeConsumer extends AbstractSnsSqsConsumer_1.AbstractSnsSqsConsumer {
7
+ constructor(dependencies, queue, topic, messageSchema) {
8
+ super(dependencies, {
9
+ handlers: new core_1.MessageHandlerConfigBuilder()
10
+ .addConfig(messageSchema, () => Promise.resolve({
11
+ result: 'success',
12
+ }))
13
+ .build(),
14
+ creationConfig: {
15
+ topic: {
16
+ Name: topic,
17
+ },
18
+ queue: {
19
+ QueueName: queue,
20
+ },
21
+ },
22
+ subscriptionConfig: {
23
+ updateAttributesIfExists: true,
24
+ },
25
+ messageTypeField: 'type',
26
+ handlerSpy: true,
27
+ }, dependencies);
28
+ }
29
+ }
30
+ exports.FakeConsumer = FakeConsumer;
31
+ //# sourceMappingURL=FakeConsumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeConsumer.js","sourceRoot":"","sources":["../../../../lib/sns/fakes/FakeConsumer.ts"],"names":[],"mappings":";;;AACA,sDAAyE;AAIzE,sEAAkE;AAElE,MAAa,YAAwC,SAAQ,+CAAkC;IAC7F,YACE,YAAwC,EACxC,KAAa,EACb,KAAa,EACb,aAA2B;QAE3B,KAAK,CACH,YAAY,EACZ;YACE,QAAQ,EAAE,IAAI,kCAA2B,EAAc;iBACpD,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,CAC7B,OAAO,CAAC,OAAO,CAAC;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC,CACH;iBACA,KAAK,EAAE;YACV,cAAc,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK;iBACZ;gBACD,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK;iBACjB;aACF;YACD,kBAAkB,EAAE;gBAClB,wBAAwB,EAAE,IAAI;aAC/B;YACD,gBAAgB,EAAE,MAAM;YACxB,UAAU,EAAE,IAAI;SACjB,EACD,YAAY,CACb,CAAA;IACH,CAAC;CACF;AAlCD,oCAkCC"}
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@message-queue-toolkit/sns",
3
- "version": "13.0.1",
3
+ "version": "14.0.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "SNS adapter for message-queue-toolkit",
@@ -13,7 +13,7 @@
13
13
  "main": "dist/index.js",
14
14
  "types": "dist/index.d.ts",
15
15
  "scripts": {
16
- "build": "tsc",
16
+ "build": "del-cli dist && tsc",
17
17
  "build:release": "del-cli dist && del-cli coverage && npm run lint && tsc --project tsconfig.release.json",
18
18
  "test": "vitest",
19
19
  "test:coverage": "npm test -- --coverage",
@@ -25,25 +25,25 @@
25
25
  "prepublishOnly": "npm run build:release"
26
26
  },
27
27
  "dependencies": {
28
- "@lokalise/node-core": "^9.14.0",
29
- "sqs-consumer": "^9.1.0",
30
- "zod": "^3.22.4"
28
+ "@lokalise/node-core": "^9.17.0",
29
+ "sqs-consumer": "^10.2.0",
30
+ "zod": "^3.23.6"
31
31
  },
32
32
  "peerDependencies": {
33
- "@aws-sdk/client-sns": "^3.476.0",
34
- "@aws-sdk/client-sqs": "^3.476.0",
35
- "@message-queue-toolkit/core": "^11.0.0",
36
- "@message-queue-toolkit/sqs": "^13.0.0"
33
+ "@aws-sdk/client-sns": "^3.556.0",
34
+ "@aws-sdk/client-sqs": "^3.556.0",
35
+ "@message-queue-toolkit/core": "^12.0.0",
36
+ "@message-queue-toolkit/sqs": "^14.0.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@aws-sdk/client-sns": "^3.529.1",
40
- "@aws-sdk/client-sqs": "^3.529.1",
39
+ "@aws-sdk/client-sns": "^3.569.0",
40
+ "@aws-sdk/client-sqs": "^3.569.0",
41
41
  "@message-queue-toolkit/core": "*",
42
42
  "@message-queue-toolkit/sqs": "*",
43
- "@types/node": "^20.11.25",
43
+ "@types/node": "^20.12.8",
44
44
  "@typescript-eslint/eslint-plugin": "^7.7.1",
45
45
  "@typescript-eslint/parser": "^7.7.1",
46
- "@vitest/coverage-v8": "^1.5.0",
46
+ "@vitest/coverage-v8": "^1.6.0",
47
47
  "awilix": "^10.0.1",
48
48
  "awilix-manager": "^5.1.0",
49
49
  "del-cli": "^5.1.0",
@@ -52,7 +52,7 @@
52
52
  "eslint-plugin-vitest": "0.4.1",
53
53
  "prettier": "^3.2.5",
54
54
  "typescript": "^5.4.5",
55
- "vitest": "^1.5.0"
55
+ "vitest": "^1.6.0"
56
56
  },
57
57
  "homepage": "https://github.com/kibertoad/message-queue-toolkit",
58
58
  "repository": {