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,437 +0,0 @@
1
- import { DestroyRef, Inject, Injectable, Optional, WritableSignal, signal, computed, effect, inject } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { interval } from 'rxjs';
4
-
5
- import { UtilsService } from '../utils/utils.service';
6
- import { SymmetricalEncryptionService } from '../utils/encryption/symmetrical-encryption.service';
7
-
8
- import { StorageOption, StorageType } from './models';
9
- import { SettingOptions } from './models/setting-options.model';
10
- import { StorageData } from './models/storage-data.model';
11
- import { EncryptionTestService } from '../utils/encryption/encryption-test.service';
12
- import { AppService } from '../utils/app.service';
13
- import { CONFIG_SETTINGS_TOKEN } from '../../models/config-token.model';
14
- import { ConfigOptions } from '../request-manager-services';
15
- import { ObjectMergerService } from '../utils/object-merger.service';
16
-
17
- export interface State {
18
- localStores: StorageData[];
19
- sessionStores: StorageData[];
20
- settings: StorageOption[];
21
- }
22
-
23
- const initialState: State = {
24
- localStores: [],
25
- sessionStores: [],
26
- settings: [],
27
- };
28
-
29
- @Injectable({ providedIn: 'root' })
30
- export class LocalStorageSignalsManagerService {
31
-
32
- private state: WritableSignal<State> = signal(initialState);
33
-
34
- storageName = 'storage';
35
- storageSettingsName = 'global-storage';
36
- defaultOptions = SettingOptions.adapt();
37
-
38
- stateRetrieved = false;
39
- encrypted = false;
40
-
41
- destroyRef = inject(DestroyRef);
42
-
43
- app = inject(AppService);
44
- utils = inject(UtilsService);
45
- objectMergerService = inject(ObjectMergerService);
46
- encryption = inject(SymmetricalEncryptionService);
47
- encryptionTest = inject(EncryptionTestService);
48
-
49
- // --- SELECTORS ---
50
-
51
- readonly stores = computed(() => this.state().settings);
52
-
53
- readonly storeExists = (store: string) =>
54
- computed(() => !!this.state().settings.find(item => item.name === store));
55
-
56
- readonly store = (store: string) =>
57
- computed(() => {
58
- const data = this.state();
59
- const foundStore = data.settings.find(item => item.name === store);
60
- if (!foundStore) return null;
61
-
62
- const options = SettingOptions.adapt(foundStore.options);
63
- const found =
64
- options.storage === StorageType.GLOBAL
65
- ? data.localStores.find(item => item.id === foundStore.id)
66
- : data.sessionStores.find(item => item.id === foundStore.id);
67
-
68
- if (!found) {
69
- this.deleteStore({ name: store });
70
- return null;
71
- }
72
-
73
- if (!this.app?.appID) {
74
- console.warn('No App ID found - AppId not Provided');
75
- return null;
76
- }
77
-
78
- let storageData = found.data;
79
- if (options.encrypted) {
80
- if (this.isString(found.data) && !this.encryptionTest.isEncrypted(found.data)) {
81
- storageData = found.data;
82
- } else {
83
- const decryptedData = this.encryption.decrypt(found.data, this.app.appID);
84
- if (decryptedData !== null) {
85
- storageData = decryptedData;
86
- } else {
87
- console.warn(`Failed to decrypt data for store: ${store}`);
88
- storageData = found.data; // Use undecrypted data as fallback
89
- }
90
- }
91
- }
92
-
93
- try {
94
- return this.isString(storageData) ? JSON.parse(storageData) : storageData;
95
- } catch (error) {
96
- console.warn(`Failed to parse storage data for store: ${store}`, error);
97
- return storageData; // Return raw data if parsing fails
98
- }
99
- });
100
-
101
- readonly settings = computed(() => this.state().settings);
102
-
103
- readonly setting = (store: string) =>
104
- computed(() => this.state().settings.find(item => item.name === store) ?? null);
105
-
106
- constructor(@Optional() @Inject(CONFIG_SETTINGS_TOKEN) private configOptions?: ConfigOptions) {
107
- this.storageName = configOptions?.LocalStorageOptions?.storageName || this.storageName;
108
- this.storageSettingsName = configOptions?.LocalStorageOptions?.storageSettingsName || this.storageSettingsName;
109
- this.defaultOptions = configOptions?.LocalStorageOptions?.options || this.defaultOptions;
110
-
111
- this.retrieveState();
112
- // Auto-persist when state changes
113
- effect(() => {
114
- if (this.stateRetrieved) {
115
- this.persistState(this.state());
116
- }
117
- });
118
-
119
- // Expiration timer every 3s
120
- interval(3000).pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
121
- const state = this.state();
122
- const expired = this.expired(state);
123
- if (expired.length > 0) {
124
- const ids = expired.map(i => i.id);
125
- const updated: State = {
126
- ...state,
127
- localStores: state.localStores.filter(i => !ids.includes(i.id)),
128
- sessionStores: state.sessionStores.filter(i => !ids.includes(i.id)),
129
- settings: state.settings.filter(i => !ids.includes(i.id)),
130
- };
131
- this.state.set(updated);
132
- this.persistState(updated);
133
- }
134
- });
135
- }
136
-
137
- // --- STATE MUTATORS ---
138
-
139
- setStore(store: { id: string; name: string; data: any; options: SettingOptions }) {
140
- this.state.update(state => {
141
- const settings = StorageOption.adapt(store);
142
- settings.options = this.objectMergerService.mergeStorageOptions(settings.options);
143
- store.name = this.validStoreName(store.name);
144
-
145
- const str = this.encryptionTest.isEncrypted(store.data) ? store.data : JSON.stringify(store.data);
146
- const dataStr =
147
- this.isObjectOrArray(str) && store.options.encrypted
148
- ? this.encryption.encrypt(str, this.app.appID)
149
- : store.data;
150
-
151
- const localData =
152
- dataStr && settings.options?.storage === StorageType.GLOBAL
153
- ? [{ data: dataStr, id: settings.id }]
154
- : [];
155
- const sessionData =
156
- dataStr && settings.options?.storage === StorageType.SESSION
157
- ? [{ data: dataStr, id: settings.id }]
158
- : [];
159
-
160
- return {
161
- ...state,
162
- localStores: [...state.localStores, ...localData],
163
- sessionStores: [...state.sessionStores, ...sessionData],
164
- settings: [...state.settings, settings],
165
- };
166
- });
167
- }
168
-
169
- createStore(store: { id?: string; name: string; data: any; options: SettingOptions }) {
170
- this.state.update(state => {
171
- const settings = StorageOption.adapt(store);
172
- settings.options = this.objectMergerService.mergeStorageOptions(settings.options);
173
-
174
- if (state.settings.some(item => item.name === store.name)) {
175
- return state;
176
- }
177
-
178
- if (!this.isObjectOrArray(store.data)) {
179
- console.warn('Data must be an Object or Array');
180
- return state;
181
- }
182
-
183
- const dataStr =
184
- store.options.encrypted ? this.encryption.encrypt(store.data, this.app.appID) : store.data;
185
-
186
- const localData =
187
- settings.options?.storage === StorageType.GLOBAL ? [{ data: dataStr, id: settings.id }] : [];
188
- const sessionData =
189
- settings.options?.storage === StorageType.SESSION ? [{ data: dataStr, id: settings.id }] : [];
190
-
191
- return {
192
- ...state,
193
- localStores: [...state.localStores, ...localData],
194
- sessionStores: [...state.sessionStores, ...sessionData],
195
- settings: [...state.settings, settings],
196
- };
197
- });
198
- }
199
-
200
- updateStore(store: { name: string; data: any }) {
201
- this.state.update(state => {
202
- const settings = state.settings.find(item => item.name === store.name);
203
- if (!settings) return state;
204
-
205
- const dataStr =
206
- settings.options?.encrypted
207
- ? this.encryption.encrypt(store.data, this.app.appID)
208
- : store.data;
209
-
210
- const localData =
211
- settings.options?.storage === StorageType.GLOBAL ? [{ data: dataStr, id: settings.id }] : [];
212
- const sessionData =
213
- settings.options?.storage === StorageType.SESSION ? [{ data: dataStr, id: settings.id }] : [];
214
-
215
- return {
216
- ...state,
217
- localStores: [...state.localStores.filter(i => i.id !== settings.id), ...localData],
218
- sessionStores: [...state.sessionStores.filter(i => i.id !== settings.id), ...sessionData],
219
- };
220
- });
221
- }
222
-
223
- deleteStore(store: { name: string }) {
224
- this.state.update(state => {
225
- const id = state.settings.find(item => item.name === store.name)?.id;
226
- if (!id) return state;
227
- return {
228
- ...state,
229
- localStores: state.localStores.filter(i => i.id !== id),
230
- sessionStores: state.sessionStores.filter(i => i.id !== id),
231
- settings: state.settings.filter(i => i.id !== id),
232
- };
233
- });
234
- }
235
-
236
- resetStore() {
237
- const cleared: State = { localStores: [], sessionStores: [], settings: [] };
238
- this.state.set(cleared);
239
- this.persistState(cleared);
240
- }
241
-
242
- // --- HELPERS ---
243
-
244
- private persistState(state: State) {
245
- localStorage.setItem(this.storageName, JSON.stringify(state.localStores));
246
- sessionStorage.setItem(this.storageName, JSON.stringify(state.sessionStores));
247
- const settingsStr = this.encryption.encrypt(state.settings, this.app.appID);
248
- localStorage.setItem(this.storageSettingsName, settingsStr || '');
249
- }
250
-
251
- private expired(state: State) {
252
- return state.settings.filter(
253
- s => (s.options?.expires || 0) > 0 && this.utils.hasExpired(s.options?.expires!)
254
- );
255
- }
256
-
257
- retrieveState() {
258
-
259
- const str = localStorage.getItem(this.storageSettingsName);
260
-
261
- const localStr = localStorage.getItem(this.storageName);
262
- const sessionStr = sessionStorage.getItem(this.storageName);
263
-
264
- let localData: StorageData[] = [];
265
- let sessionData: StorageData[] = [];
266
-
267
- try {
268
- localData = localStr ? JSON.parse(localStr) : [];
269
- } catch (error) {
270
- console.warn('Failed to parse local storage data:', error);
271
- localData = [];
272
- }
273
-
274
- try {
275
- sessionData = sessionStr ? JSON.parse(sessionStr) : [];
276
- } catch (error) {
277
- console.warn('Failed to parse session storage data:', error);
278
- sessionData = [];
279
- }
280
-
281
- let settings: StorageOption[] = [];
282
- if (str) {
283
- const plainSettings = this.tryParseSettingsArray(str);
284
- if (plainSettings) {
285
- settings = plainSettings;
286
- const migratedSettings = this.encryption.encrypt(settings, this.app.appID);
287
- if (migratedSettings) {
288
- localStorage.setItem(this.storageSettingsName, migratedSettings);
289
- }
290
- console.warn('Recovered settings from plaintext storage and migrated to encrypted format');
291
- } else {
292
- const decryptedStr = this.encryption.decrypt(str, this.app.appID);
293
- if (decryptedStr) {
294
- const decryptedSettings = this.tryParseSettingsArray(decryptedStr);
295
- if (decryptedSettings) {
296
- settings = decryptedSettings;
297
- } else {
298
- console.warn('Failed to parse decrypted settings data. Resetting corrupted settings store.');
299
- localStorage.removeItem(this.storageSettingsName);
300
- settings = [];
301
- }
302
- } else {
303
- console.warn('Failed to decrypt settings data. Resetting corrupted settings store.');
304
- localStorage.removeItem(this.storageSettingsName);
305
- settings = [];
306
- }
307
- }
308
- }
309
-
310
- settings.forEach(store => {
311
-
312
-
313
- // normalize options so we compare numbers and compute expires correctly
314
- const options = SettingOptions.adapt(store.options);
315
-
316
- // if persisted data included expiresIn but not numeric expires, compute it now
317
- if ((!options.expires || options.expires === 0) && options.expiresIn) {
318
- try {
319
- const computed = this.utils.expires(options.expiresIn as string);
320
- options.expires = computed || 0;
321
- } catch {
322
- options.expires = 0;
323
- }
324
- }
325
-
326
- const expired = (options.expires || 0) > 0 && this.utils.hasExpired(options.expires || 0);
327
-
328
- if (!expired) {
329
-
330
- const hasStorage = this.hasGlobalStorage(options.storage, store.id || '');
331
-
332
- if (!hasStorage) {
333
- this.createStore({ id: store.id, name: store.name, data: [], options });
334
- } else {
335
- const storeData = (options.storage === StorageType.GLOBAL)
336
- ? localData.find(item => item.id === store.id)
337
- : sessionData.find(item => item.id === store.id);
338
- this.setStore({ id: store.id || '', name: store.name, data: storeData?.data, options });
339
- }
340
-
341
- }
342
-
343
- });
344
-
345
- this.stateRetrieved = true;
346
-
347
- // Ensure all stored settings have numeric expires computed and persisted
348
- try {
349
- const current = this.state();
350
- let changed = false;
351
- const normalizedSettings = current.settings.map(s => {
352
- const opts = SettingOptions.adapt(s.options);
353
- if ((!opts.expires || opts.expires === 0) && opts.expiresIn) {
354
- const computed = this.utils.expires(opts.expiresIn as string) || 0;
355
- if (computed && computed !== opts.expires) {
356
- opts.expires = computed;
357
- changed = true;
358
- }
359
- }
360
- return { ...s, options: opts } as StorageOption;
361
- });
362
-
363
- if (changed) {
364
- const updated: State = { ...current, settings: normalizedSettings };
365
- this.state.set(updated);
366
- this.persistState(updated);
367
- }
368
- } catch (e) {
369
- // swallow normalization errors to avoid breaking init
370
- }
371
-
372
- }
373
-
374
- private hasGlobalStorage(type: StorageType = StorageType.GLOBAL, id: string) {
375
- const strData: StorageData[] = [];
376
-
377
- if (type === StorageType.GLOBAL) {
378
- const str = localStorage.getItem(this.storageName);
379
- strData.push(...(str ? JSON.parse(str) : []));
380
- } else {
381
- const str = sessionStorage.getItem(this.storageName);
382
- strData.push(...(str ? JSON.parse(str) : []));
383
- }
384
-
385
- const found = strData.find(store => store.id === id);
386
- return !!found;
387
- }
388
-
389
- private isObjectOrArray(obj: any) {
390
- try {
391
- const parsed = typeof obj === 'object' ? obj : JSON.parse(obj);
392
- return typeof parsed === 'object' && parsed !== null;
393
- } catch {
394
- return false;
395
- }
396
- }
397
-
398
- private isString(obj: any) {
399
- return Object.prototype.toString.call(obj) === '[object String]';
400
- }
401
-
402
- private validStoreName(str: string) {
403
- return str.toLowerCase().replace(/\s+/g, '_').replace(/[^ -~]/g, '');
404
- }
405
-
406
- private tryParseSettingsArray(raw: any): StorageOption[] | null {
407
- if (!raw) {
408
- return null;
409
- }
410
-
411
- if (Array.isArray(raw)) {
412
- return raw;
413
- }
414
-
415
- if (!this.isString(raw)) {
416
- return null;
417
- }
418
-
419
- try {
420
- const parsed = JSON.parse(raw);
421
- if (Array.isArray(parsed)) {
422
- return parsed;
423
- }
424
-
425
- if (this.isString(parsed)) {
426
- const nestedParsed = JSON.parse(parsed);
427
- if (Array.isArray(nestedParsed)) {
428
- return nestedParsed;
429
- }
430
- }
431
- } catch {
432
- return null;
433
- }
434
-
435
- return null;
436
- }
437
- }
@@ -1,30 +0,0 @@
1
- import { StorageOption } from "./storage-option.model"
2
-
3
- export interface GlobalStoreOptionsInterface {
4
- encryption?: boolean
5
- expiresIn?: string
6
- expires?: number
7
- stores: StorageOption[]|null
8
- }
9
-
10
- export class GlobalStoreOptions implements GlobalStoreOptionsInterface {
11
-
12
- constructor(
13
- public encryption = false,
14
- public expiresIn?: string,
15
- public expires?: number,
16
- public stores: StorageOption[]|null = [],
17
- ) {}
18
-
19
- static adapt(item?: any): GlobalStoreOptions {
20
-
21
- return new GlobalStoreOptions(
22
- (item?.encryption) ? item.encryption : false,
23
- (item?.expiresIn) ? item.expiresIn : '',
24
- (item?.expires) ? item.expires : 0,
25
- (item?.stores) ? item.stores.map((item: any) => StorageOption.adapt(item)) : []
26
- )
27
-
28
- }
29
-
30
- }
@@ -1,6 +0,0 @@
1
- export * from "./global-store-options.model"
2
- export * from "./setting-options.model";
3
- export * from "./storage-data.model";
4
- export * from "./storage-option.model";
5
-
6
- export * from "./storage-type.enum";
@@ -1,35 +0,0 @@
1
- import { StorageType } from "./storage-type.enum"
2
-
3
- export interface SettingOptionsInterface {
4
- storage?: StorageType
5
- expires?: number
6
- expiresIn?: string
7
- encrypted?: boolean
8
- }
9
-
10
- export class SettingOptions implements SettingOptionsInterface {
11
-
12
- constructor(
13
- public storage?: StorageType,
14
- public expires?: number,
15
- public expiresIn?: string,
16
- public encrypted?: boolean,
17
- ) {}
18
-
19
- static adapt(item?: any): SettingOptions {
20
-
21
- const storage = (typeof item?.storage !== 'undefined' && item?.storage !== null) ? Number(item.storage) : StorageType.GLOBAL;
22
- const expires = (typeof item?.expires !== 'undefined' && item?.expires !== null) ? Number(item.expires) : 0;
23
- const expiresIn = (typeof item?.expiresIn !== 'undefined' && item?.expiresIn !== null) ? item.expiresIn : '';
24
- const encrypted = (typeof item?.encrypted !== 'undefined' && item?.encrypted !== null) ? Boolean(item.encrypted) : false;
25
-
26
- return new SettingOptions(
27
- storage,
28
- expires,
29
- expiresIn,
30
- encrypted,
31
- )
32
-
33
- }
34
-
35
- }
@@ -1,24 +0,0 @@
1
- export interface StorageDataInterface {
2
- id?: string
3
- data?: any
4
- }
5
-
6
- export class StorageData implements StorageDataInterface {
7
-
8
- constructor(
9
- public id?: string,
10
- public data?: any,
11
- ) {}
12
-
13
- static adapt(item?: any): StorageData {
14
-
15
- return new StorageData(
16
- (item?.id) ? item.id : crypto.randomUUID(),
17
- (item?.data) ? item.data : null
18
- )
19
-
20
- }
21
-
22
- }
23
-
24
-
@@ -1,32 +0,0 @@
1
- import { SettingOptions } from "./setting-options.model"
2
-
3
- export interface StorageOptionInterface {
4
- id?: string
5
- name: string
6
- data?: any
7
- options?: SettingOptions
8
- }
9
-
10
- export class StorageOption implements StorageOptionInterface {
11
-
12
- constructor(
13
- public id?: string,
14
- public name: string = 'untitled',
15
- public data?: any,
16
- public options?: SettingOptions,
17
- ) {}
18
-
19
- static adapt(item?: any): StorageOption {
20
-
21
- return new StorageOption(
22
- (item?.id) ? item.id : crypto.randomUUID(),
23
- (item?.name) ? item.name.toLowerCase() : 'untitled',
24
- item?.data,
25
- (item?.options) ? SettingOptions.adapt(item.options) : SettingOptions.adapt(),
26
- )
27
-
28
- }
29
-
30
- }
31
-
32
-
@@ -1,5 +0,0 @@
1
- export enum StorageType {
2
- GLOBAL,
3
- SESSION,
4
- DB
5
- }