mezon-sdk 2.7.97 → 2.7.99

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.
Files changed (73) hide show
  1. package/dist/cjs/api/api.d.ts +63 -97
  2. package/dist/cjs/api/api.js +99 -218
  3. package/dist/cjs/api/api.js.map +1 -1
  4. package/dist/cjs/api.d.ts +2 -0
  5. package/dist/cjs/api.js +28 -0
  6. package/dist/cjs/api.js.map +1 -1
  7. package/dist/cjs/interfaces/api.d.ts +4 -0
  8. package/dist/cjs/interfaces/client.d.ts +17 -0
  9. package/dist/cjs/interfaces/client.js.map +1 -1
  10. package/dist/cjs/interfaces/socket.d.ts +2 -0
  11. package/dist/cjs/mezon-client/client/MezonClient.js +32 -23
  12. package/dist/cjs/mezon-client/client/MezonClient.js.map +1 -1
  13. package/dist/cjs/mezon-client/manager/channel_manager.js +1 -1
  14. package/dist/cjs/mezon-client/manager/channel_manager.js.map +1 -1
  15. package/dist/cjs/mezon-client/manager/socket_manager.d.ts +2 -1
  16. package/dist/cjs/mezon-client/manager/socket_manager.js +13 -3
  17. package/dist/cjs/mezon-client/manager/socket_manager.js.map +1 -1
  18. package/dist/cjs/mezon-client/structures/Clan.d.ts +2 -0
  19. package/dist/cjs/mezon-client/structures/Clan.js +1 -0
  20. package/dist/cjs/mezon-client/structures/Clan.js.map +1 -1
  21. package/dist/cjs/mezon-client/structures/TextChannel.d.ts +1 -0
  22. package/dist/cjs/mezon-client/structures/TextChannel.js +34 -0
  23. package/dist/cjs/mezon-client/structures/TextChannel.js.map +1 -1
  24. package/dist/cjs/mezon-client/structures/User.d.ts +1 -0
  25. package/dist/cjs/mezon-client/structures/User.js +4 -0
  26. package/dist/cjs/mezon-client/structures/User.js.map +1 -1
  27. package/dist/cjs/mezon-client/utils/AsyncThrottleQueue.d.ts +6 -4
  28. package/dist/cjs/mezon-client/utils/AsyncThrottleQueue.js +29 -24
  29. package/dist/cjs/mezon-client/utils/AsyncThrottleQueue.js.map +1 -1
  30. package/dist/cjs/rtapi/realtime.d.ts +1459 -257
  31. package/dist/cjs/rtapi/realtime.js +402 -6
  32. package/dist/cjs/rtapi/realtime.js.map +1 -1
  33. package/dist/cjs/socket.d.ts +4 -2
  34. package/dist/cjs/socket.js +34 -0
  35. package/dist/cjs/socket.js.map +1 -1
  36. package/dist/esm/api/api.d.ts +63 -97
  37. package/dist/esm/api/api.js +94 -211
  38. package/dist/esm/api/api.js.map +1 -1
  39. package/dist/esm/api.d.ts +2 -0
  40. package/dist/esm/api.js +28 -0
  41. package/dist/esm/api.js.map +1 -1
  42. package/dist/esm/interfaces/api.d.ts +4 -0
  43. package/dist/esm/interfaces/client.d.ts +17 -0
  44. package/dist/esm/interfaces/client.js.map +1 -1
  45. package/dist/esm/interfaces/socket.d.ts +2 -0
  46. package/dist/esm/mezon-client/client/MezonClient.js +31 -22
  47. package/dist/esm/mezon-client/client/MezonClient.js.map +1 -1
  48. package/dist/esm/mezon-client/manager/channel_manager.js +1 -1
  49. package/dist/esm/mezon-client/manager/channel_manager.js.map +1 -1
  50. package/dist/esm/mezon-client/manager/socket_manager.d.ts +2 -1
  51. package/dist/esm/mezon-client/manager/socket_manager.js +11 -2
  52. package/dist/esm/mezon-client/manager/socket_manager.js.map +1 -1
  53. package/dist/esm/mezon-client/structures/Clan.d.ts +2 -0
  54. package/dist/esm/mezon-client/structures/Clan.js +2 -0
  55. package/dist/esm/mezon-client/structures/Clan.js.map +1 -1
  56. package/dist/esm/mezon-client/structures/TextChannel.d.ts +1 -0
  57. package/dist/esm/mezon-client/structures/TextChannel.js +34 -0
  58. package/dist/esm/mezon-client/structures/TextChannel.js.map +1 -1
  59. package/dist/esm/mezon-client/structures/User.d.ts +1 -0
  60. package/dist/esm/mezon-client/structures/User.js +4 -0
  61. package/dist/esm/mezon-client/structures/User.js.map +1 -1
  62. package/dist/esm/mezon-client/utils/AsyncThrottleQueue.d.ts +6 -4
  63. package/dist/esm/mezon-client/utils/AsyncThrottleQueue.js +30 -25
  64. package/dist/esm/mezon-client/utils/AsyncThrottleQueue.js.map +1 -1
  65. package/dist/esm/rtapi/realtime.d.ts +1459 -257
  66. package/dist/esm/rtapi/realtime.js +392 -1
  67. package/dist/esm/rtapi/realtime.js.map +1 -1
  68. package/dist/esm/socket.d.ts +4 -2
  69. package/dist/esm/socket.js +33 -0
  70. package/dist/esm/socket.js.map +1 -1
  71. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +1 -1
