@ckeditor/ckeditor-cloud-services-collaboration 52.1.4 → 52.1.6

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 (204) hide show
  1. package/package.json +1 -1
  2. package/src/ckeditorcloudserviceserror.d.ts +8 -0
  3. package/src/ckeditorcloudserviceserror.js +1 -1
  4. package/src/ckeditorcloudservicesservererror.d.ts +15 -0
  5. package/src/ckeditorcloudservicesservererror.js +1 -1
  6. package/src/collaborativeeditingservice/collaborativeeditingservice.d.ts +127 -0
  7. package/src/collaborativeeditingservice/collaborativeeditingservice.js +1 -1
  8. package/src/collaborativeeditingservice/descriptors/operationmetadatadescriptor.d.ts +18 -0
  9. package/src/collaborativeeditingservice/descriptors/operationmetadatadescriptor.js +1 -1
  10. package/src/collaborativeeditingservice/helpers/operationmetadatahelpers.d.ts +11 -0
  11. package/src/collaborativeeditingservice/helpers/operationmetadatahelpers.js +1 -1
  12. package/src/collaborativeeditingservice/messages/collaborativeeditingconnectmessage.d.ts +24 -0
  13. package/src/collaborativeeditingservice/messages/collaborativeeditingconnectmessage.js +1 -1
  14. package/src/collaborativeeditingservice/messages/collaborativeeditingreconnectmessage.d.ts +19 -0
  15. package/src/collaborativeeditingservice/messages/collaborativeeditingreconnectmessage.js +1 -1
  16. package/src/collaborativeeditingservice/messages/collaborativeeditingupdatemessage.d.ts +38 -0
  17. package/src/collaborativeeditingservice/messages/collaborativeeditingupdatemessage.js +1 -1
  18. package/src/collaborativeeditingservice/messages/getdocumentdetailsmessage.d.ts +16 -0
  19. package/src/collaborativeeditingservice/messages/getdocumentdetailsmessage.js +1 -1
  20. package/src/collaborativeeditingservice/responses/collaborativeeditingconnectresponse.d.ts +68 -0
  21. package/src/collaborativeeditingservice/responses/collaborativeeditingconnectresponse.js +1 -1
  22. package/src/collaborativeeditingservice/responses/collaborativeeditingresponse.d.ts +51 -0
  23. package/src/collaborativeeditingservice/responses/collaborativeeditingresponse.js +1 -1
  24. package/src/collaborativeeditingservice/responses/getdocumentdetailsresponse.d.ts +28 -0
  25. package/src/collaborativeeditingservice/responses/getdocumentdetailsresponse.js +1 -1
  26. package/src/comments-v2/commentsservice.d.ts +72 -0
  27. package/src/comments-v2/commentsservice.js +1 -1
  28. package/src/comments-v2/descriptors/commentdescriptor.d.ts +23 -0
  29. package/src/comments-v2/descriptors/commentdescriptor.js +1 -1
  30. package/src/comments-v2/descriptors/commentsthreaddescriptor.d.ts +31 -0
  31. package/src/comments-v2/descriptors/commentsthreaddescriptor.js +1 -1
  32. package/src/comments-v2/descriptors/commentthreadaddedcomment.d.ts +15 -0
  33. package/src/comments-v2/descriptors/commentthreadaddedcomment.js +1 -1
  34. package/src/comments-v2/messages/addcommentmessage.d.ts +30 -0
  35. package/src/comments-v2/messages/addcommentmessage.js +1 -1
  36. package/src/comments-v2/messages/comment-threads/addcommentthreadmessage.d.ts +32 -0
  37. package/src/comments-v2/messages/comment-threads/addcommentthreadmessage.js +1 -1
  38. package/src/comments-v2/messages/comment-threads/reopencommentthreadmessage.d.ts +17 -0
  39. package/src/comments-v2/messages/comment-threads/reopencommentthreadmessage.js +1 -1
  40. package/src/comments-v2/messages/comment-threads/resolvecommentthreadmessage.d.ts +21 -0
  41. package/src/comments-v2/messages/comment-threads/resolvecommentthreadmessage.js +1 -1
  42. package/src/comments-v2/messages/comment-threads/updatecommentthreadmessage.d.ts +23 -0
  43. package/src/comments-v2/messages/comment-threads/updatecommentthreadmessage.js +1 -1
  44. package/src/comments-v2/messages/connectmessage.d.ts +15 -0
  45. package/src/comments-v2/messages/connectmessage.js +1 -1
  46. package/src/comments-v2/messages/getcommentthreadmessage.d.ts +17 -0
  47. package/src/comments-v2/messages/getcommentthreadmessage.js +1 -1
  48. package/src/comments-v2/messages/getdocumentthreadsmessage.d.ts +15 -0
  49. package/src/comments-v2/messages/getdocumentthreadsmessage.js +1 -1
  50. package/src/comments-v2/messages/removecommentmessage.d.ts +19 -0
  51. package/src/comments-v2/messages/removecommentmessage.js +1 -1
  52. package/src/comments-v2/messages/removecommentthreadmessage.d.ts +17 -0
  53. package/src/comments-v2/messages/removecommentthreadmessage.js +1 -1
  54. package/src/comments-v2/messages/updatecommentmessage.d.ts +28 -0
  55. package/src/comments-v2/messages/updatecommentmessage.js +1 -1
  56. package/src/comments-v2/responses/addcommentresponse.d.ts +17 -0
  57. package/src/comments-v2/responses/addcommentresponse.js +1 -1
  58. package/src/comments-v2/responses/comment-threads/addcommentthreadresponse.d.ts +22 -0
  59. package/src/comments-v2/responses/comment-threads/addcommentthreadresponse.js +1 -1
  60. package/src/comments-v2/responses/comment-threads/resolvecommentthreadresponse.d.ts +19 -0
  61. package/src/comments-v2/responses/comment-threads/resolvecommentthreadresponse.js +1 -1
  62. package/src/comments-v2/responses/connectresponse.d.ts +19 -0
  63. package/src/comments-v2/responses/connectresponse.js +1 -1
  64. package/src/comments-v2/responses/getcommentthreadresponse.d.ts +33 -0
  65. package/src/comments-v2/responses/getcommentthreadresponse.js +1 -1
  66. package/src/comments-v2/responses/getdocumentthreadsresponse.d.ts +17 -0
  67. package/src/comments-v2/responses/getdocumentthreadsresponse.js +1 -1
  68. package/src/compiledmessages.js +1 -1
  69. package/src/descriptor.d.ts +13 -0
  70. package/src/descriptor.js +1 -1
  71. package/src/descriptors/keyvaluedescriptor.d.ts +5 -0
  72. package/src/descriptors/keyvaluedescriptor.js +1 -1
  73. package/src/editor/editorservice.d.ts +11 -0
  74. package/src/editor/editorservice.js +1 -1
  75. package/src/editor/messages/iseditorbundleuploadedmessage.d.ts +15 -0
  76. package/src/editor/messages/iseditorbundleuploadedmessage.js +1 -1
  77. package/src/editor/responses/iseditorbundleuploadedresponse.d.ts +13 -0
  78. package/src/editor/responses/iseditorbundleuploadedresponse.js +1 -1
  79. package/src/errors/ServiceNotConnectedError.d.ts +4 -0
  80. package/src/errors/ServiceNotConnectedError.js +1 -1
  81. package/src/index.d.ts +66 -0
  82. package/src/index.js +1 -1
  83. package/src/message.d.ts +17 -0
  84. package/src/message.js +1 -1
  85. package/src/messagescompressor.d.ts +15 -0
  86. package/src/messagescompressor.js +1 -1
  87. package/src/messagesmapper.d.ts +9 -0
  88. package/src/messagesmapper.js +1 -1
  89. package/src/revision-history/descriptors/revisiondescriptor.d.ts +42 -0
  90. package/src/revision-history/descriptors/revisiondescriptor.js +1 -1
  91. package/src/revision-history/messages/revisionhistoryconnectmessage.d.ts +15 -0
  92. package/src/revision-history/messages/revisionhistoryconnectmessage.js +1 -1
  93. package/src/revision-history/messages/revisionhistorygetrevisionmessage.d.ts +17 -0
  94. package/src/revision-history/messages/revisionhistorygetrevisionmessage.js +1 -1
  95. package/src/revision-history/messages/revisionhistoryreconnectmessage.d.ts +17 -0
  96. package/src/revision-history/messages/revisionhistoryreconnectmessage.js +1 -1
  97. package/src/revision-history/messages/revisionhistoryupdaterevisionsmessage.d.ts +41 -0
  98. package/src/revision-history/messages/revisionhistoryupdaterevisionsmessage.js +1 -1
  99. package/src/revision-history/responses/revisionhistoryconnectresponse.d.ts +30 -0
  100. package/src/revision-history/responses/revisionhistoryconnectresponse.js +1 -1
  101. package/src/revision-history/responses/revisionhistorygetrevisionresponse.d.ts +30 -0
  102. package/src/revision-history/responses/revisionhistorygetrevisionresponse.js +1 -1
  103. package/src/revision-history/responses/revisionhistoryupdaterevisionsresponse.d.ts +13 -0
  104. package/src/revision-history/responses/revisionhistoryupdaterevisionsresponse.js +1 -1
  105. package/src/revision-history/revision.d.ts +15 -0
  106. package/src/revision-history/revisionhistoryservice.d.ts +75 -0
  107. package/src/revision-history/revisionhistoryservice.js +1 -1
  108. package/src/services.d.ts +8 -0
  109. package/src/services.js +1 -1
  110. package/src/sessions/descriptors/sessiondescriptor.d.ts +5 -0
  111. package/src/sessions/descriptors/sessiondescriptor.js +1 -1
  112. package/src/sessions/messages/sessionsconnectmessage.d.ts +17 -0
  113. package/src/sessions/messages/sessionsconnectmessage.js +1 -1
  114. package/src/sessions/messages/socketconnectmessage.d.ts +21 -0
  115. package/src/sessions/messages/socketconnectmessage.js +1 -1
  116. package/src/sessions/messages/socketdisconnectmessage.d.ts +15 -0
  117. package/src/sessions/messages/socketdisconnectmessage.js +1 -1
  118. package/src/sessions/responses/sessionsconnectresponse.d.ts +21 -0
  119. package/src/sessions/responses/sessionsconnectresponse.js +1 -1
  120. package/src/sessions/sessioncollection.d.ts +40 -0
  121. package/src/sessions/sessioncollection.js +1 -1
  122. package/src/sessions/sessions.d.ts +13 -0
  123. package/src/sessions/sessions.js +1 -1
  124. package/src/track-changes/descriptors/suggestiondescriptor.d.ts +25 -0
  125. package/src/track-changes/descriptors/suggestiondescriptor.js +1 -1
  126. package/src/track-changes/messages/addsuggestionmessage.d.ts +25 -0
  127. package/src/track-changes/messages/addsuggestionmessage.js +1 -1
  128. package/src/track-changes/messages/batchUpdateSuggestionsStateMessage.d.ts +19 -0
  129. package/src/track-changes/messages/batchUpdateSuggestionsStateMessage.js +1 -1
  130. package/src/track-changes/messages/connectmessage.d.ts +15 -0
  131. package/src/track-changes/messages/connectmessage.js +1 -1
  132. package/src/track-changes/messages/getallsuggestionsmessage.d.ts +15 -0
  133. package/src/track-changes/messages/getallsuggestionsmessage.js +1 -1
  134. package/src/track-changes/messages/getsuggestionmessage.d.ts +17 -0
  135. package/src/track-changes/messages/getsuggestionmessage.js +1 -1
  136. package/src/track-changes/messages/updatesuggestionmessage.d.ts +25 -0
  137. package/src/track-changes/messages/updatesuggestionmessage.js +1 -1
  138. package/src/track-changes/responses/addsuggestionresponse.d.ts +27 -0
  139. package/src/track-changes/responses/addsuggestionresponse.js +1 -1
  140. package/src/track-changes/responses/connectresponse.d.ts +19 -0
  141. package/src/track-changes/responses/connectresponse.js +1 -1
  142. package/src/track-changes/responses/getallsuggestionsresponse.d.ts +17 -0
  143. package/src/track-changes/responses/getallsuggestionsresponse.js +1 -1
  144. package/src/track-changes/responses/getsuggestionresponse.d.ts +27 -0
  145. package/src/track-changes/responses/getsuggestionresponse.js +1 -1
  146. package/src/track-changes/trackchangesservice.d.ts +62 -0
  147. package/src/track-changes/trackchangesservice.js +1 -1
  148. package/src/types.d.ts +7 -0
  149. package/src/users/descriptors/userdescriptor.d.ts +5 -0
  150. package/src/users/descriptors/userdescriptor.js +1 -1
  151. package/src/users/messages/getmanyusersmessage.d.ts +15 -0
  152. package/src/users/messages/getmanyusersmessage.js +1 -1
  153. package/src/users/messages/getusermessage.d.ts +15 -0
  154. package/src/users/messages/getusermessage.js +1 -1
  155. package/src/users/responses/getmanyusersresponse.d.ts +13 -0
  156. package/src/users/responses/getmanyusersresponse.js +1 -1
  157. package/src/users/responses/getuserresponse.d.ts +13 -0
  158. package/src/users/responses/getuserresponse.js +1 -1
  159. package/src/users/user.d.ts +41 -0
  160. package/src/users/user.js +1 -1
  161. package/src/version.d.ts +2 -0
  162. package/src/version.js +1 -1
  163. package/src/websocketgateway/channel.d.ts +31 -0
  164. package/src/websocketgateway/channel.js +1 -1
  165. package/src/websocketgateway/messages/channelmessage.d.ts +21 -0
  166. package/src/websocketgateway/messages/channelmessage.js +1 -1
  167. package/src/websocketgateway/parser/packetparser.d.ts +15 -0
  168. package/src/websocketgateway/parser/packetparser.js +1 -1
  169. package/src/websocketgateway/parser/packets/bytesbytespacketdatamessage.d.ts +18 -0
  170. package/src/websocketgateway/parser/packets/bytesbytespacketdatamessage.js +1 -1
  171. package/src/websocketgateway/parser/packets/numberbytespacketdatamessage.d.ts +18 -0
  172. package/src/websocketgateway/parser/packets/numberbytespacketdatamessage.js +1 -1
  173. package/src/websocketgateway/parser/packets/numbernumberpacketdatamessag.d.ts +17 -0
  174. package/src/websocketgateway/parser/packets/numbernumberpacketdatamessag.js +1 -1
  175. package/src/websocketgateway/parser/packets/numberobjectpacketdatamessage.d.ts +17 -0
  176. package/src/websocketgateway/parser/packets/numberobjectpacketdatamessage.js +1 -1
  177. package/src/websocketgateway/parser/packets/numberstringpacketdatamessag.d.ts +17 -0
  178. package/src/websocketgateway/parser/packets/numberstringpacketdatamessag.js +1 -1
  179. package/src/websocketgateway/parser/packets/objectbufferpacketdatamessage.d.ts +18 -0
  180. package/src/websocketgateway/parser/packets/objectbufferpacketdatamessage.js +1 -1
  181. package/src/websocketgateway/parser/packets/objectobjectpacketdatamessage.d.ts +17 -0
  182. package/src/websocketgateway/parser/packets/objectobjectpacketdatamessage.js +1 -1
  183. package/src/websocketgateway/parser/packets/packagedatamessage.d.ts +16 -0
  184. package/src/websocketgateway/parser/packets/packagedatamessage.js +1 -1
  185. package/src/websocketgateway/parser/packets/packetmessage.d.ts +31 -0
  186. package/src/websocketgateway/parser/packets/packetmessage.js +1 -1
  187. package/src/websocketgateway/parser/packets/packetoptionsmessage.d.ts +18 -0
  188. package/src/websocketgateway/parser/packets/packetoptionsmessage.js +1 -1
  189. package/src/websocketgateway/parser/packets/stringbytespacketdatamessage.d.ts +18 -0
  190. package/src/websocketgateway/parser/packets/stringbytespacketdatamessage.js +1 -1
  191. package/src/websocketgateway/parser/packets/stringnumberpacketdatamessage.d.ts +17 -0
  192. package/src/websocketgateway/parser/packets/stringnumberpacketdatamessage.js +1 -1
  193. package/src/websocketgateway/parser/packets/stringobjectpacketdatamessage.d.ts +17 -0
  194. package/src/websocketgateway/parser/packets/stringobjectpacketdatamessage.js +1 -1
  195. package/src/websocketgateway/parser/packets/stringstringpacketdatamessage.d.ts +17 -0
  196. package/src/websocketgateway/parser/packets/stringstringpacketdatamessage.js +1 -1
  197. package/src/websocketgateway/parser/parser.d.ts +14 -0
  198. package/src/websocketgateway/parser/parser.js +1 -1
  199. package/src/websocketgateway/parser/parserutils.d.ts +27 -0
  200. package/src/websocketgateway/parser/parserutils.js +1 -1
  201. package/src/websocketgateway/requestsmanager.d.ts +20 -0
  202. package/src/websocketgateway/requestsmanager.js +1 -1
  203. package/src/websocketgateway/websocketgateway.d.ts +164 -0
  204. package/src/websocketgateway/websocketgateway.js +1 -1
