@open-rlb/nestjs-amqp 1.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/README.md +300 -0
- package/amqp-lib/amqp/connection.d.ts +51 -0
- package/amqp-lib/amqp/connection.js +503 -0
- package/amqp-lib/amqp/connection.js.map +1 -0
- package/amqp-lib/amqp/errorBehaviors.d.ts +9 -0
- package/amqp-lib/amqp/errorBehaviors.js +47 -0
- package/amqp-lib/amqp/errorBehaviors.js.map +1 -0
- package/amqp-lib/amqp/utils.d.ts +7 -0
- package/amqp-lib/amqp/utils.js +110 -0
- package/amqp-lib/amqp/utils.js.map +1 -0
- package/amqp-lib/config/rabbitmq-exchange.config.d.ts +13 -0
- package/amqp-lib/config/rabbitmq-exchange.config.js +3 -0
- package/amqp-lib/config/rabbitmq-exchange.config.js.map +1 -0
- package/amqp-lib/config/rabbitmq-queue.config.d.ts +25 -0
- package/amqp-lib/config/rabbitmq-queue.config.js +3 -0
- package/amqp-lib/config/rabbitmq-queue.config.js.map +1 -0
- package/amqp-lib/config/rabbitmq.config.d.ts +49 -0
- package/amqp-lib/config/rabbitmq.config.js +3 -0
- package/amqp-lib/config/rabbitmq.config.js.map +1 -0
- package/amqp-lib/index.d.ts +4 -0
- package/amqp-lib/index.js +21 -0
- package/amqp-lib/index.js.map +1 -0
- package/amqp-lib/models/correlation-message.model.d.ts +5 -0
- package/amqp-lib/models/correlation-message.model.js +3 -0
- package/amqp-lib/models/correlation-message.model.js.map +1 -0
- package/amqp-lib/models/errors.model.d.ts +15 -0
- package/amqp-lib/models/errors.model.js +35 -0
- package/amqp-lib/models/errors.model.js.map +1 -0
- package/amqp-lib/models/nack.model.d.ts +5 -0
- package/amqp-lib/models/nack.model.js +13 -0
- package/amqp-lib/models/nack.model.js.map +1 -0
- package/amqp-lib/models/rabbitmq-handler.model.d.ts +38 -0
- package/amqp-lib/models/rabbitmq-handler.model.js +3 -0
- package/amqp-lib/models/rabbitmq-handler.model.js.map +1 -0
- package/amqp-lib/models/subscription-result.model.d.ts +4 -0
- package/amqp-lib/models/subscription-result.model.js +3 -0
- package/amqp-lib/models/subscription-result.model.js.map +1 -0
- package/amqp-lib/types.d.ts +45 -0
- package/amqp-lib/types.js +11 -0
- package/amqp-lib/types.js.map +1 -0
- package/amqp.module.d.ts +2 -0
- package/amqp.module.js +29 -0
- package/amqp.module.js.map +1 -0
- package/index.d.ts +4 -0
- package/index.js +21 -0
- package/index.js.map +1 -0
- package/modules/broker/broker.module.d.ts +27 -0
- package/modules/broker/broker.module.js +132 -0
- package/modules/broker/broker.module.js.map +1 -0
- package/modules/broker/config/broker.config.d.ts +3 -0
- package/modules/broker/config/broker.config.js +3 -0
- package/modules/broker/config/broker.config.js.map +1 -0
- package/modules/broker/config/handler-auth.config.d.ts +22 -0
- package/modules/broker/config/handler-auth.config.js +3 -0
- package/modules/broker/config/handler-auth.config.js.map +1 -0
- package/modules/broker/config/topics.config.d.ts +8 -0
- package/modules/broker/config/topics.config.js +3 -0
- package/modules/broker/config/topics.config.js.map +1 -0
- package/modules/broker/const.d.ts +9 -0
- package/modules/broker/const.js +13 -0
- package/modules/broker/const.js.map +1 -0
- package/modules/broker/data/events/messages.d.ts +29 -0
- package/modules/broker/data/events/messages.js +3 -0
- package/modules/broker/data/events/messages.js.map +1 -0
- package/modules/broker/decorators/broker-action.decorator.d.ts +8 -0
- package/modules/broker/decorators/broker-action.decorator.js +66 -0
- package/modules/broker/decorators/broker-action.decorator.js.map +1 -0
- package/modules/broker/decorators/index.d.ts +1 -0
- package/modules/broker/decorators/index.js +18 -0
- package/modules/broker/decorators/index.js.map +1 -0
- package/modules/broker/index.d.ts +9 -0
- package/modules/broker/index.js +26 -0
- package/modules/broker/index.js.map +1 -0
- package/modules/broker/pipes/boolean.pipe.d.ts +4 -0
- package/modules/broker/pipes/boolean.pipe.js +23 -0
- package/modules/broker/pipes/boolean.pipe.js.map +1 -0
- package/modules/broker/pipes/index.d.ts +2 -0
- package/modules/broker/pipes/index.js +19 -0
- package/modules/broker/pipes/index.js.map +1 -0
- package/modules/broker/pipes/number.pipe.d.ts +4 -0
- package/modules/broker/pipes/number.pipe.js +10 -0
- package/modules/broker/pipes/number.pipe.js.map +1 -0
- package/modules/broker/services/auto-discovery.service.d.ts +6 -0
- package/modules/broker/services/auto-discovery.service.js +28 -0
- package/modules/broker/services/auto-discovery.service.js.map +1 -0
- package/modules/broker/services/broker.service.d.ts +31 -0
- package/modules/broker/services/broker.service.js +323 -0
- package/modules/broker/services/broker.service.js.map +1 -0
- package/modules/broker/services/handler-registry.service.d.ts +12 -0
- package/modules/broker/services/handler-registry.service.js +58 -0
- package/modules/broker/services/handler-registry.service.js.map +1 -0
- package/modules/broker/services/metadata-scanner.service.d.ts +23 -0
- package/modules/broker/services/metadata-scanner.service.js +238 -0
- package/modules/broker/services/metadata-scanner.service.js.map +1 -0
- package/modules/broker/services/reflect.service.d.ts +22 -0
- package/modules/broker/services/reflect.service.js +195 -0
- package/modules/broker/services/reflect.service.js.map +1 -0
- package/modules/broker/services/utils.service.d.ts +8 -0
- package/modules/broker/services/utils.service.js +28 -0
- package/modules/broker/services/utils.service.js.map +1 -0
- package/modules/proxy/config/path-definition.config.d.ts +51 -0
- package/modules/proxy/config/path-definition.config.js +3 -0
- package/modules/proxy/config/path-definition.config.js.map +1 -0
- package/modules/proxy/index.d.ts +7 -0
- package/modules/proxy/index.js +20 -0
- package/modules/proxy/index.js.map +1 -0
- package/modules/proxy/proxy.module.d.ts +4 -0
- package/modules/proxy/proxy.module.js +38 -0
- package/modules/proxy/proxy.module.js.map +1 -0
- package/modules/proxy/services/acl.service.d.ts +4 -0
- package/modules/proxy/services/acl.service.js +5 -0
- package/modules/proxy/services/acl.service.js.map +1 -0
- package/modules/proxy/services/http-auth-handler.service.d.ts +19 -0
- package/modules/proxy/services/http-auth-handler.service.js +146 -0
- package/modules/proxy/services/http-auth-handler.service.js.map +1 -0
- package/modules/proxy/services/http-handler.service.d.ts +21 -0
- package/modules/proxy/services/http-handler.service.js +210 -0
- package/modules/proxy/services/http-handler.service.js.map +1 -0
- package/modules/proxy/services/jwt.service.d.ts +12 -0
- package/modules/proxy/services/jwt.service.js +107 -0
- package/modules/proxy/services/jwt.service.js.map +1 -0
- package/modules/proxy/services/websocket.service.d.ts +21 -0
- package/modules/proxy/services/websocket.service.js +180 -0
- package/modules/proxy/services/websocket.service.js.map +1 -0
- package/modules/remote-config/index.d.ts +2 -0
- package/modules/remote-config/index.js +19 -0
- package/modules/remote-config/index.js.map +1 -0
- package/modules/remote-config/remote-config.module.d.ts +2 -0
- package/modules/remote-config/remote-config.module.js +22 -0
- package/modules/remote-config/remote-config.module.js.map +1 -0
- package/modules/remote-config/remote-config.service.d.ts +12 -0
- package/modules/remote-config/remote-config.service.js +68 -0
- package/modules/remote-config/remote-config.service.js.map +1 -0
- package/open-rlb-amqp.schema.json +1297 -0
- package/package.json +88 -0
- package/tsconfig.build.tsbuildinfo +1 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.matchesRoutingKey = matchesRoutingKey;
|
|
4
|
+
exports.validateRabbitMqUris = validateRabbitMqUris;
|
|
5
|
+
exports.converUriConfigObjectsToUris = converUriConfigObjectsToUris;
|
|
6
|
+
exports.isObject = isObject;
|
|
7
|
+
exports.isPlainObject = isPlainObject;
|
|
8
|
+
exports.merge = merge;
|
|
9
|
+
function matchesRoutingKey(routingKey, pattern) {
|
|
10
|
+
if (pattern === undefined || (Array.isArray(pattern) && pattern.length === 0))
|
|
11
|
+
return false;
|
|
12
|
+
const patterns = Array.isArray(pattern) ? pattern : [pattern];
|
|
13
|
+
for (const p of patterns) {
|
|
14
|
+
if (routingKey === p)
|
|
15
|
+
return true;
|
|
16
|
+
const splitKey = routingKey.split('.');
|
|
17
|
+
const splitPattern = p.split('.');
|
|
18
|
+
let starFailed = false;
|
|
19
|
+
for (let i = 0; i < splitPattern.length; i++) {
|
|
20
|
+
if (splitPattern[i] === '#')
|
|
21
|
+
return true;
|
|
22
|
+
if (splitPattern[i] !== '*' && splitPattern[i] !== splitKey[i]) {
|
|
23
|
+
starFailed = true;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (!starFailed && splitKey.length === splitPattern.length)
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
function validateRabbitMqUris(uri) {
|
|
33
|
+
const rmqUri = new URL(uri);
|
|
34
|
+
if (!rmqUri.protocol.startsWith('amqp')) {
|
|
35
|
+
throw new Error('RabbitMQ URI protocol must start with amqp or amqps');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
;
|
|
39
|
+
function converUriConfigObjectsToUris(uri) {
|
|
40
|
+
if (typeof uri == 'string')
|
|
41
|
+
return uri;
|
|
42
|
+
return amqplibUriConfigToUrl(uri);
|
|
43
|
+
}
|
|
44
|
+
;
|
|
45
|
+
function isObject(value) {
|
|
46
|
+
return value !== null && typeof value === 'object';
|
|
47
|
+
}
|
|
48
|
+
function isPlainObject(value) {
|
|
49
|
+
if (!isObject(value))
|
|
50
|
+
return false;
|
|
51
|
+
const proto = Object.getPrototypeOf(value);
|
|
52
|
+
return proto === Object.prototype || proto === null;
|
|
53
|
+
}
|
|
54
|
+
function merge(target, ...sources) {
|
|
55
|
+
if (!isObject(target)) {
|
|
56
|
+
throw new TypeError('Target must be an object');
|
|
57
|
+
}
|
|
58
|
+
for (const source of sources) {
|
|
59
|
+
if (!isObject(source))
|
|
60
|
+
continue;
|
|
61
|
+
for (const key of Object.keys(source)) {
|
|
62
|
+
const sourceValue = source[key];
|
|
63
|
+
const targetValue = target[key];
|
|
64
|
+
if (sourceValue === undefined)
|
|
65
|
+
continue;
|
|
66
|
+
if (Array.isArray(sourceValue)) {
|
|
67
|
+
if (Array.isArray(targetValue)) {
|
|
68
|
+
for (let i = 0; i < sourceValue.length; i++) {
|
|
69
|
+
if (isPlainObject(sourceValue[i]) || Array.isArray(sourceValue[i])) {
|
|
70
|
+
targetValue[i] = merge(Array.isArray(sourceValue[i]) ? [] : {}, targetValue[i], sourceValue[i]);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
targetValue[i] = sourceValue[i];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
target[key] = merge([], sourceValue);
|
|
79
|
+
}
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
if (isPlainObject(sourceValue)) {
|
|
83
|
+
if (isPlainObject(targetValue)) {
|
|
84
|
+
merge(targetValue, sourceValue);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
target[key] = merge({}, sourceValue);
|
|
88
|
+
}
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
target[key] = sourceValue;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return target;
|
|
95
|
+
}
|
|
96
|
+
const amqplibUriConfigToUrl = ({ hostname, username, password, frameMax, heartbeat, vhost, protocol = 'amqp', port = 5672, }) => {
|
|
97
|
+
if (!hostname) {
|
|
98
|
+
throw new Error("Configuration object must contain a 'hostname' key.");
|
|
99
|
+
}
|
|
100
|
+
const auth = username && password
|
|
101
|
+
? `${encodeURIComponent(username)}:${encodeURIComponent(password)}@`
|
|
102
|
+
: '';
|
|
103
|
+
const params = new URLSearchParams();
|
|
104
|
+
if (frameMax)
|
|
105
|
+
params.set('frameMax', frameMax.toString());
|
|
106
|
+
if (heartbeat)
|
|
107
|
+
params.set('heartbeat', heartbeat.toString());
|
|
108
|
+
return `${protocol}://${auth}${hostname}:${port}${vhost ?? ''}${params.size == 0 ? '' : `?${params.toString()}`}`;
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/amqp/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Options } from "amqplib";
|
|
2
|
+
export interface RabbitMQExchangeConfig {
|
|
3
|
+
name: string;
|
|
4
|
+
type?: string;
|
|
5
|
+
createExchangeIfNotExists?: boolean;
|
|
6
|
+
options?: Options.AssertExchange;
|
|
7
|
+
}
|
|
8
|
+
export interface RabbitMQExchangeBindingConfig {
|
|
9
|
+
destination: string;
|
|
10
|
+
source: string;
|
|
11
|
+
pattern: string;
|
|
12
|
+
args?: any;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rabbitmq-exchange.config.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/config/rabbitmq-exchange.config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Options } from "amqplib";
|
|
2
|
+
export interface RabbitMQQueueConfig {
|
|
3
|
+
name: string;
|
|
4
|
+
createQueueIfNotExists?: boolean;
|
|
5
|
+
options?: Options.AssertQueue;
|
|
6
|
+
exchange?: string;
|
|
7
|
+
routingKey?: string | string[];
|
|
8
|
+
bindQueueArguments?: any;
|
|
9
|
+
consumerTag?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
export interface QueueOptions {
|
|
12
|
+
durable?: boolean;
|
|
13
|
+
exclusive?: boolean;
|
|
14
|
+
autoDelete?: boolean;
|
|
15
|
+
arguments?: any;
|
|
16
|
+
messageTtl?: number;
|
|
17
|
+
expires?: number;
|
|
18
|
+
deadLetterExchange?: string;
|
|
19
|
+
deadLetterRoutingKey?: string;
|
|
20
|
+
maxLength?: number;
|
|
21
|
+
maxPriority?: number;
|
|
22
|
+
bindQueueArguments?: any;
|
|
23
|
+
channel?: string;
|
|
24
|
+
consumerOptions?: Options.Consume;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rabbitmq-queue.config.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/config/rabbitmq-queue.config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ModuleMetadata, Type } from "@nestjs/common";
|
|
2
|
+
import { AmqpConnectionManagerOptions } from "amqp-connection-manager";
|
|
3
|
+
import { MessageDeserializer, MessageErrorHandler, MessageHandlerErrorBehavior, MessageSerializer, RabbitMQChannels, RabbitMQHandlers, RabbitMQUriConfig } from "../types";
|
|
4
|
+
import { RabbitMQExchangeBindingConfig, RabbitMQExchangeConfig } from "./rabbitmq-exchange.config";
|
|
5
|
+
import { RabbitMQQueueConfig } from "./rabbitmq-queue.config";
|
|
6
|
+
export interface RabbitMQConfig {
|
|
7
|
+
uri: RabbitMQUriConfig;
|
|
8
|
+
prefetchCount?: number;
|
|
9
|
+
exchanges?: RabbitMQExchangeConfig[];
|
|
10
|
+
exchangeBindings?: RabbitMQExchangeBindingConfig[];
|
|
11
|
+
queues?: RabbitMQQueueConfig[];
|
|
12
|
+
defaultRpcTimeout?: number;
|
|
13
|
+
defaultExchangeType?: string;
|
|
14
|
+
defaultRpcErrorHandler?: MessageErrorHandler;
|
|
15
|
+
defaultSubscribeErrorBehavior?: MessageHandlerErrorBehavior;
|
|
16
|
+
connectionInitOptions?: ConnectionInitOptions;
|
|
17
|
+
connectionManagerOptions?: AmqpConnectionManagerOptions;
|
|
18
|
+
registerHandlers?: boolean;
|
|
19
|
+
enableDirectReplyTo?: boolean;
|
|
20
|
+
enableControllerDiscovery?: boolean;
|
|
21
|
+
channels?: RabbitMQChannels;
|
|
22
|
+
handlers?: RabbitMQHandlers;
|
|
23
|
+
defaultHandler?: string;
|
|
24
|
+
deserializer?: MessageDeserializer;
|
|
25
|
+
serializer?: MessageSerializer;
|
|
26
|
+
replyQueues?: {
|
|
27
|
+
[key: string]: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface ConnectionInitOptions {
|
|
31
|
+
wait?: boolean;
|
|
32
|
+
timeout?: number;
|
|
33
|
+
reject?: boolean;
|
|
34
|
+
skipConnectionFailedLogging?: boolean;
|
|
35
|
+
skipDisconnectFailedLogging?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface RabbitMQChannelConfig {
|
|
38
|
+
prefetchCount?: number;
|
|
39
|
+
default?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface RabbitMQModuleOptionsFactory {
|
|
42
|
+
createRabbitMQModuleOptions(): Promise<RabbitMQConfig> | RabbitMQConfig;
|
|
43
|
+
}
|
|
44
|
+
export interface RabbitMQModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
45
|
+
inject?: any[];
|
|
46
|
+
useClass?: Type<RabbitMQModuleOptionsFactory>;
|
|
47
|
+
useExisting?: Type<RabbitMQModuleOptionsFactory>;
|
|
48
|
+
useFactory?: (...args: any[]) => Promise<RabbitMQConfig> | RabbitMQConfig;
|
|
49
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rabbitmq.config.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/config/rabbitmq.config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./amqp/connection"), exports);
|
|
18
|
+
__exportStar(require("./amqp/errorBehaviors"), exports);
|
|
19
|
+
__exportStar(require("./models/errors.model"), exports);
|
|
20
|
+
__exportStar(require("./models/nack.model"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../libs/rlb-nestjs-amqp/src/amqp-lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,wDAAsC;AACtC,wDAAsC;AACtC,sDAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"correlation-message.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/correlation-message.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class RpcTimeoutError extends Error {
|
|
2
|
+
readonly timeout: number;
|
|
3
|
+
readonly exchange: string;
|
|
4
|
+
readonly routingKey: string;
|
|
5
|
+
constructor(timeout: number, exchange: string, routingKey: string);
|
|
6
|
+
}
|
|
7
|
+
export declare class NullMessageError extends Error {
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
10
|
+
export declare class ChannelNotAvailableError extends Error {
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
13
|
+
export declare class ConnectionNotAvailableError extends Error {
|
|
14
|
+
constructor();
|
|
15
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConnectionNotAvailableError = exports.ChannelNotAvailableError = exports.NullMessageError = exports.RpcTimeoutError = void 0;
|
|
4
|
+
class RpcTimeoutError extends Error {
|
|
5
|
+
constructor(timeout, exchange, routingKey) {
|
|
6
|
+
super(`Failed to receive response within timeout of ${timeout}ms for exchange "${exchange}" and routing key "${routingKey}"`);
|
|
7
|
+
this.timeout = timeout;
|
|
8
|
+
this.exchange = exchange;
|
|
9
|
+
this.routingKey = routingKey;
|
|
10
|
+
this.name = 'RpcTimeoutError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.RpcTimeoutError = RpcTimeoutError;
|
|
14
|
+
class NullMessageError extends Error {
|
|
15
|
+
constructor() {
|
|
16
|
+
super('Received null message');
|
|
17
|
+
this.name = 'NullMessageError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.NullMessageError = NullMessageError;
|
|
21
|
+
class ChannelNotAvailableError extends Error {
|
|
22
|
+
constructor() {
|
|
23
|
+
super('channel is not available');
|
|
24
|
+
this.name = 'ChannelNotAvailableError';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.ChannelNotAvailableError = ChannelNotAvailableError;
|
|
28
|
+
class ConnectionNotAvailableError extends Error {
|
|
29
|
+
constructor() {
|
|
30
|
+
super('connection is not available');
|
|
31
|
+
this.name = 'ConnectionNotAvailableError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.ConnectionNotAvailableError = ConnectionNotAvailableError;
|
|
35
|
+
//# sourceMappingURL=errors.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/errors.model.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAgB,SAAQ,KAAK;IACxC,YACkB,OAAe,EACf,QAAgB,EAChB,UAAkB;QAElC,KAAK,CACH,gDAAgD,OAAO,oBAAoB,QAAQ,sBAAsB,UAAU,GAAG,CACvH,CAAC;QANc,YAAO,GAAP,OAAO,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAQ;QAKlC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAXD,0CAWC;AAKD,MAAa,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC;AAKD,MAAa,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AALD,4DAKC;AAKD,MAAa,2BAA4B,SAAQ,KAAK;IACpD;QACE,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AALD,kEAKC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Nack = void 0;
|
|
4
|
+
class Nack {
|
|
5
|
+
constructor(_requeue = false) {
|
|
6
|
+
this._requeue = _requeue;
|
|
7
|
+
}
|
|
8
|
+
get requeue() {
|
|
9
|
+
return this._requeue;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.Nack = Nack;
|
|
13
|
+
//# sourceMappingURL=nack.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nack.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/nack.model.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAI;IACf,YAA6B,WAAoB,KAAK;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAI,CAAC;IAE3D,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAND,oBAMC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Options } from "amqplib";
|
|
2
|
+
import { QueueOptions } from "../config/rabbitmq-queue.config";
|
|
3
|
+
import { AssertQueueErrorHandler, BatchMessageErrorHandler, MessageDeserializer, MessageErrorHandler, MessageHandlerErrorBehavior } from "../types";
|
|
4
|
+
export interface RequestOptions {
|
|
5
|
+
exchange: string;
|
|
6
|
+
routingKey: string;
|
|
7
|
+
correlationId?: string;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
payload?: any;
|
|
10
|
+
headers?: any;
|
|
11
|
+
expiration?: string | number;
|
|
12
|
+
replyTo?: string;
|
|
13
|
+
publishOptions?: Omit<Options.Publish, 'replyTo' | 'correlationId' | 'headers' | 'expiration'>;
|
|
14
|
+
}
|
|
15
|
+
export interface MessageHandlerOptions {
|
|
16
|
+
name?: string;
|
|
17
|
+
connection?: string;
|
|
18
|
+
exchange?: string;
|
|
19
|
+
routingKey?: string | string[];
|
|
20
|
+
queue?: string;
|
|
21
|
+
queueOptions?: QueueOptions;
|
|
22
|
+
errorBehavior?: MessageHandlerErrorBehavior;
|
|
23
|
+
errorHandler?: MessageErrorHandler;
|
|
24
|
+
assertQueueErrorHandler?: AssertQueueErrorHandler;
|
|
25
|
+
allowNonJsonMessages?: boolean;
|
|
26
|
+
createQueueIfNotExists?: boolean;
|
|
27
|
+
usePersistentReplyTo?: boolean;
|
|
28
|
+
deserializer?: MessageDeserializer;
|
|
29
|
+
batchOptions?: {
|
|
30
|
+
size: number;
|
|
31
|
+
timeout?: number;
|
|
32
|
+
errorHandler?: BatchMessageErrorHandler;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface MessageOptions {
|
|
36
|
+
exchange: string;
|
|
37
|
+
routingKey: string;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rabbitmq-handler.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/rabbitmq-handler.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription-result.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/subscription-result.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Channel, ConfirmChannel, ConsumeMessage, Options } from "amqplib";
|
|
2
|
+
import { QueueOptions } from "./config/rabbitmq-queue.config";
|
|
3
|
+
import { RabbitMQChannelConfig } from "./config/rabbitmq.config";
|
|
4
|
+
import { Nack } from "./models/nack.model";
|
|
5
|
+
import { MessageHandlerOptions } from "./models/rabbitmq-handler.model";
|
|
6
|
+
export type ConsumeOptions = Options.Consume;
|
|
7
|
+
export type MessageDeserializer = (message: Buffer, msg: ConsumeMessage) => any;
|
|
8
|
+
export type MessageSerializer = (value: any) => Buffer;
|
|
9
|
+
export type RabbitMQChannels = Record<string, RabbitMQChannelConfig>;
|
|
10
|
+
export type RabbitMQHandlers = Record<string, MessageHandlerOptions | MessageHandlerOptions[]>;
|
|
11
|
+
export type RabbitMQUriConfig = Options.Connect | string;
|
|
12
|
+
export declare enum MessageHandlerErrorBehavior {
|
|
13
|
+
ACK = "ACK",
|
|
14
|
+
NACK = "NACK",
|
|
15
|
+
REQUEUE = "REQUEUE"
|
|
16
|
+
}
|
|
17
|
+
type BaseMessageErrorHandler<T extends ConsumeMessage | ConsumeMessage[]> = (channel: Channel, msg: T, error: any) => Promise<void> | void;
|
|
18
|
+
export type MessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage>;
|
|
19
|
+
export type BatchMessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage[]>;
|
|
20
|
+
export type LegacyMessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage | ConsumeMessage[]>;
|
|
21
|
+
export type RpcResponse<T> = T | Nack;
|
|
22
|
+
export type SubscribeResponse = Nack | undefined | void;
|
|
23
|
+
export declare const DIRECT_REPLY_QUEUE = "amq.rabbitmq.reply-to";
|
|
24
|
+
export type ConsumerTag = string;
|
|
25
|
+
export type SubscriberHandler<T = unknown> = (msg: T | undefined, rawMessage?: ConsumeMessage, headers?: any) => Promise<SubscribeResponse>;
|
|
26
|
+
export type BatchSubscriberHandler<T = unknown> = (msg: (T | undefined)[], rawMessage?: ConsumeMessage[], headers?: any[]) => Promise<SubscribeResponse>;
|
|
27
|
+
export type RpcSubscriberHandler<T = unknown, U = unknown> = (msg: T | undefined, rawMessage?: ConsumeMessage, headers?: any) => Promise<RpcResponse<U>>;
|
|
28
|
+
export type BaseConsumerHandler = {
|
|
29
|
+
consumerTag: string;
|
|
30
|
+
channel: ConfirmChannel;
|
|
31
|
+
msgOptions: MessageHandlerOptions;
|
|
32
|
+
};
|
|
33
|
+
export type ConsumerHandler<T, U> = (BaseConsumerHandler & {
|
|
34
|
+
type: 'subscribe';
|
|
35
|
+
handler: SubscriberHandler<T>;
|
|
36
|
+
}) | (BaseConsumerHandler & {
|
|
37
|
+
type: 'subscribe-batch';
|
|
38
|
+
handler: BatchSubscriberHandler<T>;
|
|
39
|
+
}) | (BaseConsumerHandler & {
|
|
40
|
+
type: 'rpc';
|
|
41
|
+
handler: RpcSubscriberHandler<T, U>;
|
|
42
|
+
});
|
|
43
|
+
export type Consumer = (msg: ConsumeMessage | null) => void | Promise<void>;
|
|
44
|
+
export type AssertQueueErrorHandler = (channel: Channel, queueName: string, queueOptions: QueueOptions | undefined, error: any) => Promise<string> | string;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DIRECT_REPLY_QUEUE = exports.MessageHandlerErrorBehavior = void 0;
|
|
4
|
+
var MessageHandlerErrorBehavior;
|
|
5
|
+
(function (MessageHandlerErrorBehavior) {
|
|
6
|
+
MessageHandlerErrorBehavior["ACK"] = "ACK";
|
|
7
|
+
MessageHandlerErrorBehavior["NACK"] = "NACK";
|
|
8
|
+
MessageHandlerErrorBehavior["REQUEUE"] = "REQUEUE";
|
|
9
|
+
})(MessageHandlerErrorBehavior || (exports.MessageHandlerErrorBehavior = MessageHandlerErrorBehavior = {}));
|
|
10
|
+
exports.DIRECT_REPLY_QUEUE = 'amq.rabbitmq.reply-to';
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../libs/rlb-nestjs-amqp/src/amqp-lib/types.ts"],"names":[],"mappings":";;;AAYA,IAAY,2BAAgF;AAA5F,WAAY,2BAA2B;IAAG,0CAAW,CAAA;IAAE,4CAAa,CAAA;IAAE,kDAAmB,CAAA;AAAE,CAAC,EAAhF,2BAA2B,2CAA3B,2BAA2B,QAAqD;AAoB/E,QAAA,kBAAkB,GAAG,uBAAuB,CAAC"}
|
package/amqp.module.d.ts
ADDED
package/amqp.module.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AmqpModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const config_1 = require("@nestjs/config");
|
|
12
|
+
const broker_1 = require("./modules/broker");
|
|
13
|
+
const remote_config_module_1 = require("./modules/remote-config/remote-config.module");
|
|
14
|
+
let AmqpModule = class AmqpModule {
|
|
15
|
+
};
|
|
16
|
+
exports.AmqpModule = AmqpModule;
|
|
17
|
+
exports.AmqpModule = AmqpModule = __decorate([
|
|
18
|
+
(0, common_1.Module)({
|
|
19
|
+
imports: [
|
|
20
|
+
config_1.ConfigModule,
|
|
21
|
+
broker_1.BrokerModule,
|
|
22
|
+
remote_config_module_1.RemoteConfigModule,
|
|
23
|
+
],
|
|
24
|
+
exports: [
|
|
25
|
+
broker_1.BrokerModule,
|
|
26
|
+
]
|
|
27
|
+
})
|
|
28
|
+
], AmqpModule);
|
|
29
|
+
//# sourceMappingURL=amqp.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amqp.module.js","sourceRoot":"","sources":["../libs/rlb-nestjs-amqp/src/amqp.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,2CAA8C;AAC9C,6CAAgD;AAChD,uFAAkF;AAa3E,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAI,CAAA;AAAd,gCAAU;qBAAV,UAAU;IAVtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qBAAY;YACZ,qBAAY;YACZ,yCAAkB;SACnB;QACD,OAAO,EAAE;YACP,qBAAY;SACb;KACF,CAAC;GACW,UAAU,CAAI"}
|
package/index.d.ts
ADDED
package/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./modules/broker/index"), exports);
|
|
18
|
+
__exportStar(require("./modules/broker/services/utils.service"), exports);
|
|
19
|
+
__exportStar(require("./modules/proxy/index"), exports);
|
|
20
|
+
__exportStar(require("./modules/remote-config/index"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../libs/rlb-nestjs-amqp/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,0EAAwD;AACxD,wDAAsC;AACtC,gEAA8C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DynamicModule, Type } from '@nestjs/common';
|
|
2
|
+
import { RabbitMQConfig } from '../../amqp-lib/config/rabbitmq.config';
|
|
3
|
+
import { GatewayConfig } from '../proxy';
|
|
4
|
+
import { HandlerAuthConfig } from './config/handler-auth.config';
|
|
5
|
+
import { BrokerTopic } from './config/topics.config';
|
|
6
|
+
import { AppConfig } from './services/utils.service';
|
|
7
|
+
export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<RabbitMQConfig, "forRoot", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol;
|
|
8
|
+
export declare class BrokerModule {
|
|
9
|
+
static forRoot(options: RabbitMQConfig, topics: BrokerTopic[], appOptions?: AppConfig, authOptions?: HandlerAuthConfig[], gatewayOptions?: GatewayConfig): DynamicModule;
|
|
10
|
+
static forRootAsync(asyncOptions: {
|
|
11
|
+
useFactory: (...args: any[]) => Promise<{
|
|
12
|
+
options: RabbitMQConfig;
|
|
13
|
+
topics: BrokerTopic[];
|
|
14
|
+
appOptions?: AppConfig;
|
|
15
|
+
authOptions?: HandlerAuthConfig[];
|
|
16
|
+
gatewayOptions?: GatewayConfig;
|
|
17
|
+
}> | {
|
|
18
|
+
options: RabbitMQConfig;
|
|
19
|
+
topics: BrokerTopic[];
|
|
20
|
+
appOptions?: AppConfig;
|
|
21
|
+
authOptions?: HandlerAuthConfig[];
|
|
22
|
+
gatewayOptions?: GatewayConfig;
|
|
23
|
+
};
|
|
24
|
+
inject?: Type<any>[];
|
|
25
|
+
imports?: Type<any>[];
|
|
26
|
+
}): DynamicModule;
|
|
27
|
+
}
|