mezon-sdk 2.7.83 → 2.7.84

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 (221) hide show
  1. package/dist/cjs/api.d.ts +5 -1
  2. package/dist/cjs/api.js +60 -0
  3. package/dist/cjs/api.js.map +1 -1
  4. package/dist/cjs/constants/enum.d.ts +7 -4
  5. package/dist/cjs/constants/enum.js +5 -2
  6. package/dist/cjs/constants/enum.js.map +1 -1
  7. package/dist/cjs/index.d.ts +1 -1
  8. package/dist/cjs/index.js +16 -16
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/interfaces/client.d.ts +78 -5
  11. package/dist/cjs/interfaces/client.js +6 -0
  12. package/dist/cjs/interfaces/client.js.map +1 -1
  13. package/dist/cjs/interfaces/socket.d.ts +132 -7
  14. package/dist/cjs/mezon-client/client/MezonClient.d.ts +74 -0
  15. package/dist/cjs/mezon-client/client/MezonClient.js +301 -0
  16. package/dist/cjs/mezon-client/client/MezonClient.js.map +1 -0
  17. package/dist/cjs/mezon-client/manager/channel_manager.d.ts +16 -0
  18. package/dist/cjs/mezon-client/manager/channel_manager.js +60 -0
  19. package/dist/cjs/mezon-client/manager/channel_manager.js.map +1 -0
  20. package/dist/cjs/mezon-client/manager/event_manager.d.ts +7 -0
  21. package/dist/cjs/mezon-client/manager/event_manager.js +37 -0
  22. package/dist/cjs/mezon-client/manager/event_manager.js.map +1 -0
  23. package/dist/cjs/mezon-client/manager/session_manager.d.ts +10 -0
  24. package/dist/cjs/mezon-client/manager/session_manager.js +35 -0
  25. package/dist/cjs/mezon-client/manager/session_manager.js.map +1 -0
  26. package/dist/cjs/mezon-client/manager/socket_manager.d.ts +40 -0
  27. package/dist/cjs/mezon-client/manager/socket_manager.js +154 -0
  28. package/dist/cjs/mezon-client/manager/socket_manager.js.map +1 -0
  29. package/dist/cjs/mezon-client/structures/Clan.d.ts +29 -0
  30. package/dist/cjs/mezon-client/structures/Clan.js +77 -0
  31. package/dist/cjs/mezon-client/structures/Clan.js.map +1 -0
  32. package/dist/cjs/mezon-client/structures/Message.d.ts +34 -0
  33. package/dist/cjs/mezon-client/structures/Message.js +90 -0
  34. package/dist/cjs/mezon-client/structures/Message.js.map +1 -0
  35. package/dist/cjs/mezon-client/structures/TextChannel.d.ts +22 -0
  36. package/dist/cjs/mezon-client/structures/TextChannel.js +65 -0
  37. package/dist/cjs/mezon-client/structures/TextChannel.js.map +1 -0
  38. package/dist/cjs/mezon-client/structures/User.d.ts +26 -0
  39. package/dist/cjs/mezon-client/structures/User.js +32 -0
  40. package/dist/cjs/mezon-client/structures/User.js.map +1 -0
  41. package/dist/cjs/mezon-client/utils/AsyncThrottleQueue.d.ts +8 -0
  42. package/dist/cjs/mezon-client/utils/AsyncThrottleQueue.js +40 -0
  43. package/dist/cjs/mezon-client/utils/AsyncThrottleQueue.js.map +1 -0
  44. package/dist/cjs/mezon-client/utils/CacheManager.d.ts +16 -0
  45. package/dist/cjs/mezon-client/utils/CacheManager.js +53 -0
  46. package/dist/cjs/mezon-client/utils/CacheManager.js.map +1 -0
  47. package/dist/cjs/mezon-client/utils/Collection.d.ts +23 -0
  48. package/dist/cjs/mezon-client/utils/Collection.js +100 -0
  49. package/dist/cjs/mezon-client/utils/Collection.js.map +1 -0
  50. package/dist/cjs/mezon-client-v1/channel_manager.d.ts +15 -0
  51. package/dist/cjs/mezon-client-v1/channel_manager.js +70 -0
  52. package/dist/cjs/mezon-client-v1/channel_manager.js.map +1 -0
  53. package/dist/cjs/mezon-client-v1/event_manager.d.ts +7 -0
  54. package/dist/cjs/mezon-client-v1/event_manager.js +37 -0
  55. package/dist/cjs/mezon-client-v1/event_manager.js.map +1 -0
  56. package/dist/cjs/mezon-client-v1/message_manager.d.ts +16 -0
  57. package/dist/cjs/mezon-client-v1/message_manager.js +59 -0
  58. package/dist/cjs/mezon-client-v1/message_manager.js.map +1 -0
  59. package/dist/cjs/mezon-client-v1/mezon_client.d.ts +37 -0
  60. package/dist/cjs/mezon-client-v1/mezon_client.js +87 -0
  61. package/dist/cjs/mezon-client-v1/mezon_client.js.map +1 -0
  62. package/dist/cjs/mezon-client-v1/session_manager.d.ts +10 -0
  63. package/dist/cjs/mezon-client-v1/session_manager.js +35 -0
  64. package/dist/cjs/mezon-client-v1/session_manager.js.map +1 -0
  65. package/dist/cjs/mezon-client-v1/socket_manager.d.ts +31 -0
  66. package/dist/cjs/mezon-client-v1/socket_manager.js +99 -0
  67. package/dist/cjs/mezon-client-v1/socket_manager.js.map +1 -0
  68. package/dist/cjs/mezon-client-v2/client/MezonClient.d.ts +74 -0
  69. package/dist/cjs/mezon-client-v2/client/MezonClient.js +301 -0
  70. package/dist/cjs/mezon-client-v2/client/MezonClient.js.map +1 -0
  71. package/dist/cjs/mezon-client-v2/manager/channel_manager.d.ts +16 -0
  72. package/dist/cjs/mezon-client-v2/manager/channel_manager.js +60 -0
  73. package/dist/cjs/mezon-client-v2/manager/channel_manager.js.map +1 -0
  74. package/dist/cjs/mezon-client-v2/manager/event_manager.d.ts +7 -0
  75. package/dist/cjs/mezon-client-v2/manager/event_manager.js +37 -0
  76. package/dist/cjs/mezon-client-v2/manager/event_manager.js.map +1 -0
  77. package/dist/cjs/mezon-client-v2/manager/session_manager.d.ts +10 -0
  78. package/dist/cjs/mezon-client-v2/manager/session_manager.js +35 -0
  79. package/dist/cjs/mezon-client-v2/manager/session_manager.js.map +1 -0
  80. package/dist/cjs/mezon-client-v2/manager/socket_manager.d.ts +40 -0
  81. package/dist/cjs/mezon-client-v2/manager/socket_manager.js +154 -0
  82. package/dist/cjs/mezon-client-v2/manager/socket_manager.js.map +1 -0
  83. package/dist/cjs/mezon-client-v2/structures/Clan.d.ts +29 -0
  84. package/dist/cjs/mezon-client-v2/structures/Clan.js +77 -0
  85. package/dist/cjs/mezon-client-v2/structures/Clan.js.map +1 -0
  86. package/dist/cjs/mezon-client-v2/structures/Message.d.ts +34 -0
  87. package/dist/cjs/mezon-client-v2/structures/Message.js +90 -0
  88. package/dist/cjs/mezon-client-v2/structures/Message.js.map +1 -0
  89. package/dist/cjs/mezon-client-v2/structures/TextChannel.d.ts +22 -0
  90. package/dist/cjs/mezon-client-v2/structures/TextChannel.js +65 -0
  91. package/dist/cjs/mezon-client-v2/structures/TextChannel.js.map +1 -0
  92. package/dist/cjs/mezon-client-v2/structures/User.d.ts +26 -0
  93. package/dist/cjs/mezon-client-v2/structures/User.js +32 -0
  94. package/dist/cjs/mezon-client-v2/structures/User.js.map +1 -0
  95. package/dist/cjs/mezon-client-v2/utils/AsyncThrottleQueue.d.ts +8 -0
  96. package/dist/cjs/mezon-client-v2/utils/AsyncThrottleQueue.js +40 -0
  97. package/dist/cjs/mezon-client-v2/utils/AsyncThrottleQueue.js.map +1 -0
  98. package/dist/cjs/mezon-client-v2/utils/CacheManager.d.ts +16 -0
  99. package/dist/cjs/mezon-client-v2/utils/CacheManager.js +53 -0
  100. package/dist/cjs/mezon-client-v2/utils/CacheManager.js.map +1 -0
  101. package/dist/cjs/mezon-client-v2/utils/Collection.d.ts +23 -0
  102. package/dist/cjs/mezon-client-v2/utils/Collection.js +100 -0
  103. package/dist/cjs/mezon-client-v2/utils/Collection.js.map +1 -0
  104. package/dist/cjs/utils/helper.d.ts +2 -1
  105. package/dist/cjs/utils/helper.js +10 -4
  106. package/dist/cjs/utils/helper.js.map +1 -1
  107. package/dist/esm/api.d.ts +5 -1
  108. package/dist/esm/api.js +60 -0
  109. package/dist/esm/api.js.map +1 -1
  110. package/dist/esm/constants/enum.d.ts +7 -4
  111. package/dist/esm/constants/enum.js +5 -2
  112. package/dist/esm/constants/enum.js.map +1 -1
  113. package/dist/esm/index.d.ts +1 -1
  114. package/dist/esm/index.js +1 -1
  115. package/dist/esm/index.js.map +1 -1
  116. package/dist/esm/interfaces/client.d.ts +78 -5
  117. package/dist/esm/interfaces/client.js +6 -0
  118. package/dist/esm/interfaces/client.js.map +1 -1
  119. package/dist/esm/interfaces/socket.d.ts +132 -7
  120. package/dist/esm/mezon-client/client/MezonClient.d.ts +74 -0
  121. package/dist/esm/mezon-client/client/MezonClient.js +311 -0
  122. package/dist/esm/mezon-client/client/MezonClient.js.map +1 -0
  123. package/dist/esm/mezon-client/manager/channel_manager.d.ts +16 -0
  124. package/dist/esm/mezon-client/manager/channel_manager.js +62 -0
  125. package/dist/esm/mezon-client/manager/channel_manager.js.map +1 -0
  126. package/dist/esm/mezon-client/manager/event_manager.d.ts +7 -0
  127. package/dist/esm/mezon-client/manager/event_manager.js +31 -0
  128. package/dist/esm/mezon-client/manager/event_manager.js.map +1 -0
  129. package/dist/esm/mezon-client/manager/session_manager.d.ts +10 -0
  130. package/dist/esm/mezon-client/manager/session_manager.js +33 -0
  131. package/dist/esm/mezon-client/manager/session_manager.js.map +1 -0
  132. package/dist/esm/mezon-client/manager/socket_manager.d.ts +40 -0
  133. package/dist/esm/mezon-client/manager/socket_manager.js +157 -0
  134. package/dist/esm/mezon-client/manager/socket_manager.js.map +1 -0
  135. package/dist/esm/mezon-client/structures/Clan.d.ts +29 -0
  136. package/dist/esm/mezon-client/structures/Clan.js +82 -0
  137. package/dist/esm/mezon-client/structures/Clan.js.map +1 -0
  138. package/dist/esm/mezon-client/structures/Message.d.ts +34 -0
  139. package/dist/esm/mezon-client/structures/Message.js +96 -0
  140. package/dist/esm/mezon-client/structures/Message.js.map +1 -0
  141. package/dist/esm/mezon-client/structures/TextChannel.d.ts +22 -0
  142. package/dist/esm/mezon-client/structures/TextChannel.js +70 -0
  143. package/dist/esm/mezon-client/structures/TextChannel.js.map +1 -0
  144. package/dist/esm/mezon-client/structures/User.d.ts +26 -0
  145. package/dist/esm/mezon-client/structures/User.js +36 -0
  146. package/dist/esm/mezon-client/structures/User.js.map +1 -0
  147. package/dist/esm/mezon-client/utils/AsyncThrottleQueue.d.ts +8 -0
  148. package/dist/esm/mezon-client/utils/AsyncThrottleQueue.js +37 -0
  149. package/dist/esm/mezon-client/utils/AsyncThrottleQueue.js.map +1 -0
  150. package/dist/esm/mezon-client/utils/CacheManager.d.ts +16 -0
  151. package/dist/esm/mezon-client/utils/CacheManager.js +49 -0
  152. package/dist/esm/mezon-client/utils/CacheManager.js.map +1 -0
  153. package/dist/esm/mezon-client/utils/Collection.d.ts +23 -0
  154. package/dist/esm/mezon-client/utils/Collection.js +97 -0
  155. package/dist/esm/mezon-client/utils/Collection.js.map +1 -0
  156. package/dist/esm/mezon-client-v1/channel_manager.d.ts +15 -0
  157. package/dist/esm/mezon-client-v1/channel_manager.js +69 -0
  158. package/dist/esm/mezon-client-v1/channel_manager.js.map +1 -0
  159. package/dist/esm/mezon-client-v1/event_manager.d.ts +7 -0
  160. package/dist/esm/mezon-client-v1/event_manager.js +31 -0
  161. package/dist/esm/mezon-client-v1/event_manager.js.map +1 -0
  162. package/dist/esm/mezon-client-v1/message_manager.d.ts +16 -0
  163. package/dist/esm/mezon-client-v1/message_manager.js +56 -0
  164. package/dist/esm/mezon-client-v1/message_manager.js.map +1 -0
  165. package/dist/esm/mezon-client-v1/mezon_client.d.ts +37 -0
  166. package/dist/esm/mezon-client-v1/mezon_client.js +94 -0
  167. package/dist/esm/mezon-client-v1/mezon_client.js.map +1 -0
  168. package/dist/esm/mezon-client-v1/session_manager.d.ts +10 -0
  169. package/dist/esm/mezon-client-v1/session_manager.js +33 -0
  170. package/dist/esm/mezon-client-v1/session_manager.js.map +1 -0
  171. package/dist/esm/mezon-client-v1/socket_manager.d.ts +31 -0
  172. package/dist/esm/mezon-client-v1/socket_manager.js +104 -0
  173. package/dist/esm/mezon-client-v1/socket_manager.js.map +1 -0
  174. package/dist/esm/mezon-client-v2/client/MezonClient.d.ts +74 -0
  175. package/dist/esm/mezon-client-v2/client/MezonClient.js +311 -0
  176. package/dist/esm/mezon-client-v2/client/MezonClient.js.map +1 -0
  177. package/dist/esm/mezon-client-v2/manager/channel_manager.d.ts +16 -0
  178. package/dist/esm/mezon-client-v2/manager/channel_manager.js +62 -0
  179. package/dist/esm/mezon-client-v2/manager/channel_manager.js.map +1 -0
  180. package/dist/esm/mezon-client-v2/manager/event_manager.d.ts +7 -0
  181. package/dist/esm/mezon-client-v2/manager/event_manager.js +31 -0
  182. package/dist/esm/mezon-client-v2/manager/event_manager.js.map +1 -0
  183. package/dist/esm/mezon-client-v2/manager/session_manager.d.ts +10 -0
  184. package/dist/esm/mezon-client-v2/manager/session_manager.js +33 -0
  185. package/dist/esm/mezon-client-v2/manager/session_manager.js.map +1 -0
  186. package/dist/esm/mezon-client-v2/manager/socket_manager.d.ts +40 -0
  187. package/dist/esm/mezon-client-v2/manager/socket_manager.js +157 -0
  188. package/dist/esm/mezon-client-v2/manager/socket_manager.js.map +1 -0
  189. package/dist/esm/mezon-client-v2/structures/Clan.d.ts +29 -0
  190. package/dist/esm/mezon-client-v2/structures/Clan.js +82 -0
  191. package/dist/esm/mezon-client-v2/structures/Clan.js.map +1 -0
  192. package/dist/esm/mezon-client-v2/structures/Message.d.ts +34 -0
  193. package/dist/esm/mezon-client-v2/structures/Message.js +96 -0
  194. package/dist/esm/mezon-client-v2/structures/Message.js.map +1 -0
  195. package/dist/esm/mezon-client-v2/structures/TextChannel.d.ts +22 -0
  196. package/dist/esm/mezon-client-v2/structures/TextChannel.js +70 -0
  197. package/dist/esm/mezon-client-v2/structures/TextChannel.js.map +1 -0
  198. package/dist/esm/mezon-client-v2/structures/User.d.ts +26 -0
  199. package/dist/esm/mezon-client-v2/structures/User.js +36 -0
  200. package/dist/esm/mezon-client-v2/structures/User.js.map +1 -0
  201. package/dist/esm/mezon-client-v2/utils/AsyncThrottleQueue.d.ts +8 -0
  202. package/dist/esm/mezon-client-v2/utils/AsyncThrottleQueue.js +37 -0
  203. package/dist/esm/mezon-client-v2/utils/AsyncThrottleQueue.js.map +1 -0
  204. package/dist/esm/mezon-client-v2/utils/CacheManager.d.ts +16 -0
  205. package/dist/esm/mezon-client-v2/utils/CacheManager.js +49 -0
  206. package/dist/esm/mezon-client-v2/utils/CacheManager.js.map +1 -0
  207. package/dist/esm/mezon-client-v2/utils/Collection.d.ts +23 -0
  208. package/dist/esm/mezon-client-v2/utils/Collection.js +97 -0
  209. package/dist/esm/mezon-client-v2/utils/Collection.js.map +1 -0
  210. package/dist/esm/utils/helper.d.ts +2 -1
  211. package/dist/esm/utils/helper.js +9 -4
  212. package/dist/esm/utils/helper.js.map +1 -1
  213. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  214. package/dist/tsconfig.tsbuildinfo +1 -1
  215. package/package.json +1 -1
  216. package/dist/cjs/constants/events.d.ts +0 -10
  217. package/dist/cjs/constants/events.js +0 -16
  218. package/dist/cjs/constants/events.js.map +0 -1
  219. package/dist/esm/constants/events.d.ts +0 -10
  220. package/dist/esm/constants/events.js +0 -13
  221. package/dist/esm/constants/events.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ import Collection from "./Collection";
