@only-chat/rabbitmq-queue 0.2.0-beta.8 → 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 CHANGED
@@ -1,2 +1,23 @@
1
1
  # only-chat
2
- This is a RabbitMQ queue implementation for only-chat.
2
+ This is a RabbitMQ queue implementation for only-chat.
3
+
4
+ # Get started
5
+
6
+ ```shell
7
+ npm i --save @only-chat/rabbitmq-queue
8
+ ```
9
+
10
+ ```typescript
11
+ import { initialize as initializeQueue } from '@only-chat/rabbitmq-queue'
12
+ import { initialize as initializeClient, WsClient } from '@only-chat/client'
13
+
14
+ ...
15
+
16
+ const queue = await initializeQueue(queueConfig)
17
+
18
+ initializeClient({queue, store, userStore, instanceId}, logger)
19
+
20
+ const ws = new WebSocketServer({ host, port })
21
+
22
+ ws.on('connection', s => new WsClient(s))
23
+ ```
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import amqp from 'amqplib';
2
- const acceptTypes = ['connected', 'disconnected', 'joined', 'left', 'closed', 'deleted', 'updated', 'message-updated', 'message-deleted', 'text', 'file'];
2
+ const acceptTypes = new Set(['connected', 'disconnected', 'joined', 'left', 'closed', 'deleted', 'updated', 'message-updated', 'message-deleted', 'text', 'file']);
3
3
  export async function initialize(config) {
4
4
  const c = await amqp.connect(config.url);
5
5
  const channel = await c.createChannel();
@@ -15,7 +15,7 @@ export async function initialize(config) {
15
15
  }
16
16
  const deserialized = JSON.parse(msg.content.toString());
17
17
  const type = deserialized.type?.toString();
18
- if (!acceptTypes.includes(type)) {
18
+ if (!acceptTypes.has(type)) {
19
19
  return;
20
20
  }
21
21
  const m = {
@@ -36,9 +36,9 @@ export async function initialize(config) {
36
36
  channel.ack(msg);
37
37
  });
38
38
  return {
39
- acceptTypes,
39
+ acceptTypes: [...acceptTypes],
40
40
  async publish(msg) {
41
- return acceptTypes.includes(msg.type) && channel.sendToQueue(q.queue, Buffer.from(JSON.stringify(msg)));
41
+ return acceptTypes.has(msg.type) && channel.sendToQueue(q.queue, Buffer.from(JSON.stringify(msg)));
42
42
  },
43
43
  async subscribe(callback) {
44
44
  return !!subscribers.push(callback);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAgB3B,MAAM,WAAW,GAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzK,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IAExC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAE7E,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,IAAI,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAEjH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,WAAW,GAAwC,EAAE,CAAC;IAE5D,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,WAAW,GAAG;QAClD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAE3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,MAAM,CAAC,GAAY;YACf,IAAI;YACJ,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE;YAC/B,eAAe,EAAE,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE;YAC5C,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE;YAC/C,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE;YACvD,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC9F,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAE;YACnD,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE;YACvC,IAAI,EAAE,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACtE,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YAC3C,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SACnF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,WAAW;QAEX,KAAK,CAAC,OAAO,CAAC,GAAG;YACb,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,QAAQ;YACpB,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,QAAQ;YACtB,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@only-chat/rabbitmq-queue",
3
- "version": "0.2.0-beta.8",
3
+ "version": "1.0.0",
4
4
  "description": "RabbitMQ queue for only-chat",
5
5
  "homepage": "https://github.com/only-chat/node-backend/packages/queues/rabbitmq",
6
6
  "main": "dist/index.js",
@@ -16,10 +16,14 @@
16
16
  },
17
17
  "author": "only-chat",
18
18
  "license": "MIT",
19
+ "dependencies": {
20
+ "amqplib": "^0.10.9"
21
+ },
19
22
  "devDependencies": {
20
- "@only-chat/types": "0.2.0-beta.8",
21
- "@types/amqplib": "^0.10.5",
22
- "typescript": "^5.4.5"
23
+ "@only-chat/types": "1.0.0",
24
+ "@types/amqplib": "^0.10.8",
25
+ "@types/node": "^25.2.3",
26
+ "typescript": "^5.9.3"
23
27
  },
24
28
  "files": [
25
29
  "dist/"
@@ -28,8 +32,5 @@
28
32
  "node",
29
33
  "only-chat",
30
34
  "rabbitmq"
31
- ],
32
- "dependencies": {
33
- "amqplib": "^0.10.4"
34
- }
35
- }
35
+ ]
36
+ }