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,467 +0,0 @@
|
|
|
1
|
-
# Batch Request Functionality
|
|
2
|
-
|
|
3
|
-
Execute multiple HTTP requests with configurable execution strategies (sequential/parallel), error handling, and automatic order preservation.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
The batch request functionality allows you to process multiple HTTP requests efficiently with full control over:
|
|
8
|
-
|
|
9
|
-
- **Execution order**: Sequential or parallel
|
|
10
|
-
- **Error handling**: Stop on error or continue
|
|
11
|
-
- **Concurrency**: Control parallel request limits
|
|
12
|
-
- **Result ordering**: Results always match the order of requests provided
|
|
13
|
-
|
|
14
|
-
## Features
|
|
15
|
-
|
|
16
|
-
✅ **Sequential Execution** - Process requests one-by-one in order
|
|
17
|
-
✅ **Parallel Execution** - Process multiple requests concurrently
|
|
18
|
-
✅ **Configurable Concurrency** - Limit parallel requests (default: 3)
|
|
19
|
-
✅ **Error Handling** - Stop on error or continue with all requests
|
|
20
|
-
✅ **Order Preservation** - Results always in request order
|
|
21
|
-
✅ **Optional Configuration** - All options optional with sensible defaults
|
|
22
|
-
✅ **Type Safe** - Full TypeScript generic support
|
|
23
|
-
|
|
24
|
-
## Usage
|
|
25
|
-
|
|
26
|
-
### Basic Sequential (Default)
|
|
27
|
-
|
|
28
|
-
```typescript
|
|
29
|
-
import { HTTPManagerService, ApiRequest, BatchOptions } from 'http-request-manager';
|
|
30
|
-
|
|
31
|
-
const requests = [
|
|
32
|
-
ApiRequest.adapt({ path: ['users', 1] }),
|
|
33
|
-
ApiRequest.adapt({ path: ['users', 2] }),
|
|
34
|
-
ApiRequest.adapt({ path: ['users', 3] })
|
|
35
|
-
];
|
|
36
|
-
|
|
37
|
-
httpManager.getBatchRequests(requests).subscribe(results => {
|
|
38
|
-
// results is User[] in the same order as requests
|
|
39
|
-
console.log(results[0]); // User 1
|
|
40
|
-
console.log(results[1]); // User 2
|
|
41
|
-
console.log(results[2]); // User 3
|
|
42
|
-
});
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Sequential with Stop on Error
|
|
46
|
-
|
|
47
|
-
```typescript
|
|
48
|
-
httpManager.getBatchRequests(requests, {
|
|
49
|
-
mode: 'sequential',
|
|
50
|
-
stopOnError: true
|
|
51
|
-
}).subscribe({
|
|
52
|
-
next: results => {
|
|
53
|
-
console.log('All succeeded:', results);
|
|
54
|
-
},
|
|
55
|
-
error: error => {
|
|
56
|
-
console.error('Stopped at first error:', error);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Parallel Execution
|
|
62
|
-
|
|
63
|
-
```typescript
|
|
64
|
-
httpManager.getBatchRequests(requests, {
|
|
65
|
-
mode: 'parallel',
|
|
66
|
-
concurrency: 5 // Process up to 5 requests simultaneously
|
|
67
|
-
}).subscribe(results => {
|
|
68
|
-
console.log('All completed:', results);
|
|
69
|
-
});
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Ignore Errors and Complete All
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
httpManager.getBatchRequests(requests, {
|
|
76
|
-
ignoreErrors: true,
|
|
77
|
-
logErrors: false // Suppress console.error output
|
|
78
|
-
}).subscribe(results => {
|
|
79
|
-
// Results array contains data or undefined for failed requests
|
|
80
|
-
const validResults = results.filter(r => r !== undefined);
|
|
81
|
-
console.log(`Success: ${validResults.length} of ${results.length}`);
|
|
82
|
-
});
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### With Per-Request Configuration
|
|
86
|
-
|
|
87
|
-
Each request can have its own retry, polling, adapter, etc.:
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
const requests = [
|
|
91
|
-
ApiRequest.adapt({
|
|
92
|
-
path: ['users', 1],
|
|
93
|
-
retry: { times: 3, delay: 1 },
|
|
94
|
-
adapter: User.adapt
|
|
95
|
-
}),
|
|
96
|
-
ApiRequest.adapt({
|
|
97
|
-
path: ['users', 2],
|
|
98
|
-
polling: 10, // This request will poll
|
|
99
|
-
adapter: User.adapt
|
|
100
|
-
}),
|
|
101
|
-
ApiRequest.adapt({
|
|
102
|
-
path: ['users', 3],
|
|
103
|
-
displayError: true,
|
|
104
|
-
adapter: User.adapt
|
|
105
|
-
})
|
|
106
|
-
];
|
|
107
|
-
|
|
108
|
-
httpManager.getBatchRequests<User>(requests, {
|
|
109
|
-
mode: 'parallel',
|
|
110
|
-
concurrency: 2
|
|
111
|
-
}).subscribe(results => {
|
|
112
|
-
results.forEach((user, index) => {
|
|
113
|
-
console.log(`User ${index}:`, user);
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## Configuration Options
|
|
119
|
-
|
|
120
|
-
All options are **optional** with sensible defaults:
|
|
121
|
-
|
|
122
|
-
| Option | Type | Default | Description |
|
|
123
|
-
| :--- | :--- | :--- | :--- |
|
|
124
|
-
| `mode` | `'sequential' \| 'parallel'` | `'sequential'` | Execution strategy |
|
|
125
|
-
| `stopOnError` | `boolean` | `false` | Stop sequential execution on first error |
|
|
126
|
-
| `concurrency` | `number` | `3` | Max concurrent requests (parallel mode) |
|
|
127
|
-
| `ignoreErrors` | `boolean` | `false` | Continue on errors, failed requests return `undefined` |
|
|
128
|
-
| `logErrors` | `boolean` | `true` | Log errors to console |
|
|
129
|
-
|
|
130
|
-
## Error Handling Matrix
|
|
131
|
-
|
|
132
|
-
| Mode | stopOnError | ignoreErrors | Behavior |
|
|
133
|
-
| :--- | :--- | :--- | :--- |
|
|
134
|
-
| Sequential | false | false | Continue on error, observable errors |
|
|
135
|
-
| Sequential | true | N/A | Stop on first error, observable errors |
|
|
136
|
-
| Sequential | false | true | Continue, failed = `undefined`, no error |
|
|
137
|
-
| Parallel | N/A | false | Complete all, failed = `undefined`, no error |
|
|
138
|
-
| Parallel | N/A | true | Complete all, failed = `undefined`, no logging |
|
|
139
|
-
|
|
140
|
-
## Return Value
|
|
141
|
-
|
|
142
|
-
The method returns `Observable<U[]>` where:
|
|
143
|
-
|
|
144
|
-
- `U` is the generic type (inferred or explicitly provided)
|
|
145
|
-
- Array length matches the number of requests
|
|
146
|
-
- Results are in the **same order** as requests provided
|
|
147
|
-
- Failed requests return `undefined` when `ignoreErrors: true`
|
|
148
|
-
|
|
149
|
-
### Example with Type Safety
|
|
150
|
-
|
|
151
|
-
```typescript
|
|
152
|
-
// Homogeneous batch (recommended)
|
|
153
|
-
httpManager.getBatchRequests<User>(userRequests)
|
|
154
|
-
.subscribe((users: User[]) => {
|
|
155
|
-
// users is typed as User[]
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
// Heterogeneous batch
|
|
159
|
-
httpManager.getBatchRequests(mixedRequests)
|
|
160
|
-
.subscribe((results: any[]) => {
|
|
161
|
-
// results is any[]
|
|
162
|
-
});
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
## Best Practices
|
|
166
|
-
|
|
167
|
-
### 1. Use Type Parameters
|
|
168
|
-
|
|
169
|
-
```typescript
|
|
170
|
-
// ✅ Good - Type safe
|
|
171
|
-
httpManager.getBatchRequests<User>(requests)
|
|
172
|
-
|
|
173
|
-
// ❌ Avoid - No type safety
|
|
174
|
-
httpManager.getBatchRequests(requests)
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### 2. Choose Appropriate Concurrency
|
|
178
|
-
|
|
179
|
-
```typescript
|
|
180
|
-
// For small batches (< 10)
|
|
181
|
-
{ mode: 'parallel', concurrency: 5 }
|
|
182
|
-
|
|
183
|
-
// For large batches (10-100)
|
|
184
|
-
{ mode: 'parallel', concurrency: 3 }
|
|
185
|
-
|
|
186
|
-
// For API rate limiting
|
|
187
|
-
{ mode: 'parallel', concurrency: 1 } // Effectively sequential
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
### 3. Handle Errors Appropriately
|
|
191
|
-
|
|
192
|
-
```typescript
|
|
193
|
-
// Critical operations - stop on error
|
|
194
|
-
{ mode: 'sequential', stopOnError: true }
|
|
195
|
-
|
|
196
|
-
// Non-critical - ignore errors
|
|
197
|
-
{ ignoreErrors: true }
|
|
198
|
-
|
|
199
|
-
// Default - log and continue
|
|
200
|
-
// (no options needed)
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### 4. Use `BatchOptions.adapt()` for Direct Method Calls
|
|
204
|
-
|
|
205
|
-
When calling `getParallelRequest` or `getSequentialRequest` directly, wrap options with `BatchOptions.adapt()` to satisfy the class type:
|
|
206
|
-
|
|
207
|
-
```typescript
|
|
208
|
-
// ✅ Correct
|
|
209
|
-
httpManager.getParallelRequest(requests, BatchOptions.adapt({ concurrency: 5 }))
|
|
210
|
-
|
|
211
|
-
// ❌ Type error - plain object is not assignable to BatchOptions class
|
|
212
|
-
httpManager.getParallelRequest(requests, { concurrency: 5 })
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
### 5. Keep Batch Sizes Reasonable
|
|
216
|
-
|
|
217
|
-
- **Recommended**: < 100 requests per batch
|
|
218
|
-
- **Large batches**: Consider splitting into multiple batches
|
|
219
|
-
- **Very large**: Use pagination or streaming (future enhancement)
|
|
220
|
-
|
|
221
|
-
## Direct Parallel / Sequential Methods
|
|
222
|
-
|
|
223
|
-
As an alternative to `getBatchRequests`, you can call the execution methods directly. Both return `Observable<U[]>` — a **single emission** of all results after every request completes, preserving request order.
|
|
224
|
-
|
|
225
|
-
### `getParallelRequest`
|
|
226
|
-
|
|
227
|
-
```typescript
|
|
228
|
-
import { BatchOptions } from 'http-request-manager';
|
|
229
|
-
|
|
230
|
-
httpManager.getParallelRequest<User>(requests, BatchOptions.adapt({
|
|
231
|
-
concurrency: 5,
|
|
232
|
-
ignoreErrors: true,
|
|
233
|
-
logErrors: true
|
|
234
|
-
})).subscribe(users => {
|
|
235
|
-
// users: User[] — one array emitted when all requests finish
|
|
236
|
-
console.log(users[0]); // index-matched to requests[0]
|
|
237
|
-
console.log(users[1]); // index-matched to requests[1]
|
|
238
|
-
});
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
### `getSequentialRequest`
|
|
242
|
-
|
|
243
|
-
```typescript
|
|
244
|
-
httpManager.getSequentialRequest<Todo>(requests, BatchOptions.adapt({
|
|
245
|
-
stopOnError: false,
|
|
246
|
-
ignoreErrors: true,
|
|
247
|
-
logErrors: true
|
|
248
|
-
})).subscribe(todos => {
|
|
249
|
-
// todos: Todo[] — one array emitted after ALL requests complete in order
|
|
250
|
-
todos.forEach((todo, i) => {
|
|
251
|
-
if (todo) console.log(`Todo ${i + 1}:`, todo.title);
|
|
252
|
-
});
|
|
253
|
-
});
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### When to use which
|
|
257
|
-
|
|
258
|
-
| Method | Use when |
|
|
259
|
-
| :--- | :--- |
|
|
260
|
-
| `getBatchRequests` | Mode is selected at runtime via `options.mode` |
|
|
261
|
-
| `getParallelRequest` | Mode is always parallel; called directly |
|
|
262
|
-
| `getSequentialRequest` | Mode is always sequential; called directly |
|
|
263
|
-
| `getBatchRequestsStream` | Real-time per-request state updates needed (`isPending`, `data`, `error`) |
|
|
264
|
-
|
|
265
|
-
## Examples
|
|
266
|
-
|
|
267
|
-
### Load Multiple Resources
|
|
268
|
-
|
|
269
|
-
```typescript
|
|
270
|
-
const resourceIds = [1, 2, 3, 4, 5];
|
|
271
|
-
const requests = resourceIds.map(id =>
|
|
272
|
-
ApiRequest.adapt({ path: ['resources', id] })
|
|
273
|
-
);
|
|
274
|
-
|
|
275
|
-
httpManager.getBatchRequests<Resource>(requests).subscribe(resources => {
|
|
276
|
-
resources.forEach(resource => {
|
|
277
|
-
if (resource) {
|
|
278
|
-
console.log('Resource:', resource.name);
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
|
-
});
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
### Bulk Create Operations
|
|
285
|
-
|
|
286
|
-
```typescript
|
|
287
|
-
const newUsers = [
|
|
288
|
-
{ name: 'User 1', email: 'user1@example.com' },
|
|
289
|
-
{ name: 'User 2', email: 'user2@example.com' },
|
|
290
|
-
{ name: 'User 3', email: 'user3@example.com' }
|
|
291
|
-
];
|
|
292
|
-
|
|
293
|
-
const requests = newUsers.map(user =>
|
|
294
|
-
ApiRequest.adapt({
|
|
295
|
-
path: ['users'],
|
|
296
|
-
mapper: (u) => u
|
|
297
|
-
})
|
|
298
|
-
);
|
|
299
|
-
|
|
300
|
-
httpManager.getBatchRequests<User>(requests, {
|
|
301
|
-
mode: 'parallel',
|
|
302
|
-
concurrency: 2
|
|
303
|
-
}).subscribe(createdUsers => {
|
|
304
|
-
createdUsers.forEach(user => {
|
|
305
|
-
console.log('Created:', user);
|
|
306
|
-
});
|
|
307
|
-
});
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
### Sequential with Fallback
|
|
311
|
-
|
|
312
|
-
```typescript
|
|
313
|
-
const primaryRequests = [
|
|
314
|
-
ApiRequest.adapt({ path: ['primary', 'data1'] }),
|
|
315
|
-
ApiRequest.adapt({ path: ['primary', 'data2'] })
|
|
316
|
-
];
|
|
317
|
-
|
|
318
|
-
httpManager.getBatchRequests(primaryRequests, {
|
|
319
|
-
mode: 'sequential',
|
|
320
|
-
stopOnError: false,
|
|
321
|
-
ignoreErrors: true
|
|
322
|
-
}).subscribe(results => {
|
|
323
|
-
// Check for failures and trigger fallback
|
|
324
|
-
const failures = results.filter((r, i) => !r);
|
|
325
|
-
if (failures.length > 0) {
|
|
326
|
-
// Trigger fallback for failed requests
|
|
327
|
-
const fallbackRequests = failures.map((_, i) =>
|
|
328
|
-
ApiRequest.adapt({ path: ['fallback', 'data' + i] })
|
|
329
|
-
);
|
|
330
|
-
// Execute fallback...
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
## Performance Considerations
|
|
336
|
-
|
|
337
|
-
### Memory Usage
|
|
338
|
-
|
|
339
|
-
- **Small batches (< 10)**: Negligible impact
|
|
340
|
-
- **Medium batches (10-100)**: Acceptable for most use cases
|
|
341
|
-
- **Large batches (100+)**: Consider splitting into multiple batches
|
|
342
|
-
|
|
343
|
-
### Network Concurrency
|
|
344
|
-
|
|
345
|
-
- Default concurrency of 3 balances throughput and server load
|
|
346
|
-
- Adjust based on API rate limits
|
|
347
|
-
- Browser connection limits typically 6-8 per domain
|
|
348
|
-
|
|
349
|
-
### Server Load
|
|
350
|
-
|
|
351
|
-
```typescript
|
|
352
|
-
// High concurrency (use with caution)
|
|
353
|
-
{ mode: 'parallel', concurrency: 10 }
|
|
354
|
-
|
|
355
|
-
// Moderate (recommended default)
|
|
356
|
-
{ mode: 'parallel', concurrency: 3 }
|
|
357
|
-
|
|
358
|
-
// Conservative (for rate-limited APIs)
|
|
359
|
-
{ mode: 'parallel', concurrency: 1 }
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
## Troubleshooting
|
|
363
|
-
|
|
364
|
-
### Results Not in Expected Order
|
|
365
|
-
|
|
366
|
-
Results are **always** in the order of requests provided, not completion order:
|
|
367
|
-
|
|
368
|
-
```typescript
|
|
369
|
-
// Even with parallel mode, results maintain request order
|
|
370
|
-
const requests = [req1, req2, req3];
|
|
371
|
-
// Results: [result1, result2, result3] (not completion order)
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
### Undefined Values in Results
|
|
375
|
-
|
|
376
|
-
When `ignoreErrors: true`, failed requests return `undefined`:
|
|
377
|
-
|
|
378
|
-
```typescript
|
|
379
|
-
httpManager.getBatchRequests(requests, {
|
|
380
|
-
ignoreErrors: true
|
|
381
|
-
}).subscribe(results => {
|
|
382
|
-
// Filter out undefined values
|
|
383
|
-
const validResults = results.filter(r => r !== undefined);
|
|
384
|
-
});
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
### Type Errors
|
|
388
|
-
|
|
389
|
-
Ensure you're using the generic type parameter:
|
|
390
|
-
|
|
391
|
-
```typescript
|
|
392
|
-
// ✅ Correct
|
|
393
|
-
httpManager.getBatchRequests<User>(requests)
|
|
394
|
-
|
|
395
|
-
// ❌ May cause type issues
|
|
396
|
-
httpManager.getBatchRequests(requests)
|
|
397
|
-
```
|
|
398
|
-
|
|
399
|
-
## API Reference
|
|
400
|
-
|
|
401
|
-
### Method Signatures
|
|
402
|
-
|
|
403
|
-
```typescript
|
|
404
|
-
// Route by mode at runtime
|
|
405
|
-
getBatchRequests<U = T>(
|
|
406
|
-
requests: ApiRequest[],
|
|
407
|
-
options?: BatchOptions
|
|
408
|
-
): Observable<U[]>
|
|
409
|
-
|
|
410
|
-
// Call parallel execution directly
|
|
411
|
-
getParallelRequest<U = T>(
|
|
412
|
-
requests: ApiRequest[],
|
|
413
|
-
options?: BatchOptions
|
|
414
|
-
): Observable<U[]>
|
|
415
|
-
|
|
416
|
-
// Call sequential execution directly
|
|
417
|
-
getSequentialRequest<U = T>(
|
|
418
|
-
requests: ApiRequest[],
|
|
419
|
-
options?: BatchOptions
|
|
420
|
-
): Observable<U[]>
|
|
421
|
-
|
|
422
|
-
// Real-time per-request state stream
|
|
423
|
-
getBatchRequestsStream<U = T>(
|
|
424
|
-
requests: ApiRequest[],
|
|
425
|
-
options?: BatchOptions
|
|
426
|
-
): Observable<BatchRequestState<U>>
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
### Parameters
|
|
430
|
-
|
|
431
|
-
- **requests**: `ApiRequest[]` - Array of request configurations
|
|
432
|
-
- **options**: `BatchOptions` (optional) - Created via `BatchOptions.adapt()` for partial inputs
|
|
433
|
-
|
|
434
|
-
### Returns
|
|
435
|
-
|
|
436
|
-
- `Observable<U[]>` — Single emission of all results in request order (`getBatchRequests`, `getParallelRequest`, `getSequentialRequest`)
|
|
437
|
-
- `Observable<BatchRequestState<U>>` — Stream of pending/success/error states per request (`getBatchRequestsStream`)
|
|
438
|
-
|
|
439
|
-
### BatchOptions Class
|
|
440
|
-
|
|
441
|
-
`BatchOptions` is a class, not a plain interface. Use `BatchOptions.adapt()` to construct from a partial object — it fills in all defaults:
|
|
442
|
-
|
|
443
|
-
```typescript
|
|
444
|
-
// ✅ Use adapt() when passing a partial options object
|
|
445
|
-
BatchOptions.adapt({ concurrency: 5 })
|
|
446
|
-
|
|
447
|
-
// ✅ Also fine when using getBatchRequests (accepts optional partial via overload)
|
|
448
|
-
httpManager.getBatchRequests(requests, { mode: 'parallel' })
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
```typescript
|
|
452
|
-
class BatchOptions {
|
|
453
|
-
mode: 'sequential' | 'parallel' = 'sequential';
|
|
454
|
-
stopOnError: boolean = false;
|
|
455
|
-
concurrency: number = 3;
|
|
456
|
-
ignoreErrors: boolean = false;
|
|
457
|
-
logErrors: boolean = true;
|
|
458
|
-
|
|
459
|
-
static adapt(item?: Partial<BatchOptions>): BatchOptions;
|
|
460
|
-
}
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
## Related Documentation
|
|
464
|
-
|
|
465
|
-
- [HTTP Manager Service](./HTTP_MANAGER_README.md)
|
|
466
|
-
- [HTTP Signals Manager Service](./HTTP_SIGNALS_MANAGER_README.md)
|
|
467
|
-
- [ApiRequest Configuration](./MODELS_README.md)
|