@rws-framework/client 2.7.2 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/.emerge-vis-output/fast-element/emerge-file_result_dependency_graph.graphml +126 -127
  2. package/.emerge-vis-output/fast-element/emerge-filesystem_graph.graphml +122 -123
  3. package/.emerge-vis-output/fast-element/emerge-statistics-and-metrics.json +1 -1
  4. package/.emerge-vis-output/fast-element/emerge-statistics-metrics.txt +43 -44
  5. package/.emerge-vis-output/fast-element/html/emerge.html +0 -0
  6. package/.emerge-vis-output/fast-element/html/jsconfig.json +0 -0
  7. package/.emerge-vis-output/fast-element/html/resources/css/custom.css +0 -0
  8. package/.emerge-vis-output/fast-element/html/resources/js/emerge_common.js +0 -0
  9. package/.emerge-vis-output/fast-element/html/resources/js/emerge_data.js +9 -9
  10. package/.emerge-vis-output/fast-element/html/resources/js/emerge_git.js +0 -0
  11. package/.emerge-vis-output/fast-element/html/resources/js/emerge_graph.js +0 -0
  12. package/.emerge-vis-output/fast-element/html/resources/js/emerge_heatmap.js +0 -0
  13. package/.emerge-vis-output/fast-element/html/resources/js/emerge_hull.js +0 -0
  14. package/.emerge-vis-output/fast-element/html/resources/js/emerge_main.js +0 -0
  15. package/.emerge-vis-output/fast-element/html/resources/js/emerge_search.js +0 -0
  16. package/.emerge-vis-output/fast-element/html/resources/js/emerge_ui.js +0 -0
  17. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.css +0 -0
  18. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.css.map +0 -0
  19. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.min.css +0 -0
  20. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.min.css.map +0 -0
  21. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +0 -0
  22. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.css.map +0 -0
  23. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +0 -0
  24. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css.map +0 -0
  25. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.css +0 -0
  26. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.css.map +0 -0
  27. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.min.css +0 -0
  28. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.min.css.map +0 -0
  29. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +0 -0
  30. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css.map +0 -0
  31. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +0 -0
  32. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css.map +0 -0
  33. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.css +0 -0
  34. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.css.map +0 -0
  35. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.min.css +0 -0
  36. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.min.css.map +0 -0
  37. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +0 -0
  38. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css.map +0 -0
  39. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +0 -0
  40. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css.map +0 -0
  41. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.css +0 -0
  42. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.css.map +0 -0
  43. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.min.css +0 -0
  44. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.min.css.map +0 -0
  45. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.css +0 -0
  46. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.css.map +0 -0
  47. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.min.css +0 -0
  48. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.min.css.map +0 -0
  49. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.js +0 -0
  50. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.js.map +0 -0
  51. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.min.js +0 -0
  52. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.min.js.map +0 -0
  53. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.js +0 -0
  54. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.js.map +0 -0
  55. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.min.js +0 -0
  56. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.min.js.map +0 -0
  57. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.js +0 -0
  58. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.js.map +0 -0
  59. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.min.js +0 -0
  60. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.min.js.map +0 -0
  61. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.8.4.min.js +0 -0
  62. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.min.js +0 -0
  63. package/.emerge-vis-output/fast-element/html/vendors/dark-mode-switch/css/dark-mode.css +0 -0
  64. package/.emerge-vis-output/fast-element/html/vendors/dark-mode-switch/js/dark-mode-switch.min.js +0 -0
  65. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/daterangepicker.css +0 -0
  66. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/daterangepicker.min.js +0 -0
  67. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/moment.min.js +0 -0
  68. package/.emerge-vis-output/fast-element/html/vendors/jquery/jquery-3.6.0.min.js +0 -0
  69. package/.emerge-vis-output/fast-element/html/vendors/popper/popper.min.js +0 -0
  70. package/.emerge-vis-output/fast-element/html/vendors/simpleheat/simpleheat.js +0 -0
  71. package/.emerge-vis-output/fast-foundation/emerge-file_result_dependency_graph.graphml +1351 -1339
  72. package/.emerge-vis-output/fast-foundation/emerge-filesystem_graph.graphml +1314 -1299
  73. package/.emerge-vis-output/fast-foundation/emerge-statistics-and-metrics.json +1 -1
  74. package/.emerge-vis-output/fast-foundation/emerge-statistics-metrics.txt +1024 -1016
  75. package/.emerge-vis-output/fast-foundation/html/emerge.html +0 -0
  76. package/.emerge-vis-output/fast-foundation/html/jsconfig.json +0 -0
  77. package/.emerge-vis-output/fast-foundation/html/resources/css/custom.css +0 -0
  78. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_common.js +0 -0
  79. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_data.js +9 -9
  80. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_git.js +0 -0
  81. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_graph.js +0 -0
  82. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_heatmap.js +0 -0
  83. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_hull.js +0 -0
  84. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_main.js +0 -0
  85. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_search.js +0 -0
  86. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_ui.js +0 -0
  87. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.css +0 -0
  88. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.css.map +0 -0
  89. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.min.css +0 -0
  90. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.min.css.map +0 -0
  91. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +0 -0
  92. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.css.map +0 -0
  93. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +0 -0
  94. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css.map +0 -0
  95. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.css +0 -0
  96. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.css.map +0 -0
  97. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.min.css +0 -0
  98. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.min.css.map +0 -0
  99. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +0 -0
  100. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css.map +0 -0
  101. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +0 -0
  102. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css.map +0 -0
  103. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.css +0 -0
  104. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.css.map +0 -0
  105. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.min.css +0 -0
  106. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.min.css.map +0 -0
  107. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +0 -0
  108. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css.map +0 -0
  109. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +0 -0
  110. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css.map +0 -0
  111. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.css +0 -0
  112. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.css.map +0 -0
  113. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.min.css +0 -0
  114. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.min.css.map +0 -0
  115. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.css +0 -0
  116. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.css.map +0 -0
  117. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.min.css +0 -0
  118. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.min.css.map +0 -0
  119. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.js +0 -0
  120. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.js.map +0 -0
  121. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.min.js +0 -0
  122. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.min.js.map +0 -0
  123. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.js +0 -0
  124. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.js.map +0 -0
  125. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.min.js +0 -0
  126. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.min.js.map +0 -0
  127. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.js +0 -0
  128. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.js.map +0 -0
  129. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.min.js +0 -0
  130. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.min.js.map +0 -0
  131. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.8.4.min.js +0 -0
  132. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.min.js +0 -0
  133. package/.emerge-vis-output/fast-foundation/html/vendors/dark-mode-switch/css/dark-mode.css +0 -0
  134. package/.emerge-vis-output/fast-foundation/html/vendors/dark-mode-switch/js/dark-mode-switch.min.js +0 -0
  135. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/daterangepicker.css +0 -0
  136. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/daterangepicker.min.js +0 -0
  137. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/moment.min.js +0 -0
  138. package/.emerge-vis-output/fast-foundation/html/vendors/jquery/jquery-3.6.0.min.js +0 -0
  139. package/.emerge-vis-output/fast-foundation/html/vendors/popper/popper.min.js +0 -0
  140. package/.emerge-vis-output/fast-foundation/html/vendors/simpleheat/simpleheat.js +0 -0
  141. package/.emerge-vis-output/rws-client/emerge-file_result_dependency_graph.graphml +61 -61
  142. package/.emerge-vis-output/rws-client/emerge-filesystem_graph.graphml +34 -34
  143. package/.emerge-vis-output/rws-client/emerge-statistics-and-metrics.json +1 -1
  144. package/.emerge-vis-output/rws-client/emerge-statistics-metrics.txt +623 -623
  145. package/.emerge-vis-output/rws-client/html/resources/js/emerge_data.js +9 -9
  146. package/_tools.js +22 -21
  147. package/docs/.nojekyll +0 -0
  148. package/docs/assets/26e93147f10415a0ed4a.svg +0 -0
  149. package/docs/assets/75c9471662e97ee24f29.svg +0 -0
  150. package/docs/assets/db90e4df2373980c497d.svg +0 -0
  151. package/docs/assets/hierarchy.css +0 -0
  152. package/docs/assets/hierarchy.js +0 -0
  153. package/docs/assets/highlight.css +0 -0
  154. package/docs/assets/icons.js +0 -0
  155. package/docs/assets/icons.svg +0 -0
  156. package/docs/assets/main.js +0 -0
  157. package/docs/assets/navigation.js +1 -1
  158. package/docs/assets/search.js +1 -1
  159. package/docs/assets/style.css +0 -0
  160. package/docs/classes/ApiServiceInstance.html +2 -2
  161. package/docs/classes/ConfigServiceInstance.html +2 -2
  162. package/docs/classes/DOMServiceInstance.html +2 -2
  163. package/docs/classes/NotifyServiceInstance.html +2 -2
  164. package/docs/classes/RWSRouter.html +2 -2
  165. package/docs/classes/RWSService.html +2 -2
  166. package/docs/classes/RWSViewComponent.html +22 -22
  167. package/docs/classes/RoutingServiceInstance.html +2 -2
  168. package/docs/classes/ServiceWorkerServiceInstance.html +2 -2
  169. package/docs/classes/UtilsServiceInstance.html +2 -2
  170. package/docs/classes/WSServiceInstance.html +2 -2
  171. package/docs/functions/ApiService.html +1 -1
  172. package/docs/functions/ConfigService.html +1 -1
  173. package/docs/functions/DOMService.html +1 -1
  174. package/docs/functions/NotifyService.html +1 -1
  175. package/docs/functions/RWSContainer.html +1 -1
  176. package/docs/functions/RWSIgnore.html +1 -1
  177. package/docs/functions/RWSInject.html +1 -1
  178. package/docs/functions/RWSView.html +1 -1
  179. package/docs/functions/RoutingService.html +1 -1
  180. package/docs/functions/ServiceWorkerService.html +1 -1
  181. package/docs/functions/UtilsService.html +1 -1
  182. package/docs/functions/WSService.html +1 -1
  183. package/docs/functions/attr.html +0 -0
  184. package/docs/functions/declareRWSComponents.html +1 -1
  185. package/docs/functions/ngAttr.html +1 -1
  186. package/docs/functions/observable.html +0 -0
  187. package/docs/functions/provideRWSDesignSystem.html +1 -1
  188. package/docs/functions/realtimeWebSuiteClientPackage.html +1 -1
  189. package/docs/functions/renderRouteComponent.html +1 -1
  190. package/docs/functions/sanitizedAttr.html +1 -1
  191. package/docs/hierarchy.html +0 -0
  192. package/docs/index.html +0 -0
  193. package/docs/interfaces/HTMLAttributes.html +0 -0
  194. package/docs/interfaces/HTMLTag.html +0 -0
  195. package/docs/interfaces/IRWSConfig.html +2 -2
  196. package/docs/interfaces/IRWSDecoratorOptions.html +2 -2
  197. package/docs/interfaces/IRWSHttpRoute.html +2 -2
  198. package/docs/interfaces/IRWSPrefixedHTTProutes.html +2 -2
  199. package/docs/interfaces/IRWSUser.html +2 -2
  200. package/docs/interfaces/IRoutingEvent.html +2 -2
  201. package/docs/modules.html +0 -0
  202. package/docs/types/DOMOutputType.html +1 -1
  203. package/docs/types/HTMLTagTransformerType.html +0 -0
  204. package/docs/types/IRWSAssetShowOptions.html +1 -1
  205. package/docs/types/IRWSBackendRoute.html +1 -1
  206. package/docs/types/IRWSFrontRoutes.html +1 -1
  207. package/docs/types/IRWSRouteResult.html +1 -1
  208. package/docs/types/IRWSWebsocketStatus.html +1 -1
  209. package/docs/types/NotifyLogType.html +1 -1
  210. package/docs/types/NotifyUiType.html +1 -1
  211. package/docs/types/RWSNotify.html +1 -1
  212. package/docs/types/RouteReturn.html +1 -1
  213. package/docs/types/TagsProcessorType.html +1 -1
  214. package/docs/variables/_ROUTING_EVENT_NAME.html +1 -1
  215. package/package.json +1 -1
  216. package/rws.webpack.config.js +24 -20
  217. package/src/client/components.ts +16 -4
  218. package/src/client/config.ts +38 -7
  219. package/src/client.ts +12 -17
  220. package/src/components/_component.ts +1 -3
  221. package/src/components/_decorator.ts +20 -3
  222. package/src/components/index.ts +1 -3
  223. package/src/components/loader/component.ts +1 -1
  224. package/src/index.ts +12 -26
  225. package/src/interfaces/IRWSConfig.ts +6 -1
  226. package/src/interfaces/RWSWindow.ts +5 -2
  227. package/src/plugins/_builder.js +32 -0
  228. package/src/plugins/_plugin.ts +63 -0
  229. package/src/services/ConfigService.ts +9 -1
  230. package/src/services/ServiceWorkerService.ts +1 -1
  231. package/tsconfig.json +3 -0
  232. package/webpack/loaders/rws_fast_ts_loader.js +14 -28
  233. package/package.webpack.config.js +0 -17
  234. package/src/components/router/component.ts +0 -79
  235. package/src/components/router/template.html +0 -1
  236. package/src/routing/_router.ts +0 -61
  237. package/src/routing/index.ts +0 -7
  238. package/src/run.ts +0 -33
  239. package/src/services/RoutingService.ts +0 -47
  240. package/src/services/WSService.ts +0 -226
  241. package/tsdoc.json +0 -0
