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.
- package/fesm2022/http-request-manager.mjs +13688 -0
- package/fesm2022/http-request-manager.mjs.map +1 -0
- package/http-request-manager-18.16.0.tgz +0 -0
- package/package.json +15 -6
- package/types/http-request-manager.d.ts +3968 -0
- package/TEST_COVERAGE_SUMMARY.md +0 -458
- package/ng-package.json +0 -8
- package/src/docs/ADVANCED_WEBSOCKET.md +0 -633
- package/src/docs/ARCHITECTURE.md +0 -633
- package/src/docs/BATCH_REQUEST_README.md +0 -467
- package/src/docs/COMPLETE_API_REFERENCE.md +0 -1037
- package/src/docs/DATABASE_README.md +0 -1195
- package/src/docs/ENCRYPTION_README.md +0 -403
- package/src/docs/HTTP_MANAGER_README.md +0 -628
- package/src/docs/HTTP_SINGNALS_MANAGER_README.md +0 -654
- package/src/docs/HTTP_STATE_MANAGER_README.md +0 -1391
- package/src/docs/INTERCEPTOR_README.md +0 -549
- package/src/docs/LOCAL_STORAGE_README.md +0 -1056
- package/src/docs/LOCAL_STORAGE_SIGNALS_README.md +0 -338
- package/src/docs/LOGGER_README.md +0 -310
- package/src/docs/MESSAGE_TRACKER_README.md +0 -518
- package/src/docs/MESSAGE_TRACKER_SIGNALS_README.md +0 -563
- package/src/docs/MODELS_README.md +0 -1264
- package/src/docs/SIGNAL_SERVICES_README.md +0 -238
- package/src/docs/SQL_DIXIE_README.md +0 -574
- package/src/docs/STORE_STATE_MANAGER_README.md +0 -556
- package/src/docs/STORE_STATE_SIGNALS_README.md +0 -600
- package/src/docs/UPLOAD_REQUEST_README.md +0 -324
- package/src/docs/UTILS_README.md +0 -1604
- package/src/docs/WEBSOCKET_MESSAGE_SERVICE.md +0 -799
- package/src/docs/WEBSOCKET_SIGNALS_README.md +0 -641
- package/src/docs/WEBSOCKET_SINGLETON_REFACTORING.md +0 -201
- package/src/docs/WS_MANAGER_README.md +0 -613
- package/src/lib/http-request-manager.module.ts +0 -147
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -116
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -255
- package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -123
- package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
- package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -53
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -208
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +0 -200
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +0 -17
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +0 -214
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.html +0 -53
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.scss +0 -60
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.ts +0 -72
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-download.module.ts +0 -28
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.html +0 -10
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.scss +0 -29
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.ts +0 -100
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/models/download-labels-model.ts +0 -22
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.html +0 -8
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.scss +0 -19
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.ts +0 -26
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app-session.model.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app.model.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/get-sample.model.ts +0 -25
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-ai-prompt.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-details.ts +0 -24
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-info.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client.model.ts +0 -49
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-mapper-client-info.ts +0 -33
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.html +0 -279
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.scss +0 -24
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.ts +0 -461
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -100
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
- package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -622
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -106
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -687
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -418
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -576
- package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -89
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +0 -119
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +0 -3
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +0 -16
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +0 -3
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +0 -16
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +0 -31
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +0 -94
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +0 -41
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +0 -203
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +0 -144
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +0 -11
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +0 -102
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +0 -40
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +0 -230
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +0 -30
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +0 -172
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +0 -31
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +0 -239
- package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +0 -31
- package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +0 -32
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +0 -84
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +0 -40
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +0 -3
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/jwt-token.service.ts +0 -62
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +0 -83
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +0 -147
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +0 -168
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +0 -28
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +0 -10
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +0 -29
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +0 -100
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +0 -30
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +0 -19
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +0 -25
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +0 -19
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +0 -24
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +0 -30
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +0 -49
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +0 -33
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +0 -380
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +0 -24
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +0 -410
- package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +0 -28
- package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +0 -49
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +0 -23
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +0 -36
- package/src/lib/http-request-services-demo/store-state-signals-demo/store-state-signals-demo.component.ts +0 -161
- package/src/lib/http-request-services-demo/upload-demo/models/index.ts +0 -1
- package/src/lib/http-request-services-demo/upload-demo/models/upload-state.model.ts +0 -30
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.html +0 -89
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.scss +0 -160
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.spec.ts +0 -101
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.ts +0 -136
- package/src/lib/index.ts +0 -3
- package/src/lib/interceptors/credentials.interceptor.ts +0 -16
- package/src/lib/interceptors/index.ts +0 -6
- package/src/lib/interceptors/models/error-settings.model.ts +0 -22
- package/src/lib/interceptors/models/index.ts +0 -2
- package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
- package/src/lib/interceptors/request-error.interceptor.ts +0 -65
- package/src/lib/interceptors/request-header.interceptor.ts +0 -56
- package/src/lib/message-display/README.md +0 -509
- package/src/lib/message-display/index.ts +0 -4
- package/src/lib/message-display/models/action.model.ts +0 -27
- package/src/lib/message-display/models/communication-message.model.ts +0 -77
- package/src/lib/message-display/models/display-config.model.ts +0 -35
- package/src/lib/message-display/models/display-rule.interface.ts +0 -28
- package/src/lib/message-display/models/display-strategy.interface.ts +0 -8
- package/src/lib/message-display/models/index.ts +0 -6
- package/src/lib/message-display/models/slide.model.ts +0 -24
- package/src/lib/message-display/rules/default-display-rules.ts +0 -35
- package/src/lib/message-display/services/message-display-router.service.ts +0 -63
- package/src/lib/message-display/strategies/snackbar.strategy.ts +0 -46
- package/src/lib/models/batch-options.model.ts +0 -33
- package/src/lib/models/batch-progress.model.ts +0 -19
- package/src/lib/models/batch-request-state.model.ts +0 -40
- package/src/lib/models/batch-result.model.ts +0 -30
- package/src/lib/models/config-http-options.model.ts +0 -45
- package/src/lib/models/config-local-storage-options.model.ts +0 -27
- package/src/lib/models/config-options.model.ts +0 -27
- package/src/lib/models/config-token.model.ts +0 -9
- package/src/lib/models/data-type.enum.ts +0 -5
- package/src/lib/models/database-storage.model.ts +0 -24
- package/src/lib/models/index.ts +0 -16
- package/src/lib/models/retry-options.model.ts +0 -22
- package/src/lib/models/upload-validation-error.model.ts +0 -46
- package/src/lib/services/SQL-DixieJS service/dexie-query-executor.ts +0 -246
- package/src/lib/services/SQL-DixieJS service/dexie-sql.service.ts +0 -31
- package/src/lib/services/SQL-DixieJS service/index.ts +0 -4
- package/src/lib/services/SQL-DixieJS service/models/execution-plan.model.ts +0 -52
- package/src/lib/services/SQL-DixieJS service/models/index.ts +0 -3
- package/src/lib/services/SQL-DixieJS service/models/sql-errors.model.ts +0 -13
- package/src/lib/services/SQL-DixieJS service/models/sql-options.model.ts +0 -3
- package/src/lib/services/SQL-DixieJS service/query-planner.ts +0 -284
- package/src/lib/services/SQL-DixieJS service/schema-validator.ts +0 -217
- package/src/lib/services/SQL-DixieJS service/sql-parser.ts +0 -35
- package/src/lib/services/database-manager-service/database.manager.service.ts +0 -384
- package/src/lib/services/database-manager-service/db.storage.service.ts +0 -240
- package/src/lib/services/database-manager-service/index.ts +0 -4
- package/src/lib/services/database-manager-service/models/index.ts +0 -2
- package/src/lib/services/database-manager-service/models/table-schema.ts +0 -33
- package/src/lib/services/index.ts +0 -20
- package/src/lib/services/local-storage-manager-service/index.ts +0 -4
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -567
- package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +0 -67
- package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +0 -437
- package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
- package/src/lib/services/local-storage-manager-service/models/index.ts +0 -6
- package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -35
- package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
- package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -32
- package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
- package/src/lib/services/request-manager-services/README.md +0 -282
- package/src/lib/services/request-manager-services/http-manager-signals.service.ts +0 -674
- package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -353
- package/src/lib/services/request-manager-services/http-manager.service.ts +0 -727
- package/src/lib/services/request-manager-services/index.ts +0 -8
- package/src/lib/services/request-manager-services/request-signals.service.ts +0 -372
- package/src/lib/services/request-manager-services/request.service.ts +0 -435
- package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
- package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
- package/src/lib/services/request-manager-services/rxjs-operators/index.ts +0 -4
- package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -35
- package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -468
- package/src/lib/services/request-manager-state-service/http-manager-state.store.spec.ts +0 -665
- package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -2395
- package/src/lib/services/request-manager-state-service/index.ts +0 -3
- package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -86
- package/src/lib/services/request-manager-state-service/models/index.ts +0 -14
- package/src/lib/services/request-manager-state-service/models/operation-result.model.ts +0 -18
- package/src/lib/services/request-manager-state-service/models/parsing-result.model.ts +0 -21
- package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -37
- package/src/lib/services/request-manager-state-service/models/stream-config.model.ts +0 -20
- package/src/lib/services/request-manager-state-service/models/stream-event-metadata.model.ts +0 -23
- package/src/lib/services/request-manager-state-service/models/stream-event.model.ts +0 -23
- package/src/lib/services/request-manager-state-service/models/stream-output.model.ts +0 -23
- package/src/lib/services/request-manager-state-service/models/stream-progress.model.ts +0 -24
- package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +0 -13
- package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +0 -42
- package/src/lib/services/store-state-manager-service/index.ts +0 -4
- package/src/lib/services/store-state-manager-service/models/index.ts +0 -3
- package/src/lib/services/store-state-manager-service/models/state-operation-result.model.ts +0 -30
- package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +0 -24
- package/src/lib/services/store-state-manager-service/store-state-manager-signals.service.ts +0 -169
- package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +0 -153
- package/src/lib/services/utils/app.service.spec.ts +0 -25
- package/src/lib/services/utils/app.service.ts +0 -21
- package/src/lib/services/utils/encryption/README.md +0 -79
- package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
- package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
- package/src/lib/services/utils/encryption/index.ts +0 -5
- package/src/lib/services/utils/encryption/random.ts +0 -81
- package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -106
- package/src/lib/services/utils/headers.service.spec.ts +0 -80
- package/src/lib/services/utils/headers.service.ts +0 -18
- package/src/lib/services/utils/index.ts +0 -9
- package/src/lib/services/utils/logger.service.ts +0 -90
- package/src/lib/services/utils/models/index.ts +0 -4
- package/src/lib/services/utils/models/normalized-request-options.model.ts +0 -24
- package/src/lib/services/utils/models/path-tracker-state.model.ts +0 -20
- package/src/lib/services/utils/models/query-params-tracker-options.model.ts +0 -24
- package/src/lib/services/utils/models/query-tracker-state.model.ts +0 -23
- package/src/lib/services/utils/object-merger.service.spec.ts +0 -18
- package/src/lib/services/utils/object-merger.service.ts +0 -78
- package/src/lib/services/utils/path-query.service.spec.ts +0 -117
- package/src/lib/services/utils/path-query.service.ts +0 -69
- package/src/lib/services/utils/query-params-tracker.service.ts +0 -442
- package/src/lib/services/utils/random-color.utils.ts +0 -83
- package/src/lib/services/utils/utils.service.spec.ts +0 -165
- package/src/lib/services/utils/utils.service.ts +0 -192
- package/src/lib/services/ws-manager-service/index.ts +0 -13
- package/src/lib/services/ws-manager-service/message-tracker-signals.service.ts +0 -147
- package/src/lib/services/ws-manager-service/message-tracker.service.ts +0 -477
- package/src/lib/services/ws-manager-service/models/channel-info.model.ts +0 -29
- package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +0 -24
- package/src/lib/services/ws-manager-service/models/channel-message.model.ts +0 -36
- package/src/lib/services/ws-manager-service/models/channel-type.enum.ts +0 -6
- package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +0 -5
- package/src/lib/services/ws-manager-service/models/index.ts +0 -10
- package/src/lib/services/ws-manager-service/models/notification-message.model.ts +0 -29
- package/src/lib/services/ws-manager-service/models/public-message.model.ts +0 -18
- package/src/lib/services/ws-manager-service/models/state-message.model.ts +0 -18
- package/src/lib/services/ws-manager-service/models/ws-user.model.ts +0 -38
- package/src/lib/services/ws-manager-service/services/index.ts +0 -4
- package/src/lib/services/ws-manager-service/services/websocket-message.service.ts +0 -129
- package/src/lib/services/ws-manager-service/services/websocket.service.ts +0 -434
- package/src/lib/services/ws-manager-service/websocket-service/index.ts +0 -1
- package/src/lib/services/ws-manager-service/websocket-service/websocket-manager.service.ts +0 -716
- package/src/lib/services/ws-manager-service/websocket-services-complete.spec.ts +0 -596
- package/src/lib/services/ws-manager-service/websocket-signals-manager.service.ts +0 -141
- package/src/public-api.ts +0 -19
- package/tsconfig.lib.json +0 -34
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
# Local Storage Signals Manager Service
|
|
2
|
-
|
|
3
|
-
The `LocalStorageSignalsManagerService` provides signal-based local and session storage management with encryption, expiration, and automatic persistence for Angular 19+ applications.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
This service is the signal-based alternative to `LocalStorageManagerService`. The public API is **store-based**: you create named stores, read them through computed signals, and update them by replacing store data. It does **not** expose a per-key `signal()` / `setSignal()` helper API.
|
|
8
|
-
|
|
9
|
-
### Key Features
|
|
10
|
-
|
|
11
|
-
- Signal-first selectors via `store(name)`, `stores`, `setting(name)`, and `settings`
|
|
12
|
-
- Automatic persistence to `localStorage` or `sessionStorage`
|
|
13
|
-
- Optional encryption for sensitive store data
|
|
14
|
-
- Expiration support with automatic cleanup
|
|
15
|
-
- Compatible with store-oriented app state such as preferences, sessions, and carts
|
|
16
|
-
|
|
17
|
-
## Installation
|
|
18
|
-
|
|
19
|
-
```typescript
|
|
20
|
-
import { HttpRequestManagerModule } from 'http-request-manager';
|
|
21
|
-
|
|
22
|
-
@NgModule({
|
|
23
|
-
imports: [
|
|
24
|
-
HttpRequestManagerModule.forRoot({
|
|
25
|
-
LocalStorageOptions: {
|
|
26
|
-
storageName: 'my-app-data',
|
|
27
|
-
storageSettingsName: 'my-app-settings',
|
|
28
|
-
options: {
|
|
29
|
-
encrypted: false,
|
|
30
|
-
expiresIn: '7d'
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
})
|
|
34
|
-
]
|
|
35
|
-
})
|
|
36
|
-
export class AppModule {}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Basic Usage
|
|
40
|
-
|
|
41
|
-
### Preferences Store Example
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
import { Component, computed, inject } from '@angular/core';
|
|
45
|
-
import {
|
|
46
|
-
LocalStorageSignalsManagerService,
|
|
47
|
-
StorageType
|
|
48
|
-
} from 'http-request-manager';
|
|
49
|
-
|
|
50
|
-
interface PreferencesState {
|
|
51
|
-
theme: 'light' | 'dark' | 'auto';
|
|
52
|
-
language: string;
|
|
53
|
-
notifications: boolean;
|
|
54
|
-
lastUpdated: string;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const defaultPreferences = (): PreferencesState => ({
|
|
58
|
-
theme: 'light',
|
|
59
|
-
language: 'en',
|
|
60
|
-
notifications: true,
|
|
61
|
-
lastUpdated: new Date().toISOString()
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
@Component({
|
|
65
|
-
selector: 'app-user-preferences',
|
|
66
|
-
template: `
|
|
67
|
-
<div>
|
|
68
|
-
<p>Theme: {{ theme() }}</p>
|
|
69
|
-
<p>Language: {{ language() }}</p>
|
|
70
|
-
<p>Notifications: {{ notifications() ? 'On' : 'Off' }}</p>
|
|
71
|
-
<button (click)="setTheme('dark')">Dark</button>
|
|
72
|
-
<button (click)="setTheme('light')">Light</button>
|
|
73
|
-
</div>
|
|
74
|
-
`
|
|
75
|
-
})
|
|
76
|
-
export class UserPreferencesComponent {
|
|
77
|
-
private storage = inject(LocalStorageSignalsManagerService);
|
|
78
|
-
private readonly storeName = 'user-preferences';
|
|
79
|
-
|
|
80
|
-
preferencesStore = this.storage.store(this.storeName);
|
|
81
|
-
|
|
82
|
-
preferences = computed(
|
|
83
|
-
() => this.preferencesStore() ?? defaultPreferences()
|
|
84
|
-
);
|
|
85
|
-
|
|
86
|
-
theme = computed(() => this.preferences().theme);
|
|
87
|
-
language = computed(() => this.preferences().language);
|
|
88
|
-
notifications = computed(() => this.preferences().notifications);
|
|
89
|
-
|
|
90
|
-
constructor() {
|
|
91
|
-
if (!this.storage.storeExists(this.storeName)()) {
|
|
92
|
-
this.storage.createStore({
|
|
93
|
-
name: this.storeName,
|
|
94
|
-
data: defaultPreferences(),
|
|
95
|
-
options: {
|
|
96
|
-
storage: StorageType.GLOBAL,
|
|
97
|
-
encrypted: false,
|
|
98
|
-
expiresIn: '30d'
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
setTheme(theme: PreferencesState['theme']) {
|
|
105
|
-
const current = this.preferences();
|
|
106
|
-
|
|
107
|
-
this.storage.updateStore({
|
|
108
|
-
name: this.storeName,
|
|
109
|
-
data: {
|
|
110
|
-
...current,
|
|
111
|
-
theme,
|
|
112
|
-
lastUpdated: new Date().toISOString()
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## API Reference
|
|
120
|
-
|
|
121
|
-
### Store Mutators
|
|
122
|
-
|
|
123
|
-
#### `createStore(store: { name: string; data: any; options: SettingOptions })`
|
|
124
|
-
|
|
125
|
-
Creates a new named store if one does not already exist.
|
|
126
|
-
|
|
127
|
-
```typescript
|
|
128
|
-
storage.createStore({
|
|
129
|
-
name: 'user-settings',
|
|
130
|
-
data: { theme: 'light', language: 'en' },
|
|
131
|
-
options: {
|
|
132
|
-
storage: StorageType.GLOBAL,
|
|
133
|
-
encrypted: false,
|
|
134
|
-
expiresIn: '30d'
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
#### `setStore(store: { id: string; name: string; data: any; options: SettingOptions })`
|
|
140
|
-
|
|
141
|
-
Low-level setter for replacing a store entry using an explicit store id.
|
|
142
|
-
|
|
143
|
-
```typescript
|
|
144
|
-
storage.setStore({
|
|
145
|
-
id: 'abc123',
|
|
146
|
-
name: 'user-settings',
|
|
147
|
-
data: { theme: 'dark', language: 'fr' },
|
|
148
|
-
options: { storage: StorageType.GLOBAL }
|
|
149
|
-
});
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
#### `updateStore(store: { name: string; data: any })`
|
|
153
|
-
|
|
154
|
-
Replaces the stored data for an existing named store.
|
|
155
|
-
|
|
156
|
-
```typescript
|
|
157
|
-
storage.updateStore({
|
|
158
|
-
name: 'user-settings',
|
|
159
|
-
data: {
|
|
160
|
-
theme: 'dark',
|
|
161
|
-
language: 'fr'
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
#### `deleteStore(store: { name: string })`
|
|
167
|
-
|
|
168
|
-
Removes a named store.
|
|
169
|
-
|
|
170
|
-
```typescript
|
|
171
|
-
storage.deleteStore({ name: 'user-settings' });
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
#### `resetStore()`
|
|
175
|
-
|
|
176
|
-
Clears all managed stores and settings.
|
|
177
|
-
|
|
178
|
-
```typescript
|
|
179
|
-
storage.resetStore();
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Computed Selectors
|
|
183
|
-
|
|
184
|
-
#### `stores`
|
|
185
|
-
|
|
186
|
-
Returns all store settings as a computed signal.
|
|
187
|
-
|
|
188
|
-
```typescript
|
|
189
|
-
allStores = this.storage.stores;
|
|
190
|
-
allStores();
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
#### `store(name: string)`
|
|
194
|
-
|
|
195
|
-
Returns a computed signal for the named store's data.
|
|
196
|
-
|
|
197
|
-
```typescript
|
|
198
|
-
userSettings = this.storage.store('user-settings');
|
|
199
|
-
userSettings();
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
#### `settings`
|
|
203
|
-
|
|
204
|
-
Returns all store settings as a computed signal.
|
|
205
|
-
|
|
206
|
-
```typescript
|
|
207
|
-
settings = this.storage.settings;
|
|
208
|
-
settings();
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
#### `setting(name: string)`
|
|
212
|
-
|
|
213
|
-
Returns a computed signal for one store setting definition.
|
|
214
|
-
|
|
215
|
-
```typescript
|
|
216
|
-
setting = this.storage.setting('user-settings');
|
|
217
|
-
setting();
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
#### `storeExists(name: string)`
|
|
221
|
-
|
|
222
|
-
Returns a computed signal indicating whether a named store exists.
|
|
223
|
-
|
|
224
|
-
```typescript
|
|
225
|
-
exists = this.storage.storeExists('user-settings');
|
|
226
|
-
exists();
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
## Storage Options
|
|
230
|
-
|
|
231
|
-
### `SettingOptions`
|
|
232
|
-
|
|
233
|
-
```typescript
|
|
234
|
-
interface SettingOptions {
|
|
235
|
-
storage?: StorageType;
|
|
236
|
-
encrypted?: boolean;
|
|
237
|
-
expiresIn?: string;
|
|
238
|
-
expires?: number;
|
|
239
|
-
}
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### `StorageType`
|
|
243
|
-
|
|
244
|
-
```typescript
|
|
245
|
-
enum StorageType {
|
|
246
|
-
GLOBAL = 'global',
|
|
247
|
-
SESSION = 'session'
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
## Common Patterns
|
|
252
|
-
|
|
253
|
-
### Session Store
|
|
254
|
-
|
|
255
|
-
```typescript
|
|
256
|
-
storage.createStore({
|
|
257
|
-
name: 'session',
|
|
258
|
-
data: {
|
|
259
|
-
token: 'abc123',
|
|
260
|
-
userId: 'u-1'
|
|
261
|
-
},
|
|
262
|
-
options: {
|
|
263
|
-
storage: StorageType.SESSION,
|
|
264
|
-
encrypted: true,
|
|
265
|
-
expiresIn: '24h'
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
### Cart Store
|
|
271
|
-
|
|
272
|
-
```typescript
|
|
273
|
-
const cartStore = storage.store('cart');
|
|
274
|
-
|
|
275
|
-
storage.createStore({
|
|
276
|
-
name: 'cart',
|
|
277
|
-
data: [],
|
|
278
|
-
options: {
|
|
279
|
-
storage: StorageType.GLOBAL,
|
|
280
|
-
encrypted: false
|
|
281
|
-
}
|
|
282
|
-
});
|
|
283
|
-
|
|
284
|
-
const cartItems = computed(() => cartStore() ?? []);
|
|
285
|
-
|
|
286
|
-
function addItem(item: any) {
|
|
287
|
-
storage.updateStore({
|
|
288
|
-
name: 'cart',
|
|
289
|
-
data: [...cartItems(), item]
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
## Migration from the Observable Version
|
|
295
|
-
|
|
296
|
-
### Before
|
|
297
|
-
|
|
298
|
-
```typescript
|
|
299
|
-
private storage = inject(LocalStorageManagerService);
|
|
300
|
-
|
|
301
|
-
preferences$ = this.storage.store$('user-preferences');
|
|
302
|
-
|
|
303
|
-
savePreferences(data: any) {
|
|
304
|
-
this.storage.updateStore({
|
|
305
|
-
name: 'user-preferences',
|
|
306
|
-
data
|
|
307
|
-
});
|
|
308
|
-
}
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
### After
|
|
312
|
-
|
|
313
|
-
```typescript
|
|
314
|
-
private storage = inject(LocalStorageSignalsManagerService);
|
|
315
|
-
|
|
316
|
-
preferencesStore = this.storage.store('user-preferences');
|
|
317
|
-
preferences = computed(() => this.preferencesStore() ?? {});
|
|
318
|
-
|
|
319
|
-
savePreferences(data: any) {
|
|
320
|
-
this.storage.updateStore({
|
|
321
|
-
name: 'user-preferences',
|
|
322
|
-
data
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
## Notes
|
|
328
|
-
|
|
329
|
-
- The service restores persisted state during its own initialization. You do not need to call `retrieveState()` from consuming components.
|
|
330
|
-
- Use `updateStore()` when you want to replace a store's current payload with merged application state.
|
|
331
|
-
- Use encryption for tokens, session payloads, and sensitive user data.
|
|
332
|
-
|
|
333
|
-
## Related Documentation
|
|
334
|
-
|
|
335
|
-
- [Signal Services Index](./SIGNAL_SERVICES_README.md)
|
|
336
|
-
- [Non-Signal Local Storage](./LOCAL_STORAGE_README.md)
|
|
337
|
-
- [Encryption Guide](./ENCRYPTION_README.md)
|
|
338
|
-
- [Store State Signals](./STORE_STATE_SIGNALS_README.md)
|
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
# LoggerService
|
|
2
|
-
|
|
3
|
-
Centralized logging service for the `http-request-manager` library.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
The `LoggerService` provides controlled logging that automatically adapts based on the Angular build mode:
|
|
8
|
-
|
|
9
|
-
- **Development Mode**: Debug and info logs are enabled
|
|
10
|
-
- **Production Mode**: Only warnings and errors are logged
|
|
11
|
-
|
|
12
|
-
This ensures verbose logging during development while keeping production builds clean and performant.
|
|
13
|
-
|
|
14
|
-
## Features
|
|
15
|
-
|
|
16
|
-
- ✅ **Automatic Mode Detection**: Uses Angular's `isDevMode()` to determine logging behavior
|
|
17
|
-
- ✅ **No Configuration Required**: Works out of the box - consuming apps don't need to configure anything
|
|
18
|
-
- ✅ **Multiple Log Levels**: `debug`, `info`, `warn`, `error`
|
|
19
|
-
- ✅ **Context-Aware**: Each log includes a context identifier for easy filtering
|
|
20
|
-
- ✅ **Type-Safe**: Full TypeScript support
|
|
21
|
-
|
|
22
|
-
## Usage
|
|
23
|
-
|
|
24
|
-
### Inject the Service
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
import { LoggerService } from 'http-request-manager';
|
|
28
|
-
|
|
29
|
-
@Component({ ... })
|
|
30
|
-
export class MyComponent {
|
|
31
|
-
private logger = inject(LoggerService);
|
|
32
|
-
|
|
33
|
-
doSomething() {
|
|
34
|
-
this.logger.debug('MyComponent', 'Starting operation');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Log Levels
|
|
40
|
-
|
|
41
|
-
#### Debug (Development Only)
|
|
42
|
-
|
|
43
|
-
Use for detailed diagnostic information, state changes, connection events:
|
|
44
|
-
|
|
45
|
-
```typescript
|
|
46
|
-
this.logger.debug('WebSocket', 'Connected to server', {
|
|
47
|
-
server: 'ws://localhost:3000',
|
|
48
|
-
sessionId: 'abc123'
|
|
49
|
-
});
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
**Output in Dev Mode:**
|
|
53
|
-
```
|
|
54
|
-
[HTTP-MGR DEBUG] WebSocket: Connected to server { server: 'ws://localhost:3000', sessionId: 'abc123' }
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**Output in Prod Mode:**
|
|
58
|
-
```
|
|
59
|
-
(no output)
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
#### Info (Development Only)
|
|
63
|
-
|
|
64
|
-
Use for important operational messages and successful operations:
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
this.logger.info('HTTP', 'Request completed successfully', {
|
|
68
|
-
url: '/api/users',
|
|
69
|
-
status: 200,
|
|
70
|
-
duration: '125ms'
|
|
71
|
-
});
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**Output in Dev Mode:**
|
|
75
|
-
```
|
|
76
|
-
[HTTP-MGR INFO] HTTP: Request completed successfully { url: '/api/users', status: 200, duration: '125ms' }
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**Output in Prod Mode:**
|
|
80
|
-
```
|
|
81
|
-
(no output)
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
#### Warning (Always Shown)
|
|
85
|
-
|
|
86
|
-
Use for potential issues, deprecated usage, recoverable errors:
|
|
87
|
-
|
|
88
|
-
```typescript
|
|
89
|
-
this.logger.warn('Cache', 'Cache miss for key', { key: 'user_profile' });
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**Output (All Modes):**
|
|
93
|
-
```
|
|
94
|
-
[HTTP-MGR WARN] Cache: Cache miss for key { key: 'user_profile' }
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
#### Error (Always Shown)
|
|
98
|
-
|
|
99
|
-
Use for actual errors, failures, exceptions:
|
|
100
|
-
|
|
101
|
-
```typescript
|
|
102
|
-
this.logger.error('Database', 'Connection failed', error);
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
**Output (All Modes):**
|
|
106
|
-
```
|
|
107
|
-
[HTTP-MGR ERROR] Database: Connection failed Error: Connection timeout...
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Log Output Format
|
|
111
|
-
|
|
112
|
-
All logs follow a consistent format:
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
[HTTP-MGR <LEVEL>] <Context>: <Message> <Optional Data>
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
- **LEVEL**: DEBUG, INFO, WARN, or ERROR
|
|
119
|
-
- **Context**: Component, service, or feature name (e.g., 'WebSocket', 'HTTP', 'StateStore')
|
|
120
|
-
- **Message**: Descriptive message
|
|
121
|
-
- **Data**: Optional object with additional details
|
|
122
|
-
|
|
123
|
-
## When to Use Each Level
|
|
124
|
-
|
|
125
|
-
| Level | When to Use | Production Output |
|
|
126
|
-
|-------|-------------|-------------------|
|
|
127
|
-
| `debug` | Detailed diagnostics, state changes, connection events | ❌ Hidden |
|
|
128
|
-
| `info` | Successful operations, important milestones | ❌ Hidden |
|
|
129
|
-
| `warn` | Recoverable errors, deprecated usage, potential issues | ✅ Shown |
|
|
130
|
-
| `error` | Actual failures, exceptions, critical issues | ✅ Shown |
|
|
131
|
-
|
|
132
|
-
## Examples
|
|
133
|
-
|
|
134
|
-
### WebSocket Connection
|
|
135
|
-
|
|
136
|
-
```typescript
|
|
137
|
-
import { LoggerService } from 'http-request-manager';
|
|
138
|
-
|
|
139
|
-
@Injectable({ providedIn: 'root' })
|
|
140
|
-
export class MyWebSocketService {
|
|
141
|
-
private logger = inject(LoggerService);
|
|
142
|
-
|
|
143
|
-
connect(url: string) {
|
|
144
|
-
this.logger.debug('WebSocket', 'Attempting connection', { url });
|
|
145
|
-
|
|
146
|
-
this.socket = new WebSocket(url);
|
|
147
|
-
|
|
148
|
-
this.socket.onopen = () => {
|
|
149
|
-
this.logger.info('WebSocket', '📡 Connected successfully');
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
this.socket.onerror = (error) => {
|
|
153
|
-
this.logger.error('WebSocket', 'Connection error', error);
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
### HTTP Request
|
|
160
|
-
|
|
161
|
-
```typescript
|
|
162
|
-
import { LoggerService } from 'http-request-manager';
|
|
163
|
-
|
|
164
|
-
@Injectable({ providedIn: 'root' })
|
|
165
|
-
export class HttpService {
|
|
166
|
-
private logger = inject(LoggerService);
|
|
167
|
-
|
|
168
|
-
fetchData(id: string) {
|
|
169
|
-
this.logger.debug('HTTP', 'Fetching data', { id });
|
|
170
|
-
|
|
171
|
-
return this.http.get(`/api/data/${id}`).pipe(
|
|
172
|
-
tap(data => {
|
|
173
|
-
this.logger.info('HTTP', 'Data fetched successfully', { id, count: data.length });
|
|
174
|
-
}),
|
|
175
|
-
catchError(error => {
|
|
176
|
-
this.logger.error('HTTP', 'Fetch failed', { id, error });
|
|
177
|
-
throw error;
|
|
178
|
-
})
|
|
179
|
-
);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### State Management
|
|
185
|
-
|
|
186
|
-
```typescript
|
|
187
|
-
import { LoggerService } from 'http-request-manager';
|
|
188
|
-
|
|
189
|
-
@Injectable()
|
|
190
|
-
export class StateStore extends ComponentStore<State> {
|
|
191
|
-
private logger = inject(LoggerService);
|
|
192
|
-
|
|
193
|
-
updateItem(item: Item) {
|
|
194
|
-
this.logger.debug('StateStore', 'Updating item', { id: item.id });
|
|
195
|
-
|
|
196
|
-
this.patchState({ items: [...this.state().items, item] });
|
|
197
|
-
|
|
198
|
-
this.logger.info('StateStore', 'Item updated', {
|
|
199
|
-
itemId: item.id,
|
|
200
|
-
totalItems: this.state().items.length
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
## Migration Guide
|
|
207
|
-
|
|
208
|
-
### Before (Using console.*)
|
|
209
|
-
|
|
210
|
-
```typescript
|
|
211
|
-
console.log('WebSocket connected');
|
|
212
|
-
console.error('Error:', error);
|
|
213
|
-
console.warn('Warning message');
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### After (Using LoggerService)
|
|
217
|
-
|
|
218
|
-
```typescript
|
|
219
|
-
this.logger.debug('WebSocket', 'Connected');
|
|
220
|
-
this.logger.error('WebSocket', 'Connection error', error);
|
|
221
|
-
this.logger.warn('WebSocket', 'Connection unstable');
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## Benefits
|
|
225
|
-
|
|
226
|
-
### 1. Automatic Production Optimization
|
|
227
|
-
|
|
228
|
-
No need to manually strip console statements - debug and info logs are automatically hidden in production builds.
|
|
229
|
-
|
|
230
|
-
### 2. Consistent Formatting
|
|
231
|
-
|
|
232
|
-
All logs follow the same format, making them easy to filter and search in browser console.
|
|
233
|
-
|
|
234
|
-
### 3. Context-Aware
|
|
235
|
-
|
|
236
|
-
Each log includes context, making it easy to identify the source:
|
|
237
|
-
```
|
|
238
|
-
[HTTP-MGR DEBUG] WebSocket: Connected
|
|
239
|
-
[HTTP-MGR DEBUG] HTTP: Request sent
|
|
240
|
-
[HTTP-MGR DEBUG] StateStore: State updated
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
### 4. Type Safety
|
|
244
|
-
|
|
245
|
-
Full TypeScript support with proper typing for all parameters.
|
|
246
|
-
|
|
247
|
-
### 5. Future-Proof
|
|
248
|
-
|
|
249
|
-
Easy to extend with additional features:
|
|
250
|
-
- Remote logging
|
|
251
|
-
- Log aggregation
|
|
252
|
-
- Performance monitoring
|
|
253
|
-
- Custom formatters
|
|
254
|
-
|
|
255
|
-
## API Reference
|
|
256
|
-
|
|
257
|
-
### LoggerService
|
|
258
|
-
|
|
259
|
-
#### Methods
|
|
260
|
-
|
|
261
|
-
##### `debug(context: string, message: string, data?: any): void`
|
|
262
|
-
|
|
263
|
-
Logs debug information (development mode only).
|
|
264
|
-
|
|
265
|
-
##### `info(context: string, message: string, data?: any): void`
|
|
266
|
-
|
|
267
|
-
Logs informational messages (development mode only).
|
|
268
|
-
|
|
269
|
-
##### `warn(context: string, message: string, data?: any): void`
|
|
270
|
-
|
|
271
|
-
Logs warnings (always shown).
|
|
272
|
-
|
|
273
|
-
##### `error(context: string, message: string, data?: any): void`
|
|
274
|
-
|
|
275
|
-
Logs errors (always shown).
|
|
276
|
-
|
|
277
|
-
##### `isDebugEnabled(): boolean`
|
|
278
|
-
|
|
279
|
-
Returns `true` if debug mode is enabled (development mode).
|
|
280
|
-
|
|
281
|
-
## Implementation Details
|
|
282
|
-
|
|
283
|
-
The service uses Angular's `isDevMode()` function to automatically detect the build mode:
|
|
284
|
-
|
|
285
|
-
```typescript
|
|
286
|
-
import { isDevMode } from '@angular/core';
|
|
287
|
-
|
|
288
|
-
@Injectable({ providedIn: 'root' })
|
|
289
|
-
export class LoggerService {
|
|
290
|
-
private debugMode = isDevMode();
|
|
291
|
-
|
|
292
|
-
debug(context: string, message: string, data?: any) {
|
|
293
|
-
if (this.debugMode) {
|
|
294
|
-
console.log(`[HTTP-MGR DEBUG] ${context}: ${message}`, data);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
// ... other methods
|
|
298
|
-
}
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
This means:
|
|
302
|
-
- No configuration needed from consuming apps
|
|
303
|
-
- Automatic behavior based on build type
|
|
304
|
-
- Zero runtime overhead in production (debug/info checks are false)
|
|
305
|
-
|
|
306
|
-
## Related Documentation
|
|
307
|
-
|
|
308
|
-
- [`HTTP Manager README`](HTTP_MANAGER_README.md)
|
|
309
|
-
- [`WebSocket Manager README`](WS_MANAGER_README.md)
|
|
310
|
-
- [`Architecture`](ARCHITECTURE.md)
|