@plyaz/api 1.0.2 → 1.1.0
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/README.md +632 -542
- package/dist/api/cache/index.d.ts +183 -0
- package/dist/api/cache/index.d.ts.map +1 -0
- package/dist/api/cache/patterns.d.ts +174 -0
- package/dist/api/cache/patterns.d.ts.map +1 -0
- package/dist/api/cache/strategies.d.ts +47 -0
- package/dist/api/cache/strategies.d.ts.map +1 -0
- package/dist/api/client/clientEventManager.d.ts +238 -0
- package/dist/api/client/clientEventManager.d.ts.map +1 -0
- package/dist/api/client/createApiClient.d.ts +5 -0
- package/dist/api/client/createApiClient.d.ts.map +1 -0
- package/dist/api/client/helpers/headers.d.ts +11 -0
- package/dist/api/client/helpers/headers.d.ts.map +1 -0
- package/dist/api/client/helpers/index.d.ts +9 -0
- package/dist/api/client/helpers/index.d.ts.map +1 -0
- package/dist/api/client/helpers/interceptors.d.ts +29 -0
- package/dist/api/client/helpers/interceptors.d.ts.map +1 -0
- package/dist/api/client/helpers/network.d.ts +21 -0
- package/dist/api/client/helpers/network.d.ts.map +1 -0
- package/dist/api/client/helpers/strategies.d.ts +30 -0
- package/dist/api/client/helpers/strategies.d.ts.map +1 -0
- package/dist/api/client/helpers/tracking.d.ts +15 -0
- package/dist/api/client/helpers/tracking.d.ts.map +1 -0
- package/dist/api/client/index.d.ts +7 -0
- package/dist/api/client/index.d.ts.map +1 -0
- package/dist/api/config/adapter.d.ts +25 -0
- package/dist/api/config/adapter.d.ts.map +1 -0
- package/dist/api/config/configBuilder.d.ts +62 -0
- package/dist/api/config/configBuilder.d.ts.map +1 -0
- package/dist/api/config/configManager.d.ts +67 -0
- package/dist/api/config/configManager.d.ts.map +1 -0
- package/dist/api/config/global.d.ts +106 -0
- package/dist/api/config/global.d.ts.map +1 -0
- package/dist/api/config/index.d.ts +11 -0
- package/dist/api/config/index.d.ts.map +1 -0
- package/dist/api/debugger/DebugReport.d.ts +71 -0
- package/dist/api/debugger/DebugReport.d.ts.map +1 -0
- package/dist/api/debugger/UnifiedDebugger.d.ts +444 -0
- package/dist/api/debugger/UnifiedDebugger.d.ts.map +1 -0
- package/dist/api/debugger/factories/conflict.d.ts +58 -0
- package/dist/api/debugger/factories/conflict.d.ts.map +1 -0
- package/dist/api/debugger/factories/eventTracking.d.ts +126 -0
- package/dist/api/debugger/factories/eventTracking.d.ts.map +1 -0
- package/dist/api/debugger/factories/history.d.ts +97 -0
- package/dist/api/debugger/factories/history.d.ts.map +1 -0
- package/dist/api/debugger/factories/index.d.ts +15 -0
- package/dist/api/debugger/factories/index.d.ts.map +1 -0
- package/dist/api/debugger/factories/issueAnalysis.d.ts +52 -0
- package/dist/api/debugger/factories/issueAnalysis.d.ts.map +1 -0
- package/dist/api/debugger/factories/performance.d.ts +53 -0
- package/dist/api/debugger/factories/performance.d.ts.map +1 -0
- package/dist/api/debugger/factories/report.d.ts +43 -0
- package/dist/api/debugger/factories/report.d.ts.map +1 -0
- package/dist/api/debugger/index.d.ts +99 -0
- package/dist/api/debugger/index.d.ts.map +1 -0
- package/dist/api/debugger/queue/DebuggerQueueManager.d.ts +61 -0
- package/dist/api/debugger/queue/DebuggerQueueManager.d.ts.map +1 -0
- package/dist/api/debugger/queue/OperationTracker.d.ts +86 -0
- package/dist/api/debugger/queue/OperationTracker.d.ts.map +1 -0
- package/dist/api/debugger/queue/index.d.ts +9 -0
- package/dist/api/debugger/queue/index.d.ts.map +1 -0
- package/dist/api/endpoints/builders.d.ts +109 -0
- package/dist/api/endpoints/builders.d.ts.map +1 -0
- package/dist/api/endpoints/campaigns.d.ts +43 -0
- package/dist/api/endpoints/campaigns.d.ts.map +1 -0
- package/dist/api/endpoints/index.d.ts +100 -0
- package/dist/api/endpoints/index.d.ts.map +1 -0
- package/dist/api/endpoints/polling.d.ts +83 -0
- package/dist/api/endpoints/polling.d.ts.map +1 -0
- package/dist/api/endpoints/utils.d.ts +128 -0
- package/dist/api/endpoints/utils.d.ts.map +1 -0
- package/dist/api/errors/ApiPackageError.d.ts +101 -0
- package/dist/api/errors/ApiPackageError.d.ts.map +1 -0
- package/dist/api/errors/definitions.d.ts +24 -0
- package/dist/api/errors/definitions.d.ts.map +1 -0
- package/dist/api/errors/error-codes.d.ts +116 -0
- package/dist/api/errors/error-codes.d.ts.map +1 -0
- package/dist/api/errors/error-events.d.ts +63 -0
- package/dist/api/errors/error-events.d.ts.map +1 -0
- package/dist/api/errors/index.d.ts +18 -0
- package/dist/api/errors/index.d.ts.map +1 -0
- package/dist/api/errors/types-constants.d.ts +64 -0
- package/dist/api/errors/types-constants.d.ts.map +1 -0
- package/dist/api/events/EventManager.d.ts +230 -0
- package/dist/api/events/EventManager.d.ts.map +1 -0
- package/dist/api/events/factories/base.d.ts +269 -0
- package/dist/api/events/factories/base.d.ts.map +1 -0
- package/dist/api/events/factories/cache.d.ts +31 -0
- package/dist/api/events/factories/cache.d.ts.map +1 -0
- package/dist/api/events/factories/client.d.ts +43 -0
- package/dist/api/events/factories/client.d.ts.map +1 -0
- package/dist/api/events/factories/config.d.ts +34 -0
- package/dist/api/events/factories/config.d.ts.map +1 -0
- package/dist/api/events/factories/debug.d.ts +74 -0
- package/dist/api/events/factories/debug.d.ts.map +1 -0
- package/dist/api/events/factories/errors.d.ts +91 -0
- package/dist/api/events/factories/errors.d.ts.map +1 -0
- package/dist/api/events/factories/headers.d.ts +54 -0
- package/dist/api/events/factories/headers.d.ts.map +1 -0
- package/dist/api/events/factories/index.d.ts +46 -0
- package/dist/api/events/factories/index.d.ts.map +1 -0
- package/dist/api/events/factories/network.d.ts +54 -0
- package/dist/api/events/factories/network.d.ts.map +1 -0
- package/dist/api/events/factories/performance.d.ts +43 -0
- package/dist/api/events/factories/performance.d.ts.map +1 -0
- package/dist/api/events/index.d.ts +34 -0
- package/dist/api/events/index.d.ts.map +1 -0
- package/dist/api/events/namespaces.d.ts +464 -0
- package/dist/api/events/namespaces.d.ts.map +1 -0
- package/dist/api/events/queue/ConfigUpdateQueueManager.d.ts +53 -0
- package/dist/api/events/queue/ConfigUpdateQueueManager.d.ts.map +1 -0
- package/dist/api/events/queue/EventQueueManager.d.ts +69 -0
- package/dist/api/events/queue/EventQueueManager.d.ts.map +1 -0
- package/dist/api/events/queue/index.d.ts +12 -0
- package/dist/api/events/queue/index.d.ts.map +1 -0
- package/dist/api/events/shared-emitter.d.ts +14 -0
- package/dist/api/events/shared-emitter.d.ts.map +1 -0
- package/dist/api/headers/cache.d.ts +17 -0
- package/dist/api/headers/cache.d.ts.map +1 -0
- package/dist/api/headers/enriched.d.ts +18 -0
- package/dist/api/headers/enriched.d.ts.map +1 -0
- package/dist/api/headers/events.d.ts +17 -0
- package/dist/api/headers/events.d.ts.map +1 -0
- package/dist/api/headers/extract.d.ts +73 -0
- package/dist/api/headers/extract.d.ts.map +1 -0
- package/dist/api/headers/headerBuilder.d.ts +308 -0
- package/dist/api/headers/headerBuilder.d.ts.map +1 -0
- package/dist/api/headers/index.d.ts +37 -0
- package/dist/api/headers/index.d.ts.map +1 -0
- package/dist/api/headers/merge.d.ts +32 -0
- package/dist/api/headers/merge.d.ts.map +1 -0
- package/dist/api/headers/presets.d.ts +24 -0
- package/dist/api/headers/presets.d.ts.map +1 -0
- package/dist/api/headers/utils.d.ts +38 -0
- package/dist/api/headers/utils.d.ts.map +1 -0
- package/dist/api/hooks/factories/createApiMutation.d.ts +57 -0
- package/dist/api/hooks/factories/createApiMutation.d.ts.map +1 -0
- package/dist/api/hooks/factories/createApiQuery.d.ts +55 -0
- package/dist/api/hooks/factories/createApiQuery.d.ts.map +1 -0
- package/dist/api/hooks/factories/defaults.d.ts +15 -0
- package/dist/api/hooks/factories/defaults.d.ts.map +1 -0
- package/dist/api/hooks/factories/index.d.ts +8 -0
- package/dist/api/hooks/factories/index.d.ts.map +1 -0
- package/dist/api/hooks/index.d.ts +11 -0
- package/dist/api/hooks/index.d.ts.map +1 -0
- package/dist/api/hooks/types.d.ts +82 -0
- package/dist/api/hooks/types.d.ts.map +1 -0
- package/dist/api/hooks/useApiConfigConflicts.d.ts +24 -0
- package/dist/api/hooks/useApiConfigConflicts.d.ts.map +1 -0
- package/dist/api/hooks/useApiDebugInfo.d.ts +24 -0
- package/dist/api/hooks/useApiDebugInfo.d.ts.map +1 -0
- package/dist/api/hooks/useApiMonitor.d.ts +25 -0
- package/dist/api/hooks/useApiMonitor.d.ts.map +1 -0
- package/dist/api/hooks/useApiNetworkQuality.d.ts +21 -0
- package/dist/api/hooks/useApiNetworkQuality.d.ts.map +1 -0
- package/dist/api/index.d.ts +26 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/network/adaptive.d.ts +56 -0
- package/dist/api/network/adaptive.d.ts.map +1 -0
- package/dist/api/network/client-hints.d.ts +25 -0
- package/dist/api/network/client-hints.d.ts.map +1 -0
- package/dist/api/network/connection.d.ts +60 -0
- package/dist/api/network/connection.d.ts.map +1 -0
- package/dist/api/network/core.d.ts +26 -0
- package/dist/api/network/core.d.ts.map +1 -0
- package/dist/api/network/events.d.ts +18 -0
- package/dist/api/network/events.d.ts.map +1 -0
- package/dist/api/network/frameworks/express.d.ts +110 -0
- package/dist/api/network/frameworks/express.d.ts.map +1 -0
- package/dist/api/network/frameworks/index.d.ts +13 -0
- package/dist/api/network/frameworks/index.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/clientHintsInterceptor.d.ts +29 -0
- package/dist/api/network/frameworks/nestjs/clientHintsInterceptor.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/decorators.d.ts +48 -0
- package/dist/api/network/frameworks/nestjs/decorators.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/enrichedHeadersGuard.d.ts +80 -0
- package/dist/api/network/frameworks/nestjs/enrichedHeadersGuard.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/enrichedHeadersInterceptor.d.ts +83 -0
- package/dist/api/network/frameworks/nestjs/enrichedHeadersInterceptor.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/index.d.ts +13 -0
- package/dist/api/network/frameworks/nestjs/index.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/minimumConnectionGuard.d.ts +27 -0
- package/dist/api/network/frameworks/nestjs/minimumConnectionGuard.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/networkDetectionMiddleware.d.ts +31 -0
- package/dist/api/network/frameworks/nestjs/networkDetectionMiddleware.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/networkGuard.d.ts +33 -0
- package/dist/api/network/frameworks/nestjs/networkGuard.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/noDataSaverGuard.d.ts +25 -0
- package/dist/api/network/frameworks/nestjs/noDataSaverGuard.d.ts.map +1 -0
- package/dist/api/network/frameworks/nextjs.d.ts +86 -0
- package/dist/api/network/frameworks/nextjs.d.ts.map +1 -0
- package/dist/api/network/frameworks/shared.d.ts +45 -0
- package/dist/api/network/frameworks/shared.d.ts.map +1 -0
- package/dist/api/network/headers.d.ts +112 -0
- package/dist/api/network/headers.d.ts.map +1 -0
- package/dist/api/network/index.d.ts +17 -0
- package/dist/api/network/index.d.ts.map +1 -0
- package/dist/api/network/networkConfigurationManager.d.ts +225 -0
- package/dist/api/network/networkConfigurationManager.d.ts.map +1 -0
- package/dist/api/network/platform.d.ts +171 -0
- package/dist/api/network/platform.d.ts.map +1 -0
- package/dist/api/network/presets.d.ts +55 -0
- package/dist/api/network/presets.d.ts.map +1 -0
- package/dist/api/network/quality.d.ts +28 -0
- package/dist/api/network/quality.d.ts.map +1 -0
- package/dist/api/network/status.d.ts +74 -0
- package/dist/api/network/status.d.ts.map +1 -0
- package/dist/api/performance/adaptive.d.ts +35 -0
- package/dist/api/performance/adaptive.d.ts.map +1 -0
- package/dist/api/performance/index.d.ts +133 -0
- package/dist/api/performance/index.d.ts.map +1 -0
- package/dist/api/performance/patterns.d.ts +20 -0
- package/dist/api/performance/patterns.d.ts.map +1 -0
- package/dist/api/performance/performanceMonitor.d.ts +85 -0
- package/dist/api/performance/performanceMonitor.d.ts.map +1 -0
- package/dist/api/performance/presets.d.ts +18 -0
- package/dist/api/performance/presets.d.ts.map +1 -0
- package/dist/api/performance/utils.d.ts +98 -0
- package/dist/api/performance/utils.d.ts.map +1 -0
- package/dist/api/polling/index.d.ts +10 -0
- package/dist/api/polling/index.d.ts.map +1 -0
- package/dist/api/polling/strategies.d.ts +128 -0
- package/dist/api/polling/strategies.d.ts.map +1 -0
- package/dist/api/polling/utils.d.ts +133 -0
- package/dist/api/polling/utils.d.ts.map +1 -0
- package/dist/api/pubsub/index.d.ts +147 -0
- package/dist/api/pubsub/index.d.ts.map +1 -0
- package/dist/api/pubsub/react.d.ts +214 -0
- package/dist/api/pubsub/react.d.ts.map +1 -0
- package/dist/api/queue/BaseOperationTracker.d.ts +86 -0
- package/dist/api/queue/BaseOperationTracker.d.ts.map +1 -0
- package/dist/api/queue/BaseQueueManager.d.ts +54 -0
- package/dist/api/queue/BaseQueueManager.d.ts.map +1 -0
- package/dist/api/queue/BatchProcessor.d.ts +42 -0
- package/dist/api/queue/BatchProcessor.d.ts.map +1 -0
- package/dist/api/queue/EventQueueManager.d.ts +128 -0
- package/dist/api/queue/EventQueueManager.d.ts.map +1 -0
- package/dist/api/queue/PriorityQueue.d.ts +58 -0
- package/dist/api/queue/PriorityQueue.d.ts.map +1 -0
- package/dist/api/queue/QueueFactory.d.ts +57 -0
- package/dist/api/queue/QueueFactory.d.ts.map +1 -0
- package/dist/api/queue/QueueOrchestrator.d.ts +90 -0
- package/dist/api/queue/QueueOrchestrator.d.ts.map +1 -0
- package/dist/api/queue/QueueSystem.d.ts +102 -0
- package/dist/api/queue/QueueSystem.d.ts.map +1 -0
- package/dist/api/queue/index.d.ts +22 -0
- package/dist/api/queue/index.d.ts.map +1 -0
- package/dist/api/regional/constants.d.ts +76 -0
- package/dist/api/regional/constants.d.ts.map +1 -0
- package/dist/api/regional/core.d.ts +56 -0
- package/dist/api/regional/core.d.ts.map +1 -0
- package/dist/api/regional/helpers.d.ts +49 -0
- package/dist/api/regional/helpers.d.ts.map +1 -0
- package/dist/api/regional/index.d.ts +10 -0
- package/dist/api/regional/index.d.ts.map +1 -0
- package/dist/api/regional/presets.d.ts +16 -0
- package/dist/api/regional/presets.d.ts.map +1 -0
- package/dist/api/request/index.d.ts +18 -0
- package/dist/api/request/index.d.ts.map +1 -0
- package/dist/api/request/management.d.ts +46 -0
- package/dist/api/request/management.d.ts.map +1 -0
- package/dist/api/request/prepare.d.ts +34 -0
- package/dist/api/request/prepare.d.ts.map +1 -0
- package/dist/api/request/react.d.ts +98 -0
- package/dist/api/request/react.d.ts.map +1 -0
- package/dist/api/request/routing.d.ts +74 -0
- package/dist/api/request/routing.d.ts.map +1 -0
- package/dist/api/request/tracker.d.ts +76 -0
- package/dist/api/request/tracker.d.ts.map +1 -0
- package/dist/api/request/utils.d.ts +129 -0
- package/dist/api/request/utils.d.ts.map +1 -0
- package/dist/api/retry/conditions.d.ts +140 -0
- package/dist/api/retry/conditions.d.ts.map +1 -0
- package/dist/api/retry/index.d.ts +10 -0
- package/dist/api/retry/index.d.ts.map +1 -0
- package/dist/api/retry/strategies.d.ts +56 -0
- package/dist/api/retry/strategies.d.ts.map +1 -0
- package/dist/api/revalidation/index.d.ts +29 -0
- package/dist/api/revalidation/index.d.ts.map +1 -0
- package/dist/api/revalidation/presets.d.ts +71 -0
- package/dist/api/revalidation/presets.d.ts.map +1 -0
- package/dist/api/revalidation/strategies.d.ts +116 -0
- package/dist/api/revalidation/strategies.d.ts.map +1 -0
- package/dist/api/revalidation/utils.d.ts +78 -0
- package/dist/api/revalidation/utils.d.ts.map +1 -0
- package/dist/api/services/campaigns/DELETE/deleteCampaign.d.ts +30 -0
- package/dist/api/services/campaigns/DELETE/deleteCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/DELETE/index.d.ts +7 -0
- package/dist/api/services/campaigns/DELETE/index.d.ts.map +1 -0
- package/dist/api/services/campaigns/DELETE/useDeleteCampaign.d.ts +24 -0
- package/dist/api/services/campaigns/DELETE/useDeleteCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/fetchCampaign.d.ts +36 -0
- package/dist/api/services/campaigns/GET/fetchCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/fetchCampaignParticipants.d.ts +40 -0
- package/dist/api/services/campaigns/GET/fetchCampaignParticipants.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/fetchCampaignStats.d.ts +31 -0
- package/dist/api/services/campaigns/GET/fetchCampaignStats.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/fetchCampaigns.d.ts +39 -0
- package/dist/api/services/campaigns/GET/fetchCampaigns.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/index.d.ts +13 -0
- package/dist/api/services/campaigns/GET/index.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/useCampaign.d.ts +47 -0
- package/dist/api/services/campaigns/GET/useCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/useCampaignParticipants.d.ts +43 -0
- package/dist/api/services/campaigns/GET/useCampaignParticipants.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/useCampaignStats.d.ts +33 -0
- package/dist/api/services/campaigns/GET/useCampaignStats.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/useCampaigns.d.ts +43 -0
- package/dist/api/services/campaigns/GET/useCampaigns.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/createCampaign.d.ts +37 -0
- package/dist/api/services/campaigns/POST/createCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/index.d.ts +11 -0
- package/dist/api/services/campaigns/POST/index.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/joinCampaign.d.ts +31 -0
- package/dist/api/services/campaigns/POST/joinCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/leaveCampaign.d.ts +31 -0
- package/dist/api/services/campaigns/POST/leaveCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/useCreateCampaign.d.ts +36 -0
- package/dist/api/services/campaigns/POST/useCreateCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/useJoinCampaign.d.ts +23 -0
- package/dist/api/services/campaigns/POST/useJoinCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/useLeaveCampaign.d.ts +23 -0
- package/dist/api/services/campaigns/POST/useLeaveCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/PUT/index.d.ts +7 -0
- package/dist/api/services/campaigns/PUT/index.d.ts.map +1 -0
- package/dist/api/services/campaigns/PUT/updateCampaign.d.ts +37 -0
- package/dist/api/services/campaigns/PUT/updateCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/PUT/useUpdateCampaign.d.ts +38 -0
- package/dist/api/services/campaigns/PUT/useUpdateCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/index.d.ts +9 -0
- package/dist/api/services/campaigns/index.d.ts.map +1 -0
- package/dist/api/services/clients.d.ts +58 -0
- package/dist/api/services/clients.d.ts.map +1 -0
- package/dist/api/services/index.d.ts +8 -0
- package/dist/api/services/index.d.ts.map +1 -0
- package/dist/api/services/types.d.ts +65 -0
- package/dist/api/services/types.d.ts.map +1 -0
- package/dist/api/strategies/index.d.ts +8 -0
- package/dist/api/strategies/index.d.ts.map +1 -0
- package/dist/api/strategies/tracked.d.ts +15 -0
- package/dist/api/strategies/tracked.d.ts.map +1 -0
- package/dist/api/strategies/unified.d.ts +87 -0
- package/dist/api/strategies/unified.d.ts.map +1 -0
- package/dist/api/utils/async-control.d.ts +96 -0
- package/dist/api/utils/async-control.d.ts.map +1 -0
- package/dist/api/utils/colors.d.ts +88 -0
- package/dist/api/utils/colors.d.ts.map +1 -0
- package/dist/api/utils/environment.d.ts +595 -0
- package/dist/api/utils/environment.d.ts.map +1 -0
- package/dist/api/utils/generation/correlation-id.d.ts +206 -0
- package/dist/api/utils/generation/correlation-id.d.ts.map +1 -0
- package/dist/api/utils/generation/id-generator.d.ts +133 -0
- package/dist/api/utils/generation/id-generator.d.ts.map +1 -0
- package/dist/api/utils/generation/request-id.d.ts +106 -0
- package/dist/api/utils/generation/request-id.d.ts.map +1 -0
- package/dist/api/utils/index.d.ts +19 -0
- package/dist/api/utils/index.d.ts.map +1 -0
- package/dist/api/utils/interval-manager.d.ts +94 -0
- package/dist/api/utils/interval-manager.d.ts.map +1 -0
- package/dist/api/utils/json.d.ts +98 -0
- package/dist/api/utils/json.d.ts.map +1 -0
- package/dist/api/utils/math.d.ts +168 -0
- package/dist/api/utils/math.d.ts.map +1 -0
- package/dist/api/utils/object-merge.d.ts +34 -0
- package/dist/api/utils/object-merge.d.ts.map +1 -0
- package/dist/api/utils/object.d.ts +101 -0
- package/dist/api/utils/object.d.ts.map +1 -0
- package/dist/api/utils/string.d.ts +41 -0
- package/dist/api/utils/string.d.ts.map +1 -0
- package/dist/api/utils/time.d.ts +233 -0
- package/dist/api/utils/time.d.ts.map +1 -0
- package/dist/api/utils/type-guards.d.ts +59 -0
- package/dist/api/utils/type-guards.d.ts.map +1 -0
- package/dist/api/utils/validation.d.ts +21 -0
- package/dist/api/utils/validation.d.ts.map +1 -0
- package/dist/index.cjs +25594 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +25068 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -6
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network connection detection utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { NetworkInfo, ConnectionType, EffectiveConnectionType } from '@plyaz/types/api';
|
|
5
|
+
export declare function getNetworkInfo(headers?: HeadersInit | Record<string, string | string[]>): NetworkInfo;
|
|
6
|
+
/**
|
|
7
|
+
* Get connection type
|
|
8
|
+
*
|
|
9
|
+
* @returns Connection type (wifi, cellular, etc.)
|
|
10
|
+
*/
|
|
11
|
+
export declare function getConnectionType(): ConnectionType;
|
|
12
|
+
/**
|
|
13
|
+
* Get effective connection type (quality)
|
|
14
|
+
*
|
|
15
|
+
* @returns Effective type (4g, 3g, 2g, etc.)
|
|
16
|
+
*/
|
|
17
|
+
export declare function getEffectiveConnectionType(): EffectiveConnectionType;
|
|
18
|
+
/**
|
|
19
|
+
* Check if on cellular connection
|
|
20
|
+
*
|
|
21
|
+
* @returns True if using cellular data
|
|
22
|
+
*/
|
|
23
|
+
export declare function isCellularConnection(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Check if on wifi connection
|
|
26
|
+
*
|
|
27
|
+
* @returns True if using wifi
|
|
28
|
+
*/
|
|
29
|
+
export declare function isWifiConnection(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Check if data saver is enabled
|
|
32
|
+
*
|
|
33
|
+
* @returns True if data saver mode is on
|
|
34
|
+
*/
|
|
35
|
+
export declare function isDataSaverEnabled(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Get network round-trip time (latency)
|
|
38
|
+
*
|
|
39
|
+
* @returns RTT in milliseconds or null
|
|
40
|
+
*/
|
|
41
|
+
export declare function getNetworkRTT(): number | null;
|
|
42
|
+
/**
|
|
43
|
+
* Get network downlink speed
|
|
44
|
+
*
|
|
45
|
+
* @returns Speed in Mbps or null
|
|
46
|
+
*/
|
|
47
|
+
export declare function getNetworkSpeed(): number | null;
|
|
48
|
+
/**
|
|
49
|
+
* Check if currently online
|
|
50
|
+
*
|
|
51
|
+
* @returns True if online
|
|
52
|
+
*/
|
|
53
|
+
export declare function isOnline(): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Check if currently offline
|
|
56
|
+
*
|
|
57
|
+
* @returns True if offline
|
|
58
|
+
*/
|
|
59
|
+
export declare function isOffline(): boolean;
|
|
60
|
+
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/api/network/connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,uBAAuB,EAExB,MAAM,kBAAkB,CAAC;AAyI1B,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GACxD,WAAW,CAQb;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAGlD;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAGpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAG7C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAG/C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { NetworkInformation } from '@plyaz/types/api';
|
|
2
|
+
/**
|
|
3
|
+
* Re-export fetchff's slow connection detection
|
|
4
|
+
* Checks if user is on a slow network (2G/3G)
|
|
5
|
+
*
|
|
6
|
+
* @returns True if connection is slow
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* if (isSlowConnection()) {
|
|
10
|
+
* console.log('User on slow connection');
|
|
11
|
+
* }
|
|
12
|
+
*/
|
|
13
|
+
export declare const isSlowConnection: () => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Check if Network Information API is supported
|
|
16
|
+
*
|
|
17
|
+
* @returns True if Network API is available
|
|
18
|
+
*/
|
|
19
|
+
export declare function isNetworkAPISupported(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Get network connection object
|
|
22
|
+
*
|
|
23
|
+
* @returns Network connection or null
|
|
24
|
+
*/
|
|
25
|
+
export declare function getConnection(): NetworkInformation | null;
|
|
26
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/api/network/core.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAA2B,MAAM,kBAAkB,CAAC;AAGpF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,eAA0B,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAK/C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,kBAAkB,GAAG,IAAI,CAWzD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network Events System
|
|
3
|
+
* Event system for monitoring and responding to network changes
|
|
4
|
+
*/
|
|
5
|
+
import type { NetworkEventStats } from '@plyaz/types/api';
|
|
6
|
+
/**
|
|
7
|
+
* Start monitoring network events
|
|
8
|
+
*/
|
|
9
|
+
export declare function startNetworkEventMonitoring(): () => void;
|
|
10
|
+
/**
|
|
11
|
+
* Network event statistics
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Get network event statistics for monitoring
|
|
15
|
+
* Returns statistics from the shared event system
|
|
16
|
+
*/
|
|
17
|
+
export declare function getNetworkEventStats(): NetworkEventStats;
|
|
18
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/api/network/events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,kBAAkB,CAAC;AAqG1B;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,IAAI,CAgExD;AAsDD;;GAEG;AACH;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAwBxD"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Express middleware for network detection and enriched headers
|
|
3
|
+
*/
|
|
4
|
+
import type { Request, Response, RequestHandler } from 'express';
|
|
5
|
+
import type { NetworkInfo, ApiHeaders, ExpressRequestWithNetwork, EnrichedHeadersMiddlewareOptions, ExpressRequestWithEnrichedHeaders, NetworkDetectionOptions } from '@plyaz/types/api';
|
|
6
|
+
/**
|
|
7
|
+
* Express middleware for network detection
|
|
8
|
+
* Adds network information to the request object and requests Client Hints from browser
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import express from 'express';
|
|
13
|
+
* import { networkDetectionMiddleware } from '@plyaz/api/utils/network/frameworks/express';
|
|
14
|
+
*
|
|
15
|
+
* const app = express();
|
|
16
|
+
*
|
|
17
|
+
* // Apply to all routes
|
|
18
|
+
* app.use(networkDetectionMiddleware);
|
|
19
|
+
*
|
|
20
|
+
* app.get('/api/data', (req: ExpressRequestWithNetwork, res) => {
|
|
21
|
+
* const { networkInfo } = req;
|
|
22
|
+
*
|
|
23
|
+
* if (networkInfo?.effectiveType === '4g') {
|
|
24
|
+
* res.json({ quality: 'high', data: getHighQualityData() });
|
|
25
|
+
* } else {
|
|
26
|
+
* res.json({ quality: 'standard', data: getStandardData() });
|
|
27
|
+
* }
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const networkDetectionMiddleware: RequestHandler;
|
|
32
|
+
export declare function createNetworkDetectionMiddleware(options?: NetworkDetectionOptions): RequestHandler;
|
|
33
|
+
/**
|
|
34
|
+
* Type guard to check if request has network info
|
|
35
|
+
*
|
|
36
|
+
* @param req - Request to check
|
|
37
|
+
* @returns True if request has network info
|
|
38
|
+
*/
|
|
39
|
+
export declare function hasNetworkInfo(req: Request | ExpressRequestWithNetwork): req is ExpressRequestWithNetwork;
|
|
40
|
+
/**
|
|
41
|
+
* Express route handler wrapper that provides network info
|
|
42
|
+
*
|
|
43
|
+
* @param handler - Route handler that receives network info
|
|
44
|
+
* @returns Express route handler
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* app.get('/api/data', withNetworkInfo((req, res, networkInfo) => {
|
|
49
|
+
* if (networkInfo?.saveData) {
|
|
50
|
+
* return res.json({ mode: 'data-saver' });
|
|
51
|
+
* }
|
|
52
|
+
* return res.json({ mode: 'normal' });
|
|
53
|
+
* }));
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare function withNetworkInfo(handler: (req: Request, res: Response, networkInfo: NetworkInfo) => void | Promise<void>): RequestHandler;
|
|
57
|
+
/**
|
|
58
|
+
* Express middleware for enriched context headers
|
|
59
|
+
* Collects device, network, platform, and compliance headers and sets them in AsyncLocalStorage context
|
|
60
|
+
*
|
|
61
|
+
* @param options - Middleware configuration options
|
|
62
|
+
* @returns Express middleware
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* import express from 'express';
|
|
67
|
+
* import { enrichedHeadersMiddleware } from '@plyaz/api/network/frameworks/express';
|
|
68
|
+
*
|
|
69
|
+
* const app = express();
|
|
70
|
+
*
|
|
71
|
+
* // Apply enriched headers middleware
|
|
72
|
+
* app.use(enrichedHeadersMiddleware({
|
|
73
|
+
* preset: 'standard',
|
|
74
|
+
* includePerformance: true,
|
|
75
|
+
* storeInLocals: true
|
|
76
|
+
* }));
|
|
77
|
+
*
|
|
78
|
+
* // Service functions will automatically have enriched headers
|
|
79
|
+
* app.get('/api/users', async (req, res) => {
|
|
80
|
+
* const users = await fetchUsers({ page: 1 }); // Headers auto-included
|
|
81
|
+
* res.json(users);
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function enrichedHeadersMiddleware(options?: EnrichedHeadersMiddlewareOptions): RequestHandler;
|
|
86
|
+
/**
|
|
87
|
+
* Express route handler wrapper that provides enriched headers
|
|
88
|
+
*
|
|
89
|
+
* @param handler - Route handler that receives enriched headers
|
|
90
|
+
* @returns Express route handler
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* app.get('/api/data', withEnrichedHeaders(async (req, res, headers) => {
|
|
95
|
+
* if (headers['x-user-region'] === 'eu') {
|
|
96
|
+
* return res.json({ compliance: 'GDPR' });
|
|
97
|
+
* }
|
|
98
|
+
* return res.json({ compliance: 'standard' });
|
|
99
|
+
* }));
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export declare function withEnrichedHeaders(handler: (req: Request, res: Response, headers: ApiHeaders) => void | Promise<void>): RequestHandler;
|
|
103
|
+
/**
|
|
104
|
+
* Type guard to check if request has enriched headers
|
|
105
|
+
*
|
|
106
|
+
* @param req - Request to check
|
|
107
|
+
* @returns True if request has enriched headers
|
|
108
|
+
*/
|
|
109
|
+
export declare function hasEnrichedHeaders(req: Request | ExpressRequestWithEnrichedHeaders): req is ExpressRequestWithEnrichedHeaders;
|
|
110
|
+
//# sourceMappingURL=express.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../../../src/api/network/frameworks/express.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAgB,cAAc,EAAE,MAAM,SAAS,CAAC;AAI/E,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,yBAAyB,EACzB,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAK1B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,0BAA0B,EAAE,cA6BxC,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAyChB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,GAAG,yBAAyB,GACvC,GAAG,IAAI,yBAAyB,CAElC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACvF,cAAc,CAkBhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,gCAAqC,GAC7C,cAAc,CAoGhB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAClF,cAAc,CAiDhB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,GAAG,iCAAiC,GAC/C,GAAG,IAAI,iCAAiC,CAE1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework-specific middleware for network detection
|
|
3
|
+
*
|
|
4
|
+
* Provides middleware and utilities for:
|
|
5
|
+
* - Next.js (API Routes and Edge Runtime)
|
|
6
|
+
* - Express
|
|
7
|
+
* - NestJS
|
|
8
|
+
*/
|
|
9
|
+
export { createAdaptiveResponse, shouldServeHighQuality, getAdaptiveCacheDuration, shouldUseAggressiveCaching, getFrameworkAdaptiveTimeout, getFrameworkAdaptiveBatchSize, } from './shared';
|
|
10
|
+
export { withNetworkDetection, getNetworkInfoFromRequest, addClientHintsToResponse, hasNetworkInfo as hasNetworkInfoNextjs, } from './nextjs';
|
|
11
|
+
export { networkDetectionMiddleware, createNetworkDetectionMiddleware, hasNetworkInfo as hasNetworkInfoExpress, withNetworkInfo, } from './express';
|
|
12
|
+
export { NetworkDetectionMiddleware, NetworkInfoParam, NetworkProperty, NetworkGuard, ClientHintsInterceptor, NoDataSaverGuard, MinimumConnectionGuard, type NestRequestWithNetwork, } from './nestjs/index';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/network/frameworks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,IAAI,oBAAoB,GACvC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,cAAc,IAAI,qBAAqB,EACvC,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NestJS interceptor to add Client Hints headers to response
|
|
3
|
+
*/
|
|
4
|
+
import { ExecutionContext, CallHandler } from '@nestjs/common';
|
|
5
|
+
import type { Observable } from 'rxjs';
|
|
6
|
+
/**
|
|
7
|
+
* NestJS interceptor to add Client Hints headers to response
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { Module } from '@nestjs/common';
|
|
12
|
+
* import { APP_INTERCEPTOR } from '@nestjs/core';
|
|
13
|
+
* import { ClientHintsInterceptor } from '@plyaz/api/network/frameworks/nestjs';
|
|
14
|
+
*
|
|
15
|
+
* @Module({
|
|
16
|
+
* providers: [
|
|
17
|
+
* {
|
|
18
|
+
* provide: APP_INTERCEPTOR,
|
|
19
|
+
* useClass: ClientHintsInterceptor,
|
|
20
|
+
* },
|
|
21
|
+
* ],
|
|
22
|
+
* })
|
|
23
|
+
* export class AppModule {}
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare class ClientHintsInterceptor {
|
|
27
|
+
intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=clientHintsInterceptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientHintsInterceptor.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/frameworks/nestjs/clientHintsInterceptor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAc,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,sBAAsB;IACjC,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;CAW7E"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { NetworkInfo } from '@plyaz/types/api';
|
|
2
|
+
/**
|
|
3
|
+
* NestJS decorator to inject network info into controller methods
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import { Controller, Get } from '@nestjs/common';
|
|
8
|
+
* import { NetworkInfoParam } from '@plyaz/api/network/frameworks/nestjs';
|
|
9
|
+
* import type { NetworkInfo } from '@plyaz/api/network';
|
|
10
|
+
*
|
|
11
|
+
* @Controller('api')
|
|
12
|
+
* export class DataController {
|
|
13
|
+
* @Get('data')
|
|
14
|
+
* getData(@NetworkInfoParam() networkInfo: NetworkInfo) {
|
|
15
|
+
* if (networkInfo?.saveData) {
|
|
16
|
+
* return { mode: 'data-saver', data: this.getMinimalData() };
|
|
17
|
+
* }
|
|
18
|
+
* return { mode: 'normal', data: this.getFullData() };
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare const NetworkInfoParam: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
24
|
+
/**
|
|
25
|
+
* NestJS decorator to get specific network property
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* @Controller('api')
|
|
30
|
+
* export class DataController {
|
|
31
|
+
* @Get('data')
|
|
32
|
+
* getData(
|
|
33
|
+
* @NetworkProperty('effectiveType') effectiveType: string,
|
|
34
|
+
* @NetworkProperty('saveData') saveData: boolean
|
|
35
|
+
* ) {
|
|
36
|
+
* if (saveData) {
|
|
37
|
+
* return { mode: 'data-saver' };
|
|
38
|
+
* }
|
|
39
|
+
* if (effectiveType === '4g') {
|
|
40
|
+
* return { mode: 'high-quality' };
|
|
41
|
+
* }
|
|
42
|
+
* return { mode: 'standard' };
|
|
43
|
+
* }
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare const NetworkProperty: (...dataOrPipes: (keyof NetworkInfo | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
|
|
48
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/frameworks/nestjs/decorators.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,mDAuB5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,eAAe,oMA0B3B,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NestJS Guard for Enriched Context Headers
|
|
3
|
+
* Sets up enriched headers context before route handlers execute
|
|
4
|
+
*/
|
|
5
|
+
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
6
|
+
import type { EnrichedHeadersGuardOptions } from '@plyaz/types/api';
|
|
7
|
+
/**
|
|
8
|
+
* NestJS guard that collects enriched context headers
|
|
9
|
+
* Sets up AsyncLocalStorage context for service functions
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { Controller, Get, UseGuards } from '@nestjs/common';
|
|
14
|
+
* import { EnrichedHeadersGuard } from '@plyaz/api/network/frameworks/nestjs';
|
|
15
|
+
* import { fetchUsers } from '@plyaz/api/services';
|
|
16
|
+
*
|
|
17
|
+
* @Controller('users')
|
|
18
|
+
* @UseGuards(new EnrichedHeadersGuard({
|
|
19
|
+
* preset: 'standard',
|
|
20
|
+
* requiredCompliance: ['GDPR']
|
|
21
|
+
* }))
|
|
22
|
+
* export class UsersController {
|
|
23
|
+
* @Get()
|
|
24
|
+
* async getUsers() {
|
|
25
|
+
* // Service function automatically has enriched headers
|
|
26
|
+
* return await fetchUsers({ page: 1 });
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare class EnrichedHeadersGuard implements CanActivate {
|
|
32
|
+
private readonly options;
|
|
33
|
+
/**
|
|
34
|
+
* Check if all required headers are present
|
|
35
|
+
*/
|
|
36
|
+
private checkRequiredHeaders;
|
|
37
|
+
/**
|
|
38
|
+
* Check if required compliance is met
|
|
39
|
+
*/
|
|
40
|
+
private checkRequiredCompliance;
|
|
41
|
+
/**
|
|
42
|
+
* Build enriched headers for request
|
|
43
|
+
*/
|
|
44
|
+
private buildHeadersForRequest;
|
|
45
|
+
/**
|
|
46
|
+
* Perform validation checks on headers
|
|
47
|
+
*/
|
|
48
|
+
private validateHeaders;
|
|
49
|
+
/**
|
|
50
|
+
* Handle successful header processing
|
|
51
|
+
*/
|
|
52
|
+
private handleSuccess;
|
|
53
|
+
/**
|
|
54
|
+
* Handle error during header building
|
|
55
|
+
*/
|
|
56
|
+
private handleBuildError;
|
|
57
|
+
constructor(options?: EnrichedHeadersGuardOptions);
|
|
58
|
+
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Create enriched headers guard with specific options
|
|
62
|
+
*
|
|
63
|
+
* @param options - Guard configuration
|
|
64
|
+
* @returns Configured guard instance
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* @UseGuards(createEnrichedHeadersGuard({
|
|
69
|
+
* preset: 'compliance-strict',
|
|
70
|
+
* requiredCompliance: ['GDPR'],
|
|
71
|
+
* debug: true
|
|
72
|
+
* }))
|
|
73
|
+
* export class EuComplianceController {
|
|
74
|
+
* // All methods require GDPR compliance
|
|
75
|
+
* }
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function createEnrichedHeadersGuard(options?: EnrichedHeadersGuardOptions): EnrichedHeadersGuard;
|
|
79
|
+
export declare function RequireEnrichedHeaders(options?: EnrichedHeadersGuardOptions): (target: object, propertyKey?: string, descriptor?: PropertyDescriptor) => void;
|
|
80
|
+
//# sourceMappingURL=enrichedHeadersGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrichedHeadersGuard.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/frameworks/nestjs/enrichedHeadersGuard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAc,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAI3E,OAAO,KAAK,EAAc,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAKhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,oBAAqB,YAAW,WAAW;IAsL1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IArLpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkC/B;;OAEG;YACW,sBAAsB;IAoCpC;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;YACW,aAAa;IAkB3B;;OAEG;YACW,gBAAgB;gBAoCD,OAAO,GAAE,2BAAgC;IAEhE,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CA2B/D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,2BAAgC,GACxC,oBAAoB,CAEtB;AAuCD,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,2BAAgC,GACxC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAejF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NestJS Interceptor for Enriched Context Headers
|
|
3
|
+
* Automatically collects enriched headers and sets AsyncLocalStorage context for service functions
|
|
4
|
+
*/
|
|
5
|
+
import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
import type { EnrichedHeadersInterceptorOptions } from '@plyaz/types/api';
|
|
8
|
+
/**
|
|
9
|
+
* NestJS interceptor that collects enriched context headers
|
|
10
|
+
* Automatically runs service functions with enriched headers in AsyncLocalStorage context
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { Controller, Get, UseInterceptors } from '@nestjs/common';
|
|
15
|
+
* import { EnrichedHeadersInterceptor } from '@plyaz/api/network/frameworks/nestjs';
|
|
16
|
+
* import { fetchUsers } from '@plyaz/api/services';
|
|
17
|
+
*
|
|
18
|
+
* @Controller('users')
|
|
19
|
+
* @UseInterceptors(new EnrichedHeadersInterceptor({
|
|
20
|
+
* preset: 'standard',
|
|
21
|
+
* includePerformance: true
|
|
22
|
+
* }))
|
|
23
|
+
* export class UsersController {
|
|
24
|
+
* @Get()
|
|
25
|
+
* async getUsers() {
|
|
26
|
+
* // Service function automatically has enriched headers
|
|
27
|
+
* return await fetchUsers({ page: 1 });
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare class EnrichedHeadersInterceptor implements NestInterceptor {
|
|
33
|
+
private readonly options;
|
|
34
|
+
constructor(options?: EnrichedHeadersInterceptorOptions);
|
|
35
|
+
/**
|
|
36
|
+
* Build enriched headers for the request
|
|
37
|
+
*/
|
|
38
|
+
private buildHeaders;
|
|
39
|
+
/**
|
|
40
|
+
* Add enriched headers to response
|
|
41
|
+
*/
|
|
42
|
+
private addHeadersToResponse;
|
|
43
|
+
/**
|
|
44
|
+
* Create observable with context
|
|
45
|
+
*/
|
|
46
|
+
private createContextObservable;
|
|
47
|
+
/**
|
|
48
|
+
* Handle context setup error
|
|
49
|
+
*/
|
|
50
|
+
private handleContextError;
|
|
51
|
+
/**
|
|
52
|
+
* Handle error during header building
|
|
53
|
+
*/
|
|
54
|
+
private handleBuildError;
|
|
55
|
+
/**
|
|
56
|
+
* Create fallback observable when headers fail
|
|
57
|
+
*/
|
|
58
|
+
private createFallbackObservable;
|
|
59
|
+
/**
|
|
60
|
+
* Handle fallback error
|
|
61
|
+
*/
|
|
62
|
+
private handleFallbackError;
|
|
63
|
+
intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<unknown>>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create enriched headers interceptor with specific options
|
|
67
|
+
*
|
|
68
|
+
* @param options - Interceptor configuration
|
|
69
|
+
* @returns Configured interceptor instance
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* @UseInterceptors(createEnrichedHeadersInterceptor({
|
|
74
|
+
* preset: 'compliance-strict',
|
|
75
|
+
* debug: true
|
|
76
|
+
* }))
|
|
77
|
+
* export class ComplianceController {
|
|
78
|
+
* // All methods automatically have enriched headers
|
|
79
|
+
* }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function createEnrichedHeadersInterceptor(options?: EnrichedHeadersInterceptorOptions): EnrichedHeadersInterceptor;
|
|
83
|
+
//# sourceMappingURL=enrichedHeadersInterceptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrichedHeadersInterceptor.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/frameworks/nestjs/enrichedHeadersInterceptor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,OAAO,KAAK,EAAc,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAKtF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,0BAA2B,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,iCAAsC;IAE5E;;OAEG;YACW,YAAY;IAgB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgCxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoBhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwBrB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;CAqC5F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,GAAE,iCAAsC,GAC9C,0BAA0B,CAE5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NestJS middleware and decorators for network detection
|
|
3
|
+
*/
|
|
4
|
+
export type { NestRequestWithNetwork } from '@plyaz/types/api';
|
|
5
|
+
export { NetworkDetectionMiddleware } from './networkDetectionMiddleware';
|
|
6
|
+
export { NetworkGuard } from './networkGuard';
|
|
7
|
+
export { ClientHintsInterceptor } from './clientHintsInterceptor';
|
|
8
|
+
export { NoDataSaverGuard } from './noDataSaverGuard';
|
|
9
|
+
export { MinimumConnectionGuard } from './minimumConnectionGuard';
|
|
10
|
+
export { EnrichedHeadersGuard } from './enrichedHeadersGuard';
|
|
11
|
+
export { EnrichedHeadersInterceptor } from './enrichedHeadersInterceptor';
|
|
12
|
+
export { NetworkInfoParam, NetworkProperty } from './decorators';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/frameworks/nestjs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-built guard for minimum connection quality
|
|
3
|
+
*/
|
|
4
|
+
import { ExecutionContext } from '@nestjs/common';
|
|
5
|
+
import { NetworkGuard } from './networkGuard';
|
|
6
|
+
/**
|
|
7
|
+
* Pre-built guard for minimum connection quality
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* @Controller('api')
|
|
12
|
+
* export class StreamingController {
|
|
13
|
+
* @Get('video-stream')
|
|
14
|
+
* @UseGuards(new MinimumConnectionGuard('3g'))
|
|
15
|
+
* streamVideo() {
|
|
16
|
+
* // This route requires at least 3G connection
|
|
17
|
+
* return this.videoStreamService.stream();
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class MinimumConnectionGuard extends NetworkGuard {
|
|
23
|
+
private readonly minimumType;
|
|
24
|
+
constructor(minimumType?: '4g' | '3g' | '2g');
|
|
25
|
+
canActivate(context: ExecutionContext): boolean;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=minimumConnectionGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimumConnectionGuard.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/frameworks/nestjs/minimumConnectionGuard.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAc,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,qBACa,sBAAuB,SAAQ,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,GAAE,IAAI,GAAG,IAAI,GAAG,IAAW;IAInE,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;CAShD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NestJS middleware class for network detection
|
|
3
|
+
*/
|
|
4
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
5
|
+
import type { Response, NextFunction } from 'express';
|
|
6
|
+
import type { NestRequestWithNetwork } from '@plyaz/types/api';
|
|
7
|
+
/**
|
|
8
|
+
* NestJS middleware class for network detection
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // app.module.ts
|
|
13
|
+
* import { Module, NestModule, MiddlewareConsumer } from '@nestjs/common';
|
|
14
|
+
* import { NetworkDetectionMiddleware } from '@plyaz/api/network/frameworks/nestjs';
|
|
15
|
+
*
|
|
16
|
+
* @Module({
|
|
17
|
+
* // ... module configuration
|
|
18
|
+
* })
|
|
19
|
+
* export class AppModule implements NestModule {
|
|
20
|
+
* configure(consumer: MiddlewareConsumer) {
|
|
21
|
+
* consumer
|
|
22
|
+
* .apply(NetworkDetectionMiddleware)
|
|
23
|
+
* .forRoutes('*'); // Apply to all routes
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class NetworkDetectionMiddleware implements NestMiddleware {
|
|
29
|
+
use(req: NestRequestWithNetwork, res: Response, next: NextFunction): void;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=networkDetectionMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkDetectionMiddleware.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/frameworks/nestjs/networkDetectionMiddleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,KAAK,EAAe,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,0BAA2B,YAAW,cAAc;IAC/D,GAAG,CAAC,GAAG,EAAE,sBAAsB,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;CA0B1E"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NestJS guard base class for network conditions
|
|
3
|
+
*/
|
|
4
|
+
import { ExecutionContext } from '@nestjs/common';
|
|
5
|
+
import type { NetworkInfo } from '@plyaz/types/api';
|
|
6
|
+
/**
|
|
7
|
+
* NestJS guard to check network conditions
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
|
|
12
|
+
* import { NetworkGuard } from '@plyaz/api/network/frameworks/nestjs';
|
|
13
|
+
*
|
|
14
|
+
* @Injectable()
|
|
15
|
+
* export class HighQualityOnlyGuard extends NetworkGuard {
|
|
16
|
+
* canActivate(context: ExecutionContext): boolean {
|
|
17
|
+
* const networkInfo = this.getNetworkInfo(context);
|
|
18
|
+
* return networkInfo.effectiveType === '4g' && !networkInfo.saveData;
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* @Controller('api')
|
|
23
|
+
* @UseGuards(HighQualityOnlyGuard)
|
|
24
|
+
* export class HighQualityController {
|
|
25
|
+
* // Routes here only accessible on 4G without data saver
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare abstract class NetworkGuard {
|
|
30
|
+
protected getNetworkInfo(context: ExecutionContext): NetworkInfo;
|
|
31
|
+
abstract canActivate(context: ExecutionContext): boolean | Promise<boolean>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=networkGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkGuard.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/frameworks/nestjs/networkGuard.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAc,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,8BACsB,YAAY;IAChC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW;IAuBhE,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAC5E"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-built guard for data saver mode
|
|
3
|
+
*/
|
|
4
|
+
import { ExecutionContext } from '@nestjs/common';
|
|
5
|
+
import { NetworkGuard } from './networkGuard';
|
|
6
|
+
/**
|
|
7
|
+
* Pre-built guard for data saver mode
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* @Controller('api')
|
|
12
|
+
* export class DataController {
|
|
13
|
+
* @Get('full-data')
|
|
14
|
+
* @UseGuards(NoDataSaverGuard)
|
|
15
|
+
* getFullData() {
|
|
16
|
+
* // This route is not accessible when data saver is enabled
|
|
17
|
+
* return { data: this.getLargeDataset() };
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class NoDataSaverGuard extends NetworkGuard {
|
|
23
|
+
canActivate(context: ExecutionContext): boolean;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=noDataSaverGuard.d.ts.map
|