@message-queue-toolkit/sqs 1.2.0 → 2.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 +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsConsumer.d.ts +10 -3
- package/dist/lib/sqs/AbstractSqsConsumer.js +1 -1
- package/dist/lib/sqs/AbstractSqsConsumer.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsService.d.ts +5 -3
- package/dist/lib/sqs/AbstractSqsService.js +13 -8
- package/dist/lib/sqs/AbstractSqsService.js.map +1 -1
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { SQSQueueAWSConfig, SQSQueueConfig, SQSConsumerDependencies, SQSQueueLocatorType, } from './lib/sqs/AbstractSqsService';
|
|
2
|
-
export { AbstractSqsConsumer } from './lib/sqs/AbstractSqsConsumer';
|
|
3
|
-
export type {
|
|
2
|
+
export { AbstractSqsConsumer, SQSCreationConfig } from './lib/sqs/AbstractSqsConsumer';
|
|
3
|
+
export type { NewSQSConsumerOptions, ExistingSQSConsumerOptions, } from './lib/sqs/AbstractSqsConsumer';
|
|
4
4
|
export { SqsConsumerErrorResolver } from './lib/errors/SqsConsumerErrorResolver';
|
|
5
5
|
export { AbstractSqsPublisher } from './lib/sqs/AbstractSqsPublisher';
|
|
6
6
|
export type { SQSMessageOptions } from './lib/sqs/AbstractSqsPublisher';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAOA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAOA,qEAAsF;AAA7E,0HAAA,mBAAmB,OAAA;AAK5B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAEjC,uEAAqE;AAA5D,4HAAA,oBAAoB,OAAA;AAG7B,iDAA+F;AAAtF,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AACjE,2EAAwE;AAA/D,+HAAA,qBAAqB,OAAA"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import type { Either, ErrorResolver } from '@lokalise/node-core';
|
|
2
|
-
import type { QueueConsumer as QueueConsumer,
|
|
2
|
+
import type { QueueConsumer as QueueConsumer, NewQueueOptions, ExistingQueueOptions, Deserializer } from '@message-queue-toolkit/core';
|
|
3
3
|
import { Consumer } from 'sqs-consumer';
|
|
4
4
|
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
|
|
8
|
+
export type SQSCreationConfig = {
|
|
9
|
+
queue: SQSQueueAWSConfig;
|
|
10
|
+
};
|
|
11
|
+
export type NewSQSConsumerOptions<MessagePayloadType extends object, CreationConfigType extends SQSCreationConfig> = NewQueueOptions<MessagePayloadType, CreationConfigType> & {
|
|
12
|
+
consumerOverrides?: Partial<ConsumerOptions>;
|
|
13
|
+
deserializer?: Deserializer<MessagePayloadType, SQSMessage>;
|
|
14
|
+
};
|
|
15
|
+
export type ExistingSQSConsumerOptions<MessagePayloadType extends object, QueueLocatorType extends SQSQueueLocatorType = SQSQueueLocatorType> = ExistingQueueOptions<MessagePayloadType, QueueLocatorType> & {
|
|
9
16
|
consumerOverrides?: Partial<ConsumerOptions>;
|
|
10
17
|
deserializer?: Deserializer<MessagePayloadType, SQSMessage>;
|
|
11
18
|
};
|
|
12
|
-
export declare abstract class AbstractSqsConsumer<MessagePayloadType extends object, QueueLocatorType extends SQSQueueLocatorType = SQSQueueLocatorType, ConsumerOptionsType extends
|
|
19
|
+
export declare abstract class AbstractSqsConsumer<MessagePayloadType extends object, QueueLocatorType extends SQSQueueLocatorType = SQSQueueLocatorType, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, ConsumerOptionsType extends NewSQSConsumerOptions<MessagePayloadType, CreationConfigType> | ExistingSQSConsumerOptions<MessagePayloadType, QueueLocatorType> = NewSQSConsumerOptions<MessagePayloadType, CreationConfigType> | ExistingSQSConsumerOptions<MessagePayloadType, QueueLocatorType>> extends AbstractSqsService<MessagePayloadType, QueueLocatorType, CreationConfigType, ConsumerOptionsType, SQSConsumerDependencies> implements QueueConsumer {
|
|
13
20
|
private readonly transactionObservabilityManager?;
|
|
14
21
|
protected readonly errorResolver: ErrorResolver;
|
|
15
22
|
protected consumer: Consumer;
|
|
@@ -39,7 +39,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
39
39
|
result: deserializationResult.result,
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
|
-
async failProcessing(
|
|
42
|
+
async failProcessing(_message) {
|
|
43
43
|
// Not implemented yet - needs dead letter queue
|
|
44
44
|
}
|
|
45
45
|
async start() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { SQSClient } from '@aws-sdk/client-sqs';
|
|
2
2
|
import type { CreateQueueRequest } from '@aws-sdk/client-sqs/dist-types/models/models_0';
|
|
3
|
-
import type { QueueConsumerDependencies, QueueDependencies,
|
|
3
|
+
import type { QueueConsumerDependencies, QueueDependencies, NewQueueOptions, ExistingQueueOptions } from '@message-queue-toolkit/core';
|
|
4
4
|
import { AbstractQueueService } from '@message-queue-toolkit/core';
|
|
5
|
+
import type { SQSCreationConfig } from './AbstractSqsConsumer';
|
|
5
6
|
export type SQSDependencies = QueueDependencies & {
|
|
6
7
|
sqsClient: SQSClient;
|
|
7
8
|
};
|
|
8
9
|
export type SQSConsumerDependencies = SQSDependencies & QueueConsumerDependencies;
|
|
9
|
-
export type SQSQueueAWSConfig =
|
|
10
|
+
export type SQSQueueAWSConfig = CreateQueueRequest;
|
|
10
11
|
export type SQSQueueConfig = {
|
|
11
12
|
tags?: Record<string, string>;
|
|
12
13
|
Attributes?: {
|
|
@@ -23,9 +24,10 @@ export type SQSQueueConfig = {
|
|
|
23
24
|
export type SQSQueueLocatorType = {
|
|
24
25
|
queueUrl: string;
|
|
25
26
|
};
|
|
26
|
-
export declare class AbstractSqsService<MessagePayloadType extends object, QueueLocatorType extends SQSQueueLocatorType = SQSQueueLocatorType, SQSOptionsType extends
|
|
27
|
+
export declare class AbstractSqsService<MessagePayloadType extends object, QueueLocatorType extends SQSQueueLocatorType = SQSQueueLocatorType, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, SQSOptionsType extends NewQueueOptions<MessagePayloadType, CreationConfigType> | ExistingQueueOptions<MessagePayloadType, QueueLocatorType> = NewQueueOptions<MessagePayloadType, CreationConfigType> | ExistingQueueOptions<MessagePayloadType, QueueLocatorType>, DependenciesType extends SQSDependencies = SQSDependencies> extends AbstractQueueService<MessagePayloadType, DependenciesType, CreationConfigType, QueueLocatorType, SQSOptionsType> {
|
|
27
28
|
protected readonly sqsClient: SQSClient;
|
|
28
29
|
queueUrl: string;
|
|
30
|
+
queueName: string;
|
|
29
31
|
constructor(dependencies: DependenciesType, options: SQSOptionsType);
|
|
30
32
|
init(): Promise<void>;
|
|
31
33
|
close(): Promise<void>;
|
|
@@ -7,25 +7,30 @@ class AbstractSqsService extends core_1.AbstractQueueService {
|
|
|
7
7
|
sqsClient;
|
|
8
8
|
// @ts-ignore
|
|
9
9
|
queueUrl;
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
queueName;
|
|
10
12
|
constructor(dependencies, options) {
|
|
11
13
|
super(dependencies, options);
|
|
12
14
|
this.sqsClient = dependencies.sqsClient;
|
|
13
15
|
}
|
|
14
16
|
async init() {
|
|
15
17
|
// reuse existing queue only
|
|
16
|
-
if (this.
|
|
17
|
-
const checkResult = await (0, SqsUtils_1.getQueueAttributes)(this.sqsClient, this.
|
|
18
|
+
if (this.locatorConfig) {
|
|
19
|
+
const checkResult = await (0, SqsUtils_1.getQueueAttributes)(this.sqsClient, this.locatorConfig);
|
|
18
20
|
if (checkResult.error === 'not_found') {
|
|
19
|
-
throw new Error(`Queue with queueUrl ${this.
|
|
21
|
+
throw new Error(`Queue with queueUrl ${this.locatorConfig.queueUrl} does not exist.`);
|
|
20
22
|
}
|
|
21
|
-
this.queueUrl = this.
|
|
23
|
+
this.queueUrl = this.locatorConfig.queueUrl;
|
|
24
|
+
const splitUrl = this.queueUrl.split('/');
|
|
25
|
+
this.queueName = splitUrl[splitUrl.length - 1];
|
|
22
26
|
return;
|
|
23
27
|
}
|
|
24
28
|
// create new queue if does not exist
|
|
25
|
-
|
|
26
|
-
QueueName
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
if (!this.creationConfig?.queue.QueueName) {
|
|
30
|
+
throw new Error('queueConfig.QueueName is mandatory when locator is not provided');
|
|
31
|
+
}
|
|
32
|
+
this.queueUrl = await (0, SqsUtils_1.assertQueue)(this.sqsClient, this.creationConfig.queue);
|
|
33
|
+
this.queueName = this.creationConfig.queue.QueueName;
|
|
29
34
|
}
|
|
30
35
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
31
36
|
async close() { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAQA,sDAAkE;AAElE,gDAAmE;AA8BnE,MAAa,kBAUX,SAAQ,2BAMT;IACoB,SAAS,CAAW;IACvC,aAAa;IACN,QAAQ,CAAQ;IACvB,aAAa;IACN,SAAS,CAAQ;IAExB,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,4BAA4B;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAkB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YAChF,IAAI,WAAW,CAAC,KAAK,KAAK,WAAW,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,aAAa,CAAC,QAAQ,kBAAkB,CAAC,CAAA;aACtF;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA;YAE3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC9C,OAAM;SACP;QAED,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;SACnF;QAED,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAC5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAA;IACtD,CAAC;IAED,4DAA4D;IAC5C,KAAK,CAAC,KAAK,KAAmB,CAAC;CAChD;AAvDD,gDAuDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sqs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SQS adapter for message-queue-toolkit",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"prepublishOnly": "npm run build:release"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@lokalise/node-core": "^5.
|
|
29
|
+
"@lokalise/node-core": "^5.12.0",
|
|
30
30
|
"sqs-consumer": "^7.2.2",
|
|
31
31
|
"zod": "^3.21.4"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"@aws-sdk/client-sqs": "^3.369.0",
|
|
35
|
-
"@message-queue-toolkit/core": "^1.
|
|
35
|
+
"@message-queue-toolkit/core": "^1.2.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@message-queue-toolkit/core": "*",
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
"eslint": "^8.44.0",
|
|
47
47
|
"eslint-config-prettier": "^8.8.0",
|
|
48
48
|
"eslint-plugin-import": "^2.27.5",
|
|
49
|
-
"eslint-plugin-prettier": "^
|
|
49
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
50
50
|
"eslint-plugin-vitest": "^0.2.6",
|
|
51
|
-
"prettier": "^
|
|
51
|
+
"prettier": "^3.0.0",
|
|
52
52
|
"typescript": "^5.1.6",
|
|
53
53
|
"vitest": "^0.33.0"
|
|
54
54
|
},
|