@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,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Abort requests by pattern
|
|
3
|
+
*
|
|
4
|
+
* @param pattern - URL pattern to match
|
|
5
|
+
* @param reason - Optional abort reason
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // Abort all search requests
|
|
10
|
+
* abortByPattern('/api/search/*', 'New search started');
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function abortByPattern(pattern: string, reason?: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Abort all search requests
|
|
16
|
+
*
|
|
17
|
+
* @param reason - Optional abort reason
|
|
18
|
+
*/
|
|
19
|
+
export declare function abortSearchRequests(reason?: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Abort all upload requests
|
|
22
|
+
*
|
|
23
|
+
* @param reason - Optional abort reason
|
|
24
|
+
*/
|
|
25
|
+
export declare function abortUploadRequests(reason?: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Abort all pending API requests
|
|
28
|
+
*
|
|
29
|
+
* @param reason - Optional abort reason
|
|
30
|
+
*/
|
|
31
|
+
export declare function abortAllRequests(reason?: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Create scoped abort function for a specific API namespace
|
|
34
|
+
*
|
|
35
|
+
* @param scope - Scope prefix for requests
|
|
36
|
+
* @returns Scoped abort function
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const abortUserRequests = createScopedAbort('/api/users');
|
|
41
|
+
*
|
|
42
|
+
* // Later: abort all user requests
|
|
43
|
+
* abortUserRequests('profile', 'User logged out');
|
|
44
|
+
* // This aborts: /api/users/profile
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function createScopedAbort(scope: string): (key: string, reason?: string) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Debounced abort - useful for search-as-you-type
|
|
50
|
+
*
|
|
51
|
+
* @param delay - Delay in milliseconds
|
|
52
|
+
* @returns Debounced abort function
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const debouncedAbort = createDebouncedAbort(300);
|
|
57
|
+
*
|
|
58
|
+
* // On each keystroke
|
|
59
|
+
* debouncedAbort('/api/search', 'New search query');
|
|
60
|
+
* // Only aborts after 300ms of no calls
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function createDebouncedAbort(delay?: number): {
|
|
64
|
+
(key: string, reason?: string): void;
|
|
65
|
+
cancel: () => void;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Throttled abort - limits abort frequency
|
|
69
|
+
*
|
|
70
|
+
* @param limit - Minimum time between aborts (ms)
|
|
71
|
+
* @returns Throttled abort function
|
|
72
|
+
*/
|
|
73
|
+
export declare function createThrottledAbort(limit?: number): (key: string, reason?: string) => void;
|
|
74
|
+
/**
|
|
75
|
+
* Request with timeout - automatically aborts after timeout
|
|
76
|
+
*
|
|
77
|
+
* @param key - Request identifier
|
|
78
|
+
* @param fetcher - Function that performs the request
|
|
79
|
+
* @param timeoutMs - Timeout in milliseconds
|
|
80
|
+
* @returns Promise with request result
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const data = await requestWithTimeout(
|
|
85
|
+
* '/api/slow-endpoint',
|
|
86
|
+
* () => fetch('/api/slow-endpoint').then(r => r.json()),
|
|
87
|
+
* 5000 // 5 second timeout
|
|
88
|
+
* );
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare function requestWithTimeout<T>(key: string, fetcher: () => Promise<T>, timeoutMs: number): Promise<T>;
|
|
92
|
+
/**
|
|
93
|
+
* Race multiple requests and abort losers
|
|
94
|
+
*
|
|
95
|
+
* @param requests - Array of request configurations
|
|
96
|
+
* @returns Promise with winner's result
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const fastest = await raceRequests([
|
|
101
|
+
* { key: 'primary', fetcher: () => fetchPrimary() },
|
|
102
|
+
* { key: 'backup', fetcher: () => fetchBackup() }
|
|
103
|
+
* ]);
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function raceRequests<T>(requests: Array<{
|
|
107
|
+
key: string;
|
|
108
|
+
fetcher: () => Promise<T>;
|
|
109
|
+
}>): Promise<T>;
|
|
110
|
+
/**
|
|
111
|
+
* Sequential request chain with abort on failure
|
|
112
|
+
*
|
|
113
|
+
* @param requests - Array of request configurations
|
|
114
|
+
* @returns Array of results
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* const results = await sequentialRequests([
|
|
119
|
+
* { key: 'step1', fetcher: () => doStep1() },
|
|
120
|
+
* { key: 'step2', fetcher: () => doStep2() },
|
|
121
|
+
* { key: 'step3', fetcher: () => doStep3() }
|
|
122
|
+
* ]);
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
export declare function sequentialRequests<T>(requests: Array<{
|
|
126
|
+
key: string;
|
|
127
|
+
fetcher: () => Promise<T>;
|
|
128
|
+
}>): Promise<T[]>;
|
|
129
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/request/utils.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAErE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAKvF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,GAAE,MAAY,GAAG;IACzD,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAIA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,GAAE,MAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAIjG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,QAAQ,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAC,GACD,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,QAAQ,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAC,GACD,OAAO,CAAC,CAAC,EAAE,CAAC,CAmBd"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retry Condition Helpers
|
|
3
|
+
* Common retry condition functions for custom retry logic
|
|
4
|
+
*
|
|
5
|
+
* @module retry/conditions
|
|
6
|
+
*/
|
|
7
|
+
import type { RetryConfig, RetryResponse } from '@plyaz/types/api';
|
|
8
|
+
/**
|
|
9
|
+
* Common retry condition helpers
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { retryConditions } from '@plyaz/api/retry';
|
|
14
|
+
*
|
|
15
|
+
* const api = createApiClient({
|
|
16
|
+
* retry: {
|
|
17
|
+
* attempts: 5,
|
|
18
|
+
* shouldRetry: retryConditions.networkOnly
|
|
19
|
+
* }
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare const retryConditions: {
|
|
24
|
+
/**
|
|
25
|
+
* Retry only on network errors (no response)
|
|
26
|
+
*/
|
|
27
|
+
readonly networkOnly: (response: RetryResponse) => boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Retry on timeout errors
|
|
30
|
+
*/
|
|
31
|
+
readonly timeoutOnly: (response: RetryResponse) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Retry on specific status codes
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* shouldRetry: retryConditions.statusCodes([500, 502, 503])
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
readonly statusCodes: (codes: number[]) => (response: RetryResponse) => boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Retry with exponential backoff based on attempt
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* shouldRetry: retryConditions.withBackoff(5)
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
readonly withBackoff: (maxAttempts: number) => (_response: RetryResponse, attempt: number) => boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Retry based on custom header presence
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* shouldRetry: retryConditions.withHeader('x-retry-allowed', 'true')
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
readonly withHeader: (headerName: string, headerValue?: string) => (response: RetryResponse) => boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Retry if response contains specific error code
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* shouldRetry: retryConditions.errorCode(['NETWORK_ERROR', 'TIMEOUT'])
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
readonly errorCode: (codes: string[]) => (response: RetryResponse) => boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Combine multiple conditions (AND)
|
|
70
|
+
* All conditions must be true to retry
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* shouldRetry: retryConditions.all(
|
|
75
|
+
* retryConditions.networkOnly,
|
|
76
|
+
* retryConditions.withBackoff(3)
|
|
77
|
+
* )
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
readonly all: (...conditions: Array<(response: RetryResponse, attempt: number) => boolean>) => (response: RetryResponse, attempt: number) => boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Combine multiple conditions (OR)
|
|
83
|
+
* Any condition being true will trigger retry
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* shouldRetry: retryConditions.any(
|
|
88
|
+
* retryConditions.networkOnly,
|
|
89
|
+
* retryConditions.timeoutOnly,
|
|
90
|
+
* retryConditions.statusCodes([500, 502, 503])
|
|
91
|
+
* )
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
readonly any: (...conditions: Array<(response: RetryResponse, attempt: number) => boolean>) => (response: RetryResponse, attempt: number) => boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Retry based on rate limit headers
|
|
97
|
+
* Respects X-RateLimit-Remaining and Retry-After headers
|
|
98
|
+
*/
|
|
99
|
+
readonly rateLimit: (response: RetryResponse, attempt: number) => boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Retry on server errors (5xx status codes)
|
|
102
|
+
*/
|
|
103
|
+
readonly serverErrors: (response: RetryResponse) => boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Retry on client errors that might be transient (408, 429)
|
|
106
|
+
*/
|
|
107
|
+
readonly transientErrors: (response: RetryResponse) => boolean;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Create custom retry configuration with condition
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const customRetry = createRetryConfig({
|
|
115
|
+
* attempts: 5,
|
|
116
|
+
* delay: 2000,
|
|
117
|
+
* shouldRetry: retryConditions.serverErrors
|
|
118
|
+
* });
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export declare function createRetryConfig(options: Partial<RetryConfig>): RetryConfig;
|
|
122
|
+
/**
|
|
123
|
+
* Wrap a RetryResponse condition to accept unknown
|
|
124
|
+
* This allows our conditions to work with fetchff's unknown type
|
|
125
|
+
*/
|
|
126
|
+
export declare function wrapCondition(condition: (response: RetryResponse, attempt: number) => boolean): (response: unknown, attempt: number) => boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Create a retry condition that limits retries per status code
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* shouldRetry: createStatusCodeLimits({
|
|
133
|
+
* 500: 5, // Retry 500 errors up to 5 times
|
|
134
|
+
* 503: 3, // Retry 503 errors up to 3 times
|
|
135
|
+
* 429: 10 // Retry rate limits up to 10 times
|
|
136
|
+
* })
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
export declare function createStatusCodeLimits(limits: Record<number, number>): (response: RetryResponse, attempt: number) => boolean;
|
|
140
|
+
//# sourceMappingURL=conditions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../../src/api/retry/conditions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAyDnE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe;IAC1B;;OAEG;qCACqB,aAAa;IAErC;;OAEG;qCACqB,aAAa;IAGrC;;;;;;;OAOG;kCACkB,MAAM,EAAE,gBAAgB,aAAa;IAG1D;;;;;;;OAOG;wCACwB,MAAM,iBAAiB,aAAa,WAAW,MAAM;IAGhF;;;;;;;OAOG;sCACsB,MAAM,gBAAgB,MAAM,gBAAgB,aAAa;IAYlF;;;;;;;OAOG;gCACgB,MAAM,EAAE,gBAAgB,aAAa;IAExD;;;;;;;;;;;OAWG;kCAEe,KAAK,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,gBACjE,aAAa,WAAW,MAAM;IAG3C;;;;;;;;;;;;OAYG;kCAEe,KAAK,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,gBACjE,aAAa,WAAW,MAAM;IAG3C;;;OAGG;mCACmB,aAAa,WAAW,MAAM;IAcpD;;OAEG;sCACsB,aAAa;IAUtC;;OAEG;yCACyB,aAAa;CAQjC,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAW5E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,GAC/D,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAIjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAYvD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retry Mechanism Module
|
|
3
|
+
* Provides retry strategies and utilities for handling failed requests
|
|
4
|
+
*
|
|
5
|
+
* @module retry
|
|
6
|
+
*/
|
|
7
|
+
export type { RetryConfig, RetryStrategyName, RetryOption } from '@plyaz/types/api';
|
|
8
|
+
export { retryStrategies, createRetryStrategy, getRetryStrategy, applyRetryStrategy, mergeRetryStrategies, } from './strategies';
|
|
9
|
+
export { retryConditions, createRetryConfig, createStatusCodeLimits, wrapCondition, } from './conditions';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/retry/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { RetryConfig, RetryStrategyName } from '@plyaz/types/api';
|
|
2
|
+
/**
|
|
3
|
+
* Pre-configured retry strategies for common use cases
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import { retryStrategies } from '@plyaz/api/retry';
|
|
8
|
+
*
|
|
9
|
+
* // Use in API client
|
|
10
|
+
* const api = createApiClient({
|
|
11
|
+
* retry: retryStrategies.aggressive
|
|
12
|
+
* });
|
|
13
|
+
*
|
|
14
|
+
* // Or use by name
|
|
15
|
+
* const api = createApiClient({
|
|
16
|
+
* retry: 'aggressive'
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare const retryStrategies: Readonly<Record<RetryStrategyName, RetryConfig>>;
|
|
21
|
+
/**
|
|
22
|
+
* Helper to create custom retry strategy
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const customRetry = createRetryStrategy({
|
|
27
|
+
* attempts: 5,
|
|
28
|
+
* delay: 2000,
|
|
29
|
+
* backoff: 1.5
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function createRetryStrategy(config: RetryConfig): RetryConfig;
|
|
34
|
+
/**
|
|
35
|
+
* Get retry strategy by name with runtime validation
|
|
36
|
+
*/
|
|
37
|
+
export declare function getRetryStrategy(name: RetryStrategyName): RetryConfig;
|
|
38
|
+
/**
|
|
39
|
+
* Apply retry strategy by name or config
|
|
40
|
+
*
|
|
41
|
+
* @param strategy - Strategy name or config object
|
|
42
|
+
* @returns Retry configuration
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const config = applyRetryStrategy('aggressive');
|
|
47
|
+
* // or
|
|
48
|
+
* const config = applyRetryStrategy({ attempts: 5 });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function applyRetryStrategy(strategy: RetryStrategyName | RetryConfig | false): RetryConfig | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Merge multiple retry strategies (last wins)
|
|
54
|
+
*/
|
|
55
|
+
export declare function mergeRetryStrategies(...configs: (RetryConfig | undefined)[]): RetryConfig;
|
|
56
|
+
//# sourceMappingURL=strategies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../../src/api/retry/strategies.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAoB,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAuEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CA2HnE,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAQpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAsCrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,iBAAiB,GAAG,WAAW,GAAG,KAAK,GAChD,WAAW,GAAG,SAAS,CAuBzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,OAAO,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,GAAG,WAAW,CAQzF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Revalidation Configuration Module
|
|
3
|
+
* Provides revalidation strategies and utilities for fetchff's cache revalidation features
|
|
4
|
+
*
|
|
5
|
+
* @module @plyaz/api/revalidation
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Re-export fetchff's revalidation utilities
|
|
9
|
+
* These are direct pass-through exports for manual cache revalidation
|
|
10
|
+
*/
|
|
11
|
+
export { revalidate, revalidateAll, removeRevalidators } from 'fetchff';
|
|
12
|
+
/**
|
|
13
|
+
* Export revalidation strategies and utilities
|
|
14
|
+
*/
|
|
15
|
+
export { revalidationStrategies, genericPresets, getPresets, extendPresets, resetPresets, getPreset, createRevalidationStrategy, getRevalidationStrategy, applyRevalidationStrategy, isValidStrategyName, mergeRevalidationStrategies, } from './strategies';
|
|
16
|
+
/**
|
|
17
|
+
* Export SSR-safe utilities
|
|
18
|
+
*/
|
|
19
|
+
export { getSSRSafeConfig, isRevalidationSupported, calculateCacheDuration, isDataFresh, isCacheValid, createRevalidationKey, isWithinDedupeWindow, getNetworkOptimizedConfig, toFetchffRevalidationConfig, } from './utils';
|
|
20
|
+
/**
|
|
21
|
+
* Export domain-specific presets (separate import)
|
|
22
|
+
* These are not included by default to keep bundle size small
|
|
23
|
+
* Import them explicitly when needed:
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* import { domainPresets } from '@plyaz/api/revalidation/presets';
|
|
27
|
+
*/
|
|
28
|
+
export { domainPresets, ecommercePresets, socialPresets, financialPresets, contentPresets, enterprisePresets, gamingPresets, iotPresets, healthcarePresets, educationPresets, applyDomainPresets, } from './presets';
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/revalidation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAExE;;GAEG;AACH,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { RevalidationConfig } from '@plyaz/types/api';
|
|
2
|
+
/**
|
|
3
|
+
* E-commerce specific presets
|
|
4
|
+
*/
|
|
5
|
+
export declare const ecommercePresets: Record<string, RevalidationConfig>;
|
|
6
|
+
/**
|
|
7
|
+
* Social media specific presets
|
|
8
|
+
*/
|
|
9
|
+
export declare const socialPresets: Record<string, RevalidationConfig>;
|
|
10
|
+
/**
|
|
11
|
+
* Financial/Trading specific presets
|
|
12
|
+
*/
|
|
13
|
+
export declare const financialPresets: Record<string, RevalidationConfig>;
|
|
14
|
+
/**
|
|
15
|
+
* Content management specific presets
|
|
16
|
+
*/
|
|
17
|
+
export declare const contentPresets: Record<string, RevalidationConfig>;
|
|
18
|
+
/**
|
|
19
|
+
* Enterprise/B2B specific presets
|
|
20
|
+
*/
|
|
21
|
+
export declare const enterprisePresets: Record<string, RevalidationConfig>;
|
|
22
|
+
/**
|
|
23
|
+
* Gaming specific presets
|
|
24
|
+
*/
|
|
25
|
+
export declare const gamingPresets: Record<string, RevalidationConfig>;
|
|
26
|
+
/**
|
|
27
|
+
* IoT/Field application specific presets
|
|
28
|
+
*/
|
|
29
|
+
export declare const iotPresets: Record<string, RevalidationConfig>;
|
|
30
|
+
/**
|
|
31
|
+
* Healthcare specific presets
|
|
32
|
+
*/
|
|
33
|
+
export declare const healthcarePresets: Record<string, RevalidationConfig>;
|
|
34
|
+
/**
|
|
35
|
+
* Education specific presets
|
|
36
|
+
*/
|
|
37
|
+
export declare const educationPresets: Record<string, RevalidationConfig>;
|
|
38
|
+
/**
|
|
39
|
+
* All domain presets grouped by category
|
|
40
|
+
*/
|
|
41
|
+
export declare const domainPresets: {
|
|
42
|
+
readonly ecommerce: Record<string, RevalidationConfig>;
|
|
43
|
+
readonly social: Record<string, RevalidationConfig>;
|
|
44
|
+
readonly financial: Record<string, RevalidationConfig>;
|
|
45
|
+
readonly content: Record<string, RevalidationConfig>;
|
|
46
|
+
readonly enterprise: Record<string, RevalidationConfig>;
|
|
47
|
+
readonly gaming: Record<string, RevalidationConfig>;
|
|
48
|
+
readonly iot: Record<string, RevalidationConfig>;
|
|
49
|
+
readonly healthcare: Record<string, RevalidationConfig>;
|
|
50
|
+
readonly education: Record<string, RevalidationConfig>;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Helper function to apply domain presets
|
|
54
|
+
*
|
|
55
|
+
* @param domain - Domain name or custom presets
|
|
56
|
+
* @returns Applied presets
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* // Apply a specific domain
|
|
60
|
+
* applyDomainPresets('ecommerce');
|
|
61
|
+
*
|
|
62
|
+
* // Apply multiple domains
|
|
63
|
+
* applyDomainPresets(['ecommerce', 'social']);
|
|
64
|
+
*
|
|
65
|
+
* // Apply custom presets
|
|
66
|
+
* applyDomainPresets({
|
|
67
|
+
* customEndpoint: revalidationStrategies.balanced
|
|
68
|
+
* });
|
|
69
|
+
*/
|
|
70
|
+
export declare function applyDomainPresets(domain: keyof typeof domainPresets | (keyof typeof domainPresets)[] | Record<string, RevalidationConfig>): Record<string, RevalidationConfig>;
|
|
71
|
+
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/api/revalidation/presets.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAiB/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAa5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAgB/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAU7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAOhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAO5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAOzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAOhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAO/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;CAUhB,CAAC;AAEX;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EACF,MAAM,OAAO,aAAa,GAC1B,CAAC,MAAM,OAAO,aAAa,CAAC,EAAE,GAC9B,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAcpC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { RevalidationConfig, RevalidationStrategyName } from '@plyaz/types/api';
|
|
2
|
+
/**
|
|
3
|
+
* Pre-configured revalidation strategies with deduplication
|
|
4
|
+
* These are configuration options, not implementations
|
|
5
|
+
*
|
|
6
|
+
* Based on fetchff best practices for different data volatility levels
|
|
7
|
+
*/
|
|
8
|
+
export declare const revalidationStrategies: Readonly<Record<RevalidationStrategyName, RevalidationConfig>>;
|
|
9
|
+
/**
|
|
10
|
+
* Generic use case presets
|
|
11
|
+
* These provide semantic naming for common application patterns
|
|
12
|
+
* Can be extended with custom presets via extendPresets()
|
|
13
|
+
*/
|
|
14
|
+
export declare const genericPresets: {
|
|
15
|
+
readonly dashboard: RevalidationConfig;
|
|
16
|
+
readonly chat: RevalidationConfig;
|
|
17
|
+
readonly notifications: RevalidationConfig;
|
|
18
|
+
readonly analytics: RevalidationConfig;
|
|
19
|
+
readonly feed: RevalidationConfig;
|
|
20
|
+
readonly content: RevalidationConfig;
|
|
21
|
+
readonly profile: RevalidationConfig;
|
|
22
|
+
readonly settings: RevalidationConfig;
|
|
23
|
+
readonly documentation: RevalidationConfig;
|
|
24
|
+
readonly assets: RevalidationConfig;
|
|
25
|
+
readonly config: RevalidationConfig;
|
|
26
|
+
readonly pwa: RevalidationConfig;
|
|
27
|
+
readonly mobile: RevalidationConfig;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Get all current presets
|
|
31
|
+
*
|
|
32
|
+
* @returns Current preset registry
|
|
33
|
+
*/
|
|
34
|
+
export declare function getPresets(): Readonly<Record<string, RevalidationConfig>>;
|
|
35
|
+
/**
|
|
36
|
+
* Extend presets with custom configurations
|
|
37
|
+
*
|
|
38
|
+
* @param customPresets - Custom preset configurations
|
|
39
|
+
* @returns Updated preset registry
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* extendPresets({
|
|
43
|
+
* ecommerce: revalidationStrategies.balanced,
|
|
44
|
+
* tradingPlatform: revalidationStrategies.realtime,
|
|
45
|
+
* socialMedia: { ...revalidationStrategies.aggressive, dedupeTime: 500 }
|
|
46
|
+
* });
|
|
47
|
+
*/
|
|
48
|
+
export declare function extendPresets(customPresets: Record<string, RevalidationConfig>): Readonly<Record<string, RevalidationConfig>>;
|
|
49
|
+
/**
|
|
50
|
+
* Reset presets to generic defaults
|
|
51
|
+
* Useful for testing or cleanup
|
|
52
|
+
*/
|
|
53
|
+
export declare function resetPresets(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Get a preset by name
|
|
56
|
+
*
|
|
57
|
+
* @param name - Preset name
|
|
58
|
+
* @returns Preset configuration or undefined
|
|
59
|
+
*/
|
|
60
|
+
export declare function getPreset(name: string): RevalidationConfig | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Create custom revalidation strategy
|
|
63
|
+
*
|
|
64
|
+
* @param options - Partial revalidation configuration
|
|
65
|
+
* @returns Complete revalidation configuration with defaults
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* const customStrategy = createRevalidationStrategy({
|
|
69
|
+
* refetchOnFocus: true,
|
|
70
|
+
* staleTime: 120
|
|
71
|
+
* });
|
|
72
|
+
*/
|
|
73
|
+
export declare function createRevalidationStrategy(options: Partial<RevalidationConfig>): RevalidationConfig;
|
|
74
|
+
/**
|
|
75
|
+
* Get a specific strategy with type safety
|
|
76
|
+
*
|
|
77
|
+
* @param name - Strategy name to retrieve
|
|
78
|
+
* @returns The strategy configuration
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* const strategy = getRevalidationStrategy('realtime');
|
|
82
|
+
*/
|
|
83
|
+
export declare function getRevalidationStrategy(name: RevalidationStrategyName): RevalidationConfig;
|
|
84
|
+
/**
|
|
85
|
+
* Apply revalidation strategy by name or config
|
|
86
|
+
*
|
|
87
|
+
* @param strategy - Strategy name, config object, or false to disable
|
|
88
|
+
* @returns Revalidation configuration or undefined
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* const config = applyRevalidationStrategy('realtime');
|
|
92
|
+
* const custom = applyRevalidationStrategy({ refetchOnFocus: true });
|
|
93
|
+
* const disabled = applyRevalidationStrategy(false);
|
|
94
|
+
*/
|
|
95
|
+
export declare function applyRevalidationStrategy(strategy: RevalidationConfig | RevalidationStrategyName | false): RevalidationConfig | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Check if a strategy name is valid
|
|
98
|
+
*
|
|
99
|
+
* @param name - Strategy name to check
|
|
100
|
+
* @returns True if valid strategy name
|
|
101
|
+
*/
|
|
102
|
+
export declare function isValidStrategyName(name: string): name is RevalidationStrategyName;
|
|
103
|
+
/**
|
|
104
|
+
* Merge multiple revalidation strategies (last wins)
|
|
105
|
+
*
|
|
106
|
+
* @param configs - Revalidation configurations to merge
|
|
107
|
+
* @returns Merged configuration
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* const merged = mergeRevalidationStrategies(
|
|
111
|
+
* revalidationStrategies.balanced,
|
|
112
|
+
* { refetchOnFocus: false }
|
|
113
|
+
* );
|
|
114
|
+
*/
|
|
115
|
+
export declare function mergeRevalidationStrategies(...configs: (RevalidationConfig | undefined)[]): RevalidationConfig;
|
|
116
|
+
//# sourceMappingURL=strategies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../../src/api/revalidation/strategies.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CA0GrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAyBjB,CAAC;AAQX;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAEzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAChD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAM9C;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,kBAAkB,CAKpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,GAAG,kBAAkB,CAyB1F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,KAAK,GAC9D,kBAAkB,GAAG,SAAS,CAehC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,wBAAwB,CAElF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,OAAO,EAAE,CAAC,kBAAkB,GAAG,SAAS,CAAC,EAAE,GAC7C,kBAAkB,CAEpB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { RevalidationConfig } from '@plyaz/types/api';
|
|
2
|
+
/**
|
|
3
|
+
* Get SSR-safe revalidation configuration
|
|
4
|
+
* Disables browser-specific features in server environment
|
|
5
|
+
*
|
|
6
|
+
* @param config - Original revalidation configuration
|
|
7
|
+
* @returns SSR-safe configuration
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const safeConfig = getSSRSafeConfig({
|
|
11
|
+
* refetchOnFocus: true,
|
|
12
|
+
* refetchOnReconnect: true
|
|
13
|
+
* });
|
|
14
|
+
* // On server: { refetchOnFocus: false, refetchOnReconnect: false }
|
|
15
|
+
* // On client: { refetchOnFocus: true, refetchOnReconnect: true }
|
|
16
|
+
*/
|
|
17
|
+
export declare function getSSRSafeConfig(config: RevalidationConfig): RevalidationConfig;
|
|
18
|
+
/**
|
|
19
|
+
* Check if revalidation features are supported
|
|
20
|
+
*
|
|
21
|
+
* @returns True if browser supports focus/online events
|
|
22
|
+
*/
|
|
23
|
+
export declare function isRevalidationSupported(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Calculate effective cache duration based on config
|
|
26
|
+
*
|
|
27
|
+
* @param config - Revalidation configuration
|
|
28
|
+
* @returns Total cache duration in milliseconds
|
|
29
|
+
*/
|
|
30
|
+
export declare function calculateCacheDuration(config: RevalidationConfig): number;
|
|
31
|
+
/**
|
|
32
|
+
* Determine if data should be considered fresh
|
|
33
|
+
*
|
|
34
|
+
* @param lastFetchTime - Timestamp of last fetch
|
|
35
|
+
* @param staleTime - Stale time in seconds
|
|
36
|
+
* @returns True if data is still fresh
|
|
37
|
+
*/
|
|
38
|
+
export declare function isDataFresh(lastFetchTime: number, staleTime: number): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Determine if cache is still valid
|
|
41
|
+
*
|
|
42
|
+
* @param lastFetchTime - Timestamp of last fetch
|
|
43
|
+
* @param cacheTime - Cache time in seconds
|
|
44
|
+
* @returns True if cache is still valid
|
|
45
|
+
*/
|
|
46
|
+
export declare function isCacheValid(lastFetchTime: number, cacheTime: number): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Create a revalidation key for deduplication
|
|
49
|
+
*
|
|
50
|
+
* @param url - Request URL
|
|
51
|
+
* @param params - Request parameters
|
|
52
|
+
* @returns Unique key for the request
|
|
53
|
+
*/
|
|
54
|
+
export declare function createRevalidationKey(url: string, params?: Record<string, unknown>): string;
|
|
55
|
+
/**
|
|
56
|
+
* Check if request is within deduplication window
|
|
57
|
+
*
|
|
58
|
+
* @param lastRequestTime - Timestamp of last request
|
|
59
|
+
* @param dedupeTime - Deduplication window in milliseconds
|
|
60
|
+
* @returns True if within deduplication window
|
|
61
|
+
*/
|
|
62
|
+
export declare function isWithinDedupeWindow(lastRequestTime: number, dedupeTime: number): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Get optimal revalidation config based on network conditions
|
|
65
|
+
*
|
|
66
|
+
* @param baseConfig - Base revalidation configuration
|
|
67
|
+
* @returns Optimized configuration for current network
|
|
68
|
+
*/
|
|
69
|
+
export declare function getNetworkOptimizedConfig(baseConfig: RevalidationConfig): RevalidationConfig;
|
|
70
|
+
/**
|
|
71
|
+
* Convert our revalidation config to fetchff format
|
|
72
|
+
* Maps our naming conventions to fetchff's expected properties
|
|
73
|
+
*
|
|
74
|
+
* @param config - Our revalidation configuration
|
|
75
|
+
* @returns fetchff-compatible configuration
|
|
76
|
+
*/
|
|
77
|
+
export declare function toFetchffRevalidationConfig(config: RevalidationConfig): Record<string, unknown>;
|
|
78
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/revalidation/utils.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAS/E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CA0BjD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAIzE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAI7E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAO9E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAwB3F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAMzF;AA4BD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,CAuB5F;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2B/F"}
|