@message-queue-toolkit/sqs 20.0.0 → 20.1.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 +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsService.d.ts +4 -0
- package/dist/lib/sqs/AbstractSqsService.js.map +1 -1
- package/dist/lib/utils/sqsInitter.js +3 -3
- package/dist/lib/utils/sqsInitter.js.map +1 -1
- package/dist/lib/utils/sqsUtils.d.ts +2 -1
- package/dist/lib/utils/sqsUtils.js +14 -0
- package/dist/lib/utils/sqsUtils.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type { SQSConsumerDependencies, SQSConsumerOptions } from './lib/sqs/Abst
|
|
|
5
5
|
export { AbstractSqsConsumer } from './lib/sqs/AbstractSqsConsumer';
|
|
6
6
|
export { AbstractSqsPublisher, OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE, } from './lib/sqs/AbstractSqsPublisher';
|
|
7
7
|
export type { SQSMessageOptions } from './lib/sqs/AbstractSqsPublisher';
|
|
8
|
-
export { assertQueue, deleteQueue, getQueueAttributes, getQueueUrl } from './lib/utils/sqsUtils';
|
|
8
|
+
export { assertQueue, deleteQueue, getQueueAttributes, getQueueUrl, resolveQueueUrlFromLocatorConfig, } from './lib/utils/sqsUtils';
|
|
9
9
|
export { deleteSqs, updateQueueAttributes } from './lib/utils/sqsInitter';
|
|
10
10
|
export { deserializeSQSMessage } from './lib/utils/sqsMessageDeserializer';
|
|
11
11
|
export { generateQueuePublishForTopicPolicy, generateWildcardSqsArn, generateWildcardSnsArn, } from './lib/utils/sqsAttributeUtils';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveOutgoingMessageAttributes = exports.calculateOutgoingMessageSize = exports.FakeConsumerErrorResolver = exports.generateWildcardSnsArn = exports.generateWildcardSqsArn = exports.generateQueuePublishForTopicPolicy = exports.deserializeSQSMessage = exports.updateQueueAttributes = exports.deleteSqs = exports.getQueueUrl = exports.getQueueAttributes = exports.deleteQueue = exports.assertQueue = exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = exports.AbstractSqsPublisher = exports.AbstractSqsConsumer = exports.SqsConsumerErrorResolver = exports.SQS_MESSAGE_MAX_SIZE = void 0;
|
|
3
|
+
exports.resolveOutgoingMessageAttributes = exports.calculateOutgoingMessageSize = exports.FakeConsumerErrorResolver = exports.generateWildcardSnsArn = exports.generateWildcardSqsArn = exports.generateQueuePublishForTopicPolicy = exports.deserializeSQSMessage = exports.updateQueueAttributes = exports.deleteSqs = exports.resolveQueueUrlFromLocatorConfig = exports.getQueueUrl = exports.getQueueAttributes = exports.deleteQueue = exports.assertQueue = exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = exports.AbstractSqsPublisher = exports.AbstractSqsConsumer = exports.SqsConsumerErrorResolver = exports.SQS_MESSAGE_MAX_SIZE = void 0;
|
|
4
4
|
var AbstractSqsService_1 = require("./lib/sqs/AbstractSqsService");
|
|
5
5
|
Object.defineProperty(exports, "SQS_MESSAGE_MAX_SIZE", { enumerable: true, get: function () { return AbstractSqsService_1.SQS_MESSAGE_MAX_SIZE; } });
|
|
6
6
|
var SqsConsumerErrorResolver_1 = require("./lib/errors/SqsConsumerErrorResolver");
|
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "assertQueue", { enumerable: true, get: function
|
|
|
15
15
|
Object.defineProperty(exports, "deleteQueue", { enumerable: true, get: function () { return sqsUtils_1.deleteQueue; } });
|
|
16
16
|
Object.defineProperty(exports, "getQueueAttributes", { enumerable: true, get: function () { return sqsUtils_1.getQueueAttributes; } });
|
|
17
17
|
Object.defineProperty(exports, "getQueueUrl", { enumerable: true, get: function () { return sqsUtils_1.getQueueUrl; } });
|
|
18
|
+
Object.defineProperty(exports, "resolveQueueUrlFromLocatorConfig", { enumerable: true, get: function () { return sqsUtils_1.resolveQueueUrlFromLocatorConfig; } });
|
|
18
19
|
var sqsInitter_1 = require("./lib/utils/sqsInitter");
|
|
19
20
|
Object.defineProperty(exports, "deleteSqs", { enumerable: true, get: function () { return sqsInitter_1.deleteSqs; } });
|
|
20
21
|
Object.defineProperty(exports, "updateQueueAttributes", { enumerable: true, get: function () { return sqsInitter_1.updateQueueAttributes; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAOA,mEAAmE;AAA1D,0HAAA,oBAAoB,OAAA;AAE7B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,qEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAE5B,uEAGuC;AAFrC,4HAAA,oBAAoB,OAAA;AACpB,wIAAA,gCAAgC,OAAA;AAIlC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAOA,mEAAmE;AAA1D,0HAAA,oBAAoB,OAAA;AAE7B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,qEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAE5B,uEAGuC;AAFrC,4HAAA,oBAAoB,OAAA;AACpB,wIAAA,gCAAgC,OAAA;AAIlC,iDAM6B;AAL3B,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,4HAAA,gCAAgC,OAAA;AAElC,qDAAyE;AAAhE,uGAAA,SAAS,OAAA;AAAE,mHAAA,qBAAqB,OAAA;AACzC,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA;AAC9B,mEAIsC;AAHpC,uIAAA,kCAAkC,OAAA;AAClC,2HAAA,sBAAsB,OAAA;AACtB,2HAAA,sBAAsB,OAAA;AAIxB,mFAAiF;AAAxE,sIAAA,yBAAyB,OAAA;AAElC,iDAAmE;AAA1D,wHAAA,4BAA4B,OAAA;AACrC,yDAA2E;AAAlE,gIAAA,gCAAgC,OAAA"}
|
|
@@ -18,6 +18,10 @@ export type SQSCreationConfig = {
|
|
|
18
18
|
} & ExtraSQSCreationParams;
|
|
19
19
|
export type SQSQueueLocatorType = {
|
|
20
20
|
queueUrl: string;
|
|
21
|
+
queueName?: never;
|
|
22
|
+
} | {
|
|
23
|
+
queueName: string;
|
|
24
|
+
queueUrl?: never;
|
|
21
25
|
};
|
|
22
26
|
export declare abstract class AbstractSqsService<MessagePayloadType extends object, QueueLocatorType extends object = SQSQueueLocatorType, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, SQSOptionsType extends QueueOptions<CreationConfigType, QueueLocatorType> = QueueOptions<CreationConfigType, QueueLocatorType>, DependenciesType extends SQSDependencies = SQSDependencies, PrehandlerOutput = unknown, ExecutionContext = unknown> extends AbstractQueueService<MessagePayloadType, SQSMessage, DependenciesType, CreationConfigType, QueueLocatorType, SQSOptionsType, PrehandlerOutput, ExecutionContext> {
|
|
23
27
|
protected readonly sqsClient: SQSClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAElE,oDAAwD;AAExD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAElE,oDAAwD;AAExD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,QAAQ;AA4BvD,MAAsB,kBAWpB,SAAQ,2BAST;IACoB,SAAS,CAAW;IAEvC,aAAa;IACH,SAAS,CAAQ;IAC3B,aAAa;IACH,QAAQ,CAAQ;IAC1B,aAAa;IACH,QAAQ,CAAQ;IAE1B,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5B,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;QACD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,oBAAO,EACrD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,CACpB,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAEe,KAAK;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAtDD,gDAsDC"}
|
|
@@ -35,8 +35,9 @@ async function updateQueueTags(sqsClient, queueUrl, tags = {}) {
|
|
|
35
35
|
}
|
|
36
36
|
async function initSqs(sqsClient, locatorConfig, creationConfig) {
|
|
37
37
|
// reuse existing queue only
|
|
38
|
-
if (locatorConfig
|
|
39
|
-
const
|
|
38
|
+
if (locatorConfig) {
|
|
39
|
+
const queueUrl = await (0, sqsUtils_1.resolveQueueUrlFromLocatorConfig)(sqsClient, locatorConfig);
|
|
40
|
+
const checkResult = await (0, sqsUtils_1.getQueueAttributes)(sqsClient, queueUrl, ['QueueArn']);
|
|
40
41
|
if (checkResult.error === 'not_found') {
|
|
41
42
|
throw new Error(`Queue with queueUrl ${locatorConfig.queueUrl} does not exist.`);
|
|
42
43
|
}
|
|
@@ -44,7 +45,6 @@ async function initSqs(sqsClient, locatorConfig, creationConfig) {
|
|
|
44
45
|
if (!queueArn) {
|
|
45
46
|
throw new Error('Queue ARN was not set');
|
|
46
47
|
}
|
|
47
|
-
const queueUrl = locatorConfig.queueUrl;
|
|
48
48
|
const splitUrl = queueUrl.split('/');
|
|
49
49
|
const queueName = splitUrl[splitUrl.length - 1];
|
|
50
50
|
return { queueArn, queueUrl, queueName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsInitter.js","sourceRoot":"","sources":["../../../lib/utils/sqsInitter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sqsInitter.js","sourceRoot":"","sources":["../../../lib/utils/sqsInitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { CreateQueueCommandInput, QueueAttributeName, SQSClient, SendMessageCommandInput } from '@aws-sdk/client-sqs';
|
|
2
2
|
import type { Either } from '@lokalise/node-core';
|
|
3
|
-
import type { ExtraSQSCreationParams } from '../sqs/AbstractSqsService';
|
|
3
|
+
import type { ExtraSQSCreationParams, SQSQueueLocatorType } from '../sqs/AbstractSqsService';
|
|
4
4
|
type QueueAttributesResult = {
|
|
5
5
|
attributes?: Partial<Record<QueueAttributeName, string>>;
|
|
6
6
|
};
|
|
7
7
|
export declare function getQueueUrl(sqsClient: SQSClient, queueName: string): Promise<Either<'not_found', string>>;
|
|
8
8
|
export declare function getQueueAttributes(sqsClient: SQSClient, queueUrl: string, attributeNames?: QueueAttributeName[]): Promise<Either<'not_found', QueueAttributesResult>>;
|
|
9
|
+
export declare function resolveQueueUrlFromLocatorConfig(sqsClient: SQSClient, locatorConfig: Partial<SQSQueueLocatorType>): Promise<string>;
|
|
9
10
|
export declare function assertQueue(sqsClient: SQSClient, queueConfig: CreateQueueCommandInput, extraParams?: ExtraSQSCreationParams): Promise<{
|
|
10
11
|
queueUrl: string;
|
|
11
12
|
queueArn: string;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getQueueUrl = getQueueUrl;
|
|
4
4
|
exports.getQueueAttributes = getQueueAttributes;
|
|
5
|
+
exports.resolveQueueUrlFromLocatorConfig = resolveQueueUrlFromLocatorConfig;
|
|
5
6
|
exports.assertQueue = assertQueue;
|
|
6
7
|
exports.deleteQueue = deleteQueue;
|
|
7
8
|
exports.calculateOutgoingMessageSize = calculateOutgoingMessageSize;
|
|
@@ -60,6 +61,19 @@ async function getQueueAttributes(sqsClient, queueUrl, attributeNames = ['All'])
|
|
|
60
61
|
throw err;
|
|
61
62
|
}
|
|
62
63
|
}
|
|
64
|
+
async function resolveQueueUrlFromLocatorConfig(sqsClient, locatorConfig) {
|
|
65
|
+
if (locatorConfig.queueUrl) {
|
|
66
|
+
return locatorConfig.queueUrl;
|
|
67
|
+
}
|
|
68
|
+
if (!locatorConfig.queueName) {
|
|
69
|
+
throw new Error('Invalid locatorConfig setup - queueUrl or queueName must be provided');
|
|
70
|
+
}
|
|
71
|
+
const queueUrlResult = await getQueueUrl(sqsClient, locatorConfig.queueName);
|
|
72
|
+
if (queueUrlResult.error === 'not_found') {
|
|
73
|
+
throw new Error(`Queue with queueName ${locatorConfig.queueName} does not exist.`);
|
|
74
|
+
}
|
|
75
|
+
return queueUrlResult.result;
|
|
76
|
+
}
|
|
63
77
|
async function updateExistingQueue(sqsClient, queueUrl, queueConfig, extraParams) {
|
|
64
78
|
const existingAttributes = await getQueueAttributes(sqsClient, queueUrl);
|
|
65
79
|
if (!existingAttributes.result?.attributes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":";;AA6BA,kCA6BC;AAED,gDA2BC;AAgDD,kCAsDC;AAED,kCAqCC;AAWD,oEAGC;AAED,kEAEC;
|
|
1
|
+
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":"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"}
|