2
+ export declare class CacheManager<K, V> {
3
+ private fetcher;
4
+ private maxSize;
5
+ cache: Collection<K, V>;
6
+ constructor(fetcher: (id: K) => Promise<V>, maxSize?: number);
7
+ get size(): number;
8
+ get(id: K): V | undefined;
9
+ set(id: K, value: V): void;
10
+ fetch(id: K): Promise<V>;
11
+ first(): V | undefined;
12
+ filter(fn: (value: V) => boolean): Collection<K, V>;
13
+ map<T>(fn: (value: V) => T): T[];
14
+ values(): IterableIterator<V>;
15
+ delete(id: K): boolean;
16
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CacheManager = void 0;
7
+ const Collection_1 = __importDefault(require("./Collection"));
8
+ class CacheManager {
9
+ constructor(fetcher, maxSize = Infinity) {
10
+ this.fetcher = fetcher;
11
+ this.maxSize = maxSize;
12
+ this.cache = new Collection_1.default();
13
+ }
14
+ get size() {
15
+ return this.cache.size;
16
+ }
17
+ get(id) {
18
+ return this.cache.get(id);
19
+ }
20
+ set(id, value) {
21
+ if (this.cache.size >= this.maxSize) {
22
+ const firstKey = this.cache.firstKey();
23
+ if (firstKey)
24
+ this.cache.delete(firstKey);
25
+ }
26
+ this.cache.set(id, value);
27
+ }
28
+ async fetch(id) {
29
+ const existing = this.get(id);
30
+ if (existing)
31
+ return existing;
32
+ const fetched = await this.fetcher(id);
33
+ this.set(id, fetched);
34
+ return fetched;
35
+ }
36
+ first() {
37
+ return this.cache.first();
38
+ }
39
+ filter(fn) {
40
+ return this.cache.filter(fn);
41
+ }
42
+ map(fn) {
43
+ return this.cache.map(fn);
44
+ }
45
+ values() {
46
+ return this.cache.values();
47
+ }
48
+ delete(id) {
49
+ return this.cache.delete(id);
50
+ }
51
+ }
52
+ exports.CacheManager = CacheManager;
53
+ //# sourceMappingURL=CacheManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../../src/mezon-client/utils/CacheManager.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAsC;AAEtC,MAAa,YAAY;IAGvB,YACU,OAA8B,EAC9B,UAAkB,QAAQ;QAD1B,YAAO,GAAP,OAAO,CAAuB;QAC9B,YAAO,GAAP,OAAO,CAAmB;QAElC,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAU,EAAQ,CAAC;IACtC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,EAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,EAAK,EAAE,KAAQ;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAK;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,EAAyB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAI,EAAmB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,EAAK;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF;AAtDD,oCAsDC"}
@@ -0,0 +1,23 @@
1
+ export default class Collection<K, V> extends Map<K, V> {
2
+ constructor(entries?: readonly (readonly [K, V])[] | null);
3
+ get size(): number;
4
+ set(key: K, value: V): this;
5
+ delete(key: K): boolean;
6
+ has(key: K): boolean;
7
+ get(key: K): V | undefined;
8
+ first(): V | undefined;
9
+ firstKey(): K | undefined;
10
+ last(): V | undefined;
11
+ filter(fn: (value: V, key: K, collection: this) => boolean): Collection<K, V>;
12
+ find(fn: (value: V, key: K, collection: this) => boolean): V | undefined;
13
+ map<T>(fn: (value: V, key: K, collection: this) => T): T[];
14
+ some(fn: (value: V, key: K, collection: this) => boolean): boolean;
15
+ every(fn: (value: V, key: K, collection: this) => boolean): boolean;
16
+ reduce<T>(fn: (acc: T, val: V, key: K, col: this) => T, initialValue: T): T;
17
+ random(): V | undefined;
18
+ sort(compareFn?: (a: V, b: V) => number): Collection<K, V>;
19
+ clear(): void;
20
+ keysArray(): K[];
21
+ valuesArray(): V[];
22
+ entriesArray(): [K, V][];
23
+ }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Collection extends Map {
4
+ constructor(entries) {
5
+ super(entries !== null && entries !== void 0 ? entries : []);
6
+ }
7
+ get size() {
8
+ return super.size;
9
+ }
10
+ set(key, value) {
11
+ super.set(key, value);
12
+ return this;
13
+ }
14
+ delete(key) {
15
+ return super.delete(key);
16
+ }
17
+ has(key) {
18
+ return super.has(key);
19
+ }
20
+ get(key) {
21
+ return super.get(key);
22
+ }
23
+ first() {
24
+ return this.values().next().value;
25
+ }
26
+ firstKey() {
27
+ return this.keys().next().value;
28
+ }
29
+ last() {
30
+ return [...this.values()].at(-1);
31
+ }
32
+ filter(fn) {
33
+ const filtered = new Collection();
34
+ for (const [key, value] of this) {
35
+ if (fn(value, key, this)) {
36
+ filtered.set(key, value);
37
+ }
38
+ }
39
+ return filtered;
40
+ }
41
+ find(fn) {
42
+ for (const [key, value] of this) {
43
+ if (fn(value, key, this))
44
+ return value;
45
+ }
46
+ return undefined;
47
+ }
48
+ map(fn) {
49
+ const result = [];
50
+ for (const [key, value] of this) {
51
+ result.push(fn(value, key, this));
52
+ }
53
+ return result;
54
+ }
55
+ some(fn) {
56
+ for (const [key, value] of this) {
57
+ if (fn(value, key, this))
58
+ return true;
59
+ }
60
+ return false;
61
+ }
62
+ every(fn) {
63
+ for (const [key, value] of this) {
64
+ if (!fn(value, key, this))
65
+ return false;
66
+ }
67
+ return true;
68
+ }
69
+ reduce(fn, initialValue) {
70
+ let acc = initialValue;
71
+ for (const [key, value] of this) {
72
+ acc = fn(acc, value, key, this);
73
+ }
74
+ return acc;
75
+ }
76
+ random() {
77
+ const arr = [...this.values()];
78
+ if (!arr.length)
79
+ return undefined;
80
+ return arr[Math.floor(Math.random() * arr.length)];
81
+ }
82
+ sort(compareFn) {
83
+ const sorted = [...this.entries()].sort((a, b) => compareFn ? compareFn(a[1], b[1]) : 0);
84
+ return new Collection(sorted);
85
+ }
86
+ clear() {
87
+ super.clear();
88
+ }
89
+ keysArray() {
90
+ return [...this.keys()];
91
+ }
92
+ valuesArray() {
93
+ return [...this.values()];
94
+ }
95
+ entriesArray() {
96
+ return [...this.entries()];
97
+ }
98
+ }
99
+ exports.default = Collection;
100
+ //# sourceMappingURL=Collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../../../src/mezon-client/utils/Collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { MezonApi } from "../api";
2
+ import { ApiChannelDescription, ApiVoiceChannelUserList } from "../interfaces";
3
+ import { SessionManager } from "./session_manager";
4
+ import { SocketManager } from "./socket_manager";
5
+ export declare class ChannelManager {
6
+ private apiClient;
7
+ private socketManager;
8
+ private sessionManager;
9
+ constructor(apiClient: MezonApi, socketManager: SocketManager, sessionManager: SessionManager);
10
+ /** Create DM channel with user */
11
+ createDMchannel(userId: string): Promise<null | ApiChannelDescription>;
12
+ /** List current user in channel voice */
13
+ listChannelVoiceUsers(clanId: string, channelId: string, channelType: number, limit?: number, state?: number, cursor?: string): Promise<ApiVoiceChannelUserList>;
14
+ private sleep;
15
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChannelManager = void 0;
4
+ const enum_1 = require("../constants/enum");
5
+ const helper_1 = require("../utils/helper");
6
+ class ChannelManager {
7
+ constructor(apiClient, socketManager, sessionManager) {
8
+ this.apiClient = apiClient;
9
+ this.socketManager = socketManager;
10
+ this.sessionManager = sessionManager;
11
+ }
12
+ /** Create DM channel with user */
13
+ async createDMchannel(userId) {
14
+ try {
15
+ if (!(0, helper_1.isValidUserId)(userId))
16
+ return null;
17
+ const socket = this.socketManager.getSocket();
18
+ const request = {
19
+ clan_id: "",
20
+ channel_id: "0",
21
+ category_id: "0",
22
+ type: enum_1.ChannelType.CHANNEL_TYPE_DM,
23
+ user_ids: [userId],
24
+ channel_private: 1,
25
+ };
26
+ const channelDM = await this.apiClient.createChannelDesc(this.sessionManager.getSession().token, request);
27
+ if (channelDM) {
28
+ await this.sleep(100);
29
+ await socket.joinChat(channelDM.clan_id, channelDM.channel_id, channelDM.type, false);
30
+ return channelDM;
31
+ }
32
+ return null;
33
+ }
34
+ catch (e) {
35
+ console.log(e);
36
+ return null;
37
+ }
38
+ }
39
+ /** List current user in channel voice */
40
+ async listChannelVoiceUsers(clanId, channelId, channelType, limit = 500, state, cursor) {
41
+ if (limit <= 0 || limit > 500) {
42
+ console.log("0 < limit <= 500");
43
+ throw new Error("0 < limit <= 500");
44
+ }
45
+ return this.apiClient
46
+ .listChannelVoiceUsers(this.sessionManager.getSession().token, clanId, channelId, channelType, limit, state, cursor)
47
+ .then((response) => {
48
+ var result = {
49
+ voice_channel_users: [],
50
+ };
51
+ if (response.voice_channel_users == null) {
52
+ return Promise.resolve(result);
53
+ }
54
+ response.voice_channel_users.forEach((gu) => {
55
+ result.voice_channel_users.push({
56
+ id: gu.id,
57
+ channel_id: gu.channel_id,
58
+ user_id: gu.user_id,
59
+ participant: gu.participant,
60
+ });
61
+ });
62
+ return Promise.resolve(result);
63
+ });
64
+ }
65
+ sleep(ms) {
66
+ return new Promise((resolve) => setTimeout(resolve, ms));
67
+ }
68
+ }
69
+ exports.ChannelManager = ChannelManager;
70
+ //# sourceMappingURL=channel_manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel_manager.js","sourceRoot":"","sources":["../../../src/mezon-client-v1/channel_manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Events } from "../constants";
2
+ export declare class EventManager {
3
+ private events;
4
+ on(event: Events, func: Function, context?: any): void;
5
+ remove(event: string, func: Function): void;
6
+ emit(event: string, ...args: any[]): void;
7
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventManager = void 0;
4
+ class EventManager {
5
+ constructor() {
6
+ this.events = {};
7
+ }
8
+ on(event, func, context = null) {
9
+ if (!this.events[event]) {
10
+ this.events[event] = [];
11
+ }
12
+ if (typeof func !== "function") {
13
+ throw new Error("Please add a function to the event");
14
+ }
15
+ this.events[event].push(context ? func.bind(context) : func);
16
+ }
17
+ remove(event, func) {
18
+ if (!this.events[event]) {
19
+ throw new Error("Event not supported");
20
+ }
21
+ this.events[event] = this.events[event].filter((f) => f !== func);
22
+ }
23
+ emit(event, ...args) {
24
+ if (this.events[event]) {
25
+ this.events[event].forEach((func) => {
26
+ try {
27
+ func(...args);
28
+ }
29
+ catch (err) {
30
+ console.error(`Error executing event handler for ${event}:`, err);
31
+ }
32
+ });
33
+ }
34
+ }
35
+ }
36
+ exports.EventManager = EventManager;
37
+ //# sourceMappingURL=event_manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event_manager.js","sourceRoot":"","sources":["../../../src/mezon-client-v1/event_manager.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IAAzB;QACU,WAAM,GAAkC,EAAE,CAAC;IAiCrD,CAAC;IA/BC,EAAE,CAAC,KAAa,EAAE,IAAc,EAAE,UAAe,IAAI;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SACzB;QAED,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,IAAc;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,GAAG,IAAW;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClC,IAAI;oBACF,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;iBACf;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,qCAAqC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;iBACnE;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAlCD,oCAkCC"}
@@ -0,0 +1,16 @@
1
+ import { SocketManager } from "./socket_manager";
2
+ import { ApiMessageAttachment, ApiMessageMention, ApiMessageRef, ChannelMessageContent } from "../interfaces";
3
+ export declare class MessageManager {
4
+ private socketManager;
5
+ constructor(socketManager: SocketManager);
6
+ /** Send message in channel/thread */
7
+ sendMessage(clan_id: string, channel_id: string, mode: number, is_public: boolean, msg: ChannelMessageContent, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, ref?: Array<ApiMessageRef>, anonymous_message?: boolean, mention_everyone?: boolean, avatar?: string, code?: number, topic_id?: string): Promise<import("../interfaces").ChannelMessageAck>;
8
+ /** Send DM message */
9
+ sendDMChannelMessage(channelDmId: string, msg: string, messOptions?: {
10
+ [x: string]: any;
11
+ }, attachments?: Array<any>, refs?: Array<any>, code?: number): Promise<import("../interfaces").ChannelMessageAck>;
12
+ /** Update message */
13
+ updateChatMessage(clan_id: string, channel_id: string, mode: number, is_public: boolean, message_id: string, content: any, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, hideEditted?: boolean): Promise<import("../interfaces").ChannelMessageAck>;
14
+ /** React message */
15
+ reactionMessage(id: string, clan_id: string, channel_id: string, mode: number, is_public: boolean, message_id: string, emoji_id: string, emoji: string, count: number, message_sender_id: string, action_delete: boolean): Promise<import("../interfaces").ApiMessageReaction>;
16
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageManager = void 0;
4
+ const enum_1 = require("../constants/enum");
5
+ const generate_reply_message_1 = require("../utils/generate_reply_message");
6
+ const helper_1 = require("../utils/helper");
7
+ class MessageManager {
8
+ constructor(socketManager) {
9
+ this.socketManager = socketManager;
10
+ }
11
+ /** Send message in channel/thread */
12
+ async sendMessage(clan_id, channel_id, mode, is_public, msg, mentions, attachments, ref, anonymous_message, mention_everyone, avatar, code, topic_id) {
13
+ const socket = this.socketManager.getSocket();
14
+ const messageLength = JSON.stringify(msg).length;
15
+ if (messageLength > 4096 * 2)
16
+ throw "Message exceeds allowed characters";
17
+ const msgACK = await socket.writeChatMessage(clan_id, channel_id, mode, is_public, msg, mentions, attachments, ref, anonymous_message, mention_everyone, avatar, code, topic_id);
18
+ return msgACK;
19
+ }
20
+ /** Send DM message */
21
+ async sendDMChannelMessage(channelDmId, msg, messOptions = {}, attachments = [], refs = [], code) {
22
+ const messageLength = JSON.stringify(msg).length + JSON.stringify(messOptions).length;
23
+ if (messageLength > 4096 * 2)
24
+ throw "Message exceeds allowed characters";
25
+ try {
26
+ const message = {
27
+ clan_id: "",
28
+ channel_id: channelDmId,
29
+ is_public: false,
30
+ mode: (0, helper_1.convertChanneltypeToChannelMode)(enum_1.ChannelType.CHANNEL_TYPE_DM),
31
+ mentions: [],
32
+ attachments: attachments,
33
+ ref: [],
34
+ };
35
+ const mess = (0, generate_reply_message_1.replyMessageGenerate)(Object.assign(Object.assign({ messageContent: msg }, messOptions), { attachments, refs }), message);
36
+ return await this.sendMessage(mess.clan_id, mess.channel_id, mess.mode, mess.is_public, mess.msg, [], mess.attachments, refs, false, false, '', code);
37
+ }
38
+ catch (error) {
39
+ throw new Error("Can't send message channel DM");
40
+ }
41
+ }
42
+ /** Update message */
43
+ async updateChatMessage(clan_id, channel_id, mode, is_public, message_id, content, mentions, attachments, hideEditted) {
44
+ const messageLength = JSON.stringify(content).length;
45
+ if (messageLength > 4096 * 2)
46
+ throw "Message exceeds allowed characters";
47
+ const socket = this.socketManager.getSocket();
48
+ const msgUpdated = await socket.updateChatMessage(clan_id, channel_id, mode, is_public, message_id, content, mentions, attachments, hideEditted);
49
+ return msgUpdated;
50
+ }
51
+ /** React message */
52
+ async reactionMessage(id, clan_id, channel_id, mode, is_public, message_id, emoji_id, emoji, count, message_sender_id, action_delete) {
53
+ const socket = this.socketManager.getSocket();
54
+ const msgReaction = await socket.writeMessageReaction(id, clan_id, channel_id, mode, is_public, message_id, emoji_id, emoji, count, message_sender_id, action_delete);
55
+ return msgReaction;
56
+ }
57
+ }
58
+ exports.MessageManager = MessageManager;
59
+ //# sourceMappingURL=message_manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message_manager.js","sourceRoot":"","sources":["../../../src/mezon-client-v1/message_manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { Events } from "../constants/enum";
2
+ import { ApiMessageAttachment, ApiMessageMention, ApiMessageRef, ChannelMessageContent, Client, TokenSentEvent } from "../interfaces";
3
+ export declare class MezonClient implements Client {
4
+ readonly apiKey: string;
5
+ readonly host: string;
6
+ readonly port: string;
7
+ readonly useSSL: boolean;
8
+ readonly timeout: number;
9
+ private readonly apiClient;
10
+ private socketManager;
11
+ private messageManager;
12
+ private channelManager;
13
+ private sessionManager;
14
+ private eventManager;
15
+ constructor(apiKey?: string, host?: string, port?: string, useSSL?: boolean, timeout?: number);
16
+ authenticate(): Promise<string>;
17
+ on(event: Events, func: Function, context?: any): void;
18
+ remove(event: string, func: Function): void;
19
+ closeSocket(): void;
20
+ logout(): Promise<boolean>;
21
+ /** Send message in channel/thread */
22
+ sendMessage(clan_id: string, channel_id: string, mode: number, is_public: boolean, msg: ChannelMessageContent, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, ref?: Array<ApiMessageRef>, anonymous_message?: boolean, mention_everyone?: boolean, avatar?: string, code?: number, topic_id?: string): Promise<import("../interfaces").ChannelMessageAck>;
23
+ /** Send DM message */
24
+ sendDMChannelMessage(channelDmId: string, msg: string, messOptions?: {
25
+ [x: string]: any;
26
+ }, attachments?: Array<any>, refs?: Array<any>, code?: number): Promise<import("../interfaces").ChannelMessageAck>;
27
+ /** Update message */
28
+ updateChatMessage(clan_id: string, channel_id: string, mode: number, is_public: boolean, message_id: string, content: any, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, hideEditted?: boolean): Promise<import("../interfaces").ChannelMessageAck>;
29
+ /** Create DM channel */
30
+ createDMchannel(userId: string): Promise<import("../interfaces").ApiChannelDescription | null>;
31
+ /** List current user in channel voice */
32
+ listChannelVoiceUsers(clanId: string, channelId: string, channelType: number, limit?: number, state?: number, cursor?: string): Promise<import("../interfaces").ApiVoiceChannelUserList>;
33
+ /** Send token to user */
34
+ sendToken(sendTokenData: TokenSentEvent): Promise<any>;
35
+ /** React message */
36
+ reactionMessage(id: string, clan_id: string, channel_id: string, mode: number, is_public: boolean, message_id: string, emoji_id: string, emoji: string, count: number, message_sender_id: string, action_delete: boolean): Promise<import("../interfaces").ApiMessageReaction>;
37
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MezonClient = void 0;
4
+ const api_1 = require("../api");
5
+ // import { Session } from "./session";
6
+ // import { DefaultSocket } from "./socket";
7
+ // import { WebSocketAdapter } from "./web_socket_adapter";
8
+ const web_socket_adapter_pb_1 = require("../web_socket_adapter_pb");
9
+ const socket_manager_1 = require("./socket_manager");
10
+ const message_manager_1 = require("./message_manager");
11
+ const channel_manager_1 = require("./channel_manager");
12
+ const session_manager_1 = require("./session_manager");
13
+ const event_manager_1 = require("./event_manager");
14
+ const DEFAULT_HOST = "api.mezon.vn";
15
+ const DEFAULT_PORT = "443";
16
+ const DEFAULT_API_KEY = "";
17
+ const DEFAULT_SSL = true;
18
+ const DEFAULT_TIMEOUT_MS = 7000;
19
+ class MezonClient {
20
+ constructor(apiKey = DEFAULT_API_KEY, host = DEFAULT_HOST, port = DEFAULT_PORT, useSSL = DEFAULT_SSL, timeout = DEFAULT_TIMEOUT_MS) {
21
+ this.apiKey = apiKey;
22
+ this.host = host;
23
+ this.port = port;
24
+ this.useSSL = useSSL;
25
+ this.timeout = timeout;
26
+ const scheme = useSSL ? "https://" : "http://";
27
+ const basePath = `${scheme}${host}:${port}`;
28
+ this.apiClient = new api_1.MezonApi(apiKey, basePath, timeout);
29
+ this.sessionManager = new session_manager_1.SessionManager(this.apiClient);
30
+ this.eventManager = new event_manager_1.EventManager();
31
+ this.socketManager = new socket_manager_1.SocketManager(this.host, this.port, this.useSSL, new web_socket_adapter_pb_1.WebSocketAdapterPb(), this.sessionManager, this.apiClient, this.apiKey, this.eventManager);
32
+ this.messageManager = new message_manager_1.MessageManager(this.socketManager);
33
+ this.channelManager = new channel_manager_1.ChannelManager(this.apiClient, this.socketManager, this.sessionManager);
34
+ }
35
+ async authenticate() {
36
+ const sockSession = await this.sessionManager.authenticate(this.apiKey);
37
+ const sessionConnected = await this.socketManager.connect(sockSession);
38
+ if (sessionConnected === null || sessionConnected === void 0 ? void 0 : sessionConnected.token) {
39
+ await this.socketManager.connectSocket(sessionConnected.token);
40
+ }
41
+ return "Authenticate success!";
42
+ }
43
+ on(event, func, context = null) {
44
+ this.eventManager.on(event, func, context);
45
+ }
46
+ remove(event, func) {
47
+ this.eventManager.remove(event, func);
48
+ }
49
+ closeSocket() {
50
+ this.socketManager.closeSocket();
51
+ this.eventManager = new event_manager_1.EventManager(); // Reset event manager
52
+ }
53
+ async logout() {
54
+ return this.sessionManager.logout();
55
+ }
56
+ /** Send message in channel/thread */
57
+ async sendMessage(clan_id, channel_id, mode, is_public, msg, mentions, attachments, ref, anonymous_message, mention_everyone, avatar, code, topic_id) {
58
+ return await this.messageManager.sendMessage(clan_id, channel_id, mode, is_public, msg, mentions, attachments, ref, anonymous_message, mention_everyone, avatar, code, topic_id);
59
+ }
60
+ /** Send DM message */
61
+ async sendDMChannelMessage(channelDmId, msg, messOptions = {}, attachments = [], refs = [], code) {
62
+ return await this.messageManager.sendDMChannelMessage(channelDmId, msg, messOptions, attachments, refs, code);
63
+ }
64
+ /** Update message */
65
+ async updateChatMessage(clan_id, channel_id, mode, is_public, message_id, content, mentions, attachments, hideEditted) {
66
+ return await this.messageManager.updateChatMessage(clan_id, channel_id, mode, is_public, message_id, content, mentions, attachments, hideEditted);
67
+ }
68
+ /** Create DM channel */
69
+ async createDMchannel(userId) {
70
+ return this.channelManager.createDMchannel(userId);
71
+ }
72
+ /** List current user in channel voice */
73
+ async listChannelVoiceUsers(clanId, channelId, channelType, limit = 500, state, cursor) {
74
+ return await this.channelManager.listChannelVoiceUsers(clanId, channelId, channelType, limit, state, cursor);
75
+ }
76
+ /** Send token to user */
77
+ async sendToken(sendTokenData) {
78
+ const session = this.sessionManager.getSession();
79
+ return this.apiClient.sendToken(session.token, sendTokenData);
80
+ }
81
+ /** React message */
82
+ async reactionMessage(id, clan_id, channel_id, mode, is_public, message_id, emoji_id, emoji, count, message_sender_id, action_delete) {
83
+ return await this.messageManager.reactionMessage(id, clan_id, channel_id, mode, is_public, message_id, emoji_id, emoji, count, message_sender_id, action_delete);
84
+ }
85
+ }
86
+ exports.MezonClient = MezonClient;
87
+ //# sourceMappingURL=mezon_client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mezon_client.js","sourceRoot":"","sources":["../../../src/mezon-client-v1/mezon_client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { MezonApi } from '../api';
2
+ import { Session } from '../session';
3
+ export declare class SessionManager {
4
+ private apiClient;
5
+ private session;
6
+ constructor(apiClient: MezonApi);
7
+ authenticate(apiKey: string): Promise<Session>;
8
+ logout(): Promise<boolean>;
9
+ getSession(): Session | undefined;
10
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SessionManager = void 0;
4
+ const session_1 = require("../session");
5
+ class SessionManager {
6
+ constructor(apiClient) {
7
+ this.apiClient = apiClient;
8
+ }
9
+ async authenticate(apiKey) {
10
+ return this.apiClient.mezonAuthenticate(apiKey, "", {
11
+ account: {
12
+ token: apiKey,
13
+ }
14
+ }).then(async (apiSession) => {
15
+ this.session = new session_1.Session(apiSession);
16
+ return this.session;
17
+ });
18
+ }
19
+ async logout() {
20
+ if (!this.session)
21
+ return false;
22
+ const request = {
23
+ token: this.session.token,
24
+ refresh_token: this.session.refresh_token
25
+ };
26
+ return this.apiClient.mezonAuthenticateLogout(this.session.token, request).then((response) => {
27
+ return response !== undefined;
28
+ });
29
+ }
30
+ getSession() {
31
+ return this.session;
32
+ }
33
+ }
34
+ exports.SessionManager = SessionManager;
35
+ //# sourceMappingURL=session_manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_manager.js","sourceRoot":"","sources":["../../../src/mezon-client-v1/session_manager.ts"],"names":[],"mappings":";;;AAEA,wCAAqC;AAErC,MAAa,cAAc;IAGzB,YAAoB,SAAmB;QAAnB,cAAS,GAAT,SAAS,CAAU;IAAG,CAAC;IAE3C,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE;YAClD,OAAO,EAAE;gBACP,KAAK,EAAE,MAAM;aACd;SACF,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAsB,EAAE,EAAE;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,UAAU,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAEhC,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;SAC1C,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3F,OAAO,QAAQ,KAAK,SAAS,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAhCD,wCAgCC"}