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,410 +0,0 @@
1
- import { Component, OnInit, ViewChild, inject } from '@angular/core'
2
-
3
- import { FormArray, FormBuilder, Validators } from '@angular/forms'
4
-
5
- import { ClientInfo } from './models/sample-client-info'
6
- import { ClientInfoMapper } from './models/sample-mapper-client-info'
7
- import { AIPrompt } from './models/sample-ai-prompt'
8
- import { ApiRequest, HTTPManagerSignalsService } from '../..'
9
-
10
- import { ToastColors, ToastDisplay, ToastMessageDisplayService } from 'toast-message-display'
11
-
12
- @Component({
13
- selector: 'app-request-signals-manager-demo',
14
- templateUrl: './request-signals-manager-demo.component.html',
15
- styleUrls: ['./request-signals-manager-demo.component.scss'],
16
- standalone: false
17
- })
18
- export class RequestSignalsManagerDemoComponent implements OnInit {
19
-
20
- displayedColumns = ['id','name', 'lastName', 'age']
21
-
22
- private fb = inject(FormBuilder)
23
- private toastMessage = inject(ToastMessageDisplayService)
24
-
25
- httpManagerSignalsService = inject(HTTPManagerSignalsService)
26
-
27
- // Using signals service: signals are callable in templates (e.g. isPending())
28
- isPending = this.httpManagerSignalsService.isPending
29
- countdown = this.httpManagerSignalsService.countdown
30
-
31
- // per-operation plain results and error messages (no rxjs in component)
32
- GET_result: any = null
33
- POST_result: any = null
34
- PUT_result: any = null
35
- DELETE_result: any = null
36
-
37
- STREAM_result: any = null
38
- STREAM_AI_result: any = null
39
-
40
- GET_error: string = ''
41
- POST_error: string = ''
42
- PUT_error: string = ''
43
- DELETE_error: string = ''
44
- STREAM_error: string = ''
45
- STREAM_AI_error: string = ''
46
-
47
- requestParams = {
48
- GET: ApiRequest.adapt(),
49
- POST: ApiRequest.adapt(),
50
- PUT: ApiRequest.adapt(),
51
- DELETE: ApiRequest.adapt(),
52
- STREAM: ApiRequest.adapt(),
53
- }
54
-
55
- @ViewChild("failedState", { static: true }) failedState: any
56
- @ViewChild("pollingState", { static: true }) pollingState: any
57
-
58
- questionControl = this.fb.control("", [Validators.required])
59
-
60
- downloadRequest = ApiRequest.adapt({
61
- server: 'assets/images',
62
- path: ['lego.png'],
63
- // saveAs: 'john.jpg' // Optional
64
- })
65
-
66
- // downloadRequest = ApiRequest.adapt({
67
- // server: 'oidc/ai/file'
68
- // })
69
-
70
- sampleClientData = {
71
- id: 0,
72
- name: "Old School Dates",
73
- domain: "osd.com",
74
- service: "osd",
75
- spiffe: "osd.com/osd",
76
- secret: "SMOPECXP-OS4P-USOG-X2II-3XMD1FQDR3IJX",
77
- created: 1693003138,
78
- modified: 1693003138,
79
- icon: "",
80
- imageFile: "",
81
- email: "wavecoders@gmail.com"
82
- }
83
-
84
- requestForm = this.fb.group({
85
- path: this.fb.control<string>("ai/"),
86
- headers: this.fb.array([]),
87
- adapter: [null],
88
- mapper: [null],
89
- retry: this.fb.group({
90
- times: [3],
91
- delay: [3],
92
- }),
93
- polling: [3],
94
- })
95
-
96
- AIType = 0
97
-
98
- sampleAdaptors = [
99
- { label: "ClientInfo Basic", value: ClientInfo.adapt },
100
- { label: "AI Prompt", value: AIPrompt.adapt },
101
- ]
102
-
103
- sampleMappers = [
104
- { label: "Mapper Basic", value: ClientInfoMapper.adapt },
105
- { label: "AI Prompt", value: AIPrompt.adapt },
106
- ]
107
-
108
- get retry() {
109
- return this.requestForm.get('retry')?.value
110
- }
111
-
112
- get headers(): FormArray {
113
- return this.requestForm.get('headers') as FormArray
114
- }
115
-
116
- get isValid() {
117
- this.requestForm.markAllAsTouched()
118
- return this.requestForm.valid
119
- }
120
-
121
- hasId = (arr: any[]) => {
122
- if (arr.length === 0) return false
123
- return !isNaN(arr[arr.length - 1])
124
- }
125
-
126
- props = (adapter: any) => {
127
- return (adapter) ? adapter() : null
128
- }
129
-
130
- // server = `http://sample-endpoint/as/authorization.oauth2`
131
-
132
- arrayObjectsToObjects = (arr: any[]) => {
133
- return Array.isArray(arr) ? arr.reduce((obj, item) => Object.assign(obj, { [item.key]: item.value }), {}) : {}
134
- }
135
-
136
- constructor() { }
137
-
138
- ngOnInit() {
139
-
140
- // const reqGet2 = ApiRequest.adapt({
141
- // server,
142
- // path: ['clients'],
143
- // headers: { authentication: "Bearer <KEY>" },
144
- // adapter: ClientInfo,
145
- // dataType: DataType.OBJECT,
146
- // // concurrent: false,
147
- // // polling: 3, //seconds
148
- // })
149
-
150
- // const req2 = [1024,1025,1026].map(item => {
151
- // return this.httpManagerService.getRequest<ClientInfo[]>(reqGet2, [item])
152
- // .pipe(
153
- // catchError(error => {
154
- // return throwError(() => new Error(error.error.message))
155
- // })
156
- // )
157
- // })
158
-
159
- // forkJoin(req2)
160
- // .subscribe(res => console.log(res))
161
-
162
- }
163
-
164
- addHeader() {
165
- const header = this.fb.group({
166
- key: ['', Validators.required],
167
- value: ['']
168
- })
169
- this.headers.push(header)
170
- }
171
-
172
- removeHeader(index: number) {
173
- this.headers.removeAt(index)
174
- }
175
-
176
- compileRequest() {
177
-
178
- const requestParams = this.requestForm.value
179
-
180
- requestParams.headers = this.arrayObjectsToObjects(
181
- requestParams.headers || []
182
- )
183
-
184
- const pathReq = (requestParams.path === "") ? [] : (requestParams.path || "").split("/")
185
-
186
- if (!this.pollingState.checked) requestParams.polling = 0
187
-
188
- if (!this.failedState.checked) {
189
- requestParams.retry = { times: 0,delay: 0 }
190
- }
191
-
192
- const apiOptions = ApiRequest.adapt(requestParams)
193
- apiOptions.path = []
194
-
195
- return { apiOptions: apiOptions, path: pathReq }
196
-
197
- }
198
-
199
- onGetRequest() {
200
-
201
- if(!this.isValid) return
202
-
203
- const reqParams = this.compileRequest()
204
-
205
- this.requestParams.GET = reqParams.apiOptions
206
-
207
- // reset local state
208
- this.GET_result = null
209
- this.GET_error = ''
210
-
211
- this.httpManagerSignalsService.getRequest<ClientInfo[]>(reqParams.apiOptions, reqParams.path)
212
- .subscribe({
213
- next: (res) => this.GET_result = res,
214
- error: (err) => this.errorHandling(err, 'GET')
215
- })
216
-
217
- }
218
-
219
- onCreateRequest() {
220
-
221
- if(!this.isValid) return
222
-
223
- const reqParams = this.compileRequest()
224
- this.requestParams.POST = reqParams.apiOptions
225
-
226
- // reset local state
227
- this.POST_result = null
228
- this.POST_error = ''
229
-
230
- this.httpManagerSignalsService.postRequest<ClientInfo>(this.sampleClientData, reqParams.apiOptions, reqParams.path)
231
- .subscribe({
232
- next: (res) => this.POST_result = res,
233
- error: (err) => this.errorHandling(err, 'POST')
234
- })
235
-
236
- }
237
-
238
- onUpdateRequest() {
239
-
240
- if(!this.isValid) return
241
-
242
- const reqParams = this.compileRequest()
243
-
244
- if(!this.hasId(reqParams.path)) {
245
- console.log("Missing ID")
246
- return
247
- }
248
-
249
- this.sampleClientData.id = parseInt(reqParams.path[reqParams.path.length-1])
250
- this.requestParams.PUT = reqParams.apiOptions
251
-
252
- // reset local state
253
- this.PUT_result = null
254
- this.PUT_error = ''
255
-
256
- this.httpManagerSignalsService.putRequest<any>(this.sampleClientData, reqParams.apiOptions, reqParams.path)
257
- .subscribe({
258
- next: (res) => this.PUT_result = res,
259
- error: (err) => this.errorHandling(err, 'PUT')
260
- })
261
-
262
- }
263
-
264
- onDeleteRequest() {
265
-
266
- if(!this.isValid) return
267
-
268
- const reqParams = this.compileRequest()
269
- this.requestParams.DELETE = reqParams.apiOptions
270
-
271
- if(!this.hasId(reqParams.path)) {
272
- console.log("Missing ID")
273
- return
274
- }
275
-
276
- this.sampleClientData.id = parseInt(reqParams.path[reqParams.path.length-1])
277
- this.requestParams.DELETE = reqParams.apiOptions
278
-
279
- // reset local state
280
- this.DELETE_result = null
281
- this.DELETE_error = ''
282
-
283
- this.httpManagerSignalsService.deleteRequest<ClientInfo>(reqParams.apiOptions, reqParams.path)
284
- .subscribe({
285
- next: (res) => this.DELETE_result = res,
286
- error: (err) => this.errorHandling(err, 'DELETE')
287
- })
288
-
289
- }
290
-
291
- onStreamPostRequest() {
292
-
293
- if (!this.isValid) return
294
-
295
- const reqParams = this.compileRequest()
296
-
297
- let payload = {}
298
- let apiPath: string[] = reqParams.path
299
- let apiOptions = reqParams.apiOptions
300
- let responseMapper: (items: any) => any = (items) => items.response
301
-
302
- if (this.AIType === 0) {
303
-
304
- // API request
305
- payload = { prompt: this.questionControl.value }
306
-
307
- } else {
308
-
309
- // Local Ollama request
310
- apiOptions.server = "api"
311
- apiPath = ["generate"]
312
- apiOptions.stream = true
313
- payload = {
314
- model: "phi3:latest",
315
- prompt: this.questionControl.value,
316
- stream: true,
317
- }
318
-
319
- responseMapper = (items) => items.map((word: any) => word.response).flat().join('')
320
-
321
- }
322
-
323
- this.requestParams.STREAM = apiOptions
324
- this.STREAM_AI_result = null
325
- this.STREAM_AI_error = ''
326
-
327
- this.httpManagerSignalsService.postRequest<any>(payload, apiOptions, apiPath)
328
- .subscribe({
329
- next: (res) => {
330
- try {
331
- this.STREAM_AI_result = responseMapper(res)
332
- } catch (e) {
333
- this.STREAM_AI_result = res
334
- }
335
- this.questionControl.reset()
336
- },
337
- error: (err) => this.errorHandling(err, 'STREAM')
338
- })
339
-
340
- }
341
-
342
-
343
- onStreamRequest() {
344
-
345
- if(!this.isValid) return
346
-
347
- const reqParams = this.compileRequest()
348
-
349
- reqParams.apiOptions.stream = true
350
-
351
- this.requestParams.GET = reqParams.apiOptions
352
- this.STREAM_result = null
353
- this.STREAM_error = ''
354
-
355
- this.httpManagerSignalsService.getRequest<ClientInfo[]>(reqParams.apiOptions, reqParams.path)
356
- .subscribe({
357
- next: (res) => this.STREAM_result = res,
358
- error: (err) => this.errorHandling(err, 'STREAM')
359
- })
360
-
361
- }
362
-
363
- onDownloadCompleted() {
364
-
365
- const message = "Download Completed"
366
-
367
- const display = ToastDisplay.adapt({
368
- message,
369
- action: 'Ok',
370
- color: ToastColors.SUCCESS,
371
- icon: 'sentiment_satisfied_alt',
372
- })
373
-
374
- this.toastMessage.toastMessage(display)
375
- }
376
-
377
- onDownloadFailed(err: string) {
378
-
379
- const message = "Download Failed"
380
-
381
- const display = ToastDisplay.adapt({
382
- message,
383
- action: 'Ok',
384
- color: ToastColors.ERROR,
385
- icon: 'warning',
386
- })
387
-
388
- this.toastMessage.toastMessage(display)
389
- }
390
-
391
- errorHandling(err: any, type: string) {
392
- const message = err?.message || String(err)
393
- // set local error state
394
- if (type === 'GET') this.GET_error = message
395
- if (type === 'POST') this.POST_error = message
396
- if (type === 'PUT') this.PUT_error = message
397
- if (type === 'DELETE') this.DELETE_error = message
398
- if (type === 'STREAM') this.STREAM_error = message
399
-
400
- // also set the shared service error signal
401
- this.httpManagerSignalsService.error.set(message)
402
-
403
- return err
404
- }
405
-
406
- onSelectAIType(type: number) {
407
- this.AIType = type
408
- }
409
-
410
- }
@@ -1,28 +0,0 @@
1
- export interface SettingsInterface {
2
- enum_1: any
3
- enum_2: any
4
- enum_3: any
5
- enum_4: any
6
- }
7
-
8
- export class Settings implements SettingsInterface {
9
-
10
- constructor(
11
- public enum_1 = [],
12
- public enum_2 = [],
13
- public enum_3 = [],
14
- public enum_4 = [],
15
- ) {}
16
-
17
- static adapt(item?: any): Settings {
18
-
19
- return new Settings(
20
- item?.enum_1,
21
- item?.enum_2,
22
- item?.enum_3,
23
- item?.enum_4,
24
- )
25
-
26
- }
27
-
28
- }
@@ -1,49 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
-
3
- import { map } from 'rxjs';
4
-
5
- import { SettingOptions } from '../../../services/local-storage-manager-service/models/setting-options.model';
6
- import { StorageType } from '../../../services/local-storage-manager-service/models/storage-type.enum';
7
- import { StoreStateManagerService, StateStorageOptions } from '../../../services/store-state-manager-service';
8
- import { Settings } from '../models/settings.model';
9
-
10
-
11
- @Injectable()
12
- export class SettingsStateService extends StoreStateManagerService {
13
-
14
- constructor() {
15
-
16
- super(
17
- StateStorageOptions.adapt({
18
- store: 'sampleStore',
19
- options: SettingOptions.adapt({
20
- storage: StorageType.SESSION,
21
- encrypted: false
22
- }),
23
- model: Settings.adapt,
24
- }
25
- ))
26
-
27
- }
28
-
29
- updateEnum_1(value: any) {
30
- this.updateData(value)
31
- }
32
-
33
- updateEnum_2(value: any) {
34
- this.updateData(value)
35
- }
36
-
37
- getEnum(key: string) {
38
- return this.data$.pipe(
39
- map(item => item[key])
40
- )
41
- }
42
-
43
- getEnum_1() {
44
- return this.data$.pipe(
45
- map(item => item?.enum_1)
46
- )
47
- }
48
-
49
- }
@@ -1,23 +0,0 @@
1
- <div style="margin: 2rem;">
2
-
3
- <h2>
4
- <span>Store State Manager</span>
5
- <span style="margin-left: .5rem;">
6
- <mat-icon color="accent">fiber_new</mat-icon>
7
- </span>
8
- </h2>
9
-
10
- {{ dataState$ | async | json}}
11
-
12
- <div style="display: flex; gap:.5rem; margin-top: 1rem; margin-bottom: 1rem;">
13
- <button mat-stroked-button (click)="onUpdateEnum_1()">Update Start</button>
14
- <button mat-stroked-button (click)="onUpdateEnum_2()">Update End</button>
15
- <button mat-stroked-button (click)="onGetEnum_1()">Dump</button>
16
- </div>
17
-
18
- <div>
19
- <h3 style="margin: 0;">Enum 1</h3>
20
- {{ dataEnum$ | async | json}}
21
- </div>
22
-
23
- </div>
@@ -1,36 +0,0 @@
1
- import { Component, inject, OnInit } from '@angular/core';
2
- import { RandomNumber } from '../../services/utils/encryption/random';
3
- import { SettingsStateService } from './services/settings-state.service';
4
-
5
- @Component({
6
- selector: 'app-store-state-manager-demo',
7
- templateUrl: './store-state-manager-demo.component.html',
8
- styleUrls: ['./store-state-manager-demo.component.css'],
9
- providers: [SettingsStateService],
10
- standalone: false
11
- })
12
- export class StoreStateManagerDemoComponent implements OnInit {
13
-
14
- settingsStateService = inject(SettingsStateService)
15
- dataState$ = this.settingsStateService.data$
16
-
17
- dataEnum$ = this.settingsStateService.getEnum_1()
18
-
19
- ngOnInit() {
20
- }
21
-
22
- onUpdateEnum_1() {
23
- const rnd = RandomNumber(1000, 9999)
24
- this.settingsStateService.updateEnum_1({enum_1: [{ users: [1,2,3, rnd], random: rnd }]})
25
- }
26
-
27
- onUpdateEnum_2() {
28
- const rnd = RandomNumber(1000, 9999)
29
- this.settingsStateService.updateEnum_2({enum_2: [{ users: [1,2,3, rnd], random: rnd }]})
30
- }
31
-
32
- onGetEnum_1() {
33
- this.settingsStateService.getEnum_1().subscribe(data => console.log('DUMP:', data))
34
- }
35
-
36
- }
@@ -1,161 +0,0 @@
1
- import { Component, OnInit, signal, computed } from '@angular/core';
2
- import { StoreStateManagerSignalsService } from '../../services/store-state-manager-service/store-state-manager-signals.service';
3
- import { StateStorageOptions } from '../../services/store-state-manager-service/models/state-storage-options.model';
4
-
5
- interface CounterState {
6
- count: number;
7
- lastUpdated: string;
8
- history: number[];
9
- }
10
-
11
- const defaultCounterState: () => CounterState = () => ({
12
- count: 0,
13
- lastUpdated: new Date().toISOString(),
14
- history: []
15
- });
16
-
17
- @Component({
18
- selector: 'app-store-state-signals-demo',
19
- template: `
20
- <div class="demo-container">
21
- <h2>Store State Manager Signals Demo</h2>
22
- <p>Signal-based state management with localStorage persistence</p>
23
-
24
- <div class="state-display">
25
- <h3>Current State (Signal)</h3>
26
- <pre>{{ stateJson() }}</pre>
27
- </div>
28
-
29
- <div class="actions">
30
- <button (click)="increment()">Increment</button>
31
- <button (click)="decrement()">Decrement</button>
32
- <button (click)="reset()">Reset</button>
33
- <button (click)="addToHistory()">Add to History</button>
34
- </div>
35
-
36
- <div class="history">
37
- <h3>History: {{ historyLength() }} items</h3>
38
- <ul>
39
- @for (item of history(); track item; let i = $index) {
40
- <li>{{ i + 1 }}. {{ item }}</li>
41
- }
42
- </ul>
43
- </div>
44
- </div>
45
- `,
46
- styles: [`
47
- .demo-container {
48
- padding: 20px;
49
- max-width: 600px;
50
- margin: 0 auto;
51
- }
52
- .state-display {
53
- background: #f5f5f5;
54
- padding: 15px;
55
- border-radius: 5px;
56
- margin: 20px 0;
57
- }
58
- pre {
59
- background: #fff;
60
- padding: 10px;
61
- border: 1px solid #ddd;
62
- border-radius: 3px;
63
- }
64
- .actions {
65
- display: flex;
66
- gap: 10px;
67
- margin: 20px 0;
68
- }
69
- button {
70
- padding: 10px 20px;
71
- background: #007bff;
72
- color: white;
73
- border: none;
74
- border-radius: 4px;
75
- cursor: pointer;
76
- }
77
- button:hover {
78
- background: #0056b3;
79
- }
80
- .history {
81
- margin-top: 20px;
82
- }
83
- ul {
84
- max-height: 200px;
85
- overflow-y: auto;
86
- }
87
- `]
88
- })
89
- export class StoreStateSignalsDemoComponent implements OnInit {
90
-
91
- private stateManager!: StoreStateManagerSignalsService<CounterState>;
92
-
93
- // Signals from service
94
- stateJson = signal<string>('');
95
- historyLength = signal<number>(0);
96
- history = signal<number[]>([]);
97
-
98
- ngOnInit() {
99
- const options = StateStorageOptions.adapt({
100
- store: 'counter-state',
101
- model: defaultCounterState,
102
- options: {
103
- storage: 'global',
104
- encrypted: false
105
- }
106
- });
107
-
108
- this.stateManager = new StoreStateManagerSignalsService<CounterState>();
109
- this.stateManager.init(options);
110
-
111
- // Update signals when state changes
112
- this.updateSignals();
113
- }
114
-
115
- private updateSignals() {
116
- const state = this.stateManager.data();
117
- if (state) {
118
- this.stateJson.set(JSON.stringify(state, null, 2));
119
- this.historyLength.set(state.history.length);
120
- this.history.set([...state.history]);
121
- }
122
- }
123
-
124
- increment() {
125
- const current = this.stateManager.data();
126
- if (current) {
127
- this.stateManager.updateState({
128
- count: current.count + 1,
129
- lastUpdated: new Date().toISOString()
130
- });
131
- this.updateSignals();
132
- }
133
- }
134
-
135
- decrement() {
136
- const current = this.stateManager.data();
137
- if (current) {
138
- this.stateManager.updateState({
139
- count: current.count - 1,
140
- lastUpdated: new Date().toISOString()
141
- });
142
- this.updateSignals();
143
- }
144
- }
145
-
146
- reset() {
147
- this.stateManager.resetState();
148
- this.updateSignals();
149
- }
150
-
151
- addToHistory() {
152
- const current = this.stateManager.data();
153
- if (current) {
154
- this.stateManager.updateState({
155
- history: [...current.history, current.count],
156
- lastUpdated: new Date().toISOString()
157
- });
158
- this.updateSignals();
159
- }
160
- }
161
- }
@@ -1 +0,0 @@
1
- export * from './upload-state.model'