@@ -0,0 +1,20 @@
1
+ import CKEditorCloudServicesError from '../ckeditorcloudserviceserror.js';
2
+ import CKEditorCloudServicesServerError from '../ckeditorcloudservicesservererror.js';
3
+ import { IMessage } from '../message.js';
4
+ import WebSocketGateway from './websocketgateway.js';
5
+ interface IWebSocketRequest<TResponse extends IMessage> {
6
+ response(response: TResponse): void;
7
+ error(error: CKEditorCloudServicesError | CKEditorCloudServicesServerError): void;
8
+ }
9
+ export default class WebSocketGatewayRequestsManager {
10
+ private readonly _context;
11
+ private readonly _requests;
12
+ constructor(_context: WebSocketGateway);
13
+ send<TResponse extends IMessage>(sendFunction: (req: IWebSocketRequest<TResponse>) => void, timeoutMs?: number): Promise<TResponse>;
14
+ errorAll(error: CKEditorCloudServicesError): void;
15
+ waitForAllRequests(time?: number): Promise<void>;
16
+ private _createRequest;
17
+ private _finishRequest;
18
+ private _waitForRequests;
19
+ }
20
+ export {};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import _0x1aa5ea from'../ckeditorcloudserviceserror.js';class WebSocketRequest{constructor(_0x49d8d0,_0x3c9849){this['_context']=_0x49d8d0,this['_deferredPromise']=(function(){let _0xf51d17,_0x53deb7;const _0x191aea=new Promise((_0x414c7a,_0x54061c)=>{_0xf51d17=_0x414c7a,_0x53deb7=_0x54061c;});return{'resolve':_0xf51d17,'reject':_0x53deb7,'promise':_0x191aea};}()),this['timeout']=setTimeout(()=>this['error'](new _0x1aa5ea('Request\x20timeout.',this['_context'])),_0x3c9849);}get['promise'](){return this['_deferredPromise']['promise'];}['response'](_0x202d74){this['_deferredPromise']['resolve'](_0x202d74);}['error'](_0x5df469){this['_deferredPromise']['reject'](_0x5df469);}}export default class WebSocketGatewayRequestsManager{constructor(_0x4ee63d){this['_context']=_0x4ee63d,this['_requests']=new Set();}async['send'](_0x4207e9,_0x9347d=0xafc8){const _0x52913a=this['_createRequest'](_0x9347d);try{return _0x4207e9(_0x52913a),await _0x52913a['promise'];}finally{this['_finishRequest'](_0x52913a);}}['errorAll'](_0x155e65){for(const _0x559c68 of this['_requests'])_0x559c68['error'](_0x155e65);}['waitForAllRequests'](_0x3f0e97=0xafc8){return this['_waitForRequests'](_0x3f0e97);}['_createRequest'](_0x54553c){const _0x3f459d=new WebSocketRequest(this['_context'],_0x54553c);return this['_requests']['add'](_0x3f459d),_0x3f459d;}['_finishRequest'](_0x318822){this['_requests']['delete'](_0x318822),clearTimeout(_0x318822['timeout']);}async['_waitForRequests'](_0x32a977=0x1388,_0x12b9bc=0x0){return!this['_requests']['size']||_0x12b9bc>=_0x32a977/0x1f4?Promise['resolve']():(await new Promise(_0x1b00a2=>{setTimeout(_0x1b00a2,0x1f4);}),this['_waitForRequests'](_0x32a977,_0x12b9bc++));}}
23
+ import _0x19397c from'../ckeditorcloudserviceserror.js';class WebSocketRequest{constructor(_0x1f6c03,_0x1a33ee){this['_context']=_0x1f6c03,this['_deferredPromise']=(function(){let _0x1aaa13,_0x46b2c4;const _0x51962f=new Promise((_0x2a9f98,_0x507d89)=>{_0x1aaa13=_0x2a9f98,_0x46b2c4=_0x507d89;});return{'resolve':_0x1aaa13,'reject':_0x46b2c4,'promise':_0x51962f};}()),this['timeout']=setTimeout(()=>this['error'](new _0x19397c('Request\x20timeout.',this['_context'])),_0x1a33ee);}get['promise'](){return this['_deferredPromise']['promise'];}['response'](_0x1d5795){this['_deferredPromise']['resolve'](_0x1d5795);}['error'](_0x3528fb){this['_deferredPromise']['reject'](_0x3528fb);}}export default class WebSocketGatewayRequestsManager{constructor(_0x3fc20f){this['_context']=_0x3fc20f,this['_requests']=new Set();}async['send'](_0x28d271,_0x5738db=0xafc8){const _0x2527d8=this['_createRequest'](_0x5738db);try{return _0x28d271(_0x2527d8),await _0x2527d8['promise'];}finally{this['_finishRequest'](_0x2527d8);}}['errorAll'](_0x573861){for(const _0x5a2698 of this['_requests'])_0x5a2698['error'](_0x573861);}['waitForAllRequests'](_0x1bd856=0xafc8){return this['_waitForRequests'](_0x1bd856);}['_createRequest'](_0x789464){const _0x5d89b0=new WebSocketRequest(this['_context'],_0x789464);return this['_requests']['add'](_0x5d89b0),_0x5d89b0;}['_finishRequest'](_0x30d953){this['_requests']['delete'](_0x30d953),clearTimeout(_0x30d953['timeout']);}async['_waitForRequests'](_0x5897dd=0x1388,_0x32d311=0x0){return!this['_requests']['size']||_0x32d311>=_0x5897dd/0x1f4?Promise['resolve']():(await new Promise(_0x4affc9=>{setTimeout(_0x4affc9,0x1f4);}),this['_waitForRequests'](_0x5897dd,_0x32d311++));}}
@@ -0,0 +1,164 @@
1
+ import { ManagerOptions, Socket } from 'socket.io-client';
2
+ import { Decoder as IODecoder, Encoder as IOEncoder } from 'socket.io-parser';
3
+ import { Emitter } from 'ckeditor5/src/utils.js';
4
+ import Channel from './channel.js';
5
+ import { IToken } from '../types.js';
6
+ import User from './../users/user.js';
7
+ import { IMessage } from '../message.js';
8
+ export declare enum WEB_SOCKET_GATEWAY_STATES {
9
+ DISCONNECTED = "disconnected",
10
+ CONNECTING = "connecting",
11
+ CONNECTED = "connected"
12
+ }
13
+ export declare type ConnectionProvider = (url: string, options: IWebSocketGatewayConnectionOptions) => ISocket;
14
+ export interface IWebSocketGatewayOptions {
15
+ rejectUnauthorized?: boolean;
16
+ autoReconnect?: boolean;
17
+ agent?: unknown;
18
+ onError?: (error: unknown) => void;
19
+ timeout?: number;
20
+ requestTimeout?: number;
21
+ }
22
+ export interface ISocket extends Socket {
23
+ }
24
+ export interface IWebSocketGatewayConnectionOptions extends ManagerOptions {
25
+ parser: {
26
+ Decoder: (new (...args: unknown[]) => IODecoder);
27
+ Encoder: (new (...args: unknown[]) => IOEncoder);
28
+ };
29
+ }
30
+ export interface IWebSocketGateway extends Emitter {
31
+ _sendRequest<T extends IMessage>(serviceName: number, method: string, buffer: Uint8Array): Promise<T>;
32
+ _getChannel(serviceName: string | number, channelId: string): Channel;
33
+ disconnect(): void;
34
+ reconnect(): Promise<void>;
35
+ me?: User;
36
+ /**
37
+ * @deprecated - Use `socketId` property instead
38
+ */
39
+ sessionId?: string;
40
+ socketId?: string;
41
+ state?: WEB_SOCKET_GATEWAY_STATES;
42
+ }
43
+ declare const WebSocketGateway_base: {
44
+ new (): import("ckeditor5/src/utils.js").Observable;
45
+ prototype: import("ckeditor5/src/utils.js").Observable;
46
+ };
47
+ /**
48
+ * Represents class for connecting to CKEditor Cloud Services WebSocket API.
49
+ */
50
+ declare class WebSocketGateway extends WebSocketGateway_base {
51
+ private readonly _token;
52
+ private readonly _options;
53
+ private readonly _connectionProvider;
54
+ private readonly _userFactory;
55
+ private readonly _requestsManager;
56
+ private readonly _url;
57
+ private _socket?;
58
+ private _socketAuth?;
59
+ private readonly _channels;
60
+ private _connectionAttempt;
61
+ /**
62
+ * Represents currently logged user as taken from CMS (Token). Undefined value represents anonymous user.
63
+ */
64
+ me?: User;
65
+ /**
66
+ * Id of an EndUser's socket.
67
+ */
68
+ socketId?: string;
69
+ /**
70
+ * WebSocketGateway connection state.
71
+ */
72
+ state?: WEB_SOCKET_GATEWAY_STATES;
73
+ /**
74
+ * Defines "disconnected" state. Returned by {@link WebSocketGateway#state}.
75
+ */
76
+ static readonly STATE_DISCONNECTED: string;
77
+ /**
78
+ * Defines "connecting" state. Returned by {@link WebSocketGateway#state}.
79
+ */
80
+ static readonly STATE_CONNECTING: string;
81
+ /**
82
+ * Defines "connected" state. Returned by {@link WebSocketGateway#state}.
83
+ */
84
+ static readonly STATE_CONNECTED: string;
85
+ /**
86
+ * Returns highest priority for `change:state` handlers.
87
+ */
88
+ static readonly _CHANGE_STATE_EVENT_PRIORITY: number;
89
+ constructor(apiAddress: string, _token: IToken, _options?: IWebSocketGatewayOptions, _connectionProvider?: ConnectionProvider, _userFactory?: (wsGateway: IWebSocketGateway, id: string) => Promise<User>);
90
+ /**
91
+ * Id of an EndUser's Session.
92
+ *
93
+ * @deprecated - Use `socketId` property instead
94
+ */
95
+ get sessionId(): string | undefined;
96
+ /**
97
+ * Wait for fulfilled all sent requests.
98
+ * This method might be called before the call disconnect method to ensure all requests are fulfilled.
99
+ */
100
+ waitForAllRequests(time?: number): Promise<void>;
101
+ /**
102
+ * Disconnects from WebSocket Gateway.
103
+ */
104
+ disconnect(): void;
105
+ /**
106
+ * Reconnects disconnected WebSocket Gateway.
107
+ * Only works if it is in disconnected {@link WebSocketGateway#state} otherwise returns resolved promise.
108
+ */
109
+ reconnect(): Promise<void>;
110
+ /**
111
+ * Connects to CKEditor Cloud Services.
112
+ *
113
+ * const token = await Token.create( 'https://token-endpoint' );
114
+ * const webSocketGateway = await WebSocketGateway.connect( token );
115
+ */
116
+ static connect(token: IToken, apiAddress?: string, options?: IWebSocketGatewayOptions, provider?: ConnectionProvider, userFactory?: (wsGateway: IWebSocketGateway, id: string) => Promise<User>): Promise<WebSocketGateway>;
117
+ /**
118
+ * Sends request to CKEditor Cloud Services.
119
+ */
120
+ _sendRequest<TResponse extends IMessage>(serviceName: number, method: string, buffer: Uint8Array): Promise<TResponse>;
121
+ /**
122
+ * Returns {@link Channel} associated with given service.
123
+ */
124
+ _getChannel(serviceName: string | number, channelId: string): Channel;
125
+ private _connect;
126
+ private _getPortByProtocol;
127
+ /**
128
+ * Creates unconnected Socket instance or returns already existing one.
129
+ */
130
+ private _setupSocket;
131
+ /**
132
+ * Emits event via socket.
133
+ */
134
+ private _emit;
135
+ private _addAuthData;
136
+ private _removeAuthData;
137
+ /**
138
+ * Socket.io `connect` events handler.
139
+ */
140
+ private _onConnect;
141
+ /**
142
+ * Socket.io `reconnect` events handler.
143
+ */
144
+ private _onReconnect;
145
+ /**
146
+ * Socket.io `disconnect` events handler.
147
+ */
148
+ private _onDisconnect;
149
+ private _debugEvent;
150
+ /**
151
+ * Socket.io `reconnect_error` events handler.
152
+ */
153
+ private _reconnectionAttemptError;
154
+ /**
155
+ * `onUnauthorized` events handler.
156
+ */
157
+ private _onUnauthorized;
158
+ /**
159
+ * Authenticates socket.
160
+ */
161
+ private _authenticate;
162
+ private _isDebugModeEnabled;
163
+ }
164
+ export default WebSocketGateway;
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{io}from'socket.io-client';import _0x19f939 from'url-parse';import{ObservableMixin,priorities,global}from'ckeditor5/src/utils.js';import _0x5e8af6 from'./channel.js';import _0x3ce454 from'./../users/user.js';import _0x120e64 from'./../version.js';import _0x357a18 from'./../ckeditorcloudserviceserror.js';import _0x4064d5 from'./../ckeditorcloudservicesservererror.js';import{Encoder,Decoder}from'./parser/parser.js';import _0x10e78d from'./requestsmanager.js';export var WEB_SOCKET_GATEWAY_STATES;!function(_0x46e47e){_0x46e47e['DISCONNECTED']='disconnected',_0x46e47e['CONNECTING']='connecting',_0x46e47e['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES||(WEB_SOCKET_GATEWAY_STATES={}));class WebSocketGateway extends ObservableMixin(){constructor(_0x2607ee,_0x588f8f,_0x197bd8={},_0x44b004=io,_0xae187c=_0x3ce454['get']){if(super(),this['_token']=_0x588f8f,this['_options']=_0x197bd8,this['_connectionProvider']=_0x44b004,this['_userFactory']=_0xae187c,this['_requestsManager']=new _0x10e78d(this),this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0x2607ee)throw new TypeError('Api\x20address\x20must\x20be\x20provided.');if(!this['_token'])throw new TypeError('Token\x20must\x20be\x20provided.');this['_options']['requestTimeout']||(this['_options']['requestTimeout']=0x4e20),this['_url']=_0x19f939(_0x2607ee['replace'](/^(?!(?:\w+:)?\/\/)/,'https://')),this['set']('state',WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']),this['set']('socketId',void 0x0),this['set']('me',void 0x0),this['on']('change:state',async(_0x4537f0,_0x550c80,_0x142bc2)=>{var _0x5b09dc;if(this['_debugEvent']('ws-gw:change:state',_0x142bc2),_0x142bc2!==WebSocketGateway['STATE_CONNECTED']){if(_0x142bc2===WebSocketGateway['STATE_DISCONNECTED'])return this['_requestsManager']['errorAll'](new _0x357a18('Not\x20connected.',this));}else try{this['me']=await this['_userFactory']['call'](_0x3ce454,this,null===(_0x5b09dc=this['_socketAuth'])||void 0x0===_0x5b09dc?void 0x0:_0x5b09dc['userId']);}catch(_0x2168be){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x333548,_0x1a17e2)=>{this['_options']['onError']?this['_options']['onError'](_0x1a17e2):console['error'](_0x1a17e2);});}get['sessionId'](){return this['socketId'];}['waitForAllRequests'](_0x293a8a){return this['_requestsManager']['waitForAllRequests'](_0x293a8a);}['disconnect'](){var _0x35d1c4;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0x35d1c4=this['_socket'])||void 0x0===_0x35d1c4||_0x35d1c4['disconnect'](),this['_socket']=void 0x0,this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']);}async['reconnect'](){this['_socket']||this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']||(await this['_token']['refreshToken'](),await this['_connect']());}static async['connect'](_0x273f82,_0x5e2ab1='local.cs.dev:443/ws-v2',_0x23facf={},_0x407d91=io,_0x45649d=_0x3ce454['get']){const _0xaafd0f=new WebSocketGateway(_0x5e2ab1,_0x273f82,_0x23facf,_0x407d91,_0x45649d);return await _0xaafd0f['_connect'](),_0xaafd0f;}['_sendRequest'](_0x12c327,_0xf6361a,_0x22f6d7){if(!_0x12c327)throw new _0x357a18('`serviceName`\x20must\x20be\x20provided.',this);if(this['state']!==WebSocketGateway['STATE_CONNECTED'])throw new _0x357a18('Not\x20connected.',this);if(!this['_socketAuth']||!this['_socketAuth']['isAuthenticated'])throw new _0x357a18('Not\x20authenticated.',this);const _0x312826=new ArrayBuffer(_0x22f6d7['length']+0x2),_0xcf3acc=new Uint8Array(_0x312826);return _0xcf3acc[0x0]=_0x12c327,_0xcf3acc[0x1]=parseInt(_0xf6361a),_0xcf3acc['set'](_0x22f6d7,0x2),this['_emit'](0x1,_0xcf3acc);}['_getChannel'](_0x5a9ec9,_0x509504){const _0x4d1f02=''+_0x5a9ec9+_0x509504;return!this['_channels']['has'](_0x4d1f02)&&this['_socket']&&this['_channels']['set'](_0x4d1f02,new _0x5e8af6(_0x4d1f02,this,this['_socket'])),this['_channels']['get'](_0x4d1f02);}['_connect'](){return new Promise((_0x5465ce,_0x27d3e6)=>{const _0x3b4bbe=this['_setupSocket']();!this['socketId']&&_0x3b4bbe['io']['on']('reconnect_error',()=>{this['_debugEvent']('reconnect_error'),this['_reconnectionAttemptError'](_0x27d3e6);}),_0x3b4bbe['once']('connect',async()=>{this['_debugEvent']('once-connect');try{await this['_onConnect'](),_0x5465ce();}catch(_0x70cdc){_0x27d3e6(_0x70cdc);}}),_0x3b4bbe['connect']();});}['_getPortByProtocol'](_0x34ada5){return['http:','ws:']['includes'](_0x34ada5)?0x50:0x1bb;}['_setupSocket'](){var _0x3a34dd;if(this['_socket'])return this['_socket'];const _0x33fdaf=this['_url']['port']||this['_getPortByProtocol'](this['_url']['protocol']),_0x131557=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0x33fdaf,_0x36d0ca=this['_url']['pathname']['match'](/^\/.*\/ws/)?this['_url']['pathname']['split']('/ws')[0x0]:'',_0x1e87bb=this['_connectionProvider'](_0x131557,{'parser':{'Encoder':Encoder,'Decoder':Decoder},'path':_0x36d0ca+'/ws-v2/ws','transports':['websocket'],'timeout':void 0x0!==this['_options']['timeout']?this['_options']['timeout']:0x1388,'reconnection':void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect'],'reconnectionDelay':0x3e8,'reconnectionDelayMax':0x1388,'rejectUnauthorized':void 0x0===this['_options']['rejectUnauthorized']||this['_options']['rejectUnauthorized'],'query':{'version':_0x120e64},'agent':null!==(_0x3a34dd=this['_options']['agent'])&&void 0x0!==_0x3a34dd&&_0x3a34dd,'closeOnBeforeunload':!0x1});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0x1e87bb['on']('connect',()=>{this['_debugEvent']('connect'),this['socketId']=_0x1e87bb['id'];}),_0x1e87bb['on']('connect_error',_0x54c2f3=>{this['_debugEvent']('connect_error',_0x54c2f3);}),_0x1e87bb['on']('disconnect',()=>{this['_debugEvent']('disconnect'),this['_onDisconnect']();}),_0x1e87bb['io']['on']('reconnect',async()=>{this['_debugEvent']('reconnect'),await this['_onReconnect']();}),_0x1e87bb['io']['on']('reconnect_attempt',_0x4c0c59=>{this['_debugEvent']('reconnect_attempt',_0x4c0c59),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x4c0c59;}),_0x1e87bb['on']('unauthorized',_0x2917e5=>{this['_debugEvent']('unauthorized'),this['_onUnauthorized'](_0x2917e5);}),_0x1e87bb['on']('authenticationRequest',async _0x3ba0c7=>{this['_debugEvent']('authenticationRequest',_0x3ba0c7['attempt']),await this['_onReconnect']();}),this['_socket']=_0x1e87bb,_0x1e87bb;}['_emit'](_0x23951d,_0x397f66){const _0x552968=this['_socket'];return this['_requestsManager']['send'](_0x581715=>{_0x552968['emit'](_0x23951d,_0x397f66,(_0x5f3df4,_0x3e8bc1)=>{if(_0x5f3df4)return _0x581715['error'](_0x4064d5['fromPublicError'](_0x5f3df4));_0x581715['response'](_0x3e8bc1);});},this['_options']['requestTimeout']);}['_addAuthData'](_0x17c1b5,_0x5230be){this['_socketAuth']={'environmentId':_0x17c1b5,'userId':_0x5230be,'isAuthenticated':!0x0};}['_removeAuthData'](){this['_socketAuth']=void 0x0;}async['_onConnect'](){await this['_authenticate'](this['_token']['value']),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'];const _0x3360db=async(_0x92bc6d,_0x2a2a12,_0x5494db)=>{this['_debugEvent']('token:value:change');try{await this['_authenticate'](_0x5494db);}catch(_0x51a652){}};this['_token']['on']('change:value',_0x3360db),this['_socket']['io']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x3360db);});}async['_onReconnect'](){await this['_token']['refreshToken'](),await this['_onConnect']();}['_onDisconnect'](){this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],this['_connectionAttempt']=0x0,this['fire']('disconnect');for(const _0x4c0dbc of this['_channels']['values']())_0x4c0dbc['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_debugEvent'](_0x30723e,_0x2ed1e0){if(!this['_isDebugModeEnabled']())return;const _0x16adca=void 0x0!==_0x2ed1e0?',\x20data:\x20'+_0x2ed1e0:'';console['info'](new Date()['toLocaleString']()+'\x20'+_0x30723e+_0x16adca);}['_reconnectionAttemptError'](_0x34234f){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x34234f(_0x357a18['fromPublicError']({'message':'The\x20number\x20of\x20initial\x20connection\x20attempts\x20exceeded.','explanation':'Three\x20initial\x20connection\x20attempts\x20failed.\x20It\x20can\x20be\x20caused\x20by\x20a\x20slow,\x20unstable,\x20missing\x20or\x20blocked\x20Internet\x20connection.','action':'Please\x20verify\x20the\x20stability\x20of\x20your\x20Internet\x20connection\x20and\x20ensure\x20that\x20no\x20antivirus\x20or\x20firewall\x20software\x20blocks\x20the\x20Web\x20Socket\x20protocol\x20connections.'})));}['_onUnauthorized']({error:_0xcebe37}){this['_removeAuthData'](),this['fire']('error',_0x4064d5['fromPublicError'](_0xcebe37));}async['_authenticate'](_0x4d9aff){try{this['_debugEvent']('authenticate:start');const _0x144aac=await this['_emit'](0x2,{'token':_0x4d9aff});this['_debugEvent']('authenticate:success','envId:\x20'+_0x144aac['environmentId']+',\x20userId:\x20'+_0x144aac['userId']),this['_addAuthData'](_0x144aac['environmentId'],_0x144aac['userId']);}catch(_0x12400b){throw this['_debugEvent']('authenticate:error',_0x12400b['message']),this['_removeAuthData'](),_0x12400b;}}['_isDebugModeEnabled'](){var _0x27bcaa;if(!global['window']['localStorage'])return!0x1;return'true'===(null!==(_0x27bcaa=global['window']['localStorage']['getItem']('csClientDebugMode'))&&void 0x0!==_0x27bcaa?_0x27bcaa:'false')['toLowerCase']();}}WebSocketGateway['STATE_DISCONNECTED']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],WebSocketGateway['STATE_CONNECTING']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],WebSocketGateway['STATE_CONNECTED']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'],WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']=priorities['get']('highest')+0xf423f;export default WebSocketGateway;
23
+ import{io}from'socket.io-client';import _0x3a1ac1 from'url-parse';import{ObservableMixin,priorities,global}from'ckeditor5/src/utils.js';import _0x406135 from'./channel.js';import _0x2233c6 from'./../users/user.js';import _0x10200b from'./../version.js';import _0x93c010 from'./../ckeditorcloudserviceserror.js';import _0x3e8fca from'./../ckeditorcloudservicesservererror.js';import{Encoder,Decoder}from'./parser/parser.js';import _0xb7e684 from'./requestsmanager.js';export var WEB_SOCKET_GATEWAY_STATES;!function(_0x221034){_0x221034['DISCONNECTED']='disconnected',_0x221034['CONNECTING']='connecting',_0x221034['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES||(WEB_SOCKET_GATEWAY_STATES={}));class WebSocketGateway extends ObservableMixin(){constructor(_0x2f1cef,_0x54c5ae,_0x4de939={},_0x24d58a=io,_0xf4ff4e=_0x2233c6['get']){if(super(),this['_token']=_0x54c5ae,this['_options']=_0x4de939,this['_connectionProvider']=_0x24d58a,this['_userFactory']=_0xf4ff4e,this['_requestsManager']=new _0xb7e684(this),this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0x2f1cef)throw new TypeError('Api\x20address\x20must\x20be\x20provided.');if(!this['_token'])throw new TypeError('Token\x20must\x20be\x20provided.');this['_options']['requestTimeout']||(this['_options']['requestTimeout']=0x4e20),this['_url']=_0x3a1ac1(_0x2f1cef['replace'](/^(?!(?:\w+:)?\/\/)/,'https://')),this['set']('state',WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']),this['set']('socketId',void 0x0),this['set']('me',void 0x0),this['on']('change:state',async(_0x4f8f52,_0x4157af,_0x1aca63)=>{var _0x148d0d;if(this['_debugEvent']('ws-gw:change:state',_0x1aca63),_0x1aca63!==WebSocketGateway['STATE_CONNECTED']){if(_0x1aca63===WebSocketGateway['STATE_DISCONNECTED'])return this['_requestsManager']['errorAll'](new _0x93c010('Not\x20connected.',this));}else try{this['me']=await this['_userFactory']['call'](_0x2233c6,this,null===(_0x148d0d=this['_socketAuth'])||void 0x0===_0x148d0d?void 0x0:_0x148d0d['userId']);}catch(_0x3a177c){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x1d9e5c,_0x3a93f9)=>{this['_options']['onError']?this['_options']['onError'](_0x3a93f9):console['error'](_0x3a93f9);});}get['sessionId'](){return this['socketId'];}['waitForAllRequests'](_0x27838b){return this['_requestsManager']['waitForAllRequests'](_0x27838b);}['disconnect'](){var _0x142321;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0x142321=this['_socket'])||void 0x0===_0x142321||_0x142321['disconnect'](),this['_socket']=void 0x0,this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']);}async['reconnect'](){this['_socket']||this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']||(await this['_token']['refreshToken'](),await this['_connect']());}static async['connect'](_0x352175,_0x1acc57='local.cs.dev:443/ws-v2',_0x2724cb={},_0x2a0097=io,_0x1b0303=_0x2233c6['get']){const _0x1fe7e2=new WebSocketGateway(_0x1acc57,_0x352175,_0x2724cb,_0x2a0097,_0x1b0303);return await _0x1fe7e2['_connect'](),_0x1fe7e2;}['_sendRequest'](_0x4939de,_0x34d30e,_0xc8cd50){if(!_0x4939de)throw new _0x93c010('`serviceName`\x20must\x20be\x20provided.',this);if(this['state']!==WebSocketGateway['STATE_CONNECTED'])throw new _0x93c010('Not\x20connected.',this);if(!this['_socketAuth']||!this['_socketAuth']['isAuthenticated'])throw new _0x93c010('Not\x20authenticated.',this);const _0x4ebf66=new ArrayBuffer(_0xc8cd50['length']+0x2),_0x385c42=new Uint8Array(_0x4ebf66);return _0x385c42[0x0]=_0x4939de,_0x385c42[0x1]=parseInt(_0x34d30e),_0x385c42['set'](_0xc8cd50,0x2),this['_emit'](0x1,_0x385c42);}['_getChannel'](_0x27e8fd,_0x3acbd7){const _0x50d608=''+_0x27e8fd+_0x3acbd7;return!this['_channels']['has'](_0x50d608)&&this['_socket']&&this['_channels']['set'](_0x50d608,new _0x406135(_0x50d608,this,this['_socket'])),this['_channels']['get'](_0x50d608);}['_connect'](){return new Promise((_0x4cc942,_0x37366e)=>{const _0x3fcfb6=this['_setupSocket']();!this['socketId']&&_0x3fcfb6['io']['on']('reconnect_error',()=>{this['_debugEvent']('reconnect_error'),this['_reconnectionAttemptError'](_0x37366e);}),_0x3fcfb6['once']('connect',async()=>{this['_debugEvent']('once-connect');try{await this['_onConnect'](),_0x4cc942();}catch(_0x113613){_0x37366e(_0x113613);}}),_0x3fcfb6['connect']();});}['_getPortByProtocol'](_0x723f48){return['http:','ws:']['includes'](_0x723f48)?0x50:0x1bb;}['_setupSocket'](){var _0x39536f;if(this['_socket'])return this['_socket'];const _0x1ef416=this['_url']['port']||this['_getPortByProtocol'](this['_url']['protocol']),_0x5c5581=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0x1ef416,_0x31c283=this['_url']['pathname']['match'](/^\/.*\/ws/)?this['_url']['pathname']['split']('/ws')[0x0]:'',_0xd612c3=this['_connectionProvider'](_0x5c5581,{'parser':{'Encoder':Encoder,'Decoder':Decoder},'path':_0x31c283+'/ws-v2/ws','transports':['websocket'],'timeout':void 0x0!==this['_options']['timeout']?this['_options']['timeout']:0x1388,'reconnection':void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect'],'reconnectionDelay':0x3e8,'reconnectionDelayMax':0x1388,'rejectUnauthorized':void 0x0===this['_options']['rejectUnauthorized']||this['_options']['rejectUnauthorized'],'query':{'version':_0x10200b},'agent':null!==(_0x39536f=this['_options']['agent'])&&void 0x0!==_0x39536f&&_0x39536f,'closeOnBeforeunload':!0x1});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0xd612c3['on']('connect',()=>{this['_debugEvent']('connect'),this['socketId']=_0xd612c3['id'];}),_0xd612c3['on']('connect_error',_0xd0cd13=>{this['_debugEvent']('connect_error',_0xd0cd13);}),_0xd612c3['on']('disconnect',()=>{this['_debugEvent']('disconnect'),this['_onDisconnect']();}),_0xd612c3['io']['on']('reconnect',async()=>{this['_debugEvent']('reconnect'),await this['_onReconnect']();}),_0xd612c3['io']['on']('reconnect_attempt',_0x317a3a=>{this['_debugEvent']('reconnect_attempt',_0x317a3a),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x317a3a;}),_0xd612c3['on']('unauthorized',_0x5a09f2=>{this['_debugEvent']('unauthorized'),this['_onUnauthorized'](_0x5a09f2);}),_0xd612c3['on']('authenticationRequest',async _0x376218=>{this['_debugEvent']('authenticationRequest',_0x376218['attempt']),await this['_onReconnect']();}),this['_socket']=_0xd612c3,_0xd612c3;}['_emit'](_0x3808e7,_0x428b0c){const _0xf24d3c=this['_socket'];return this['_requestsManager']['send'](_0x5ae269=>{_0xf24d3c['emit'](_0x3808e7,_0x428b0c,(_0x420f70,_0x3d4fd1)=>{if(_0x420f70)return _0x5ae269['error'](_0x3e8fca['fromPublicError'](_0x420f70));_0x5ae269['response'](_0x3d4fd1);});},this['_options']['requestTimeout']);}['_addAuthData'](_0x3ccc2d,_0x38d517){this['_socketAuth']={'environmentId':_0x3ccc2d,'userId':_0x38d517,'isAuthenticated':!0x0};}['_removeAuthData'](){this['_socketAuth']=void 0x0;}async['_onConnect'](){await this['_authenticate'](this['_token']['value']),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'];const _0x556de8=async(_0x1862ee,_0x53e89d,_0x5c6dfe)=>{this['_debugEvent']('token:value:change');try{await this['_authenticate'](_0x5c6dfe);}catch(_0x401151){}};this['_token']['on']('change:value',_0x556de8),this['_socket']['io']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x556de8);});}async['_onReconnect'](){await this['_token']['refreshToken'](),await this['_onConnect']();}['_onDisconnect'](){this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],this['_connectionAttempt']=0x0,this['fire']('disconnect');for(const _0x47e9cf of this['_channels']['values']())_0x47e9cf['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_debugEvent'](_0x5b861d,_0x487ca4){if(!this['_isDebugModeEnabled']())return;const _0x229e4a=void 0x0!==_0x487ca4?',\x20data:\x20'+_0x487ca4:'';console['info'](new Date()['toLocaleString']()+'\x20'+_0x5b861d+_0x229e4a);}['_reconnectionAttemptError'](_0x34eee8){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x34eee8(_0x93c010['fromPublicError']({'message':'The\x20number\x20of\x20initial\x20connection\x20attempts\x20exceeded.','explanation':'Three\x20initial\x20connection\x20attempts\x20failed.\x20It\x20can\x20be\x20caused\x20by\x20a\x20slow,\x20unstable,\x20missing\x20or\x20blocked\x20Internet\x20connection.','action':'Please\x20verify\x20the\x20stability\x20of\x20your\x20Internet\x20connection\x20and\x20ensure\x20that\x20no\x20antivirus\x20or\x20firewall\x20software\x20blocks\x20the\x20Web\x20Socket\x20protocol\x20connections.'})));}['_onUnauthorized']({error:_0x153533}){this['_removeAuthData'](),this['fire']('error',_0x3e8fca['fromPublicError'](_0x153533));}async['_authenticate'](_0x152985){try{this['_debugEvent']('authenticate:start');const _0x596aca=await this['_emit'](0x2,{'token':_0x152985});this['_debugEvent']('authenticate:success','envId:\x20'+_0x596aca['environmentId']+',\x20userId:\x20'+_0x596aca['userId']),this['_addAuthData'](_0x596aca['environmentId'],_0x596aca['userId']);}catch(_0x458d13){throw this['_debugEvent']('authenticate:error',_0x458d13['message']),this['_removeAuthData'](),_0x458d13;}}['_isDebugModeEnabled'](){var _0x46858a;if(!global['window']['localStorage'])return!0x1;return'true'===(null!==(_0x46858a=global['window']['localStorage']['getItem']('csClientDebugMode'))&&void 0x0!==_0x46858a?_0x46858a:'false')['toLowerCase']();}}WebSocketGateway['STATE_DISCONNECTED']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],WebSocketGateway['STATE_CONNECTING']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],WebSocketGateway['STATE_CONNECTED']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'],WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']=priorities['get']('highest')+0xf423f;export default WebSocketGateway;