@message-queue-toolkit/sns 10.0.2 → 11.0.1
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/lib/sns/AbstractSnsPublisherMonoSchema.d.ts +5 -1
- package/dist/lib/sns/AbstractSnsPublisherMonoSchema.js +12 -0
- package/dist/lib/sns/AbstractSnsPublisherMonoSchema.js.map +1 -1
- package/dist/lib/sns/AbstractSnsPublisherMultiSchema.d.ts +5 -1
- package/dist/lib/sns/AbstractSnsPublisherMultiSchema.js +13 -0
- package/dist/lib/sns/AbstractSnsPublisherMultiSchema.js.map +1 -1
- package/dist/lib/sns/AbstractSnsService.d.ts +2 -2
- package/dist/lib/sns/AbstractSnsService.js.map +1 -1
- package/dist/lib/sns/AbstractSnsSqsConsumerMonoSchema.d.ts +9 -6
- package/dist/lib/sns/AbstractSnsSqsConsumerMonoSchema.js +9 -0
- package/dist/lib/sns/AbstractSnsSqsConsumerMonoSchema.js.map +1 -1
- package/dist/lib/sns/AbstractSnsSqsConsumerMultiSchema.d.ts +4 -4
- package/dist/lib/sns/AbstractSnsSqsConsumerMultiSchema.js.map +1 -1
- package/dist/lib/utils/snsMessageDeserializer.d.ts +1 -1
- package/package.json +16 -16
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Either } from '@lokalise/node-core';
|
|
2
|
-
import type { AsyncPublisher, MessageInvalidFormatError, MessageValidationError, MonoSchemaQueueOptions, NewQueueOptions } from '@message-queue-toolkit/core';
|
|
2
|
+
import type { AsyncPublisher, BarrierResult, MessageInvalidFormatError, MessageValidationError, MonoSchemaQueueOptions, NewQueueOptions } from '@message-queue-toolkit/core';
|
|
3
3
|
import type { ZodSchema } from 'zod';
|
|
4
4
|
import type { ExistingSNSOptions, SNSCreationConfig, SNSDependencies } from './AbstractSnsService';
|
|
5
5
|
import { AbstractSnsService } from './AbstractSnsService';
|
|
@@ -13,5 +13,9 @@ export declare abstract class AbstractSnsPublisherMonoSchema<MessagePayloadType
|
|
|
13
13
|
constructor(dependencies: SNSDependencies, options: (ExistingSNSOptions | NewQueueOptions<SNSCreationConfig>) & MonoSchemaQueueOptions<MessagePayloadType>);
|
|
14
14
|
publish(message: MessagePayloadType, options?: SNSMessageOptions): Promise<void>;
|
|
15
15
|
protected resolveMessage(): Either<MessageInvalidFormatError | MessageValidationError, unknown>;
|
|
16
|
+
protected resolveNextFunction(): () => void;
|
|
17
|
+
protected processPrehandlers(): Promise<undefined>;
|
|
18
|
+
protected preHandlerBarrier(): Promise<BarrierResult<undefined>>;
|
|
19
|
+
processMessage(): Promise<Either<'retryLater', 'success'>>;
|
|
16
20
|
protected resolveSchema(): Either<Error, ZodSchema<MessagePayloadType, import("zod").ZodTypeDef, MessagePayloadType>>;
|
|
17
21
|
}
|
|
@@ -19,6 +19,18 @@ class AbstractSnsPublisherMonoSchema extends AbstractSnsService_1.AbstractSnsSer
|
|
|
19
19
|
resolveMessage() {
|
|
20
20
|
throw new Error('Not implemented for publisher');
|
|
21
21
|
}
|
|
22
|
+
resolveNextFunction() {
|
|
23
|
+
throw new Error('Not implemented for publisher');
|
|
24
|
+
}
|
|
25
|
+
processPrehandlers() {
|
|
26
|
+
throw new Error('Not implemented for publisher');
|
|
27
|
+
}
|
|
28
|
+
preHandlerBarrier() {
|
|
29
|
+
throw new Error('Not implemented for publisher');
|
|
30
|
+
}
|
|
31
|
+
processMessage() {
|
|
32
|
+
throw new Error('Not implemented for publisher');
|
|
33
|
+
}
|
|
22
34
|
resolveSchema() {
|
|
23
35
|
return this.schemaEither;
|
|
24
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsPublisherMonoSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisherMonoSchema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractSnsPublisherMonoSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisherMonoSchema.ts"],"names":[],"mappings":";;;AAYA,6DAAyD;AAOzD,MAAsB,8BACpB,SAAQ,uCAAsC;IAG7B,aAAa,CAA+B;IAC5C,YAAY,CAA8C;IAE3E,YACE,YAA6B,EAC7B,OAC4C;QAE5C,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG;YAClB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAA2B,EAAE,UAA6B,EAAE;QAClE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAED,qBAAqB;IACF,cAAc;QAI/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAEkB,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;IAEkB,aAAa;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;CAEF;AAnDD,wEAmDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Either } from '@lokalise/node-core';
|
|
2
|
-
import type { AsyncPublisher, MessageInvalidFormatError, MessageValidationError, NewQueueOptions } from '@message-queue-toolkit/core';
|
|
2
|
+
import type { AsyncPublisher, BarrierResult, MessageInvalidFormatError, MessageValidationError, NewQueueOptions } from '@message-queue-toolkit/core';
|
|
3
3
|
import type { ZodSchema } from 'zod';
|
|
4
4
|
import type { ExistingSNSOptions, SNSCreationConfig, SNSDependencies } from './AbstractSnsService';
|
|
5
5
|
import { AbstractSnsService } from './AbstractSnsService';
|
|
@@ -15,4 +15,8 @@ export declare abstract class AbstractSnsPublisherMultiSchema<MessagePayloadType
|
|
|
15
15
|
publish(message: MessagePayloadType, options?: SNSMessageOptions): Promise<void>;
|
|
16
16
|
protected resolveMessage(): Either<MessageInvalidFormatError | MessageValidationError, unknown>;
|
|
17
17
|
protected resolveSchema(message: MessagePayloadType): Either<Error, ZodSchema<MessagePayloadType, import("zod").ZodTypeDef, MessagePayloadType>>;
|
|
18
|
+
protected resolveNextFunction(): () => void;
|
|
19
|
+
protected processPrehandlers(): Promise<undefined>;
|
|
20
|
+
protected preHandlerBarrier(): Promise<BarrierResult<undefined>>;
|
|
21
|
+
processMessage(): Promise<Either<'retryLater', 'success'>>;
|
|
18
22
|
}
|
|
@@ -26,6 +26,19 @@ class AbstractSnsPublisherMultiSchema extends AbstractSnsService_1.AbstractSnsSe
|
|
|
26
26
|
resolveSchema(message) {
|
|
27
27
|
return this.messageSchemaContainer.resolveSchema(message);
|
|
28
28
|
}
|
|
29
|
+
/* c8 ignore start */
|
|
30
|
+
resolveNextFunction() {
|
|
31
|
+
throw new Error('Not implemented for publisher');
|
|
32
|
+
}
|
|
33
|
+
processPrehandlers() {
|
|
34
|
+
throw new Error('Not implemented for publisher');
|
|
35
|
+
}
|
|
36
|
+
preHandlerBarrier() {
|
|
37
|
+
throw new Error('Not implemented for publisher');
|
|
38
|
+
}
|
|
39
|
+
processMessage() {
|
|
40
|
+
throw new Error('Not implemented for publisher');
|
|
41
|
+
}
|
|
29
42
|
}
|
|
30
43
|
exports.AbstractSnsPublisherMultiSchema = AbstractSnsPublisherMultiSchema;
|
|
31
44
|
//# sourceMappingURL=AbstractSnsPublisherMultiSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsPublisherMultiSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisherMultiSchema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractSnsPublisherMultiSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisherMultiSchema.ts"],"names":[],"mappings":";;;AAQA,sDAAoE;AAIpE,6DAAyD;AAOzD,MAAsB,+BACpB,SAAQ,uCAA0D;IAGjD,sBAAsB,CAA4C;IAEnF,YACE,YAA6B,EAC7B,OAEC;QAED,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;IACJ,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,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3E,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;AA1DD,0EA0DC"}
|
|
@@ -27,8 +27,8 @@ export type SNSTopicConfig = {
|
|
|
27
27
|
};
|
|
28
28
|
export type NewSNSOptions = NewQueueOptions<SNSCreationConfig>;
|
|
29
29
|
export type ExistingSNSOptions = ExistingQueueOptions<SNSQueueLocatorType>;
|
|
30
|
-
export type NewSNSOptionsMultiSchema<MessagePayloadSchemas extends object, ExecutionContext> = NewQueueOptionsMultiSchema<MessagePayloadSchemas, SNSCreationConfig, ExecutionContext>;
|
|
31
|
-
export type ExistingSNSOptionsMultiSchema<MessagePayloadSchemas extends object, ExecutionContext> = ExistingQueueOptionsMultiSchema<MessagePayloadSchemas, SNSQueueLocatorType, ExecutionContext>;
|
|
30
|
+
export type NewSNSOptionsMultiSchema<MessagePayloadSchemas extends object, ExecutionContext, PrehandlerOutput> = NewQueueOptionsMultiSchema<MessagePayloadSchemas, SNSCreationConfig, ExecutionContext, PrehandlerOutput>;
|
|
31
|
+
export type ExistingSNSOptionsMultiSchema<MessagePayloadSchemas extends object, ExecutionContext, PrehandlerOutput> = ExistingQueueOptionsMultiSchema<MessagePayloadSchemas, SNSQueueLocatorType, ExecutionContext, PrehandlerOutput>;
|
|
32
32
|
export type ExtraSNSCreationParams = {
|
|
33
33
|
queueUrlsWithSubscribePermissionsPrefix?: string;
|
|
34
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsService.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsService.ts"],"names":[],"mappings":";;;AACA,oDAAoD;AAUpD,sDAAkE;AAIlE,oDAAwD;
|
|
1
|
+
{"version":3,"file":"AbstractSnsService.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsService.ts"],"names":[],"mappings":";;;AACA,oDAAoD;AAUpD,sDAAkE;AAIlE,oDAAwD;AAiExD,MAAsB,kBAOpB,SAAQ,2BAOT;IACoB,SAAS,CAAW;IACvC,aAAa;IACN,QAAQ,CAAQ;IAEf,SAAS,CAAS;IAClB,WAAW,CAAgB;IAEnC,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,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,IAAA,sBAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAA,oBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzF,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED,4DAA4D;IAC5C,KAAK,CAAC,KAAK,KAAmB,CAAC;IAErC,KAAK,CAAC,eAAe,CAC7B,OAA2B,EAC3B,aAA4C,EAC5C,UAA6B,EAAE;QAE/B,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,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE5B,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;CACF;AA9ED,gDA8EC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SNSClient } from '@aws-sdk/client-sns';
|
|
2
2
|
import type { Either } from '@lokalise/node-core';
|
|
3
|
-
import type { MonoSchemaQueueOptions, BarrierResult } from '@message-queue-toolkit/core';
|
|
4
|
-
import type { SQSConsumerDependencies, NewSQSConsumerOptions, ExistingSQSConsumerOptions, SQSQueueLocatorType, SQSCreationConfig, SQSMessage } from '@message-queue-toolkit/sqs';
|
|
3
|
+
import type { MonoSchemaQueueOptions, BarrierResult, Prehandler } from '@message-queue-toolkit/core';
|
|
4
|
+
import type { SQSConsumerDependencies, NewSQSConsumerOptions, ExistingSQSConsumerOptions, SQSQueueLocatorType, SQSCreationConfig, SQSMessage, CommonSQSConsumerOptionsMono } from '@message-queue-toolkit/sqs';
|
|
5
5
|
import { AbstractSqsConsumer } from '@message-queue-toolkit/sqs';
|
|
6
6
|
import type { ZodSchema } from 'zod';
|
|
7
7
|
import type { SNSSubscriptionOptions } from '../utils/snsSubscriber';
|
|
@@ -9,30 +9,33 @@ import type { ExistingSNSOptions, NewSNSOptions, SNSCreationConfig, SNSQueueLoca
|
|
|
9
9
|
export type NewSnsSqsConsumerOptions = NewSQSConsumerOptions<SQSCreationConfig & SNSCreationConfig> & NewSNSOptions & {
|
|
10
10
|
subscriptionConfig?: SNSSubscriptionOptions;
|
|
11
11
|
};
|
|
12
|
-
export type NewSnsSqsConsumerOptionsMono<MessagePayloadType extends object> = NewSnsSqsConsumerOptions & MonoSchemaQueueOptions<MessagePayloadType>;
|
|
12
|
+
export type NewSnsSqsConsumerOptionsMono<MessagePayloadType extends object, ExecutionContext, PrehandlerOutput> = NewSnsSqsConsumerOptions & MonoSchemaQueueOptions<MessagePayloadType> & CommonSQSConsumerOptionsMono<MessagePayloadType, ExecutionContext, PrehandlerOutput>;
|
|
13
13
|
export type ExistingSnsSqsConsumerOptions = ExistingSQSConsumerOptions<SNSSQSQueueLocatorType> & ExistingSNSOptions & {
|
|
14
14
|
subscriptionConfig?: SNSSubscriptionOptions;
|
|
15
15
|
};
|
|
16
|
-
export type ExistingSnsSqsConsumerOptionsMono<MessagePayloadType extends object> = ExistingSnsSqsConsumerOptions & MonoSchemaQueueOptions<MessagePayloadType>;
|
|
16
|
+
export type ExistingSnsSqsConsumerOptionsMono<MessagePayloadType extends object, ExecutionContext, PrehandlerOutput> = ExistingSnsSqsConsumerOptions & MonoSchemaQueueOptions<MessagePayloadType> & CommonSQSConsumerOptionsMono<MessagePayloadType, ExecutionContext, PrehandlerOutput>;
|
|
17
17
|
export type SNSSQSConsumerDependencies = SQSConsumerDependencies & {
|
|
18
18
|
snsClient: SNSClient;
|
|
19
19
|
};
|
|
20
20
|
export type SNSSQSQueueLocatorType = SQSQueueLocatorType & SNSQueueLocatorType & {
|
|
21
21
|
subscriptionArn?: string;
|
|
22
22
|
};
|
|
23
|
-
export declare abstract class AbstractSnsSqsConsumerMonoSchema<MessagePayloadType extends object, BarrierOutput = undefined> extends AbstractSqsConsumer<MessagePayloadType, SNSSQSQueueLocatorType, SNSCreationConfig & SQSCreationConfig, NewSnsSqsConsumerOptions | ExistingSnsSqsConsumerOptionsMono<MessagePayloadType>, BarrierOutput> {
|
|
23
|
+
export declare abstract class AbstractSnsSqsConsumerMonoSchema<MessagePayloadType extends object, ExecutionContext = undefined, PrehandlerOutput = undefined, BarrierOutput = undefined> extends AbstractSqsConsumer<MessagePayloadType, SNSSQSQueueLocatorType, SNSCreationConfig & SQSCreationConfig, NewSnsSqsConsumerOptions | ExistingSnsSqsConsumerOptionsMono<MessagePayloadType, ExecutionContext, PrehandlerOutput>, ExecutionContext, PrehandlerOutput, BarrierOutput> {
|
|
24
24
|
private readonly subscriptionConfig?;
|
|
25
25
|
private readonly snsClient;
|
|
26
26
|
private readonly messageSchema;
|
|
27
27
|
private readonly schemaEither;
|
|
28
|
+
private readonly prehandlers?;
|
|
28
29
|
topicArn: string;
|
|
29
30
|
subscriptionArn: string;
|
|
30
|
-
protected constructor(dependencies: SNSSQSConsumerDependencies, options: NewSnsSqsConsumerOptionsMono<MessagePayloadType
|
|
31
|
+
protected constructor(dependencies: SNSSQSConsumerDependencies, options: NewSnsSqsConsumerOptionsMono<MessagePayloadType, ExecutionContext, PrehandlerOutput>);
|
|
31
32
|
protected resolveSchema(): Either<Error, ZodSchema<MessagePayloadType, import("zod").ZodTypeDef, MessagePayloadType>>;
|
|
32
33
|
protected resolveMessage(message: SQSMessage): Either<import("@message-queue-toolkit/core").MessageInvalidFormatError | import("@message-queue-toolkit/core").MessageValidationError, unknown>;
|
|
33
34
|
/**
|
|
34
35
|
* Override to implement barrier pattern
|
|
35
36
|
*/
|
|
36
37
|
protected preHandlerBarrier(_message: MessagePayloadType, _messageType: string): Promise<BarrierResult<BarrierOutput>>;
|
|
38
|
+
protected processPrehandlers(message: MessagePayloadType): Promise<PrehandlerOutput>;
|
|
39
|
+
protected resolveNextFunction(prehandlers: Prehandler<MessagePayloadType, ExecutionContext, PrehandlerOutput>[], message: MessagePayloadType, index: number, prehandlerOutput: PrehandlerOutput, resolve: (value: PrehandlerOutput | PromiseLike<PrehandlerOutput>) => void, reject: (err: Error) => void): (prehandlerResult: import("@message-queue-toolkit/core/dist/lib/queues/HandlerContainer").PrehandlerResult) => void;
|
|
37
40
|
init(): Promise<void>;
|
|
38
41
|
}
|
|
@@ -13,6 +13,7 @@ class AbstractSnsSqsConsumerMonoSchema extends sqs_1.AbstractSqsConsumer {
|
|
|
13
13
|
snsClient;
|
|
14
14
|
messageSchema;
|
|
15
15
|
schemaEither;
|
|
16
|
+
prehandlers;
|
|
16
17
|
// @ts-ignore
|
|
17
18
|
topicArn;
|
|
18
19
|
// @ts-ignore
|
|
@@ -23,6 +24,7 @@ class AbstractSnsSqsConsumerMonoSchema extends sqs_1.AbstractSqsConsumer {
|
|
|
23
24
|
});
|
|
24
25
|
this.subscriptionConfig = options.subscriptionConfig;
|
|
25
26
|
this.snsClient = dependencies.snsClient;
|
|
27
|
+
this.prehandlers = options.prehandlers;
|
|
26
28
|
this.messageSchema = options.messageSchema;
|
|
27
29
|
this.schemaEither = {
|
|
28
30
|
result: this.messageSchema,
|
|
@@ -41,6 +43,13 @@ class AbstractSnsSqsConsumerMonoSchema extends sqs_1.AbstractSqsConsumer {
|
|
|
41
43
|
// @ts-ignore
|
|
42
44
|
return Promise.resolve(DEFAULT_BARRIER_RESULT);
|
|
43
45
|
}
|
|
46
|
+
processPrehandlers(message) {
|
|
47
|
+
return this.processPrehandlersInternal(this.prehandlers, message);
|
|
48
|
+
}
|
|
49
|
+
// eslint-disable-next-line max-params
|
|
50
|
+
resolveNextFunction(prehandlers, message, index, prehandlerOutput, resolve, reject) {
|
|
51
|
+
return this.resolveNextPreHandlerFunctionInternal(prehandlers, this, message, index, prehandlerOutput, resolve, reject);
|
|
52
|
+
}
|
|
44
53
|
async init() {
|
|
45
54
|
if (this.deletionConfig && this.creationConfig && this.subscriptionConfig) {
|
|
46
55
|
await (0, snsInitter_1.deleteSnsSqs)(this.sqsClient, this.snsClient, this.deletionConfig, this.creationConfig.queue, this.creationConfig.topic, this.subscriptionConfig, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsSqsConsumerMonoSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumerMonoSchema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractSnsSqsConsumerMonoSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumerMonoSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,14 @@ import type { SQSCreationConfig, SQSMessage } from '@message-queue-toolkit/sqs';
|
|
|
3
3
|
import { AbstractSqsConsumerMultiSchema } from '@message-queue-toolkit/sqs';
|
|
4
4
|
import type { SNSCreationConfig } from './AbstractSnsService';
|
|
5
5
|
import type { ExistingSnsSqsConsumerOptions, NewSnsSqsConsumerOptions, SNSSQSConsumerDependencies, SNSSQSQueueLocatorType } from './AbstractSnsSqsConsumerMonoSchema';
|
|
6
|
-
export type ExistingSnsSqsConsumerOptionsMulti<MessagePayloadType extends object, ExecutionContext> = ExistingSnsSqsConsumerOptions & MultiSchemaConsumerOptions<MessagePayloadType, ExecutionContext>;
|
|
7
|
-
export type NewSnsSqsConsumerOptionsMulti<MessagePayloadType extends object, ExecutionContext> = NewSnsSqsConsumerOptions & MultiSchemaConsumerOptions<MessagePayloadType, ExecutionContext>;
|
|
8
|
-
export declare abstract class AbstractSnsSqsConsumerMultiSchema<MessagePayloadSchemas extends object, ExecutionContext> extends AbstractSqsConsumerMultiSchema<MessagePayloadSchemas, ExecutionContext, SNSSQSQueueLocatorType, SNSCreationConfig & SQSCreationConfig, NewSnsSqsConsumerOptionsMulti<MessagePayloadSchemas, ExecutionContext
|
|
6
|
+
export type ExistingSnsSqsConsumerOptionsMulti<MessagePayloadType extends object, ExecutionContext, PrehandlerOutput> = ExistingSnsSqsConsumerOptions & MultiSchemaConsumerOptions<MessagePayloadType, ExecutionContext, PrehandlerOutput>;
|
|
7
|
+
export type NewSnsSqsConsumerOptionsMulti<MessagePayloadType extends object, ExecutionContext, PrehandlerOutput> = NewSnsSqsConsumerOptions & MultiSchemaConsumerOptions<MessagePayloadType, ExecutionContext, PrehandlerOutput>;
|
|
8
|
+
export declare abstract class AbstractSnsSqsConsumerMultiSchema<MessagePayloadSchemas extends object, ExecutionContext, PrehandlerOutput> extends AbstractSqsConsumerMultiSchema<MessagePayloadSchemas, ExecutionContext, PrehandlerOutput, SNSSQSQueueLocatorType, SNSCreationConfig & SQSCreationConfig, NewSnsSqsConsumerOptionsMulti<MessagePayloadSchemas, ExecutionContext, PrehandlerOutput>> {
|
|
9
9
|
private readonly subscriptionConfig?;
|
|
10
10
|
private readonly snsClient;
|
|
11
11
|
topicArn: string;
|
|
12
12
|
subscriptionArn: string;
|
|
13
|
-
protected constructor(dependencies: SNSSQSConsumerDependencies, options: NewSnsSqsConsumerOptionsMulti<MessagePayloadSchemas, ExecutionContext
|
|
13
|
+
protected constructor(dependencies: SNSSQSConsumerDependencies, options: NewSnsSqsConsumerOptionsMulti<MessagePayloadSchemas, ExecutionContext, PrehandlerOutput>, executionContext: ExecutionContext);
|
|
14
14
|
init(): Promise<void>;
|
|
15
15
|
protected resolveMessage(message: SQSMessage): import("@lokalise/node-core").Either<import("@message-queue-toolkit/core").MessageInvalidFormatError | import("@message-queue-toolkit/core").MessageValidationError, unknown>;
|
|
16
16
|
protected resolveSchema(messagePayload: MessagePayloadSchemas): import("@lokalise/node-core").Either<Error, import("zod").ZodType<MessagePayloadSchemas, import("zod").ZodTypeDef, MessagePayloadSchemas>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsSqsConsumerMultiSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumerMultiSchema.ts"],"names":[],"mappings":";;;AAGA,oDAAsF;AAEtF,oDAA8D;AAC9D,gEAA0D;
|
|
1
|
+
{"version":3,"file":"AbstractSnsSqsConsumerMultiSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumerMultiSchema.ts"],"names":[],"mappings":";;;AAGA,oDAAsF;AAEtF,oDAA8D;AAC9D,gEAA0D;AAyB1D,MAAsB,iCAIpB,SAAQ,oCAOT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IACrC,aAAa;IACN,QAAQ,CAAQ;IACvB,aAAa;IACN,eAAe,CAAQ;IAE9B,YACE,YAAwC,EACxC,OAIC,EACD,gBAAkC;QAElC,KAAK,CACH,YAAY,EACZ;YACE,GAAG,OAAO;SACX,EACD,gBAAgB,CACjB,CAAA;QAED,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,CAAC;YAC1E,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;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,IAAA,eAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;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;AA5ED,8EA4EC"}
|
|
@@ -2,4 +2,4 @@ import type { Either, ErrorResolver } from '@lokalise/node-core';
|
|
|
2
2
|
import type { MessageInvalidFormatError, MessageValidationError } from '@message-queue-toolkit/core';
|
|
3
3
|
import type { SQSMessage } from '@message-queue-toolkit/sqs';
|
|
4
4
|
import type { ZodType } from 'zod';
|
|
5
|
-
export declare const deserializeSNSMessage: <T extends object>(message: SQSMessage, type: ZodType<T
|
|
5
|
+
export declare const deserializeSNSMessage: <T extends object>(message: SQSMessage, type: ZodType<T>, errorProcessor: ErrorResolver) => Either<MessageInvalidFormatError | MessageValidationError, T>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sns",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SNS adapter for message-queue-toolkit",
|
|
@@ -25,35 +25,35 @@
|
|
|
25
25
|
"prepublishOnly": "npm run build:release"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@lokalise/node-core": "^9.
|
|
28
|
+
"@lokalise/node-core": "^9.10.1",
|
|
29
29
|
"sqs-consumer": "^8.1.5",
|
|
30
30
|
"zod": "^3.22.4"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@aws-sdk/client-sns": "^3.476.0",
|
|
34
34
|
"@aws-sdk/client-sqs": "^3.476.0",
|
|
35
|
-
"@message-queue-toolkit/core": "^
|
|
36
|
-
"@message-queue-toolkit/sqs": "^
|
|
35
|
+
"@message-queue-toolkit/core": "^9.0.2",
|
|
36
|
+
"@message-queue-toolkit/sqs": "^11.0.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@aws-sdk/client-sns": "^3.
|
|
40
|
-
"@aws-sdk/client-sqs": "^3.
|
|
39
|
+
"@aws-sdk/client-sns": "^3.529.1",
|
|
40
|
+
"@aws-sdk/client-sqs": "^3.529.1",
|
|
41
41
|
"@message-queue-toolkit/core": "*",
|
|
42
42
|
"@message-queue-toolkit/sqs": "*",
|
|
43
|
-
"@types/node": "^20.11.
|
|
44
|
-
"@typescript-eslint/eslint-plugin": "^7.
|
|
45
|
-
"@typescript-eslint/parser": "^7.
|
|
43
|
+
"@types/node": "^20.11.25",
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "^7.1.1",
|
|
45
|
+
"@typescript-eslint/parser": "^7.1.1",
|
|
46
46
|
"@vitest/coverage-v8": "^1.3.1",
|
|
47
47
|
"awilix": "^10.0.1",
|
|
48
|
-
"awilix-manager": "^5.0
|
|
48
|
+
"awilix-manager": "^5.1.0",
|
|
49
49
|
"del-cli": "^5.1.0",
|
|
50
|
-
"eslint": "^8.
|
|
50
|
+
"eslint": "^8.57.0",
|
|
51
51
|
"eslint-config-prettier": "^9.1.0",
|
|
52
|
-
"eslint-plugin-import": "^2.29.
|
|
53
|
-
"eslint-plugin-prettier": "^5.
|
|
54
|
-
"eslint-plugin-vitest": "^0.3.
|
|
55
|
-
"prettier": "^3.
|
|
56
|
-
"typescript": "^5.
|
|
52
|
+
"eslint-plugin-import": "^2.29.1",
|
|
53
|
+
"eslint-plugin-prettier": "^5.1.3",
|
|
54
|
+
"eslint-plugin-vitest": "^0.3.25",
|
|
55
|
+
"prettier": "^3.2.5",
|
|
56
|
+
"typescript": "^5.4.2",
|
|
57
57
|
"vitest": "^1.3.1"
|
|
58
58
|
},
|
|
59
59
|
"homepage": "https://github.com/kibertoad/message-queue-toolkit",
|