@ido_kawaz/amqp-client 4.0.2 → 5.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/__tests__/amqpClient.test.js +7 -7
- package/dist/__tests__/amqpClient.test.js.map +1 -1
- package/dist/__tests__/config.test.js +17 -6
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/consumer.test.js +8 -8
- package/dist/__tests__/consumer.test.js.map +1 -1
- package/dist/amqpClient.d.ts +1 -1
- package/dist/amqpClient.d.ts.map +1 -1
- package/dist/amqpClient.js +2 -2
- package/dist/amqpClient.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -12
- package/dist/config.js.map +1 -1
- package/dist/consumer.d.ts +3 -3
- package/dist/consumer.d.ts.map +1 -1
- package/dist/consumer.js +24 -11
- package/dist/consumer.js.map +1 -1
- package/package.json +7 -6
|
@@ -40,16 +40,16 @@ describe('AmqpClient', () => {
|
|
|
40
40
|
const connection = createConnection(channel);
|
|
41
41
|
amqplib_1.default.connect.mockResolvedValue(connection);
|
|
42
42
|
const client = new amqpClient_1.AmqpClient(baseConfig, [firstConsumer, secondConsumer]);
|
|
43
|
-
await client.start();
|
|
43
|
+
await client.start('test-service');
|
|
44
44
|
expect(amqplib_1.default.connect).toHaveBeenCalledWith('amqp://guest:guest@localhost:5672');
|
|
45
45
|
expect(connection.createChannel).toHaveBeenCalledTimes(1);
|
|
46
|
-
expect(firstConsumerStart).toHaveBeenCalledWith(channel);
|
|
47
|
-
expect(secondConsumerStart).toHaveBeenCalledWith(channel);
|
|
46
|
+
expect(firstConsumerStart).toHaveBeenCalledWith(channel, 'test-service');
|
|
47
|
+
expect(secondConsumerStart).toHaveBeenCalledWith(channel, 'test-service');
|
|
48
48
|
});
|
|
49
49
|
it('throws AmqpConnectionError when connect fails', async () => {
|
|
50
50
|
amqplib_1.default.connect.mockRejectedValue(new Error('boom'));
|
|
51
51
|
const client = new amqpClient_1.AmqpClient(baseConfig, []);
|
|
52
|
-
await expect(client.start()).rejects.toBeInstanceOf(errors_1.AmqpConnectionError);
|
|
52
|
+
await expect(client.start('test-service')).rejects.toBeInstanceOf(errors_1.AmqpConnectionError);
|
|
53
53
|
});
|
|
54
54
|
it('throws AmqpUninitializedError when publishing before start', () => {
|
|
55
55
|
const client = new amqpClient_1.AmqpClient(baseConfig, []);
|
|
@@ -60,7 +60,7 @@ describe('AmqpClient', () => {
|
|
|
60
60
|
const connection = createConnection(channel);
|
|
61
61
|
amqplib_1.default.connect.mockResolvedValue(connection);
|
|
62
62
|
const client = new amqpClient_1.AmqpClient(baseConfig, []);
|
|
63
|
-
await client.start();
|
|
63
|
+
await client.start('test-service');
|
|
64
64
|
const payload = { orderId: '1', total: 42 };
|
|
65
65
|
client.publish('orders.exchange', 'orders.created', payload);
|
|
66
66
|
expect(channel.publish).toHaveBeenCalledWith('orders.exchange', 'orders.created', Buffer.from(JSON.stringify(payload)));
|
|
@@ -70,7 +70,7 @@ describe('AmqpClient', () => {
|
|
|
70
70
|
const connection = createConnection(channel);
|
|
71
71
|
amqplib_1.default.connect.mockResolvedValue(connection);
|
|
72
72
|
const client = new amqpClient_1.AmqpClient(baseConfig, []);
|
|
73
|
-
await client.start();
|
|
73
|
+
await client.start('test-service');
|
|
74
74
|
expect(() => client.publish('ex', 'rk', { ok: true })).toThrow(errors_1.AmqpPublisherError);
|
|
75
75
|
});
|
|
76
76
|
it('stops by closing channel and connection', async () => {
|
|
@@ -78,7 +78,7 @@ describe('AmqpClient', () => {
|
|
|
78
78
|
const connection = createConnection(channel);
|
|
79
79
|
amqplib_1.default.connect.mockResolvedValue(connection);
|
|
80
80
|
const client = new amqpClient_1.AmqpClient(baseConfig, []);
|
|
81
|
-
await client.start();
|
|
81
|
+
await client.start('test-service');
|
|
82
82
|
await client.stop();
|
|
83
83
|
expect(channel.close).toHaveBeenCalledTimes(1);
|
|
84
84
|
expect(connection.close).toHaveBeenCalledTimes(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amqpClient.test.js","sourceRoot":"","sources":["../../src/__tests__/amqpClient.test.ts"],"names":[],"mappings":";;;;;AAAA,sDAA2B;AAC3B,8CAA2C;AAC3C,sCAA4F;AAE5F,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACL,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;KACrB;CACJ,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,MAAM,UAAU,GAAG;QACf,oBAAoB,EAAE,mCAAmC;KAC5D,CAAC;IAEF,SAAS,aAAa,CAAC,cAAuB,IAAI;QAC9C,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC;YAC/C,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;SAChD,CAAC;IACN,CAAC;IAED,SAAS,gBAAgB,CAAC,OAAyC;QAC/D,OAAO;YACH,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;SAChD,CAAC;IACN,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAS,CAAC;QAC3D,MAAM,cAAc,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAS,CAAC;QAE7D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5C,iBAAI,CAAC,OAAgC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,IAAI,uBAAU,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3E,MAAM,MAAM,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"amqpClient.test.js","sourceRoot":"","sources":["../../src/__tests__/amqpClient.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const zod_1 = require("zod");
|
|
7
4
|
const config_1 = require("../config");
|
|
5
|
+
const getZodError = () => {
|
|
6
|
+
try {
|
|
7
|
+
(0, config_1.createAmqpConfig)();
|
|
8
|
+
throw new Error('Expected action to throw ZodError');
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
expect(error).toBeInstanceOf(zod_1.ZodError);
|
|
12
|
+
return error;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
8
15
|
describe('createAmqpConfig', () => {
|
|
9
16
|
const originalEnv = process.env;
|
|
10
17
|
beforeEach(() => {
|
|
@@ -29,11 +36,15 @@ describe('createAmqpConfig', () => {
|
|
|
29
36
|
});
|
|
30
37
|
it('throws validation error when AMQP_CONNECTION_STRING is missing', () => {
|
|
31
38
|
delete process.env.AMQP_CONNECTION_STRING;
|
|
32
|
-
|
|
39
|
+
const error = getZodError();
|
|
40
|
+
expect(error.issues).toHaveLength(1);
|
|
41
|
+
expect(error.issues[0]).toEqual(expect.objectContaining({ path: ['AMQP_CONNECTION_STRING'], code: 'invalid_type', expected: 'string', message: 'Invalid input: expected string, received undefined' }));
|
|
33
42
|
});
|
|
34
43
|
it('throws validation error when scheme is invalid', () => {
|
|
35
44
|
process.env.AMQP_CONNECTION_STRING = 'http://localhost:5672';
|
|
36
|
-
|
|
45
|
+
const error = getZodError();
|
|
46
|
+
expect(error.issues).toHaveLength(1);
|
|
47
|
+
expect(error.issues[0]).toEqual(expect.objectContaining({ path: ['AMQP_CONNECTION_STRING'], code: 'invalid_format', format: 'url', note: "Invalid protocol", message: 'Invalid URL' }));
|
|
37
48
|
});
|
|
38
49
|
});
|
|
39
50
|
//# sourceMappingURL=config.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":";;AAAA,6BAA+B;AAC/B,sCAA6C;AAE7C,MAAM,WAAW,GAAG,GAAG,EAAE;IACrB,IAAI,CAAC;QACD,IAAA,yBAAgB,GAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,cAAQ,CAAC,CAAC;QACvC,OAAO,KAAiB,CAAC;IAC7B,CAAC;AACL,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,mCAAmC,CAAC;QAEzE,MAAM,MAAM,GAAG,IAAA,yBAAgB,GAAE,CAAC;QAElC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,oBAAoB,EAAE,mCAAmC;SAC5D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,mCAAmC,CAAC;QAEzE,MAAM,MAAM,GAAG,IAAA,yBAAgB,GAAE,CAAC;QAElC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,oBAAoB,EAAE,mCAAmC;SAC5D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QAE1C,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAE5B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3B,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC,CACzK,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,uBAAuB,CAAC;QAE7D,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAE5B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3B,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CACzJ,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -24,7 +24,7 @@ describe('Consumer', () => {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
function createConsumer(validatePayload, handlePayload) {
|
|
27
|
-
return new consumer_1.Consumer(binding, validatePayload, handlePayload);
|
|
27
|
+
return new consumer_1.Consumer('test-consumer', binding, validatePayload, handlePayload);
|
|
28
28
|
}
|
|
29
29
|
function createValidationHarness(implementation) {
|
|
30
30
|
const validatePayloadMock = jest.fn(implementation);
|
|
@@ -37,7 +37,7 @@ describe('Consumer', () => {
|
|
|
37
37
|
const consumer = createConsumer(validatePayload, handlePayload);
|
|
38
38
|
const channel = createChannel();
|
|
39
39
|
channel.consume.mockResolvedValue({ consumerTag: 'tag' });
|
|
40
|
-
await consumer.start(channel);
|
|
40
|
+
await consumer.start(channel, 'test-service');
|
|
41
41
|
expect(channel.assertQueue).toHaveBeenCalledWith('orders.queue', {
|
|
42
42
|
durable: true,
|
|
43
43
|
arguments: { 'x-queue-type': 'quorum' },
|
|
@@ -55,7 +55,7 @@ describe('Consumer', () => {
|
|
|
55
55
|
await onMessage(null);
|
|
56
56
|
return { consumerTag: 'tag' };
|
|
57
57
|
});
|
|
58
|
-
await consumer.start(channel);
|
|
58
|
+
await consumer.start(channel, 'test-service');
|
|
59
59
|
expect(validatePayloadMock).not.toHaveBeenCalled();
|
|
60
60
|
expect(handlePayload).not.toHaveBeenCalled();
|
|
61
61
|
expect(channel.ack).not.toHaveBeenCalled();
|
|
@@ -71,7 +71,7 @@ describe('Consumer', () => {
|
|
|
71
71
|
await onMessage(message);
|
|
72
72
|
return { consumerTag: 'tag' };
|
|
73
73
|
});
|
|
74
|
-
await consumer.start(channel);
|
|
74
|
+
await consumer.start(channel, 'test-service');
|
|
75
75
|
expect(validatePayloadMock).toHaveBeenCalledWith({ invalid: true });
|
|
76
76
|
expect(handlePayload).not.toHaveBeenCalled();
|
|
77
77
|
expect(channel.ack).not.toHaveBeenCalled();
|
|
@@ -87,7 +87,7 @@ describe('Consumer', () => {
|
|
|
87
87
|
await onMessage(message);
|
|
88
88
|
return { consumerTag: 'tag' };
|
|
89
89
|
});
|
|
90
|
-
await consumer.start(channel);
|
|
90
|
+
await consumer.start(channel, 'test-service');
|
|
91
91
|
expect(handlePayload).toHaveBeenCalledWith({ id: '123' });
|
|
92
92
|
expect(channel.ack).toHaveBeenCalledWith(message);
|
|
93
93
|
expect(channel.nack).not.toHaveBeenCalled();
|
|
@@ -102,7 +102,7 @@ describe('Consumer', () => {
|
|
|
102
102
|
await onMessage(message);
|
|
103
103
|
return { consumerTag: 'tag' };
|
|
104
104
|
});
|
|
105
|
-
await consumer.start(channel);
|
|
105
|
+
await consumer.start(channel, 'test-service');
|
|
106
106
|
expect(channel.nack).toHaveBeenCalledWith(message, false, true);
|
|
107
107
|
});
|
|
108
108
|
it('does not requeue retriable error after retry limit', async () => {
|
|
@@ -115,7 +115,7 @@ describe('Consumer', () => {
|
|
|
115
115
|
await onMessage(message);
|
|
116
116
|
return { consumerTag: 'tag' };
|
|
117
117
|
});
|
|
118
|
-
await consumer.start(channel);
|
|
118
|
+
await consumer.start(channel, 'test-service');
|
|
119
119
|
expect(channel.nack).toHaveBeenCalledWith(message, false, false);
|
|
120
120
|
});
|
|
121
121
|
it('nacks without requeue for non-retriable errors', async () => {
|
|
@@ -128,7 +128,7 @@ describe('Consumer', () => {
|
|
|
128
128
|
await onMessage(message);
|
|
129
129
|
return { consumerTag: 'tag' };
|
|
130
130
|
});
|
|
131
|
-
await consumer.start(channel);
|
|
131
|
+
await consumer.start(channel, 'test-service');
|
|
132
132
|
expect(channel.nack).toHaveBeenCalledWith(message, false, false);
|
|
133
133
|
});
|
|
134
134
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.test.js","sourceRoot":"","sources":["../../src/__tests__/consumer.test.ts"],"names":[],"mappings":";;AAAA,0CAAuC;AACvC,sCAA+C;AAC/C,wCAAmD;AAEnD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IAKtB,MAAM,OAAO,GAAG,IAAA,+BAAqB,EAAC,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAE3F,SAAS,aAAa,CAAC,UAAkB,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,aAA+B;QACjF,OAAO;YACH,UAAU,EAAE;gBACR,OAAO,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE;aACpF;YACD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAChD,CAAC;IACN,CAAC;IAED,SAAS,aAAa;QAClB,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACnD,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACtD,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YACd,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;SAClB,CAAC;IACN,CAAC;IAED,SAAS,cAAc,CACnB,eAA4D,EAC5D,aAAsD;QAEtD,OAAO,IAAI,mBAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"consumer.test.js","sourceRoot":"","sources":["../../src/__tests__/consumer.test.ts"],"names":[],"mappings":"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"}
|
package/dist/amqpClient.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare class AmqpClient {
|
|
|
8
8
|
connection: ChannelModel | undefined;
|
|
9
9
|
channel: Channel | undefined;
|
|
10
10
|
constructor(config: AmqpConfig, consumers: Consumer<any, any>[]);
|
|
11
|
-
start(): Promise<void>;
|
|
11
|
+
start(serviceName: string): Promise<void>;
|
|
12
12
|
publish<T>(...args: AmqpPublishArgs<T>): void;
|
|
13
13
|
stop(): Promise<void>;
|
|
14
14
|
}
|
package/dist/amqpClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amqpClient.d.ts","sourceRoot":"","sources":["../src/amqpClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,UAAU;IAGP,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAc,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF3E,UAAU,EAAE,YAAY,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;gBACA,MAAM,EAAE,UAAU,EAAmB,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;IAG3F,KAAK,
|
|
1
|
+
{"version":3,"file":"amqpClient.d.ts","sourceRoot":"","sources":["../src/amqpClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,UAAU;IAGP,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAc,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF3E,UAAU,EAAE,YAAY,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;gBACA,MAAM,EAAE,UAAU,EAAmB,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;IAG3F,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAYvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B"}
|
package/dist/amqpClient.js
CHANGED
|
@@ -12,13 +12,13 @@ class AmqpClient {
|
|
|
12
12
|
this.config = config;
|
|
13
13
|
this.consumers = consumers;
|
|
14
14
|
}
|
|
15
|
-
async start() {
|
|
15
|
+
async start(serviceName) {
|
|
16
16
|
try {
|
|
17
17
|
const startTime = Date.now();
|
|
18
18
|
const connection = await amqplib_1.default.connect(this.config.amqpConnectionString);
|
|
19
19
|
this.connection = connection;
|
|
20
20
|
this.channel = await connection.createChannel().then(async (channel) => {
|
|
21
|
-
await Promise.all(this.consumers.map((consumer) => consumer.start(channel)));
|
|
21
|
+
await Promise.all(this.consumers.map((consumer) => consumer.start(channel, serviceName)));
|
|
22
22
|
return channel;
|
|
23
23
|
});
|
|
24
24
|
const endTime = Date.now();
|
package/dist/amqpClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amqpClient.js","sourceRoot":"","sources":["../src/amqpClient.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAsD;AAEtD,qCAA2F;AAC3F,iCAAwC;AAIxC,MAAa,UAAU;IAGnB,YAA6B,MAAkB,EAAmB,SAA+B;QAApE,WAAM,GAAN,MAAM,CAAY;QAAmB,cAAS,GAAT,SAAS,CAAsB;IACjG,CAAC;IAED,KAAK,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"amqpClient.js","sourceRoot":"","sources":["../src/amqpClient.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAsD;AAEtD,qCAA2F;AAC3F,iCAAwC;AAIxC,MAAa,UAAU;IAGnB,YAA6B,MAAkB,EAAmB,SAA+B;QAApE,WAAM,GAAN,MAAM,CAAY;QAAmB,cAAS,GAAT,SAAS,CAAsB;IACjG,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAmB;QAC3B,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAM,iBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACxE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACnE,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC1F,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,uCAAuC,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAAE,KAAe,CAAC,OAAO,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACxH,CAAC;IACL,CAAC;IAED,OAAO,CAAI,GAAG,IAAwB;QAClC,IAAI,IAAA,aAAK,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,+BAAsB,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,2BAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;CACJ;AA1CD,gCA0CC"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAChC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAOD,eAAO,MAAM,gBAAgB,QAAO,UAKnC,CAAA"}
|
package/dist/config.js
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.createAmqpConfig = void 0;
|
|
7
|
-
const
|
|
8
|
-
const amqpEnvSchema =
|
|
9
|
-
AMQP_CONNECTION_STRING:
|
|
10
|
-
})
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const amqpEnvSchema = zod_1.z.object({
|
|
6
|
+
AMQP_CONNECTION_STRING: zod_1.z.url({ protocol: /^amqp(s)?$/ }),
|
|
7
|
+
});
|
|
11
8
|
const createAmqpConfig = () => {
|
|
12
|
-
const
|
|
13
|
-
if (error) {
|
|
14
|
-
throw error;
|
|
15
|
-
}
|
|
16
|
-
const amqpEnv = value;
|
|
9
|
+
const amqpEnv = amqpEnvSchema.parse(process.env);
|
|
17
10
|
return {
|
|
18
11
|
amqpConnectionString: amqpEnv.AMQP_CONNECTION_STRING
|
|
19
12
|
};
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAOxB,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,sBAAsB,EAAE,OAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC5D,CAAC,CAAC;AAEI,MAAM,gBAAgB,GAAG,GAAe,EAAE;IAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO;QACH,oBAAoB,EAAE,OAAO,CAAC,sBAAsB;KACvD,CAAC;AACN,CAAC,CAAA;AALY,QAAA,gBAAgB,oBAK5B"}
|
package/dist/consumer.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ interface ConsumerBinding {
|
|
|
5
5
|
topic: string;
|
|
6
6
|
}
|
|
7
7
|
export declare class Consumer<Payload extends object, Binding extends ConsumerBinding> {
|
|
8
|
+
private readonly consumerName;
|
|
8
9
|
private readonly binding;
|
|
9
10
|
private readonly validatePayload;
|
|
10
11
|
private readonly handlePayload;
|
|
11
|
-
constructor(binding: Binding, validatePayload: (payload: object) => payload is Payload, handlePayload: (payload: Payload) => Promise<void>);
|
|
12
|
-
start(channel: Channel): Promise<void>;
|
|
13
|
-
private shouldRequeue;
|
|
12
|
+
constructor(consumerName: string, binding: Binding, validatePayload: (payload: object) => payload is Payload, handlePayload: (payload: Payload) => Promise<void>);
|
|
13
|
+
start(channel: Channel, serviceName: string): Promise<void>;
|
|
14
14
|
private getDeliveryCount;
|
|
15
15
|
private establishConsumerBinding;
|
|
16
16
|
private assertQueue;
|
package/dist/consumer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIxC,UAAU,eAAe;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,QAAQ,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,eAAe;IAErE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAHb,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,IAAI,OAAO,EACxD,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;IAIjE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCjE,OAAO,CAAC,gBAAgB;YAYV,wBAAwB;YAMxB,WAAW;YAIX,cAAc;YAId,SAAS;CAG1B"}
|
package/dist/consumer.js
CHANGED
|
@@ -1,41 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Consumer = void 0;
|
|
4
7
|
const errors_1 = require("./errors");
|
|
8
|
+
const pino_1 = __importDefault(require("pino"));
|
|
5
9
|
class Consumer {
|
|
6
|
-
constructor(binding, validatePayload, handlePayload) {
|
|
10
|
+
constructor(consumerName, binding, validatePayload, handlePayload) {
|
|
11
|
+
this.consumerName = consumerName;
|
|
7
12
|
this.binding = binding;
|
|
8
13
|
this.validatePayload = validatePayload;
|
|
9
14
|
this.handlePayload = handlePayload;
|
|
10
15
|
}
|
|
11
|
-
async start(channel) {
|
|
16
|
+
async start(channel, serviceName) {
|
|
17
|
+
const logger = (0, pino_1.default)({ name: serviceName });
|
|
12
18
|
await this.establishConsumerBinding(channel);
|
|
13
19
|
await channel.consume(this.binding.queue, async (message) => {
|
|
14
20
|
if (!message) {
|
|
15
21
|
return;
|
|
16
22
|
}
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
channel.nack(message, false, false);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
23
|
+
const startTime = Date.now();
|
|
24
|
+
const messageInfo = { request: 'amqp', consumer: this.consumerName };
|
|
22
25
|
try {
|
|
26
|
+
const payload = JSON.parse(message.content.toString());
|
|
27
|
+
if (!this.validatePayload(payload)) {
|
|
28
|
+
throw new Error('Invalid payload format');
|
|
29
|
+
}
|
|
30
|
+
logger.info(messageInfo, `started handling message`);
|
|
23
31
|
await this.handlePayload(payload);
|
|
32
|
+
const duration = Date.now() - startTime;
|
|
33
|
+
logger.info({ ...messageInfo, payload, durationMs: duration }, `finished handling message`);
|
|
24
34
|
channel.ack(message);
|
|
25
35
|
}
|
|
26
36
|
catch (error) {
|
|
37
|
+
const duration = Date.now() - startTime;
|
|
27
38
|
if (error instanceof errors_1.AmqpRetriableError) {
|
|
28
|
-
|
|
39
|
+
const { message: errorMessage, retryLimit } = error;
|
|
40
|
+
const retryCount = this.getDeliveryCount(message);
|
|
41
|
+
const shouldRequeue = retryCount < retryLimit;
|
|
42
|
+
logger.error({ ...messageInfo, type: 'retriable', durationMs: duration, retryLimit, retryCount, error: errorMessage }, `Error handling message, ${shouldRequeue ? 'will retry' : 'retry limit reached, will not retry'}`);
|
|
43
|
+
channel.nack(message, false, shouldRequeue);
|
|
29
44
|
}
|
|
30
45
|
else {
|
|
46
|
+
logger.error({ ...messageInfo, type: 'fatal', durationMs: duration, error: error.message }, 'Error handling message, will not retry');
|
|
31
47
|
channel.nack(message, false, false);
|
|
32
48
|
}
|
|
33
49
|
}
|
|
34
50
|
});
|
|
35
51
|
}
|
|
36
|
-
shouldRequeue(message, retryLimit) {
|
|
37
|
-
return this.getDeliveryCount(message) < retryLimit;
|
|
38
|
-
}
|
|
39
52
|
getDeliveryCount(message) {
|
|
40
53
|
const deliveryCount = message.properties.headers?.['x-delivery-count'];
|
|
41
54
|
if (typeof deliveryCount === 'number') {
|
package/dist/consumer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ido_kawaz/amqp-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "AMQP client library for Kawaz Plus services",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"build:watch": "tsc --watch",
|
|
15
15
|
"build:advanced": "npm run clean:advanced && npm i && tsc",
|
|
16
16
|
"test": "npm run build && jest --runInBand",
|
|
17
|
-
"
|
|
17
|
+
"test:advanced": "npm run build:advanced && jest --runInBand",
|
|
18
|
+
"package": "npm run test:advanced && npm publish --access public"
|
|
18
19
|
},
|
|
19
20
|
"keywords": [
|
|
20
21
|
"amqp",
|
|
@@ -25,10 +26,10 @@
|
|
|
25
26
|
"license": "MIT",
|
|
26
27
|
"dependencies": {
|
|
27
28
|
"@types/amqplib": "^0.10.8",
|
|
28
|
-
"@types/joi": "^17.2.2",
|
|
29
29
|
"amqplib": "^0.10.9",
|
|
30
|
-
"
|
|
31
|
-
"ramda": "^0.32.0"
|
|
30
|
+
"pino": "^10.3.1",
|
|
31
|
+
"ramda": "^0.32.0",
|
|
32
|
+
"zod": "^4.3.6"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@types/jest": "^30.0.0",
|
|
@@ -39,4 +40,4 @@
|
|
|
39
40
|
"ts-jest": "^29.4.6",
|
|
40
41
|
"typescript": "^5.9.3"
|
|
41
42
|
}
|
|
42
|
-
}
|
|
43
|
+
}
|