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,574 +0,0 @@
1
- # SQL DexieJS Service
2
-
3
- `DexieSqlService` lets you query an IndexedDB database managed by `DatabaseManagerService` using familiar MySQL-syntax SQL strings. Queries are parsed at runtime, validated against the live schema, translated into a Dexie.js execution plan, and returned as an `Observable<any[]>`.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [Installation](#installation)
9
- - [Quick Start](#quick-start)
10
- - [API Reference](#api-reference)
11
- - [DexieSqlService](#dexiesqlservice)
12
- - [DexieSqlOptions](#dexiesqloptions)
13
- - [Error Types](#error-types)
14
- - [SQL Feature Reference](#sql-feature-reference)
15
- - [SELECT & Projection](#select--projection)
16
- - [WHERE — Comparison Operators](#where--comparison-operators)
17
- - [WHERE — IN / NOT IN](#where--in--not-in)
18
- - [WHERE — BETWEEN](#where--between)
19
- - [WHERE — LIKE](#where--like)
20
- - [AND Conditions](#and-conditions)
21
- - [OR Conditions](#or-conditions)
22
- - [ORDER BY](#order-by)
23
- - [LIMIT & OFFSET](#limit--offset)
24
- - [DISTINCT](#distinct)
25
- - [COUNT(*)](#count)
26
- - [JOIN (INNER & LEFT)](#join-inner--left)
27
- - [Execution Plans](#execution-plans)
28
- - [Constraints & Limitations](#constraints--limitations)
29
- - [Examples](#examples)
30
- - [Component injection](#component-injection)
31
- - [Basic SELECT](#basic-select)
32
- - [Filtering with WHERE](#filtering-with-where)
33
- - [Multi-column AND](#multi-column-and)
34
- - [IN / NOT IN lists](#in--not-in-lists)
35
- - [BETWEEN range](#between-range)
36
- - [LIKE prefix search](#like-prefix-search)
37
- - [OR branching](#or-branching)
38
- - [ORDER BY + LIMIT](#order-by--limit)
39
- - [Pagination with OFFSET](#pagination-with-offset)
40
- - [DISTINCT rows](#distinct-rows)
41
- - [COUNT(*)](#count-rows)
42
- - [INNER JOIN](#inner-join)
43
- - [LEFT JOIN](#left-join)
44
- - [Strict mode](#strict-mode)
45
- - [Error handling](#error-handling)
46
-
47
- ---
48
-
49
- ## Overview
50
-
51
- The service is a three-stage pipeline:
52
-
53
- ```
54
- SQL string
55
- ↓ SqlParser — parses SQL using node-sql-parser (MySQL dialect)
56
- ↓ SchemaValidator — validates all columns against the live DexieJS schema
57
- ↓ QueryPlanner — builds an ExecutionPlan matched to the available indexes
58
- ↓ DexieQueryExecutor — runs the plan against IndexedDB via Dexie.js
59
- Observable<any[]>
60
- ```
61
-
62
- Because IndexedDB supports only one index per query, the planner selects the best strategy automatically:
63
-
64
- | Strategy | When used |
65
- |---|---|
66
- | `SIMPLE` | No WHERE, or a single-column condition |
67
- | `AND_BOUNDED` | AND with no matching compound index — first column uses Dexie, rest filtered in JS |
68
- | `AND_COMPOUND` | AND whose columns exactly match a compound index `[a+b]` |
69
- | `OR_MERGE` | OR — each branch runs independently, results are deduplicated |
70
- | `JOIN_HASH` | Two-table JOIN — left scan + indexed right lookup + JS hash join |
71
-
72
- ---
73
-
74
- ## Installation
75
-
76
- The service is included in the `http-request-manager` library. No extra setup is required beyond the standard module import. `node-sql-parser` is listed as a peer dependency.
77
-
78
- ```typescript
79
- // app.module.ts
80
- import { HttpRequestManagerModule } from 'http-request-manager';
81
-
82
- @NgModule({
83
- imports: [
84
- HttpRequestManagerModule.forRoot({ /* ... */ })
85
- ]
86
- })
87
- export class AppModule {}
88
- ```
89
-
90
- The tables you query must first exist in the DexieJS database. Use `DatabaseManagerService.createDatabaseTable()` to define them before issuing SQL queries.
91
-
92
- ---
93
-
94
- ## Quick Start
95
-
96
- ```typescript
97
- import { Component, inject } from '@angular/core';
98
- import { DexieSqlService } from 'http-request-manager';
99
-
100
- @Component({ /* ... */ })
101
- export class MyComponent {
102
- private sql = inject(DexieSqlService);
103
-
104
- loadData() {
105
- this.sql.query('SELECT * FROM orders WHERE status = "open"')
106
- .subscribe(rows => console.log(rows));
107
- }
108
- }
109
- ```
110
-
111
- ---
112
-
113
- ## API Reference
114
-
115
- ### DexieSqlService
116
-
117
- #### `query(sql: string, options?: DexieSqlOptions): Observable<any[]>`
118
-
119
- Executes a SQL SELECT statement against the DexieJS IndexedDB database.
120
-
121
- | Parameter | Type | Description |
122
- |---|---|---|
123
- | `sql` | `string` | MySQL-syntax SELECT statement |
124
- | `options` | `DexieSqlOptions` | Optional execution options (see below) |
125
-
126
- Returns an `Observable<any[]>` that:
127
- - **emits once** with the result array, then completes
128
- - **errors** with `SqlParseError` if the SQL cannot be parsed
129
- - **errors** with `SqlValidationError` if columns reference non-indexed fields, tables don't exist, or the query shape is unsupported
130
-
131
- ---
132
-
133
- ### DexieSqlOptions
134
-
135
- ```typescript
136
- export interface DexieSqlOptions {
137
- strict?: boolean;
138
- }
139
- ```
140
-
141
- | Option | Default | Description |
142
- |---|---|---|
143
- | `strict` | `false` | When `true`, AND queries without a matching compound index throw `SqlValidationError` instead of silently falling back to a JS-side filter |
144
-
145
- ---
146
-
147
- ### Error Types
148
-
149
- Both errors extend `Error` and have a typed `name` property for `instanceof` checks.
150
-
151
- #### `SqlParseError`
152
-
153
- Thrown when the SQL string cannot be parsed or is not a SELECT statement.
154
-
155
- ```typescript
156
- import { SqlParseError } from 'http-request-manager';
157
-
158
- this.sql.query('DELETE FROM users').subscribe({
159
- error: err => {
160
- if (err instanceof SqlParseError) {
161
- // only SELECT is supported
162
- }
163
- }
164
- });
165
- ```
166
-
167
- #### `SqlValidationError`
168
-
169
- Thrown when the query is structurally valid SQL but cannot be executed against the DexieJS schema — for example, a column is not indexed, a table does not exist, or a LIKE pattern starts with `%`.
170
-
171
- ```typescript
172
- import { SqlValidationError } from 'http-request-manager';
173
-
174
- this.sql.query('SELECT * FROM orders WHERE note LIKE "%text"').subscribe({
175
- error: err => {
176
- if (err instanceof SqlValidationError) {
177
- // leading-wildcard LIKE is not supported
178
- }
179
- }
180
- });
181
- ```
182
-
183
- ---
184
-
185
- ## SQL Feature Reference
186
-
187
- ### SELECT & Projection
188
-
189
- Select all columns or a specific subset.
190
-
191
- ```sql
192
- -- All columns
193
- SELECT * FROM orders
194
-
195
- -- Specific columns only
196
- SELECT id, name, amount FROM orders
197
- ```
198
-
199
- When specific columns are listed the result objects contain only those keys.
200
-
201
- ---
202
-
203
- ### WHERE — Comparison Operators
204
-
205
- | SQL operator | Dexie method |
206
- |---|---|
207
- | `=` | `.equals()` |
208
- | `!=` / `<>` | `.notEqual()` |
209
- | `>` | `.above()` |
210
- | `>=` | `.aboveOrEqual()` |
211
- | `<` | `.below()` |
212
- | `<=` | `.belowOrEqual()` |
213
-
214
- ```sql
215
- SELECT * FROM orders WHERE status = "open"
216
- SELECT * FROM products WHERE price > 100
217
- SELECT * FROM users WHERE age >= 18 AND age <= 65
218
- ```
219
-
220
- ---
221
-
222
- ### WHERE — IN / NOT IN
223
-
224
- ```sql
225
- SELECT * FROM orders WHERE status IN ("open", "pending", "processing")
226
- SELECT * FROM products WHERE category NOT IN ("archived", "hidden")
227
- ```
228
-
229
- Maps to `.anyOf([...])` and `.noneOf([...])` respectively.
230
-
231
- ---
232
-
233
- ### WHERE — BETWEEN
234
-
235
- ```sql
236
- SELECT * FROM transactions WHERE amount BETWEEN 50 AND 500
237
- SELECT * FROM events WHERE timestamp BETWEEN 1700000000 AND 1800000000
238
- ```
239
-
240
- Both bounds are **inclusive**. Maps to `.between(lo, hi, true, true)`.
241
-
242
- ---
243
-
244
- ### WHERE — LIKE
245
-
246
- Only **prefix** patterns are supported (`'value%'`). Leading wildcards (`'%value'`) and mid-string wildcards (`'v%lue'`) throw `SqlValidationError`.
247
-
248
- ```sql
249
- -- Supported: prefix match
250
- SELECT * FROM users WHERE last_name LIKE "Smi%"
251
-
252
- -- NOT supported — throws SqlValidationError
253
- SELECT * FROM users WHERE last_name LIKE "%ith"
254
- SELECT * FROM users WHERE last_name LIKE "%mit%"
255
- ```
256
-
257
- A pattern without any `%` is treated as an exact equality match.
258
-
259
- ---
260
-
261
- ### AND Conditions
262
-
263
- Multi-column AND queries are handled in two ways:
264
-
265
- **1. Compound index match** — if the table has a compound Dexie index matching all the AND columns exactly (e.g. `[status+userId]`), the query uses that index directly with no JS filtering.
266
-
267
- **2. Pragmatic fallback (default)** — the first column uses Dexie's index; remaining columns are filtered in JavaScript. A `console.warn` is printed suggesting the compound index to add. Enable `strict: true` to throw instead.
268
-
269
- ```sql
270
- SELECT * FROM orders WHERE status = "open" AND userId = 42
271
- ```
272
-
273
- ---
274
-
275
- ### OR Conditions
276
-
277
- Each OR branch runs as a separate Dexie query. Results are merged and deduplicated by primary key.
278
-
279
- ```sql
280
- SELECT * FROM orders WHERE status = "open" OR status = "pending"
281
- ```
282
-
283
- ---
284
-
285
- ### ORDER BY
286
-
287
- ```sql
288
- SELECT * FROM orders ORDER BY createdAt DESC
289
- SELECT * FROM products ORDER BY price ASC
290
- ```
291
-
292
- Sorting is applied in JavaScript after the Dexie fetch. Only a single `ORDER BY` column is supported.
293
-
294
- ---
295
-
296
- ### LIMIT & OFFSET
297
-
298
- ```sql
299
- SELECT * FROM orders LIMIT 10
300
- SELECT * FROM orders LIMIT 10 OFFSET 20
301
- ```
302
-
303
- Applied after sorting. `OFFSET` skips the first N rows before applying the limit.
304
-
305
- ---
306
-
307
- ### DISTINCT
308
-
309
- ```sql
310
- SELECT DISTINCT status FROM orders
311
- SELECT DISTINCT category, brand FROM products
312
- ```
313
-
314
- Deduplication is performed in JavaScript using `JSON.stringify` on each projected row object.
315
-
316
- ---
317
-
318
- ### COUNT(*)
319
-
320
- Returns a single-element array `[{ count: N }]`.
321
-
322
- ```sql
323
- SELECT COUNT(*) FROM orders
324
- SELECT COUNT(*) FROM orders WHERE status = "open"
325
- ```
326
-
327
- ---
328
-
329
- ### JOIN (INNER & LEFT)
330
-
331
- Two-table hash join executed entirely in JavaScript:
332
-
333
- 1. Full scan of the left table
334
- 2. Extract foreign key values
335
- 3. Dexie `.anyOf(ids)` on the right table's join key (must be indexed)
336
- 4. Hash join in memory
337
- 5. Post-join WHERE filters applied
338
-
339
- ```sql
340
- -- INNER JOIN (excludes left rows with no match)
341
- SELECT * FROM orders INNER JOIN users ON orders.userId = users.id
342
-
343
- -- LEFT JOIN (left rows kept even with no matching right row)
344
- SELECT * FROM orders LEFT JOIN users ON orders.userId = users.id
345
- ```
346
-
347
- Table aliases are supported:
348
-
349
- ```sql
350
- SELECT * FROM orders o LEFT JOIN users u ON o.userId = u.id
351
- ```
352
-
353
- ---
354
-
355
- ## Execution Plans
356
-
357
- The planner assigns one of these strategies, visible in the exported `ExecutionPlanType` enum:
358
-
359
- | Plan | Description |
360
- |---|---|
361
- | `SIMPLE` | Single Dexie `.where().op()` or full table scan |
362
- | `AND_BOUNDED` | First condition indexed, rest JS-filtered |
363
- | `AND_COMPOUND` | All conditions covered by a compound index |
364
- | `OR_MERGE` | Multiple independent Dexie queries, deduped |
365
- | `JOIN_HASH` | Left scan + indexed right `.anyOf()` + JS merge |
366
-
367
- ---
368
-
369
- ## Constraints & Limitations
370
-
371
- | Constraint | Detail |
372
- |---|---|
373
- | **SELECT only** | INSERT, UPDATE, DELETE are not supported |
374
- | **One table or two-table JOIN** | Sub-queries are not supported |
375
- | **Indexed columns only in WHERE** | Only columns registered as Dexie indexes can appear in WHERE or ORDER BY |
376
- | **Single ORDER BY column** | Only the first `ORDER BY` expression is used |
377
- | **LIKE leading wildcard** | `'%value'` patterns throw `SqlValidationError` |
378
- | **IndexedDB one-index limit** | AND without a compound index falls back to JS filtering for columns beyond the first |
379
- | **MySQL dialect** | The parser uses MySQL syntax; other dialects may work but are not tested |
380
-
381
- ---
382
-
383
- ## Examples
384
-
385
- ### Component injection
386
-
387
- ```typescript
388
- import { Component, inject } from '@angular/core';
389
- import { DexieSqlService, SqlParseError, SqlValidationError } from 'http-request-manager';
390
-
391
- @Component({ /* ... */ })
392
- export class ExampleComponent {
393
- private sql = inject(DexieSqlService);
394
- }
395
- ```
396
-
397
- ---
398
-
399
- ### Basic SELECT
400
-
401
- ```typescript
402
- this.sql.query('SELECT * FROM products')
403
- .subscribe(rows => console.log(rows));
404
- ```
405
-
406
- ---
407
-
408
- ### Filtering with WHERE
409
-
410
- ```typescript
411
- this.sql.query('SELECT * FROM orders WHERE status = "open"')
412
- .subscribe(rows => this.openOrders = rows);
413
- ```
414
-
415
- ```typescript
416
- this.sql.query('SELECT id, name, price FROM products WHERE price > 50')
417
- .subscribe(rows => this.expensiveProducts = rows);
418
- ```
419
-
420
- ---
421
-
422
- ### Multi-column AND
423
-
424
- ```typescript
425
- // Pragmatic fallback (console.warn printed, no error)
426
- this.sql.query('SELECT * FROM orders WHERE status = "open" AND userId = 42')
427
- .subscribe(rows => this.userOrders = rows);
428
-
429
- // If the table has a compound index [status+userId], no fallback occurs
430
- this.sql.query(
431
- 'SELECT * FROM orders WHERE status = "open" AND userId = 42',
432
- { strict: false }
433
- ).subscribe(rows => this.userOrders = rows);
434
- ```
435
-
436
- ---
437
-
438
- ### IN / NOT IN lists
439
-
440
- ```typescript
441
- this.sql.query('SELECT * FROM orders WHERE status IN ("open", "pending")')
442
- .subscribe(rows => this.activeOrders = rows);
443
-
444
- this.sql.query('SELECT * FROM products WHERE category NOT IN ("archived")')
445
- .subscribe(rows => this.visibleProducts = rows);
446
- ```
447
-
448
- ---
449
-
450
- ### BETWEEN range
451
-
452
- ```typescript
453
- this.sql.query('SELECT * FROM transactions WHERE amount BETWEEN 100 AND 999')
454
- .subscribe(rows => this.midRangeTransactions = rows);
455
- ```
456
-
457
- ---
458
-
459
- ### LIKE prefix search
460
-
461
- ```typescript
462
- this.sql.query('SELECT * FROM users WHERE last_name LIKE "Smi%"')
463
- .subscribe(rows => this.smiths = rows);
464
- ```
465
-
466
- ---
467
-
468
- ### OR branching
469
-
470
- ```typescript
471
- this.sql.query('SELECT * FROM orders WHERE status = "open" OR status = "pending"')
472
- .subscribe(rows => this.pendingOrders = rows);
473
- ```
474
-
475
- ---
476
-
477
- ### ORDER BY + LIMIT
478
-
479
- ```typescript
480
- this.sql.query('SELECT * FROM orders ORDER BY createdAt DESC LIMIT 5')
481
- .subscribe(rows => this.latestOrders = rows);
482
- ```
483
-
484
- ---
485
-
486
- ### Pagination with OFFSET
487
-
488
- ```typescript
489
- const page = 2;
490
- const pageSize = 10;
491
-
492
- this.sql.query(`SELECT * FROM products ORDER BY name ASC LIMIT ${pageSize} OFFSET ${page * pageSize}`)
493
- .subscribe(rows => this.pageRows = rows);
494
- ```
495
-
496
- ---
497
-
498
- ### DISTINCT rows
499
-
500
- ```typescript
501
- this.sql.query('SELECT DISTINCT status FROM orders')
502
- .subscribe(rows => this.statuses = rows.map(r => r['status']));
503
- ```
504
-
505
- ---
506
-
507
- ### COUNT rows
508
-
509
- ```typescript
510
- this.sql.query('SELECT COUNT(*) FROM orders WHERE status = "open"')
511
- .subscribe(([result]) => this.openCount = result.count);
512
- ```
513
-
514
- ---
515
-
516
- ### INNER JOIN
517
-
518
- ```typescript
519
- this.sql.query(
520
- 'SELECT * FROM orders INNER JOIN users ON orders.userId = users.id'
521
- ).subscribe(rows => this.enrichedOrders = rows);
522
- ```
523
-
524
- ---
525
-
526
- ### LEFT JOIN
527
-
528
- ```typescript
529
- this.sql.query(
530
- 'SELECT * FROM orders LEFT JOIN users ON orders.userId = users.id'
531
- ).subscribe(rows => {
532
- // rows without a matching user will still appear; user fields will be undefined
533
- this.allOrders = rows;
534
- });
535
- ```
536
-
537
- ---
538
-
539
- ### Strict mode
540
-
541
- ```typescript
542
- // Throws SqlValidationError for AND without a compound index
543
- this.sql.query(
544
- 'SELECT * FROM orders WHERE status = "open" AND amount > 100',
545
- { strict: true }
546
- ).subscribe({
547
- next: rows => this.results = rows,
548
- error: err => this.error = err.message
549
- });
550
- ```
551
-
552
- ---
553
-
554
- ### Error handling
555
-
556
- ```typescript
557
- import { SqlParseError, SqlValidationError } from 'http-request-manager';
558
-
559
- this.sql.query(this.userInput).subscribe({
560
- next: rows => {
561
- this.results = rows;
562
- this.error = null;
563
- },
564
- error: err => {
565
- if (err instanceof SqlParseError) {
566
- this.error = `Invalid SQL: ${err.message}`;
567
- } else if (err instanceof SqlValidationError) {
568
- this.error = `Query error: ${err.message}`;
569
- } else {
570
- this.error = `Unexpected error: ${err.message}`;
571
- }
572
- }
573
- });
574
- ```