@@ -1,226 +0,0 @@
1
- import TheService from './_service';
2
- import { io, Socket } from 'socket.io-client';
3
- import ITheUser from '../interfaces/IRWSUser';
4
- import { v4 as uuid } from 'uuid';
5
- import { ping, disconnect as disconnectWs, reconnect as reconnectWs } from './_ws_handlers/ConnectionHandler';
6
- import WSEventHandler from './_ws_handlers/EventHandler';
7
- import WSMessageHandler from './_ws_handlers/MessageHandler';
8
-
9
- type WSEvent = string;
10
- type WSStatus = 'WS_OPEN' | 'WS_CLOSED' | 'WS_CONNECTING';
11
-
12
- // function logClickableLink(text: string, url: string) {
13
- // console.log('[', url, ']:', text);
14
- // }
15
-
16
- // const getCurrentLineNumber = UtilsService.getCurrentLineNumber;
17
-
18
-
19
- const wsLog = async (fakeError: Error, text: any, socketId: string = null, isError: boolean = false): Promise<void> => {
20
- const logit = isError ? console.error : console.log;
21
- logit(`<WS-CLIENT>${socketId ? `(${socketId})` : ''}`, text);
22
- };
23
-
24
- class WSService extends TheService {
25
- static _DEFAULT: boolean = true;
26
- static websocket_instance: Socket;
27
- private _ws: Socket | null = null;
28
-
29
-
30
- private user: ITheUser | null = null;
31
- private url: string | null = null;
32
-
33
- private _status_string: WSStatus = 'WS_CLOSED';
34
-
35
- public _wsId: string | null = null;
36
-
37
-
38
- public _interval: any = null;
39
- public _connecting: boolean = false;
40
- public _shut_down: boolean = false;
41
- public reconnects: number = 0;
42
-
43
- public eventListeners: Map<string, Array<(instance: WSService, params: any) => any>> = new Map();
44
-
45
- public async init(url: string, user?: ITheUser, transports: string[] = null): Promise<WSService> {
46
- this._connecting = true;
47
- wsLog(new Error(), 'Connecting to: ' + url);
48
- this.url = url;
49
- this.user = user;
50
-
51
- const headers = this.user?.jwt_token ? {
52
- Authorization: 'Bearer ' + this.user?.jwt_token,
53
- } : {};
54
-
55
- if(!WSService.websocket_instance){
56
- console.log('WSSERVICE', headers);
57
- const tokenString = headers.Authorization ? `?token=${this.user.jwt_token}` : '' ;
58
- WSService.websocket_instance = io(this.url + tokenString, {
59
- auth: user?.jwt_token ? { token: user.jwt_token} : {},
60
- transports: transports || null
61
- });
62
- }
63
- //, transports: ['websocket']
64
- this._ws = WSService.websocket_instance;
65
-
66
-
67
-
68
- if (this.user?.mongoId) {
69
- this._wsId = this.user.mongoId;
70
- }else{
71
- this._wsId = uuid();
72
- }
73
-
74
- let socketId: string = null;
75
-
76
- this._ws.on('connect', () => {
77
- socketId = this.socket().id;
78
-
79
- wsLog(new Error(), 'Socket connected with ID: ' + socketId, socketId);
80
-
81
- this._connecting = false;
82
- this._ws.connected = true;
83
-
84
- this.executeEventListener('ws:connected');
85
-
86
- wsLog(new Error(), 'Emitting ping to server', socketId);
87
- ping(this);
88
- });
89
-
90
- this._ws.on('__PONG__', async (data: any) => {
91
- if (data === '__PONG__') {
92
- wsLog(new Error(), 'Recieving valid ping callback from server', socketId);
93
- return;
94
- }
95
- });
96
-
97
- this._ws.on('disconnect', async (e) => {
98
- wsLog(new Error(), 'Disconnected from the server', socketId);
99
- this.executeEventListener('ws:disconnected', { socketId: socketId, error: e });
100
- socketId = null;
101
- });
102
-
103
- this._ws.on('error', async (error: Error) => {
104
- wsLog(error, 'Socket error:', socketId, true);
105
- console.error(error);
106
- this.executeEventListener('ws:error', { socketId: socketId, error: error });
107
-
108
- });
109
-
110
-
111
- // this._interval = setInterval(() => {
112
- // ping(_self);
113
- // }, 3000);
114
-
115
- this.reconnects = 0;
116
-
117
- if (this._ws?.connected) {
118
- this._connecting = false;
119
- }
120
-
121
- this.statusChange();
122
-
123
- return this;
124
- }
125
-
126
- public getStatus(): WSStatus {
127
- return this._status_string;
128
- }
129
-
130
- public isActive(): boolean {
131
- return !this._connecting && this._ws?.connected;
132
- }
133
-
134
- setUser(user: ITheUser): void
135
- {
136
- this.user = user;
137
- }
138
-
139
- public listenForError<T extends Error | any = Error | any>(callback: (data: { error: T }) => void, method: string): void
140
- {
141
- this.socket().on(method, (rawData: string) => {
142
- callback(JSON.parse(rawData));
143
- });
144
- }
145
-
146
- public listenForMessage(callback: (data: any, isJson?: boolean) => void, method?: string): () => void
147
- {
148
- const disableHandler = () => {
149
- this.socket().off(method, callback);
150
- };
151
-
152
- WSMessageHandler.listenForMessage(this, callback, method);
153
-
154
- return disableHandler.bind(this);
155
- }
156
-
157
- async waitForStatus(): Promise<void>
158
- {
159
- return new Promise((resolve, reject) => {
160
- let iteration = 0;
161
- const t = setInterval(() => {
162
- if(iteration > 4){
163
- clearInterval(t);
164
- reject('Websocket did not connect!');
165
- }
166
-
167
- if(this.isActive()){
168
- clearInterval(t);
169
- resolve();
170
- }
171
-
172
- iteration++;
173
- }, 1000);
174
- });
175
- }
176
-
177
- public sendMessage<T>(method: string, msg: T): void {
178
- WSMessageHandler.sendMessage<T>(this, method, msg);
179
- }
180
-
181
- public statusChange(): void {
182
- let status: WSStatus = 'WS_CLOSED';
183
- if (this._connecting) {
184
- status = 'WS_CONNECTING';
185
- } else if (this.isActive()) {
186
- status = 'WS_OPEN';
187
- }
188
-
189
- this.executeEventListener('ws:status_change', { status });
190
- this._status_string = status;
191
- }
192
-
193
- public on(event: WSEvent, callback: (wsInstance: WSService, params: any) => any): void {
194
- WSEventHandler.on(this, event, callback);
195
- }
196
-
197
- public executeEventListener(event: WSEvent, params: any = {}): void {
198
- WSEventHandler.executeEventListener(this, event, params);
199
- }
200
-
201
- public socket(): Socket
202
- {
203
- return this._ws;
204
- }
205
-
206
- public disconnect()
207
- {
208
- disconnectWs(this);
209
- }
210
-
211
- public reconnect()
212
- {
213
- reconnectWs(this);
214
- }
215
-
216
- getUser(): ITheUser {
217
- return this.user;
218
- }
219
-
220
- getUrl(): string {
221
- return this.url;
222
- }
223
- }
224
-
225
- export default WSService.getSingleton();
226
- export { WSService as WSServiceInstance, WSEvent, WSService as WSInstance, WSStatus };
package/tsdoc.json DELETED
File without changes