@anchan828/nest-cloud-run-queue-worker 3.1.1 → 3.1.2
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/constants.d.ts +2 -2
- package/dist/constants.js +3 -3
- package/dist/util.d.ts +4 -2
- package/dist/util.js +31 -3
- package/dist/worker.service.d.ts +0 -1
- package/dist/worker.service.js +2 -5
- package/package.json +3 -3
package/dist/constants.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const QUEUE_WORKER_MODULE_OPTIONS = "QUEUE_WORKER_MODULE_OPTIONS";
|
|
2
2
|
export declare const QUEUE_WORKER_DECORATOR = "QUEUE_WORKER_DECORATOR";
|
|
3
3
|
export declare const QUEUE_WORKER_PROCESS_DECORATOR = "QUEUE_WORKER_PROCESS_DECORATOR";
|
|
4
|
-
export declare const ERROR_INVALID_MESSAGE_FORMAT = "Invalid message format.";
|
|
5
|
-
export declare const ERROR_QUEUE_WORKER_NAME_NOT_FOUND = "
|
|
4
|
+
export declare const ERROR_INVALID_MESSAGE_FORMAT = "Invalid message format. The message must be an object that has a 'name' property.";
|
|
5
|
+
export declare const ERROR_QUEUE_WORKER_NAME_NOT_FOUND = "Worker name not found.";
|
|
6
6
|
export declare const ERROR_WORKER_NOT_FOUND: (name: string) => string;
|
package/dist/constants.js
CHANGED
|
@@ -5,7 +5,7 @@ exports.QUEUE_WORKER_MODULE_OPTIONS = "QUEUE_WORKER_MODULE_OPTIONS";
|
|
|
5
5
|
exports.QUEUE_WORKER_DECORATOR = "QUEUE_WORKER_DECORATOR";
|
|
6
6
|
exports.QUEUE_WORKER_PROCESS_DECORATOR = "QUEUE_WORKER_PROCESS_DECORATOR";
|
|
7
7
|
// errors
|
|
8
|
-
exports.ERROR_INVALID_MESSAGE_FORMAT = "Invalid message format.";
|
|
9
|
-
exports.ERROR_QUEUE_WORKER_NAME_NOT_FOUND = "
|
|
10
|
-
const ERROR_WORKER_NOT_FOUND = (name) => `
|
|
8
|
+
exports.ERROR_INVALID_MESSAGE_FORMAT = "Invalid message format. The message must be an object that has a 'name' property.";
|
|
9
|
+
exports.ERROR_QUEUE_WORKER_NAME_NOT_FOUND = "Worker name not found.";
|
|
10
|
+
const ERROR_WORKER_NOT_FOUND = (name) => `Worker '${name}' not found.`;
|
|
11
11
|
exports.ERROR_WORKER_NOT_FOUND = ERROR_WORKER_NOT_FOUND;
|
package/dist/util.d.ts
CHANGED
|
@@ -24,5 +24,7 @@ export declare function sortByPriority<T extends {
|
|
|
24
24
|
* @param {string} value
|
|
25
25
|
* @return {*} {boolean}
|
|
26
26
|
*/
|
|
27
|
-
export declare function isBase64(value?: string | null | Message): value is string;
|
|
28
|
-
export declare function decodeMessage<T = any>(message: QueueWorkerRawMessage | Message): QueueWorkerDecodedMessage<T>;
|
|
27
|
+
export declare function isBase64<T = any>(value?: string | null | Message<T>): value is string;
|
|
28
|
+
export declare function decodeMessage<T = any>(message: QueueWorkerRawMessage<T> | Message): QueueWorkerDecodedMessage<T>;
|
|
29
|
+
export declare function isDecodedMessage<T = any>(message: QueueWorkerRawMessage<T> | QueueWorkerDecodedMessage<T> | Message<T>): message is QueueWorkerDecodedMessage<T>;
|
|
30
|
+
export declare function isMessage<T>(message?: QueueWorkerRawMessage<T> | Message<T> | null): message is Message<T>;
|
package/dist/util.js
CHANGED
|
@@ -4,6 +4,8 @@ exports.parseJSON = void 0;
|
|
|
4
4
|
exports.sortByPriority = sortByPriority;
|
|
5
5
|
exports.isBase64 = isBase64;
|
|
6
6
|
exports.decodeMessage = decodeMessage;
|
|
7
|
+
exports.isDecodedMessage = isDecodedMessage;
|
|
8
|
+
exports.isMessage = isMessage;
|
|
7
9
|
const common_1 = require("@nestjs/common");
|
|
8
10
|
const constants_1 = require("./constants");
|
|
9
11
|
const dateRegExp = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
|
|
@@ -67,8 +69,15 @@ function decodeMessage(message) {
|
|
|
67
69
|
data = decodeData(message.data);
|
|
68
70
|
}
|
|
69
71
|
else {
|
|
70
|
-
// tasks / http
|
|
71
|
-
|
|
72
|
+
// tasks / http / raw
|
|
73
|
+
const _message = isMessage(message) ? message : isMessage(message.data) ? message.data : undefined;
|
|
74
|
+
if (!_message) {
|
|
75
|
+
throw new common_1.BadRequestException(constants_1.ERROR_INVALID_MESSAGE_FORMAT);
|
|
76
|
+
}
|
|
77
|
+
data = _message;
|
|
78
|
+
}
|
|
79
|
+
if (!data) {
|
|
80
|
+
throw new common_1.BadRequestException(constants_1.ERROR_INVALID_MESSAGE_FORMAT);
|
|
72
81
|
}
|
|
73
82
|
return {
|
|
74
83
|
data,
|
|
@@ -77,8 +86,27 @@ function decodeMessage(message) {
|
|
|
77
86
|
raw: message,
|
|
78
87
|
};
|
|
79
88
|
}
|
|
89
|
+
function isDecodedMessage(message) {
|
|
90
|
+
return "raw" in message;
|
|
91
|
+
}
|
|
92
|
+
function isMessage(message) {
|
|
93
|
+
if (!message) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
const keys = Object.keys(message);
|
|
97
|
+
return keys.length <= 2 && keys.includes("name");
|
|
98
|
+
}
|
|
80
99
|
function getMessageId(raw) {
|
|
81
|
-
|
|
100
|
+
if (!raw) {
|
|
101
|
+
return "";
|
|
102
|
+
}
|
|
103
|
+
if ("messageId" in raw) {
|
|
104
|
+
return raw.messageId ?? "";
|
|
105
|
+
}
|
|
106
|
+
if ("headers" in raw && raw.headers?.["x-cloudtasks-taskname"]) {
|
|
107
|
+
return raw.headers["x-cloudtasks-taskname"];
|
|
108
|
+
}
|
|
109
|
+
return "";
|
|
82
110
|
}
|
|
83
111
|
function decodeData(data) {
|
|
84
112
|
if (!data) {
|
package/dist/worker.service.d.ts
CHANGED
|
@@ -20,5 +20,4 @@ export declare class QueueWorkerService {
|
|
|
20
20
|
getWorkers<T = any>(meessage: QueueWorkerRawMessage<T>): Worker<T>[];
|
|
21
21
|
getWorkers<T = any>(meessage: Message<T>): Worker<T>[];
|
|
22
22
|
getWorkers<T = any>(meessage: QueueWorkerDecodedMessage<T>): Worker<T>[];
|
|
23
|
-
private isDecodedMessage;
|
|
24
23
|
}
|
package/dist/worker.service.js
CHANGED
|
@@ -38,7 +38,7 @@ let QueueWorkerService = class QueueWorkerService {
|
|
|
38
38
|
_QueueWorkerService__allWorkers.set(this, void 0);
|
|
39
39
|
}
|
|
40
40
|
async execute(meessage) {
|
|
41
|
-
const decodedMessage =
|
|
41
|
+
const decodedMessage = (0, util_1.isDecodedMessage)(meessage) ? meessage : (0, util_1.decodeMessage)(meessage);
|
|
42
42
|
if (this.options.throwModuleError && !decodedMessage.data.name) {
|
|
43
43
|
throw new common_1.BadRequestException(constants_1.ERROR_QUEUE_WORKER_NAME_NOT_FOUND);
|
|
44
44
|
}
|
|
@@ -53,7 +53,7 @@ let QueueWorkerService = class QueueWorkerService {
|
|
|
53
53
|
return results;
|
|
54
54
|
}
|
|
55
55
|
getWorkers(meessage) {
|
|
56
|
-
const decodedMessage =
|
|
56
|
+
const decodedMessage = (0, util_1.isDecodedMessage)(meessage) ? meessage : (0, util_1.decodeMessage)(meessage);
|
|
57
57
|
if (!decodedMessage.data.name) {
|
|
58
58
|
return [];
|
|
59
59
|
}
|
|
@@ -61,9 +61,6 @@ let QueueWorkerService = class QueueWorkerService {
|
|
|
61
61
|
.filter((worker) => decodedMessage.data.name === worker.name)
|
|
62
62
|
.map((metadata) => new worker_1.Worker(decodedMessage, metadata, this.options));
|
|
63
63
|
}
|
|
64
|
-
isDecodedMessage(message) {
|
|
65
|
-
return "raw" in message;
|
|
66
|
-
}
|
|
67
64
|
};
|
|
68
65
|
exports.QueueWorkerService = QueueWorkerService;
|
|
69
66
|
_QueueWorkerService__allWorkers = new WeakMap();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anchan828/nest-cloud-run-queue-worker",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "https://github.com/anchan828/nest-cloud-run-queue/tree/master/packages/worker#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"watch": "tsc -w"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@anchan828/nest-cloud-run-queue-common": "^3.1.
|
|
36
|
+
"@anchan828/nest-cloud-run-queue-common": "^3.1.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@nestjs/common": "10.3.10",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
48
|
"packageManager": "npm@10.8.2",
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "4977a74e6b471b9d83ea385ade570bf48c27b666"
|
|
50
50
|
}
|