http-request-manager 18.15.34 → 18.16.1

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 (300) hide show
  1. package/fesm2022/http-request-manager.mjs +13688 -0
  2. package/fesm2022/http-request-manager.mjs.map +1 -0
  3. package/http-request-manager-18.16.0.tgz +0 -0
  4. package/package.json +15 -6
  5. package/types/http-request-manager.d.ts +3968 -0
  6. package/TEST_COVERAGE_SUMMARY.md +0 -458
  7. package/ng-package.json +0 -8
  8. package/src/docs/ADVANCED_WEBSOCKET.md +0 -633
  9. package/src/docs/ARCHITECTURE.md +0 -633
  10. package/src/docs/BATCH_REQUEST_README.md +0 -467
  11. package/src/docs/COMPLETE_API_REFERENCE.md +0 -1037
  12. package/src/docs/DATABASE_README.md +0 -1195
  13. package/src/docs/ENCRYPTION_README.md +0 -403
  14. package/src/docs/HTTP_MANAGER_README.md +0 -628
  15. package/src/docs/HTTP_SINGNALS_MANAGER_README.md +0 -654
  16. package/src/docs/HTTP_STATE_MANAGER_README.md +0 -1391
  17. package/src/docs/INTERCEPTOR_README.md +0 -549
  18. package/src/docs/LOCAL_STORAGE_README.md +0 -1056
  19. package/src/docs/LOCAL_STORAGE_SIGNALS_README.md +0 -338
  20. package/src/docs/LOGGER_README.md +0 -310
  21. package/src/docs/MESSAGE_TRACKER_README.md +0 -518
  22. package/src/docs/MESSAGE_TRACKER_SIGNALS_README.md +0 -563
  23. package/src/docs/MODELS_README.md +0 -1264
  24. package/src/docs/SIGNAL_SERVICES_README.md +0 -238
  25. package/src/docs/SQL_DIXIE_README.md +0 -574
  26. package/src/docs/STORE_STATE_MANAGER_README.md +0 -556
  27. package/src/docs/STORE_STATE_SIGNALS_README.md +0 -600
  28. package/src/docs/UPLOAD_REQUEST_README.md +0 -324
  29. package/src/docs/UTILS_README.md +0 -1604
  30. package/src/docs/WEBSOCKET_MESSAGE_SERVICE.md +0 -799
  31. package/src/docs/WEBSOCKET_SIGNALS_README.md +0 -641
  32. package/src/docs/WEBSOCKET_SINGLETON_REFACTORING.md +0 -201
  33. package/src/docs/WS_MANAGER_README.md +0 -613
  34. package/src/lib/http-request-manager.module.ts +0 -147
  35. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -116
  36. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
  37. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -255
  38. package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -123
  39. package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
  40. package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -53
  41. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
  42. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
  43. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -208
  44. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +0 -200
  45. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +0 -17
  46. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +0 -214
  47. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.html +0 -53
  48. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.scss +0 -60
  49. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.ts +0 -72
  50. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-download.module.ts +0 -28
  51. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.html +0 -10
  52. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.scss +0 -29
  53. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.ts +0 -100
  54. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/models/download-labels-model.ts +0 -22
  55. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.html +0 -8
  56. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.scss +0 -19
  57. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.ts +0 -26
  58. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app-session.model.ts +0 -30
  59. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app.model.ts +0 -19
  60. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/get-sample.model.ts +0 -25
  61. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-ai-prompt.ts +0 -19
  62. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-details.ts +0 -24
  63. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-info.ts +0 -30
  64. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client.model.ts +0 -49
  65. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-mapper-client-info.ts +0 -33
  66. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.html +0 -279
  67. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.scss +0 -24
  68. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.ts +0 -461
  69. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  70. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  71. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  72. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
  73. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
  74. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  75. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  76. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  77. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  78. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  79. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  80. package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
  81. package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
  82. package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
  83. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
  84. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
  85. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
  86. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
  87. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
  88. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -622
  89. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -106
  90. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -687
  91. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -418
  92. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
  93. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -576
  94. package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -89
  95. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +0 -119
  96. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
  97. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +0 -3
  98. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +0 -16
  99. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
  100. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +0 -3
  101. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +0 -16
  102. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +0 -31
  103. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +0 -94
  104. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +0 -41
  105. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +0 -203
  106. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +0 -144
  107. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +0 -11
  108. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +0 -102
  109. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +0 -40
  110. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +0 -230
  111. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +0 -30
  112. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +0 -172
  113. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +0 -31
  114. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +0 -239
  115. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +0 -31
  116. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +0 -32
  117. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
  118. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +0 -84
  119. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +0 -40
  120. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +0 -3
  121. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/jwt-token.service.ts +0 -62
  122. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +0 -83
  123. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +0 -147
  124. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +0 -168
  125. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  126. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  127. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  128. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +0 -28
  129. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +0 -10
  130. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  131. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  132. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  133. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  134. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  135. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  136. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +0 -30
  137. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +0 -19
  138. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +0 -25
  139. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +0 -19
  140. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +0 -24
  141. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +0 -30
  142. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +0 -49
  143. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +0 -33
  144. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +0 -380
  145. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +0 -24
  146. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +0 -410
  147. package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +0 -28
  148. package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +0 -49
  149. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
  150. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +0 -23
  151. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +0 -36
  152. package/src/lib/http-request-services-demo/store-state-signals-demo/store-state-signals-demo.component.ts +0 -161
  153. package/src/lib/http-request-services-demo/upload-demo/models/index.ts +0 -1
  154. package/src/lib/http-request-services-demo/upload-demo/models/upload-state.model.ts +0 -30
  155. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.html +0 -89
  156. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.scss +0 -160
  157. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.spec.ts +0 -101
  158. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.ts +0 -136
  159. package/src/lib/index.ts +0 -3
  160. package/src/lib/interceptors/credentials.interceptor.ts +0 -16
  161. package/src/lib/interceptors/index.ts +0 -6
  162. package/src/lib/interceptors/models/error-settings.model.ts +0 -22
  163. package/src/lib/interceptors/models/index.ts +0 -2
  164. package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
  165. package/src/lib/interceptors/request-error.interceptor.ts +0 -65
  166. package/src/lib/interceptors/request-header.interceptor.ts +0 -56
  167. package/src/lib/message-display/README.md +0 -509
  168. package/src/lib/message-display/index.ts +0 -4
  169. package/src/lib/message-display/models/action.model.ts +0 -27
  170. package/src/lib/message-display/models/communication-message.model.ts +0 -77
  171. package/src/lib/message-display/models/display-config.model.ts +0 -35
  172. package/src/lib/message-display/models/display-rule.interface.ts +0 -28
  173. package/src/lib/message-display/models/display-strategy.interface.ts +0 -8
  174. package/src/lib/message-display/models/index.ts +0 -6
  175. package/src/lib/message-display/models/slide.model.ts +0 -24
  176. package/src/lib/message-display/rules/default-display-rules.ts +0 -35
  177. package/src/lib/message-display/services/message-display-router.service.ts +0 -63
  178. package/src/lib/message-display/strategies/snackbar.strategy.ts +0 -46
  179. package/src/lib/models/batch-options.model.ts +0 -33
  180. package/src/lib/models/batch-progress.model.ts +0 -19
  181. package/src/lib/models/batch-request-state.model.ts +0 -40
  182. package/src/lib/models/batch-result.model.ts +0 -30
  183. package/src/lib/models/config-http-options.model.ts +0 -45
  184. package/src/lib/models/config-local-storage-options.model.ts +0 -27
  185. package/src/lib/models/config-options.model.ts +0 -27
  186. package/src/lib/models/config-token.model.ts +0 -9
  187. package/src/lib/models/data-type.enum.ts +0 -5
  188. package/src/lib/models/database-storage.model.ts +0 -24
  189. package/src/lib/models/index.ts +0 -16
  190. package/src/lib/models/retry-options.model.ts +0 -22
  191. package/src/lib/models/upload-validation-error.model.ts +0 -46
  192. package/src/lib/services/SQL-DixieJS service/dexie-query-executor.ts +0 -246
  193. package/src/lib/services/SQL-DixieJS service/dexie-sql.service.ts +0 -31
  194. package/src/lib/services/SQL-DixieJS service/index.ts +0 -4
  195. package/src/lib/services/SQL-DixieJS service/models/execution-plan.model.ts +0 -52
  196. package/src/lib/services/SQL-DixieJS service/models/index.ts +0 -3
  197. package/src/lib/services/SQL-DixieJS service/models/sql-errors.model.ts +0 -13
  198. package/src/lib/services/SQL-DixieJS service/models/sql-options.model.ts +0 -3
  199. package/src/lib/services/SQL-DixieJS service/query-planner.ts +0 -284
  200. package/src/lib/services/SQL-DixieJS service/schema-validator.ts +0 -217
  201. package/src/lib/services/SQL-DixieJS service/sql-parser.ts +0 -35
  202. package/src/lib/services/database-manager-service/database.manager.service.ts +0 -384
  203. package/src/lib/services/database-manager-service/db.storage.service.ts +0 -240
  204. package/src/lib/services/database-manager-service/index.ts +0 -4
  205. package/src/lib/services/database-manager-service/models/index.ts +0 -2
  206. package/src/lib/services/database-manager-service/models/table-schema.ts +0 -33
  207. package/src/lib/services/index.ts +0 -20
  208. package/src/lib/services/local-storage-manager-service/index.ts +0 -4
  209. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
  210. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -567
  211. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +0 -67
  212. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +0 -437
  213. package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
  214. package/src/lib/services/local-storage-manager-service/models/index.ts +0 -6
  215. package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -35
  216. package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
  217. package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -32
  218. package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
  219. package/src/lib/services/request-manager-services/README.md +0 -282
  220. package/src/lib/services/request-manager-services/http-manager-signals.service.ts +0 -674
  221. package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -353
  222. package/src/lib/services/request-manager-services/http-manager.service.ts +0 -727
  223. package/src/lib/services/request-manager-services/index.ts +0 -8
  224. package/src/lib/services/request-manager-services/request-signals.service.ts +0 -372
  225. package/src/lib/services/request-manager-services/request.service.ts +0 -435
  226. package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
  227. package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
  228. package/src/lib/services/request-manager-services/rxjs-operators/index.ts +0 -4
  229. package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -35
  230. package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -468
  231. package/src/lib/services/request-manager-state-service/http-manager-state.store.spec.ts +0 -665
  232. package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -2395
  233. package/src/lib/services/request-manager-state-service/index.ts +0 -3
  234. package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -86
  235. package/src/lib/services/request-manager-state-service/models/index.ts +0 -14
  236. package/src/lib/services/request-manager-state-service/models/operation-result.model.ts +0 -18
  237. package/src/lib/services/request-manager-state-service/models/parsing-result.model.ts +0 -21
  238. package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -37
  239. package/src/lib/services/request-manager-state-service/models/stream-config.model.ts +0 -20
  240. package/src/lib/services/request-manager-state-service/models/stream-event-metadata.model.ts +0 -23
  241. package/src/lib/services/request-manager-state-service/models/stream-event.model.ts +0 -23
  242. package/src/lib/services/request-manager-state-service/models/stream-output.model.ts +0 -23
  243. package/src/lib/services/request-manager-state-service/models/stream-progress.model.ts +0 -24
  244. package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +0 -13
  245. package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +0 -42
  246. package/src/lib/services/store-state-manager-service/index.ts +0 -4
  247. package/src/lib/services/store-state-manager-service/models/index.ts +0 -3
  248. package/src/lib/services/store-state-manager-service/models/state-operation-result.model.ts +0 -30
  249. package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +0 -24
  250. package/src/lib/services/store-state-manager-service/store-state-manager-signals.service.ts +0 -169
  251. package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +0 -153
  252. package/src/lib/services/utils/app.service.spec.ts +0 -25
  253. package/src/lib/services/utils/app.service.ts +0 -21
  254. package/src/lib/services/utils/encryption/README.md +0 -79
  255. package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
  256. package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
  257. package/src/lib/services/utils/encryption/index.ts +0 -5
  258. package/src/lib/services/utils/encryption/random.ts +0 -81
  259. package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -106
  260. package/src/lib/services/utils/headers.service.spec.ts +0 -80
  261. package/src/lib/services/utils/headers.service.ts +0 -18
  262. package/src/lib/services/utils/index.ts +0 -9
  263. package/src/lib/services/utils/logger.service.ts +0 -90
  264. package/src/lib/services/utils/models/index.ts +0 -4
  265. package/src/lib/services/utils/models/normalized-request-options.model.ts +0 -24
  266. package/src/lib/services/utils/models/path-tracker-state.model.ts +0 -20
  267. package/src/lib/services/utils/models/query-params-tracker-options.model.ts +0 -24
  268. package/src/lib/services/utils/models/query-tracker-state.model.ts +0 -23
  269. package/src/lib/services/utils/object-merger.service.spec.ts +0 -18
  270. package/src/lib/services/utils/object-merger.service.ts +0 -78
  271. package/src/lib/services/utils/path-query.service.spec.ts +0 -117
  272. package/src/lib/services/utils/path-query.service.ts +0 -69
  273. package/src/lib/services/utils/query-params-tracker.service.ts +0 -442
  274. package/src/lib/services/utils/random-color.utils.ts +0 -83
  275. package/src/lib/services/utils/utils.service.spec.ts +0 -165
  276. package/src/lib/services/utils/utils.service.ts +0 -192
  277. package/src/lib/services/ws-manager-service/index.ts +0 -13
  278. package/src/lib/services/ws-manager-service/message-tracker-signals.service.ts +0 -147
  279. package/src/lib/services/ws-manager-service/message-tracker.service.ts +0 -477
  280. package/src/lib/services/ws-manager-service/models/channel-info.model.ts +0 -29
  281. package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +0 -24
  282. package/src/lib/services/ws-manager-service/models/channel-message.model.ts +0 -36
  283. package/src/lib/services/ws-manager-service/models/channel-type.enum.ts +0 -6
  284. package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +0 -5
  285. package/src/lib/services/ws-manager-service/models/index.ts +0 -10
  286. package/src/lib/services/ws-manager-service/models/notification-message.model.ts +0 -29
  287. package/src/lib/services/ws-manager-service/models/public-message.model.ts +0 -18
  288. package/src/lib/services/ws-manager-service/models/state-message.model.ts +0 -18
  289. package/src/lib/services/ws-manager-service/models/ws-user.model.ts +0 -38
  290. package/src/lib/services/ws-manager-service/services/index.ts +0 -4
  291. package/src/lib/services/ws-manager-service/services/websocket-message.service.ts +0 -129
  292. package/src/lib/services/ws-manager-service/services/websocket.service.ts +0 -434
  293. package/src/lib/services/ws-manager-service/websocket-service/index.ts +0 -1
  294. package/src/lib/services/ws-manager-service/websocket-service/websocket-manager.service.ts +0 -716
  295. package/src/lib/services/ws-manager-service/websocket-services-complete.spec.ts +0 -596
  296. package/src/lib/services/ws-manager-service/websocket-signals-manager.service.ts +0 -141
  297. package/src/public-api.ts +0 -19
  298. package/tsconfig.lib.json +0 -34
  299. package/tsconfig.lib.prod.json +0 -10
  300. package/tsconfig.spec.json +0 -14
