@ido_kawaz/amqp-client 5.0.0 → 6.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/__tests__/consumer.test.js +123 -34
- 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.map +1 -1
- package/dist/consumer.d.ts +19 -4
- package/dist/consumer.d.ts.map +1 -1
- package/dist/consumer.js +68 -32
- package/dist/consumer.js.map +1 -1
- package/dist/errors.d.ts +14 -7
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +20 -7
- package/dist/errors.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -23,18 +23,17 @@ describe('Consumer', () => {
|
|
|
23
23
|
nack: jest.fn(),
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
function
|
|
27
|
-
return
|
|
26
|
+
function isTestPayload(payload) {
|
|
27
|
+
return typeof payload.id === 'string';
|
|
28
28
|
}
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
function createConsumer(handleMessage, validateMessage = isTestPayload) {
|
|
30
|
+
return new consumer_1.Consumer('test-consumer', binding)
|
|
31
|
+
.on('validateMessage', validateMessage)
|
|
32
|
+
.on('handleMessage', handleMessage);
|
|
33
33
|
}
|
|
34
34
|
it('establishes binding and starts consuming from queue', async () => {
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const consumer = createConsumer(validatePayload, handlePayload);
|
|
35
|
+
const handleMessage = jest.fn().mockResolvedValue(undefined);
|
|
36
|
+
const consumer = createConsumer(handleMessage);
|
|
38
37
|
const channel = createChannel();
|
|
39
38
|
channel.consume.mockResolvedValue({ consumerTag: 'tag' });
|
|
40
39
|
await consumer.start(channel, 'test-service');
|
|
@@ -47,24 +46,23 @@ describe('Consumer', () => {
|
|
|
47
46
|
expect(channel.consume).toHaveBeenCalledWith('orders.queue', expect.any(Function));
|
|
48
47
|
});
|
|
49
48
|
it('ignores null message', async () => {
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const consumer = createConsumer(validatePayload, handlePayload);
|
|
49
|
+
const handleMessage = jest.fn().mockResolvedValue(undefined);
|
|
50
|
+
const consumer = createConsumer(handleMessage);
|
|
53
51
|
const channel = createChannel();
|
|
54
52
|
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
55
53
|
await onMessage(null);
|
|
56
54
|
return { consumerTag: 'tag' };
|
|
57
55
|
});
|
|
58
56
|
await consumer.start(channel, 'test-service');
|
|
59
|
-
expect(
|
|
60
|
-
expect(handlePayload).not.toHaveBeenCalled();
|
|
57
|
+
expect(handleMessage).not.toHaveBeenCalled();
|
|
61
58
|
expect(channel.ack).not.toHaveBeenCalled();
|
|
62
59
|
expect(channel.nack).not.toHaveBeenCalled();
|
|
63
60
|
});
|
|
64
61
|
it('nacks without requeue when payload validation fails', async () => {
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const
|
|
62
|
+
const handleMessage = jest.fn().mockResolvedValue(undefined);
|
|
63
|
+
const validateMock = jest.fn((_p) => false);
|
|
64
|
+
const validateMessage = (p) => validateMock(p);
|
|
65
|
+
const consumer = createConsumer(handleMessage, validateMessage);
|
|
68
66
|
const channel = createChannel();
|
|
69
67
|
const message = createMessage({ invalid: true });
|
|
70
68
|
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
@@ -72,15 +70,40 @@ describe('Consumer', () => {
|
|
|
72
70
|
return { consumerTag: 'tag' };
|
|
73
71
|
});
|
|
74
72
|
await consumer.start(channel, 'test-service');
|
|
75
|
-
expect(
|
|
76
|
-
expect(
|
|
73
|
+
expect(validateMock).toHaveBeenCalledWith({ invalid: true });
|
|
74
|
+
expect(handleMessage).not.toHaveBeenCalled();
|
|
77
75
|
expect(channel.ack).not.toHaveBeenCalled();
|
|
78
76
|
expect(channel.nack).toHaveBeenCalledWith(message, false, false);
|
|
79
77
|
});
|
|
78
|
+
it('nacks without requeue when no validateMessage handler is registered', async () => {
|
|
79
|
+
const handleMessage = jest.fn().mockResolvedValue(undefined);
|
|
80
|
+
const consumer = new consumer_1.Consumer('test-consumer', binding)
|
|
81
|
+
.on('handleMessage', handleMessage);
|
|
82
|
+
const channel = createChannel();
|
|
83
|
+
const message = createMessage({ id: '1' });
|
|
84
|
+
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
85
|
+
await onMessage(message);
|
|
86
|
+
return { consumerTag: 'tag' };
|
|
87
|
+
});
|
|
88
|
+
await consumer.start(channel, 'test-service');
|
|
89
|
+
expect(handleMessage).not.toHaveBeenCalled();
|
|
90
|
+
expect(channel.nack).toHaveBeenCalledWith(message, false, false);
|
|
91
|
+
});
|
|
92
|
+
it('nacks without requeue when no handleMessage handler is registered', async () => {
|
|
93
|
+
const consumer = new consumer_1.Consumer('test-consumer', binding)
|
|
94
|
+
.on('validateMessage', isTestPayload);
|
|
95
|
+
const channel = createChannel();
|
|
96
|
+
const message = createMessage({ id: '1' });
|
|
97
|
+
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
98
|
+
await onMessage(message);
|
|
99
|
+
return { consumerTag: 'tag' };
|
|
100
|
+
});
|
|
101
|
+
await consumer.start(channel, 'test-service');
|
|
102
|
+
expect(channel.nack).toHaveBeenCalledWith(message, false, false);
|
|
103
|
+
});
|
|
80
104
|
it('acknowledges message when payload is valid and handler succeeds', async () => {
|
|
81
|
-
const
|
|
82
|
-
const
|
|
83
|
-
const consumer = createConsumer(validatePayload, handlePayload);
|
|
105
|
+
const handleMessage = jest.fn().mockResolvedValue(undefined);
|
|
106
|
+
const consumer = createConsumer(handleMessage);
|
|
84
107
|
const channel = createChannel();
|
|
85
108
|
const message = createMessage({ id: '123' });
|
|
86
109
|
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
@@ -88,16 +111,49 @@ describe('Consumer', () => {
|
|
|
88
111
|
return { consumerTag: 'tag' };
|
|
89
112
|
});
|
|
90
113
|
await consumer.start(channel, 'test-service');
|
|
91
|
-
expect(
|
|
114
|
+
expect(handleMessage).toHaveBeenCalledWith({ id: '123' });
|
|
92
115
|
expect(channel.ack).toHaveBeenCalledWith(message);
|
|
93
116
|
expect(channel.nack).not.toHaveBeenCalled();
|
|
94
117
|
});
|
|
118
|
+
it('calls handleSuccess handler after successful processing', async () => {
|
|
119
|
+
const handleMessage = jest.fn().mockResolvedValue(undefined);
|
|
120
|
+
const handleSuccess = jest.fn().mockResolvedValue(undefined);
|
|
121
|
+
const consumer = createConsumer(handleMessage)
|
|
122
|
+
.on('handleSuccess', handleSuccess);
|
|
123
|
+
const channel = createChannel();
|
|
124
|
+
const message = createMessage({ id: '42' });
|
|
125
|
+
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
126
|
+
await onMessage(message);
|
|
127
|
+
return { consumerTag: 'tag' };
|
|
128
|
+
});
|
|
129
|
+
await consumer.start(channel, 'test-service');
|
|
130
|
+
expect(handleSuccess).toHaveBeenCalledWith({ id: '42' }, undefined);
|
|
131
|
+
expect(channel.ack).toHaveBeenCalledWith(message);
|
|
132
|
+
});
|
|
133
|
+
it('passes handleMessage return value to handleSuccess', async () => {
|
|
134
|
+
const result = { orderId: 'abc' };
|
|
135
|
+
const handleMessage = jest.fn().mockResolvedValue(result);
|
|
136
|
+
const handleSuccess = jest.fn().mockResolvedValue(undefined);
|
|
137
|
+
const consumer = new consumer_1.Consumer('test-consumer', binding)
|
|
138
|
+
.on('validateMessage', isTestPayload)
|
|
139
|
+
.on('handleMessage', handleMessage)
|
|
140
|
+
.on('handleSuccess', handleSuccess);
|
|
141
|
+
const channel = createChannel();
|
|
142
|
+
const message = createMessage({ id: '99' });
|
|
143
|
+
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
144
|
+
await onMessage(message);
|
|
145
|
+
return { consumerTag: 'tag' };
|
|
146
|
+
});
|
|
147
|
+
await consumer.start(channel, 'test-service');
|
|
148
|
+
expect(handleSuccess).toHaveBeenCalledWith({ id: '99' }, result);
|
|
149
|
+
expect(channel.ack).toHaveBeenCalledWith(message);
|
|
150
|
+
});
|
|
95
151
|
it('requeues retriable error when delivery count is below retry limit', async () => {
|
|
96
|
-
const
|
|
97
|
-
const
|
|
98
|
-
const consumer = createConsumer(
|
|
152
|
+
const payload = { id: '1' };
|
|
153
|
+
const handleMessage = jest.fn().mockRejectedValue(new errors_1.AmqpRetriableError(payload, 'retry', undefined, 3));
|
|
154
|
+
const consumer = createConsumer(handleMessage);
|
|
99
155
|
const channel = createChannel();
|
|
100
|
-
const message = createMessage(
|
|
156
|
+
const message = createMessage(payload, 1);
|
|
101
157
|
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
102
158
|
await onMessage(message);
|
|
103
159
|
return { consumerTag: 'tag' };
|
|
@@ -106,22 +162,55 @@ describe('Consumer', () => {
|
|
|
106
162
|
expect(channel.nack).toHaveBeenCalledWith(message, false, true);
|
|
107
163
|
});
|
|
108
164
|
it('does not requeue retriable error after retry limit', async () => {
|
|
109
|
-
const
|
|
110
|
-
const
|
|
111
|
-
const consumer = createConsumer(
|
|
165
|
+
const payload = { id: '1' };
|
|
166
|
+
const handleMessage = jest.fn().mockRejectedValue(new errors_1.AmqpRetriableError(payload, 'retry', undefined, 2));
|
|
167
|
+
const consumer = createConsumer(handleMessage);
|
|
168
|
+
const channel = createChannel();
|
|
169
|
+
const message = createMessage(payload, '2');
|
|
170
|
+
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
171
|
+
await onMessage(message);
|
|
172
|
+
return { consumerTag: 'tag' };
|
|
173
|
+
});
|
|
174
|
+
await consumer.start(channel, 'test-service');
|
|
175
|
+
expect(channel.nack).toHaveBeenCalledWith(message, false, false);
|
|
176
|
+
});
|
|
177
|
+
it('calls handleRetriableError handler on retriable errors', async () => {
|
|
178
|
+
const payload = { id: '1' };
|
|
179
|
+
const retriableError = new errors_1.AmqpRetriableError(payload, 'retry', undefined, 3);
|
|
180
|
+
const handleMessage = jest.fn().mockRejectedValue(retriableError);
|
|
181
|
+
const handleRetriableError = jest.fn().mockResolvedValue(undefined);
|
|
182
|
+
const consumer = createConsumer(handleMessage)
|
|
183
|
+
.on('handleRetriableError', handleRetriableError);
|
|
184
|
+
const channel = createChannel();
|
|
185
|
+
const message = createMessage(payload, 1);
|
|
186
|
+
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
187
|
+
await onMessage(message);
|
|
188
|
+
return { consumerTag: 'tag' };
|
|
189
|
+
});
|
|
190
|
+
await consumer.start(channel, 'test-service');
|
|
191
|
+
expect(handleRetriableError).toHaveBeenCalledWith(retriableError, payload);
|
|
192
|
+
expect(channel.nack).toHaveBeenCalledWith(message, false, true);
|
|
193
|
+
});
|
|
194
|
+
it('calls handleFatalError handler on fatal errors', async () => {
|
|
195
|
+
const payload = { id: '1' };
|
|
196
|
+
const fatalError = new errors_1.AmqpFatalError(payload, 'fatal');
|
|
197
|
+
const handleMessage = jest.fn().mockRejectedValue(fatalError);
|
|
198
|
+
const handleFatalError = jest.fn().mockResolvedValue(undefined);
|
|
199
|
+
const consumer = createConsumer(handleMessage)
|
|
200
|
+
.on('handleFatalError', handleFatalError);
|
|
112
201
|
const channel = createChannel();
|
|
113
|
-
const message = createMessage(
|
|
202
|
+
const message = createMessage(payload);
|
|
114
203
|
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
115
204
|
await onMessage(message);
|
|
116
205
|
return { consumerTag: 'tag' };
|
|
117
206
|
});
|
|
118
207
|
await consumer.start(channel, 'test-service');
|
|
208
|
+
expect(handleFatalError).toHaveBeenCalledWith(fatalError, payload);
|
|
119
209
|
expect(channel.nack).toHaveBeenCalledWith(message, false, false);
|
|
120
210
|
});
|
|
121
211
|
it('nacks without requeue for non-retriable errors', async () => {
|
|
122
|
-
const
|
|
123
|
-
const
|
|
124
|
-
const consumer = createConsumer(validatePayload, handlePayload);
|
|
212
|
+
const handleMessage = jest.fn().mockRejectedValue(new Error('bad-message'));
|
|
213
|
+
const consumer = createConsumer(handleMessage);
|
|
125
214
|
const channel = createChannel();
|
|
126
215
|
const message = createMessage();
|
|
127
216
|
channel.consume.mockImplementation(async (_queue, onMessage) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.test.js","sourceRoot":"","sources":["../../src/__tests__/consumer.test.ts"],"names":[],"mappings":"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"}
|
|
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
|
@@ -9,7 +9,7 @@ export declare class AmqpClient {
|
|
|
9
9
|
channel: Channel | undefined;
|
|
10
10
|
constructor(config: AmqpConfig, consumers: Consumer<any, any>[]);
|
|
11
11
|
start(serviceName: string): Promise<void>;
|
|
12
|
-
publish<T>(...args: AmqpPublishArgs<T>): void;
|
|
12
|
+
publish<T extends object>(...args: AmqpPublishArgs<T>): void;
|
|
13
13
|
stop(): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=amqpClient.d.ts.map
|
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,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;
|
|
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,SAAS,MAAM,EAAE,GAAG,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAYtD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B"}
|
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,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,
|
|
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,CAAmB,GAAG,IAAwB;QACjD,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/consumer.d.ts
CHANGED
|
@@ -1,16 +1,31 @@
|
|
|
1
1
|
import { Channel } from 'amqplib';
|
|
2
|
+
import { AmqpFatalError, AmqpRetriableError } from './errors';
|
|
2
3
|
interface ConsumerBinding {
|
|
3
4
|
queue: string;
|
|
4
5
|
exchange: string;
|
|
5
6
|
topic: string;
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
+
interface ConsumerEvents<Payload extends object, Output = void> {
|
|
9
|
+
validateMessage: (payload: object) => payload is Payload;
|
|
10
|
+
handleMessage: (payload: Payload) => Promise<Output>;
|
|
11
|
+
handleRetriableError: (error: AmqpRetriableError<Payload>, payload: Payload) => Promise<void>;
|
|
12
|
+
handleFatalError: (error: AmqpFatalError, payload: any) => Promise<void>;
|
|
13
|
+
handleSuccess: (payload: Payload, response?: Output) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare class Consumer<Payload extends object, Binding extends ConsumerBinding, Output = void> {
|
|
8
16
|
private readonly consumerName;
|
|
9
17
|
private readonly binding;
|
|
10
|
-
private
|
|
11
|
-
|
|
12
|
-
constructor(consumerName: string, binding: Binding, validatePayload: (payload: object) => payload is Payload, handlePayload: (payload: Payload) => Promise<void>);
|
|
18
|
+
private handlers;
|
|
19
|
+
constructor(consumerName: string, binding: Binding);
|
|
13
20
|
start(channel: Channel, serviceName: string): Promise<void>;
|
|
21
|
+
on<E extends keyof ConsumerEvents<Payload, Output>>(event: E, handler: ConsumerEvents<Payload, Output>[E]): this;
|
|
22
|
+
private validateAndParse;
|
|
23
|
+
private handlePayload;
|
|
24
|
+
private handleSuccess;
|
|
25
|
+
private handleRetriableError;
|
|
26
|
+
private handleFatalError;
|
|
27
|
+
private handleError;
|
|
28
|
+
private handleMessage;
|
|
14
29
|
private getDeliveryCount;
|
|
15
30
|
private establishConsumerBinding;
|
|
16
31
|
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;AAGxC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAyD,MAAM,UAAU,CAAC;AAErH,UAAU,eAAe;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,GAAG,IAAI;IAC1D,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC;IACzD,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,oBAAoB,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,gBAAgB,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,qBAAa,QAAQ,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,eAAe,EAAE,MAAM,GAAG,IAAI;IAIpF,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ5B,OAAO,CAAC,QAAQ,CAAgD;gBAG3C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO;IAG/B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAKhH,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,aAAa;YAOP,aAAa;YAMb,oBAAoB;YAmBpB,gBAAgB;YAgBhB,WAAW;YAiBX,aAAa;IAgB3B,OAAO,CAAC,gBAAgB;YAYV,wBAAwB;YAMxB,WAAW;YAIX,cAAc;YAId,SAAS;CAG1B"}
|
package/dist/consumer.js
CHANGED
|
@@ -4,51 +4,87 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Consumer = void 0;
|
|
7
|
-
const errors_1 = require("./errors");
|
|
8
7
|
const pino_1 = __importDefault(require("pino"));
|
|
8
|
+
const ramda_1 = require("ramda");
|
|
9
|
+
const errors_1 = require("./errors");
|
|
9
10
|
class Consumer {
|
|
10
|
-
constructor(consumerName, binding
|
|
11
|
+
constructor(consumerName, binding) {
|
|
11
12
|
this.consumerName = consumerName;
|
|
12
13
|
this.binding = binding;
|
|
13
|
-
this.
|
|
14
|
-
this.handlePayload = handlePayload;
|
|
14
|
+
this.handlers = {};
|
|
15
15
|
}
|
|
16
16
|
async start(channel, serviceName) {
|
|
17
17
|
const logger = (0, pino_1.default)({ name: serviceName });
|
|
18
18
|
await this.establishConsumerBinding(channel);
|
|
19
19
|
await channel.consume(this.binding.queue, async (message) => {
|
|
20
|
-
if (
|
|
20
|
+
if ((0, ramda_1.isNil)(message)) {
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
const messageInfo = { request: 'amqp', consumer: this.consumerName };
|
|
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`);
|
|
31
|
-
await this.handlePayload(payload);
|
|
32
|
-
const duration = Date.now() - startTime;
|
|
33
|
-
logger.info({ ...messageInfo, payload, durationMs: duration }, `finished handling message`);
|
|
34
|
-
channel.ack(message);
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
const duration = Date.now() - startTime;
|
|
38
|
-
if (error instanceof errors_1.AmqpRetriableError) {
|
|
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);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
logger.error({ ...messageInfo, type: 'fatal', durationMs: duration, error: error.message }, 'Error handling message, will not retry');
|
|
47
|
-
channel.nack(message, false, false);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
23
|
+
await this.handleMessage(channel, logger, message);
|
|
50
24
|
});
|
|
51
25
|
}
|
|
26
|
+
on(event, handler) {
|
|
27
|
+
this.handlers[event] = handler;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
validateAndParse(payload) {
|
|
31
|
+
if ((0, ramda_1.isNil)(this.handlers.validateMessage) || !this.handlers.validateMessage(payload)) {
|
|
32
|
+
throw new errors_1.InvalidPayloadFormatError(payload);
|
|
33
|
+
}
|
|
34
|
+
return payload;
|
|
35
|
+
}
|
|
36
|
+
handlePayload(payload) {
|
|
37
|
+
if ((0, ramda_1.isNil)(this.handlers.handleMessage)) {
|
|
38
|
+
throw new errors_1.MissingPayloadHandlerError(payload);
|
|
39
|
+
}
|
|
40
|
+
return this.handlers.handleMessage(payload);
|
|
41
|
+
}
|
|
42
|
+
async handleSuccess(payload, response) {
|
|
43
|
+
if ((0, ramda_1.isNotNil)(this.handlers.handleSuccess)) {
|
|
44
|
+
await this.handlers.handleSuccess(payload, response);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async handleRetriableError(channel, logger, message, error, payload, messageInfo, startTime) {
|
|
48
|
+
if ((0, ramda_1.isNotNil)(this.handlers.handleRetriableError)) {
|
|
49
|
+
await this.handlers.handleRetriableError(error, payload);
|
|
50
|
+
}
|
|
51
|
+
const retryCount = this.getDeliveryCount(message);
|
|
52
|
+
const shouldRequeue = retryCount < error.retryLimit;
|
|
53
|
+
logger.error({ ...messageInfo, type: 'retriable', durationMs: Date.now() - startTime, retryLimit: error.retryLimit, retryCount, error: error.message }, `Error handling message, ${shouldRequeue ? 'will retry' : 'retry limit reached, will not retry'}`);
|
|
54
|
+
channel.nack(message, false, shouldRequeue);
|
|
55
|
+
}
|
|
56
|
+
async handleFatalError(channel, logger, message, error, payload, messageInfo, startTime) {
|
|
57
|
+
if ((0, ramda_1.isNotNil)(this.handlers.handleFatalError)) {
|
|
58
|
+
await this.handlers.handleFatalError(error, payload);
|
|
59
|
+
}
|
|
60
|
+
logger.error({ ...messageInfo, type: 'fatal', durationMs: Date.now() - startTime, error: error.message }, 'Error handling message, will not retry');
|
|
61
|
+
channel.nack(message, false, false);
|
|
62
|
+
}
|
|
63
|
+
async handleError(channel, logger, message, payload, error, messageInfo, startTime) {
|
|
64
|
+
if (error instanceof errors_1.AmqpRetriableError) {
|
|
65
|
+
await this.handleRetriableError(channel, logger, message, error, payload, messageInfo, startTime);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const fatalError = error instanceof errors_1.AmqpFatalError ? error : new errors_1.AmqpFatalError(payload, error.message, error);
|
|
69
|
+
await this.handleFatalError(channel, logger, message, fatalError, payload, messageInfo, startTime);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async handleMessage(channel, logger, message) {
|
|
73
|
+
const startTime = Date.now();
|
|
74
|
+
const messageInfo = { request: 'amqp', consumer: this.consumerName };
|
|
75
|
+
const rawPayload = JSON.parse(message.content.toString());
|
|
76
|
+
try {
|
|
77
|
+
const payload = this.validateAndParse(rawPayload);
|
|
78
|
+
logger.info(messageInfo, 'started handling message');
|
|
79
|
+
const response = await this.handlePayload(payload);
|
|
80
|
+
await this.handleSuccess(payload, response);
|
|
81
|
+
logger.info({ ...messageInfo, payload, durationMs: Date.now() - startTime }, 'finished handling message');
|
|
82
|
+
channel.ack(message);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
await this.handleError(channel, logger, message, rawPayload, error, messageInfo, startTime);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
52
88
|
getDeliveryCount(message) {
|
|
53
89
|
const deliveryCount = message.properties.headers?.['x-delivery-count'];
|
|
54
90
|
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":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -9,17 +9,24 @@ export declare class AmqpUninitializedError extends AmqpError {
|
|
|
9
9
|
export declare class AmqpConnectionError extends AmqpError {
|
|
10
10
|
constructor(errorMessage: string, args: AmqpConfig);
|
|
11
11
|
}
|
|
12
|
-
export declare class AmqpPublisherError<T> extends AmqpError {
|
|
12
|
+
export declare class AmqpPublisherError<T extends object> extends AmqpError {
|
|
13
13
|
constructor(...args: AmqpPublishArgs<T>);
|
|
14
14
|
}
|
|
15
|
-
export declare class AmqpConsumerError extends AmqpError {
|
|
16
|
-
|
|
15
|
+
export declare class AmqpConsumerError<Payload extends object> extends AmqpError {
|
|
16
|
+
readonly payload: Payload;
|
|
17
|
+
constructor(payload: Payload, errorMessage: string, error?: Error);
|
|
17
18
|
}
|
|
18
|
-
export declare class AmqpRetriableError extends AmqpConsumerError {
|
|
19
|
+
export declare class AmqpRetriableError<Payload extends object> extends AmqpConsumerError<Payload> {
|
|
19
20
|
readonly retryLimit: number;
|
|
20
|
-
constructor(
|
|
21
|
+
constructor(payload: Payload, errorMessage: string, error?: Error, retryLimit?: number);
|
|
21
22
|
}
|
|
22
|
-
export declare class AmqpFatalError extends AmqpConsumerError {
|
|
23
|
-
constructor(
|
|
23
|
+
export declare class AmqpFatalError extends AmqpConsumerError<any> {
|
|
24
|
+
constructor(payload: any, errorMessage: string, error?: Error);
|
|
25
|
+
}
|
|
26
|
+
export declare class InvalidPayloadFormatError extends AmqpFatalError {
|
|
27
|
+
constructor(payload: any);
|
|
28
|
+
}
|
|
29
|
+
export declare class MissingPayloadHandlerError<Payload extends object> extends AmqpFatalError {
|
|
30
|
+
constructor(payload: Payload);
|
|
24
31
|
}
|
|
25
32
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,SAAU,SAAQ,KAAK;gBACpB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAG7C;AAED,qBAAa,sBAAuB,SAAQ,SAAS;;CAIpD;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBAClC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;CAGrD;AAGD,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,SAAU,SAAQ,KAAK;gBACpB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAG7C;AAED,qBAAa,sBAAuB,SAAQ,SAAS;;CAIpD;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBAClC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;CAGrD;AAGD,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,SAAS;gBACnD,GAAG,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;CAG1C;AAED,qBAAa,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAE,SAAQ,SAAS;aACxC,OAAO,EAAE,OAAO;gBAAhB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAGpF;AAED,qBAAa,kBAAkB,CAAC,OAAO,SAAS,MAAM,CAAE,SAAQ,iBAAiB,CAAC,OAAO,CAAC;aACH,UAAU,EAAE,MAAM;gBAAzF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAkB,UAAU,GAAE,MAAU;CAG5G;AAED,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,GAAG,CAAC;gBAC1C,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAGhE;AAED,qBAAa,yBAA0B,SAAQ,cAAc;gBAC7C,OAAO,EAAE,GAAG;CAG3B;AAED,qBAAa,0BAA0B,CAAC,OAAO,SAAS,MAAM,CAAE,SAAQ,cAAc;gBACtE,OAAO,EAAE,OAAO;CAG/B"}
|
package/dist/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AmqpFatalError = exports.AmqpRetriableError = exports.AmqpConsumerError = exports.AmqpPublisherError = exports.AmqpConnectionError = exports.AmqpUninitializedError = exports.AmqpError = void 0;
|
|
3
|
+
exports.MissingPayloadHandlerError = exports.InvalidPayloadFormatError = exports.AmqpFatalError = exports.AmqpRetriableError = exports.AmqpConsumerError = exports.AmqpPublisherError = exports.AmqpConnectionError = exports.AmqpUninitializedError = exports.AmqpError = void 0;
|
|
4
4
|
class AmqpError extends Error {
|
|
5
5
|
constructor(message, args) {
|
|
6
6
|
super(`amqp error: ${message}, ${args ? JSON.stringify(args) : ''}`);
|
|
@@ -26,22 +26,35 @@ class AmqpPublisherError extends AmqpError {
|
|
|
26
26
|
}
|
|
27
27
|
exports.AmqpPublisherError = AmqpPublisherError;
|
|
28
28
|
class AmqpConsumerError extends AmqpError {
|
|
29
|
-
constructor(error) {
|
|
30
|
-
super(
|
|
29
|
+
constructor(payload, errorMessage, error) {
|
|
30
|
+
super(`Failed to consume message: ${errorMessage}`, error ? { cause: JSON.stringify(error) } : undefined);
|
|
31
|
+
this.payload = payload;
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
exports.AmqpConsumerError = AmqpConsumerError;
|
|
34
35
|
class AmqpRetriableError extends AmqpConsumerError {
|
|
35
|
-
constructor(error, retryLimit = 0) {
|
|
36
|
-
super(error);
|
|
36
|
+
constructor(payload, errorMessage, error, retryLimit = 0) {
|
|
37
|
+
super(payload, errorMessage, error);
|
|
37
38
|
this.retryLimit = retryLimit;
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
exports.AmqpRetriableError = AmqpRetriableError;
|
|
41
42
|
class AmqpFatalError extends AmqpConsumerError {
|
|
42
|
-
constructor(error) {
|
|
43
|
-
super(error);
|
|
43
|
+
constructor(payload, errorMessage, error) {
|
|
44
|
+
super(payload, errorMessage, error);
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
exports.AmqpFatalError = AmqpFatalError;
|
|
48
|
+
class InvalidPayloadFormatError extends AmqpFatalError {
|
|
49
|
+
constructor(payload) {
|
|
50
|
+
super(payload, 'Invalid payload format');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.InvalidPayloadFormatError = InvalidPayloadFormatError;
|
|
54
|
+
class MissingPayloadHandlerError extends AmqpFatalError {
|
|
55
|
+
constructor(payload) {
|
|
56
|
+
super(payload, 'No handler available for the message');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.MissingPayloadHandlerError = MissingPayloadHandlerError;
|
|
47
60
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAGA,MAAa,SAAU,SAAQ,KAAK;IAChC,YAAY,OAAe,EAAE,IAAa;QACtC,KAAK,CAAC,eAAe,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;CACJ;AAJD,8BAIC;AAED,MAAa,sBAAuB,SAAQ,SAAS;IACjD;QACI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC5C,CAAC;CACJ;AAJD,wDAIC;AAED,MAAa,mBAAoB,SAAQ,SAAS;IAC9C,YAAY,YAAoB,EAAE,IAAgB;QAC9C,KAAK,CAAC,qCAAqC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;CACJ;AAJD,kDAIC;AAGD,MAAa,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAGA,MAAa,SAAU,SAAQ,KAAK;IAChC,YAAY,OAAe,EAAE,IAAa;QACtC,KAAK,CAAC,eAAe,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;CACJ;AAJD,8BAIC;AAED,MAAa,sBAAuB,SAAQ,SAAS;IACjD;QACI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC5C,CAAC;CACJ;AAJD,wDAIC;AAED,MAAa,mBAAoB,SAAQ,SAAS;IAC9C,YAAY,YAAoB,EAAE,IAAgB;QAC9C,KAAK,CAAC,qCAAqC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;CACJ;AAJD,kDAIC;AAGD,MAAa,kBAAqC,SAAQ,SAAS;IAC/D,YAAY,GAAG,IAAwB;QACnC,KAAK,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CACJ;AAJD,gDAIC;AAED,MAAa,iBAA0C,SAAQ,SAAS;IACpE,YAA4B,OAAgB,EAAE,YAAoB,EAAE,KAAa;QAC7E,KAAK,CAAC,8BAA8B,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QADlF,YAAO,GAAP,OAAO,CAAS;IAE5C,CAAC;CACJ;AAJD,8CAIC;AAED,MAAa,kBAA2C,SAAQ,iBAA0B;IACtF,YAAY,OAAgB,EAAE,YAAoB,EAAE,KAAa,EAAkB,aAAqB,CAAC;QACrG,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAD2C,eAAU,GAAV,UAAU,CAAY;IAEzG,CAAC;CACJ;AAJD,gDAIC;AAED,MAAa,cAAe,SAAQ,iBAAsB;IACtD,YAAY,OAAY,EAAE,YAAoB,EAAE,KAAa;QACzD,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;CACJ;AAJD,wCAIC;AAED,MAAa,yBAA0B,SAAQ,cAAc;IACzD,YAAY,OAAY;QACpB,KAAK,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC7C,CAAC;CACJ;AAJD,8DAIC;AAED,MAAa,0BAAmD,SAAQ,cAAc;IAClF,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;IAC3D,CAAC;CACJ;AAJD,gEAIC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type AmqpPublishArgs<T> = [exchange: string, topic: string, message: T];
|
|
1
|
+
export type AmqpPublishArgs<T extends object> = [exchange: string, topic: string, message: T];
|
|
2
2
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ido_kawaz/amqp-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "AMQP client library for Kawaz Plus services",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"build": "npm run clean && tsc",
|
|
14
14
|
"build:watch": "tsc --watch",
|
|
15
15
|
"build:advanced": "npm run clean:advanced && npm i && tsc",
|
|
16
|
-
"test": "npm run build && jest --runInBand",
|
|
17
|
-
"test:advanced": "npm run build:advanced && jest --runInBand",
|
|
16
|
+
"test": "npm run build && jest --runInBand --verbose",
|
|
17
|
+
"test:advanced": "npm run build:advanced && jest --runInBand --verbose",
|
|
18
18
|
"package": "npm run test:advanced && npm publish --access public"
|
|
19
19
|
},
|
|
20
20
|
"keywords": [
|