@@ -1,8 +1,10 @@
1
1
  export declare class AsyncThrottleQueue {
2
- private interval;
2
+ private maxPerSecond;
3
+ private timestamps;
3
4
  private queue;
4
- private isProcessing;
5
- constructor(interval?: number);
5
+ private isRunning;
6
+ constructor(maxPerSecond?: number);
6
7
  enqueue<T>(task: () => Promise<T>): Promise<T>;
7
- private processQueue;
8
+ private start;
9
+ private cleanupTimestamps;
8
10
  }
@@ -1,37 +1,42 @@
1
- const MESSAGE_PER_SECSON = 20;
1
+ const MAX_PER_SECSON = 80;
2
2
  export class AsyncThrottleQueue {
3
- interval;
3
+ maxPerSecond;
4
+ timestamps = [];
4
5
  queue = [];
5
- isProcessing = false;
6
- constructor(interval = MESSAGE_PER_SECSON) {
7
- this.interval = interval;
6
+ isRunning = false;
7
+ constructor(maxPerSecond = MAX_PER_SECSON) {
8
+ this.maxPerSecond = maxPerSecond;
9
+ this.start();
8
10
  }
9
11
  enqueue(task) {
10
12
  return new Promise((resolve, reject) => {
11
- this.queue.push(async () => {
12
- try {
13
- const result = await task();
14
- resolve(result);
15
- }
16
- catch (err) {
17
- reject(err);
18
- }
13
+ this.queue.push(() => {
14
+ task().then(resolve).catch(reject);
19
15
  });
20
- if (!this.isProcessing) {
21
- this.processQueue();
22
- }
23
16
  });
24
17
  }
25
- async processQueue() {
26
- this.isProcessing = true;
27
- while (this.queue.length > 0) {
28
- const task = this.queue.shift();
29
- if (task) {
30
- await task();
31
- await new Promise((r) => setTimeout(r, this.interval));
18
+ start() {
19
+ if (this.isRunning)
20
+ return;
21
+ this.isRunning = true;
22
+ const loop = async () => {
23
+ while (true) {
24
+ this.cleanupTimestamps();
25
+ if (this.queue.length > 0 && this.timestamps.length < this.maxPerSecond) {
26
+ const task = this.queue.shift();
27
+ if (task) {
28
+ this.timestamps.push(Date.now());
29
+ task();
30
+ }
31
+ }
32
+ await new Promise((r) => setTimeout(r, 10));
32
33
  }
33
- }
34
- this.isProcessing = false;
34
+ };
35
+ loop();
36
+ }
37
+ cleanupTimestamps() {
38
+ const now = Date.now();
39
+ this.timestamps = this.timestamps.filter(t => now - t < 1000);
35
40
  }
36
41
  }
37
42
  //# sourceMappingURL=AsyncThrottleQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncThrottleQueue.js","sourceRoot":"","sources":["../../../../src/mezon-client/utils/AsyncThrottleQueue.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,OAAO,kBAAkB;IAIT;IAHZ,KAAK,GAA4B,EAAE,CAAC;IACpC,YAAY,GAAG,KAAK,CAAC;IAE7B,YAAoB,WAAmB,kBAAkB;QAArC,aAAQ,GAAR,QAAQ,CAA6B;IAAG,CAAC;IAE7D,OAAO,CAAI,IAAsB;QAC/B,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACzB,IAAI;oBACF,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;oBAC5B,OAAO,CAAC,MAAM,CAAC,CAAC;iBACjB;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,EAAE;gBACR,MAAM,IAAI,EAAE,CAAC;gBACb,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxD;SACF;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"AsyncThrottleQueue.js","sourceRoot":"","sources":["../../../../src/mezon-client/utils/AsyncThrottleQueue.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,OAAO,kBAAkB;IAKT;IAJZ,UAAU,GAAa,EAAE,CAAC;IAC1B,KAAK,GAAmB,EAAE,CAAC;IAC3B,SAAS,GAAG,KAAK,CAAC;IAE1B,YAAoB,eAAe,cAAc;QAA7B,iBAAY,GAAZ,YAAY,CAAiB;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,OAAO,CAAI,IAAsB;QAC/B,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,OAAO,IAAI,EAAE;gBACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;oBACvE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChC,IAAI,IAAI,EAAE;wBACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACjC,IAAI,EAAE,CAAC;qBACR;iBACF;gBAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAC7C;QACH,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;IACT,CAAC;IAEO,iBAAiB;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAChE,CAAC;CACF"}