@@ -1,165 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { HttpTestingController, provideHttpClientTesting } from '@angular/common/http/testing';
3
- import { UtilsService } from './utils.service';
4
- import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
5
-
6
- describe('UtilsService', () => {
7
- let service: UtilsService;
8
- let httpMock: HttpTestingController;
9
-
10
- beforeEach(() => {
11
- TestBed.configureTestingModule({
12
- imports: [],
13
- providers: [UtilsService, provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
14
- });
15
- service = TestBed.inject(UtilsService);
16
- httpMock = TestBed.inject(HttpTestingController);
17
- });
18
-
19
- afterEach(() => {
20
- httpMock.verify();
21
- });
22
-
23
- it('should be created', () => {
24
- expect(service).toBeTruthy();
25
- });
26
-
27
- describe('Type Checks and JSON Conversions', () => {
28
- it('should check string and object types', () => {
29
- expect(service.isString('test')).toBeTrue();
30
- expect(service.isString(123)).toBeFalse();
31
- expect(service.isObject({})).toBeTrue();
32
- expect(service.isObject('test')).toBeFalse();
33
- });
34
-
35
- it('should convert between JSON and string', () => {
36
- const obj = { key: 'value' };
37
- const jsonString = '{"key":"value"}';
38
- expect(service.JSONToString(obj)).toBe(JSON.stringify(obj));
39
- expect(service.JSONToString('test')).toBe('test');
40
- expect(service.stringToJSON(jsonString)).toEqual(JSON.parse(jsonString));
41
- expect(service.stringToJSON('test')).toBe('test');
42
- });
43
-
44
- it('should check if a string is valid JSON', () => {
45
- expect(service.isJSON('{"key":"value"}')).toBeTrue();
46
- expect(service.isJSON('not json')).toBeFalse();
47
- });
48
- });
49
-
50
- describe('Object Access and Comparison', () => {
51
- it('should return property value and compare objects', () => {
52
- const obj = { key: 'value' };
53
- expect(service.getValueByProp(obj, 'key')).toBe('value');
54
- expect(service.getValueByProp(undefined, 'key')).toBeFalse();
55
-
56
- const obj1 = { key: 'value', nested: { a: 1 } };
57
- const obj2 = { key: 'value', nested: { a: 1 } };
58
- const obj3 = { key: 'value', nested: { a: 2 } };
59
- expect(service.objectsEqual(obj1, obj2)).toBeTrue();
60
- expect(service.objectsEqual(obj1, obj3)).toBeFalse();
61
- });
62
- });
63
-
64
- describe('HTTP and Getter', () => {
65
- it('should obtain JSON from file', () => {
66
- const dummyData = { key: 'value' };
67
- service.getJSON('test.json').subscribe(data => {
68
- expect(data).toEqual(dummyData);
69
- });
70
- const req = httpMock.expectOne('assets/data/test.json');
71
- expect(req.request.method).toBe('GET');
72
- req.flush(dummyData);
73
- });
74
-
75
- it('should return current time from today getter', () => {
76
- const nowInSec = new Date().getMilliseconds() / 1000;
77
- expect(service.today).toBeCloseTo(nowInSec, 0);
78
- });
79
- });
80
-
81
- describe('Conversion Methods', () => {
82
- it('should convert base32 to hex (simple case)', () => {
83
- // For "A", expecting "0".
84
- expect(service.base32ToHex('A')).toBe('0');
85
- });
86
-
87
- it('should convert binary to hex with 32-character padding', () => {
88
- /* For the binary representation of "Hello":
89
- H -> 01001000
90
- e -> 01100101
91
- l -> 01101100
92
- l -> 01101100
93
- o -> 01101111
94
- -> Hex: "48656c6c6f"
95
- Padded (22 zeros in front): "00000000000000000000000048656c6c6f"
96
- */
97
- const binary = '0100100001100101011011000110110001101111';
98
- const expected = '000000000000000000000048656c6c6f';
99
- expect(service.binaryToHex(binary)).toBe(expected);
100
- });
101
- });
102
-
103
- describe('Expiry Calculations', () => {
104
- // Helper to test expiry() returns a value close to now + (multiplier)
105
- function expectExpiryClose(input: string, multiplier: number) {
106
- const now = Math.floor(new Date().getTime() / 1000);
107
- const expiry = service.expires(input);
108
- expect(expiry).toBeGreaterThanOrEqual(now + multiplier - 1);
109
- expect(expiry).toBeLessThanOrEqual(now + multiplier + 1);
110
- }
111
-
112
- it('should calculate expiry for various time units', () => {
113
- expectExpiryClose("1y", 31556926);
114
- expectExpiryClose("1m", 2629743);
115
- expectExpiryClose("1w", 604800);
116
- expectExpiryClose("1d", 86400);
117
- expectExpiryClose("1hr", 3600);
118
- expectExpiryClose("1mn", 60);
119
- expectExpiryClose("1s", 1);
120
- });
121
-
122
- it('should return undefined for missing expiry string', () => {
123
- expect(service.expires()).toBeUndefined();
124
- });
125
-
126
- it('should indicate if expired', () => {
127
- const now = Math.floor(new Date().getTime() / 1000);
128
- expect(service.hasExpired(now - 10)).toBeTrue();
129
- expect(service.hasExpired(now + 10)).toBeFalse();
130
- expect(service.hasExpired(0)).toBeFalse();
131
- });
132
-
133
- it('should check setting for expiry', () => {
134
- const settingWithExpiry = { expires: 1234567890 };
135
- const settingWithoutExpiry = { key: 'value' };
136
- expect(service.hasExpiry(settingWithExpiry)).toBeTrue();
137
- expect(service.hasExpiry(settingWithoutExpiry)).toBeFalse();
138
- });
139
-
140
- it('should return a formatted string for future expiry dates', () => {
141
- const now = Math.floor(new Date().getTime() / 1000);
142
- const future = now + 10000;
143
- const result = service.expiresIn(future);
144
- expect(typeof result).toBe('string');
145
- expect(result).toBeDefined();
146
- expect(result!.length).toBeGreaterThan(0);
147
- // Expect one of the time unit labels in the formatted result.
148
- expect(result).toMatch(/(y|m|w|d|h|min|s)/);
149
- });
150
-
151
- it('should return "Expired" for past or current expiry dates', () => {
152
- const now = Math.floor(new Date().getTime() / 1000);
153
- expect(service.expiresIn(now - 1)).toBe("Expired");
154
- expect(service.expiresIn(now)).toBe("Expired");
155
- });
156
- });
157
-
158
- describe('String Conversion', () => {
159
- it('should convert string to lowercase with underscores', () => {
160
- const input = 'Hello, World!';
161
- // Expected conversion: remove punctuation, convert to lowercase, replace spaces with underscores.
162
- expect(service.lc(input)).toBe('hello_world');
163
- });
164
- });
165
- });
@@ -1,192 +0,0 @@
1
-
2
- import { HttpClient } from '@angular/common/http';
3
- import { Injectable, inject } from '@angular/core';
4
-
5
- @Injectable({
6
- providedIn: 'root'
7
- })
8
- export class UtilsService {
9
-
10
- http = inject(HttpClient)
11
-
12
- constructor() { }
13
-
14
- isString(x: string | number) {
15
- return Object.prototype.toString.call(x) === '[object String]'
16
- }
17
-
18
- isObject(obj: any) {
19
- return Object.prototype.toString.call(obj) === '[object Object]'
20
- }
21
-
22
- JSONToString(value: any) {
23
- return (this.isObject(value)) ? JSON.stringify(value) : value
24
- }
25
-
26
- stringToJSON(value: string) {
27
- return (this.isJSON(value)) ? JSON.parse(value) : value
28
- }
29
-
30
- isJSON(str: any) {
31
- try {
32
- JSON.parse(str)
33
- } catch (e) {
34
- return false
35
- }
36
- return true
37
- }
38
-
39
- getValueByProp(obj: any, prop: string) {
40
- if(typeof obj === 'undefined') return false
41
- return obj[prop]
42
- }
43
-
44
- objectsEqual(x: any, y: any): boolean {
45
-
46
- const ok = Object.keys, tx = typeof x, ty = typeof y
47
-
48
- return x && y && tx === 'object' && tx === ty ? (
49
- ok(x).length === ok(y).length &&
50
- ok(x).every((key: any) => this.objectsEqual(x[key], y[key]))
51
- ) : (x === y)
52
-
53
- }
54
-
55
- getJSON(file: string) {
56
- return this.http.get(`assets/data/${file}`)
57
- }
58
-
59
- get today() {
60
- return new Date().getMilliseconds() / 1000
61
- }
62
-
63
- base32ToHex(base32: string): string {
64
-
65
- const base32chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"
66
-
67
- const charToValue = (char: string) => base32chars.indexOf(char.toUpperCase())
68
-
69
- let bits = ''
70
- let hex = ''
71
-
72
- for (let i = 0; i < base32.length; i++) {
73
- const val = charToValue(base32.charAt(i))
74
- bits += val.toString(2).padStart(5, '0')
75
- }
76
-
77
- for (let i = 0; i + 4 <= bits.length; i += 4) {
78
- const chunk = bits.substr(i, 4)
79
- hex += parseInt(chunk, 2).toString(16)
80
- }
81
-
82
- return hex.toUpperCase()
83
- }
84
-
85
- binaryToHex(binary: string): string {
86
- let hex = '';
87
- for (let i = 0; i < binary.length; i += 8) {
88
- const byte = binary.substr(i, 8);
89
- const decimal = parseInt(byte, 2);
90
- hex += decimal.toString(16).padStart(2, '0');
91
- }
92
- return hex.padStart(32, '0').substr(0, 32);
93
- }
94
-
95
- // y = years, m = months, w = weeks, d = days, hr = hours, mn = minutes else seconds
96
- // returns epoch time corresponding to the expiry type
97
- expires(str?: string) {
98
-
99
- if(!str) return undefined
100
-
101
- const match = str.match(/[^0-9]+$/)
102
-
103
- const type = (match) ? str.slice(-match[0].length) : 0
104
-
105
- const now = Math.floor(new Date().getTime() / 1000)
106
-
107
- let value = 0;
108
-
109
- switch (type) {
110
- case
111
- 'y':
112
- const years = parseInt(str.slice(0, -1))
113
- value = now + (years * 31556926)
114
- break;
115
- case
116
- 'm':
117
- const months = parseInt(str.slice(0, -1))
118
- value = now + (months * 2629743)
119
- break;
120
- case
121
- 'w':
122
- const weeks = parseInt(str.slice(0, -1))
123
- value = now + (weeks * 604800)
124
- break;
125
- case
126
- 'd':
127
- const days = parseInt(str.slice(0, -1))
128
- value = now + (days * 86400)
129
- break;
130
- case
131
- 'hr':
132
- const hrs = parseInt(str.slice(0, -2))
133
- value = now + (hrs * 3600)
134
- break;
135
- case
136
- 'mn':
137
- const min = parseInt(str.slice(0, -2))
138
- value = now + (min * 60)
139
- break;
140
- default: //seconds
141
- const sec = parseInt(str.slice(0, -1))
142
- value = now + sec
143
- break;
144
- }
145
- return value;
146
- }
147
-
148
- hasExpired(expiryDate: number): boolean {
149
- if (!expiryDate || expiryDate === 0) return false
150
- const currentTime = Math.floor(new Date().getTime() / 1000)
151
- return expiryDate < currentTime
152
- }
153
-
154
- hasExpiry(setting: any) {
155
- return (setting?.expires) ? true : false
156
- }
157
-
158
- expiresIn(expiryDate: number) {
159
-
160
- if (!expiryDate) return;
161
-
162
- const now = Math.floor(new Date().getTime() / 1000);
163
- let diff = expiryDate - now;
164
-
165
- if (diff <= 0) return "Expired";
166
-
167
- const units = [
168
- { label: 'y', s: 31536000 },
169
- { label: 'm', s: 2592000 },
170
- { label: 'w', s: 604800 },
171
- { label: 'd', s: 86400 },
172
- { label: 'h', s: 3600 },
173
- { label: 'min', s: 60 },
174
- { label: 's', s: 1 },
175
- ];
176
-
177
- let result = [];
178
-
179
- for (const unit of units) {
180
- if (diff >= unit.s) {
181
- const value = Math.floor(diff / unit.s);
182
- diff %= unit.s;
183
- result.push(`${value}${unit.label}`);
184
- }
185
- }
186
-
187
- return result.join(', ');
188
- }
189
-
190
- lc = (str: string) => str.toLowerCase().replace(/[^\w\s]/g, '').replace(/\s+/g, '_')
191
-
192
- }
@@ -1,13 +0,0 @@
1
-
2
- export * from "./models/index";
3
- export * from "./services/websocket.service";
4
- export * from "./websocket-service/index";
5
-
6
- export { WebSocketMessageService } from "./services/websocket-message.service";
7
- export { WebSocketSignalsManagerService } from "./websocket-signals-manager.service";
8
- export { MessageTrackerSignalsService } from "./message-tracker-signals.service";
9
- export { StateMessage, StateMessageInterface } from "./models/state-message.model";
10
- export { PublicMessage, PublicMessageInterface } from "./models/public-message.model";
11
- export { NotificationMessage, NotificationMessageInterface } from "./models/notification-message.model";
12
- // ChannelType is already exported from request-manager-state-service to avoid conflicts
13
-
@@ -1,147 +0,0 @@
1
- import { Injectable, inject, signal, computed, effect } from '@angular/core';
2
- import { toObservable } from '@angular/core/rxjs-interop';
3
- import { WebSocketSignalsManagerService } from './websocket-signals-manager.service';
4
-
5
- /**
6
- * MessageTrackerSignalsService - Signal-based message tracking
7
- *
8
- * Tracks WebSocket messages, channel metadata, and user presence using signals.
9
- * Provides real-time reactivity for message-driven applications.
10
- */
11
- @Injectable({
12
- providedIn: 'root',
13
- })
14
- export class MessageTrackerSignalsService {
15
-
16
- private wsManager = inject(WebSocketSignalsManagerService);
17
-
18
- // Signal-based state
19
- private messagesSignal = signal<any>(null);
20
- public readonly messages = this.messagesSignal.asReadonly();
21
- public readonly messages$ = toObservable(this.messagesSignal);
22
-
23
- private channelMetadataSignal = signal<Map<string, any>>(new Map());
24
- public readonly channelMetadata = this.channelMetadataSignal.asReadonly();
25
- public readonly channelMetadata$ = toObservable(this.channelMetadataSignal);
26
-
27
- private usersInChannelsSignal = signal<Map<string, Set<string>>>(new Map());
28
- public readonly usersInChannels = this.usersInChannelsSignal.asReadonly();
29
- public readonly usersInChannels$ = toObservable(this.usersInChannelsSignal);
30
-
31
- // Computed signals for derived state
32
- readonly messageCount = computed(() => {
33
- const metadata = this.channelMetadataSignal();
34
- let count = 0;
35
- metadata.forEach(data => count += data.count);
36
- return count;
37
- });
38
-
39
- readonly activeChannels = computed(() => {
40
- return Array.from(this.channelMetadataSignal().keys());
41
- });
42
-
43
- constructor() {
44
- // Track messages from WebSocket
45
- effect(() => {
46
- const message = this.wsManager.messages();
47
- if (message) {
48
- this.trackMessage(message);
49
- }
50
- });
51
-
52
- // Track connection status
53
- effect(() => {
54
- const connected = this.wsManager.connectionStatus();
55
- if (!connected) {
56
- this.onDisconnect();
57
- }
58
- });
59
- }
60
-
61
- trackMessage(message: any): void {
62
- // Store message
63
- this.messagesSignal.set(message);
64
-
65
- // Update channel metadata
66
- if (message.channel) {
67
- this.updateChannelMetadata(message.channel, message);
68
- }
69
-
70
- // Update user presence if applicable
71
- if (message.user && message.channel) {
72
- this.updateUserPresence(message.channel, message.user);
73
- }
74
- }
75
-
76
- private updateChannelMetadata(channel: string, message: any): void {
77
- this.channelMetadataSignal.update(metadata => {
78
- const updated = new Map(metadata);
79
- const current = updated.get(channel) || { count: 0, lastMessage: null, lastUpdated: 0 };
80
- updated.set(channel, {
81
- ...current,
82
- count: current.count + 1,
83
- lastMessage: message,
84
- lastUpdated: Date.now()
85
- });
86
- return updated;
87
- });
88
- }
89
-
90
- private updateUserPresence(channel: string, user: string): void {
91
- this.usersInChannelsSignal.update(users => {
92
- const updated = new Map(users);
93
- const channelUsers = new Set(updated.get(channel) || []);
94
- channelUsers.add(user);
95
- updated.set(channel, channelUsers);
96
- return updated;
97
- });
98
- }
99
-
100
- removeUserFromChannel(channel: string, user: string): void {
101
- this.usersInChannelsSignal.update(users => {
102
- const updated = new Map(users);
103
- const channelUsers = updated.get(channel);
104
- if (channelUsers) {
105
- channelUsers.delete(user);
106
- updated.set(channel, channelUsers);
107
- }
108
- return updated;
109
- });
110
- }
111
-
112
- subscribeToChannel(channel: string): void {
113
- this.wsManager.subscribeToChannel(channel);
114
- }
115
-
116
- unsubscribeFromChannel(channel: string): void {
117
- this.wsManager.unsubscribeFromChannel(channel);
118
- this.removeUserFromChannel(channel, 'current-user');
119
- }
120
-
121
- // Selectors
122
- getMessageCount(channel: string): number {
123
- const metadata = this.channelMetadataSignal();
124
- return metadata.get(channel)?.count || 0;
125
- }
126
-
127
- getLastMessage(channel: string): any {
128
- const metadata = this.channelMetadataSignal();
129
- return metadata.get(channel)?.lastMessage || null;
130
- }
131
-
132
- getActiveChannels(): string[] {
133
- return Array.from(this.channelMetadataSignal().keys());
134
- }
135
-
136
- getUsersInChannel(channel: string): string[] {
137
- const users = this.usersInChannelsSignal().get(channel);
138
- return users ? Array.from(users) : [];
139
- }
140
-
141
- private onDisconnect(): void {
142
- // Clear state on disconnect
143
- this.messagesSignal.set(null);
144
- this.channelMetadataSignal.set(new Map());
145
- this.usersInChannelsSignal.set(new Map());
146
- }
147
- }