@betterinternship/core 2.1.2 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +5 -5
- package/dist/lib/broker/broker.d.ts +4 -4
- package/dist/lib/broker/broker.js +70 -77
- package/dist/lib/broker/broker.js.map +1 -1
- package/dist/lib/broker/index.d.ts +1 -1
- package/dist/lib/broker/index.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './lib/chat/index.js';
|
|
2
|
-
export * from './lib/env.js';
|
|
3
|
-
export * from './lib/broker/index.js';
|
|
4
|
-
export * from './lib/email/index.js';
|
|
5
|
-
export * from './lib/forms/index.js';
|
|
1
|
+
export * from './lib/chat/index.js';
|
|
2
|
+
export * from './lib/env.js';
|
|
3
|
+
export * from './lib/broker/index.js';
|
|
4
|
+
export * from './lib/email/index.js';
|
|
5
|
+
export * from './lib/forms/index.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as amqp from 'amqplib
|
|
1
|
+
import * as amqp from 'amqplib';
|
|
2
2
|
export declare const QueueName: (...args: string[]) => string;
|
|
3
3
|
export declare const BrokerAPI: {
|
|
4
4
|
assertQueue: (..._: any[]) => Promise<void>;
|
|
5
5
|
sendToQueue: (..._: any[]) => Promise<void>;
|
|
6
6
|
readFromQueue: (..._: any[]) => Promise<void>;
|
|
7
7
|
} | {
|
|
8
|
-
assertQueue: (queueId: string, options?: amqp.Options.AssertQueue) =>
|
|
9
|
-
sendToQueue: (queueId: string, content: any) =>
|
|
10
|
-
readFromQueue: (queueId: string) => Promise<
|
|
8
|
+
assertQueue: (queueId: string, options?: amqp.Options.AssertQueue) => Promise<amqp.Replies.AssertQueue>;
|
|
9
|
+
sendToQueue: (queueId: string, content: any) => boolean;
|
|
10
|
+
readFromQueue: <T>(queueId: string) => Promise<null>;
|
|
11
11
|
};
|
|
@@ -1,78 +1,71 @@
|
|
|
1
|
-
import * as amqp from 'amqplib
|
|
2
|
-
import { ENV } from '../env.js';
|
|
3
|
-
const RABBITMQ_URL = ENV.RABBITMQ_URL;
|
|
4
|
-
if (!RABBITMQ_URL && ENV.RABBITMQ_ENABLED)
|
|
5
|
-
throw new Error('[ERROR:ENV] Missing RabbitMQ configuration.');
|
|
6
|
-
export const QueueName = (...args) => {
|
|
7
|
-
if (ENV.ENVIRONMENT === 'production')
|
|
8
|
-
return args.join('.');
|
|
9
|
-
else
|
|
10
|
-
return ['dev', ...args].join('.');
|
|
11
|
-
};
|
|
12
|
-
export const BrokerAPI = await (async () => {
|
|
13
|
-
if (!RABBITMQ_URL) {
|
|
14
|
-
return {
|
|
15
|
-
assertQueue: async (..._) => { },
|
|
16
|
-
sendToQueue: async (..._) => { },
|
|
17
|
-
readFromQueue: async (..._) => { },
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
const connection = await
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
};
|
|
72
|
-
return {
|
|
73
|
-
assertQueue,
|
|
74
|
-
sendToQueue,
|
|
75
|
-
readFromQueue,
|
|
76
|
-
};
|
|
77
|
-
})();
|
|
1
|
+
import * as amqp from 'amqplib';
|
|
2
|
+
import { ENV } from '../env.js';
|
|
3
|
+
const RABBITMQ_URL = ENV.RABBITMQ_URL;
|
|
4
|
+
if (!RABBITMQ_URL && ENV.RABBITMQ_ENABLED)
|
|
5
|
+
throw new Error('[ERROR:ENV] Missing RabbitMQ configuration.');
|
|
6
|
+
export const QueueName = (...args) => {
|
|
7
|
+
if (ENV.ENVIRONMENT === 'production')
|
|
8
|
+
return args.join('.');
|
|
9
|
+
else
|
|
10
|
+
return ['dev', ...args].join('.');
|
|
11
|
+
};
|
|
12
|
+
export const BrokerAPI = await (async () => {
|
|
13
|
+
if (!RABBITMQ_URL) {
|
|
14
|
+
return {
|
|
15
|
+
assertQueue: async (..._) => { },
|
|
16
|
+
sendToQueue: async (..._) => { },
|
|
17
|
+
readFromQueue: async (..._) => { },
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const connection = await amqp.connect(RABBITMQ_URL);
|
|
21
|
+
const channels = {
|
|
22
|
+
asserter: await connection.createChannel(),
|
|
23
|
+
reader: await connection.createChannel(),
|
|
24
|
+
writer: await connection.createChannel(),
|
|
25
|
+
};
|
|
26
|
+
const assertQueue = async (queueId, options) => {
|
|
27
|
+
const result = await channels.asserter.assertQueue(queueId, {
|
|
28
|
+
durable: true,
|
|
29
|
+
...options,
|
|
30
|
+
});
|
|
31
|
+
console.log(`[BROKER] Queue "${queueId}" has been asserted.`);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
const sendToQueue = (queueId, content) => {
|
|
35
|
+
const result = channels.writer.sendToQueue(queueId, Buffer.from(JSON.stringify(content)));
|
|
36
|
+
if (result) {
|
|
37
|
+
console.log(`[BROKER] Message sent to queue "${queueId}": ${JSON.stringify(content)}.`);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.log(`[BROKER] Message could not sent to queue "${queueId}": ${JSON.stringify(content)}.`);
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
const readFromQueue = async (queueId) => {
|
|
45
|
+
const resolveFromQueue = (message) => {
|
|
46
|
+
channels.writer.ack(message);
|
|
47
|
+
console.log(`[BROKER] Message "${message.properties.messageId}" resolved from queue "${queueId}".`);
|
|
48
|
+
};
|
|
49
|
+
const rejectFromQueue = (message) => {
|
|
50
|
+
channels.writer.nack(message);
|
|
51
|
+
console.log(`[BROKER] Message "${message.properties.messageId}" rejected from queue "${queueId}".`);
|
|
52
|
+
};
|
|
53
|
+
let result = null;
|
|
54
|
+
await channels.reader.consume(queueId, (message) => {
|
|
55
|
+
const content = message?.content?.toString?.();
|
|
56
|
+
result = {
|
|
57
|
+
content: content ? JSON.parse(content) : null,
|
|
58
|
+
resolve: () => message && resolveFromQueue(message),
|
|
59
|
+
reject: () => message && rejectFromQueue(message),
|
|
60
|
+
};
|
|
61
|
+
return message ? result : null;
|
|
62
|
+
});
|
|
63
|
+
return result;
|
|
64
|
+
};
|
|
65
|
+
return {
|
|
66
|
+
assertQueue,
|
|
67
|
+
sendToQueue,
|
|
68
|
+
readFromQueue,
|
|
69
|
+
};
|
|
70
|
+
})();
|
|
78
71
|
//# sourceMappingURL=broker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../lib/broker/broker.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../lib/broker/broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './broker.js';
|
|
1
|
+
export * from './broker.js';
|
package/dist/lib/broker/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './broker.js';
|
|
1
|
+
export * from './broker.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|