@plyaz/api 1.0.2 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +7 -0
- package/dist/api/services/index.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,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Correlation ID Generation Utilities
|
|
3
|
+
* Provides correlation-specific ID generation for distributed tracing and event correlation
|
|
4
|
+
*/
|
|
5
|
+
import { CORRELATION_TYPE, type IdGenerationOptions } from '@plyaz/types/api';
|
|
6
|
+
/**
|
|
7
|
+
* Generate a correlation ID
|
|
8
|
+
* Uses timestamp-based format for efficient sorting and tracing
|
|
9
|
+
*
|
|
10
|
+
* @param type - Type of correlation (defaults to GENERIC)
|
|
11
|
+
* @param options - Optional ID generation options
|
|
12
|
+
* @returns Correlation identifier
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const correlationId = generateCorrelationId();
|
|
17
|
+
* // 'corr_1a2b3c4d_5e6f7g8h'
|
|
18
|
+
*
|
|
19
|
+
* const networkId = generateCorrelationId(CORRELATION_TYPE.NETWORK);
|
|
20
|
+
* // 'net_1a2b3c4d_5e6f7g8h'
|
|
21
|
+
*
|
|
22
|
+
* const apiId = generateCorrelationId(CORRELATION_TYPE.API);
|
|
23
|
+
* // 'api_1a2b3c4d_5e6f7g8h'
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateCorrelationId(type?: CORRELATION_TYPE | string, options?: IdGenerationOptions): string;
|
|
27
|
+
/**
|
|
28
|
+
* Generate a contextual correlation ID
|
|
29
|
+
* Includes context information for better tracing
|
|
30
|
+
*
|
|
31
|
+
* @param context - Context information
|
|
32
|
+
* @param type - Type of correlation
|
|
33
|
+
* @param options - Optional ID generation options
|
|
34
|
+
* @returns Contextualized correlation ID
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const correlationId = generateContextualCorrelationId({
|
|
39
|
+
* service: 'api',
|
|
40
|
+
* operation: 'getUserProfile'
|
|
41
|
+
* });
|
|
42
|
+
* // 'api:getUserProfile:corr_1a2b3c4d_5e6f7g8h'
|
|
43
|
+
*
|
|
44
|
+
* const networkId = generateContextualCorrelationId(
|
|
45
|
+
* { quality: 'POOR', trigger: 'rtt' },
|
|
46
|
+
* CORRELATION_TYPE.NETWORK
|
|
47
|
+
* );
|
|
48
|
+
* // 'POOR:rtt:net_1a2b3c4d_5e6f7g8h'
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function generateContextualCorrelationId(context: Record<string, string | number | undefined>, type?: CORRELATION_TYPE | string, options?: IdGenerationOptions): string;
|
|
52
|
+
/**
|
|
53
|
+
* Generate a network correlation ID
|
|
54
|
+
* Specialized for network event correlation
|
|
55
|
+
*
|
|
56
|
+
* @param options - Optional ID generation options
|
|
57
|
+
* @returns Network correlation identifier
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const networkId = generateNetworkCorrelationId();
|
|
62
|
+
* // 'net_1a2b3c4d_5e6f7g8h'
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function generateNetworkCorrelationId(options?: IdGenerationOptions): string;
|
|
66
|
+
/**
|
|
67
|
+
* Generate an API correlation ID
|
|
68
|
+
* Specialized for API request correlation
|
|
69
|
+
*
|
|
70
|
+
* @param options - Optional ID generation options
|
|
71
|
+
* @returns API correlation identifier
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const apiId = generateApiCorrelationId();
|
|
76
|
+
* // 'api_1a2b3c4d_5e6f7g8h'
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare function generateApiCorrelationId(options?: IdGenerationOptions): string;
|
|
80
|
+
/**
|
|
81
|
+
* Generate a session correlation ID
|
|
82
|
+
* Specialized for user session correlation
|
|
83
|
+
*
|
|
84
|
+
* @param options - Optional ID generation options
|
|
85
|
+
* @returns Session correlation identifier
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const sessionId = generateSessionCorrelationId();
|
|
90
|
+
* // 'session_1a2b3c4d_5e6f7g8h'
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare function generateSessionCorrelationId(options?: IdGenerationOptions): string;
|
|
94
|
+
/**
|
|
95
|
+
* Generate a trace correlation ID
|
|
96
|
+
* Specialized for distributed tracing
|
|
97
|
+
*
|
|
98
|
+
* @param options - Optional ID generation options
|
|
99
|
+
* @returns Trace correlation identifier
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const traceId = generateTraceCorrelationId();
|
|
104
|
+
* // 'trace_1a2b3c4d_5e6f7g8h'
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export declare function generateTraceCorrelationId(options?: IdGenerationOptions): string;
|
|
108
|
+
/**
|
|
109
|
+
* Extract base correlation ID from contextual correlation ID
|
|
110
|
+
* Removes context and prefix to get the core ID
|
|
111
|
+
*
|
|
112
|
+
* @param contextualId - Contextual correlation ID
|
|
113
|
+
* @returns Base correlation ID
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const baseId = extractBaseCorrelationId('api:getUserProfile:corr_1a2b3c4d_5e6f7g8h');
|
|
118
|
+
* // '1a2b3c4d_5e6f7g8h'
|
|
119
|
+
*
|
|
120
|
+
* const baseId = extractBaseCorrelationId('net_1a2b3c4d_5e6f7g8h');
|
|
121
|
+
* // '1a2b3c4d_5e6f7g8h'
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
export declare function extractBaseCorrelationId(contextualId: string): string;
|
|
125
|
+
/**
|
|
126
|
+
* Extract correlation type from ID
|
|
127
|
+
*
|
|
128
|
+
* @param id - Correlation ID
|
|
129
|
+
* @returns Correlation type or undefined
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const type = extractCorrelationType('net_1a2b3c4d_5e6f7g8h');
|
|
134
|
+
* // 'net'
|
|
135
|
+
*
|
|
136
|
+
* const type = extractCorrelationType('api:getUserProfile:api_1a2b3c4d_5e6f7g8h');
|
|
137
|
+
* // 'api'
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
export declare function extractCorrelationType(id: string): CORRELATION_TYPE | undefined;
|
|
141
|
+
/**
|
|
142
|
+
* Check if a string is a valid correlation ID format
|
|
143
|
+
*
|
|
144
|
+
* @param id - String to check
|
|
145
|
+
* @returns True if valid correlation ID format
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* isValidCorrelationId('corr_1a2b3c4d_5e6f7g8h'); // true
|
|
150
|
+
* isValidCorrelationId('net_1a2b3c4d_5e6f7g8h'); // true
|
|
151
|
+
* isValidCorrelationId('api:getUserProfile:api_1a2b3c4d_5e6f7g8h'); // true
|
|
152
|
+
* isValidCorrelationId('invalid'); // false
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export declare function isValidCorrelationId(id: string): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Create a correlation ID generator with custom options
|
|
158
|
+
*
|
|
159
|
+
* @param type - Default correlation type
|
|
160
|
+
* @param defaultOptions - Default options for the generator
|
|
161
|
+
* @returns Custom correlation ID generator
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* const generateServiceCorrelationId = createCorrelationIdGenerator(
|
|
166
|
+
* 'service',
|
|
167
|
+
* { randomLength: 12 }
|
|
168
|
+
* );
|
|
169
|
+
*
|
|
170
|
+
* const id = generateServiceCorrelationId();
|
|
171
|
+
* // 'service_1a2b3c4d_5e6f7g8h9i0j'
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
export declare function createCorrelationIdGenerator(type?: CORRELATION_TYPE | string, defaultOptions?: IdGenerationOptions): (options?: IdGenerationOptions) => string;
|
|
175
|
+
/**
|
|
176
|
+
* Link multiple correlation IDs together
|
|
177
|
+
* Useful for tracing related operations
|
|
178
|
+
*
|
|
179
|
+
* @param ids - Correlation IDs to link
|
|
180
|
+
* @param separator - Separator for linked IDs
|
|
181
|
+
* @returns Linked correlation ID
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* const linkedId = linkCorrelationIds(
|
|
186
|
+
* 'api_1a2b3c4d_5e6f7g8h',
|
|
187
|
+
* 'net_9i0j1k2l_3m4n5o6p'
|
|
188
|
+
* );
|
|
189
|
+
* // 'api_1a2b3c4d_5e6f7g8h->net_9i0j1k2l_3m4n5o6p'
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
export declare function linkCorrelationIds(...ids: string[]): string;
|
|
193
|
+
/**
|
|
194
|
+
* Extract linked correlation IDs
|
|
195
|
+
*
|
|
196
|
+
* @param linkedId - Linked correlation ID
|
|
197
|
+
* @returns Array of individual correlation IDs
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* const ids = extractLinkedCorrelationIds('api_1a2b3c4d_5e6f7g8h->net_9i0j1k2l_3m4n5o6p');
|
|
202
|
+
* // ['api_1a2b3c4d_5e6f7g8h', 'net_9i0j1k2l_3m4n5o6p']
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
export declare function extractLinkedCorrelationIds(linkedId: string): string[];
|
|
206
|
+
//# sourceMappingURL=correlation-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"correlation-id.d.ts","sourceRoot":"","sources":["../../../../src/api/utils/generation/correlation-id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA+B9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,GAAE,gBAAgB,GAAG,MAAiC,EAC1D,OAAO,CAAC,EAAE,mBAAmB,GAC5B,MAAM,CAGR;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EACpD,IAAI,GAAE,gBAAgB,GAAG,MAAiC,EAC1D,OAAO,CAAC,EAAE,mBAAmB,GAC5B,MAAM,CASR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAElF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAE9E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAElF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAcrE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAqB/E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAexD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,GAAE,gBAAgB,GAAG,MAAiC,EAC1D,cAAc,GAAE,mBAAwB,GACvC,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAS3C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAE3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEtE"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base ID Generation Utilities
|
|
3
|
+
* Provides core ID generation functionality for request IDs, correlation IDs, and other identifiers
|
|
4
|
+
*/
|
|
5
|
+
import type { IdGenerationOptions } from '@plyaz/types/api';
|
|
6
|
+
/**
|
|
7
|
+
* Generate a base unique identifier
|
|
8
|
+
* Core function used by all ID generators
|
|
9
|
+
*
|
|
10
|
+
* @param options - ID generation options
|
|
11
|
+
* @returns Generated unique identifier
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // UUID-based ID
|
|
16
|
+
* const id = generateBaseId();
|
|
17
|
+
* // '550e8400-e29b-41d4-a716-446655440000'
|
|
18
|
+
*
|
|
19
|
+
* // Timestamp-based ID
|
|
20
|
+
* const id = generateBaseId({ useTimestamp: true });
|
|
21
|
+
* // '1a2b3c4d5e_f6g7h8i9'
|
|
22
|
+
*
|
|
23
|
+
* // With prefix
|
|
24
|
+
* const id = generateBaseId({ prefix: 'req' });
|
|
25
|
+
* // 'req_550e8400-e29b-41d4-a716-446655440000'
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function generateBaseId(options?: IdGenerationOptions): string;
|
|
29
|
+
/**
|
|
30
|
+
* Generate a contextual ID with metadata
|
|
31
|
+
* Includes context information for debugging and tracing
|
|
32
|
+
*
|
|
33
|
+
* @param context - Context object with metadata
|
|
34
|
+
* @param options - ID generation options
|
|
35
|
+
* @returns Contextualized ID
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const id = generateContextualId({
|
|
40
|
+
* method: 'GET',
|
|
41
|
+
* path: '/api/users'
|
|
42
|
+
* });
|
|
43
|
+
* // 'GET:/api/users:550e8400-e29b-41d4-a716-446655440000'
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function generateContextualId(context: Record<string, string | number | undefined>, options?: IdGenerationOptions): string;
|
|
47
|
+
/**
|
|
48
|
+
* Extract base ID from a contextualized or prefixed ID
|
|
49
|
+
*
|
|
50
|
+
* @param id - Full ID with context or prefix
|
|
51
|
+
* @param options - Options for extraction
|
|
52
|
+
* @returns Base ID without context or prefix
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const baseId = extractBaseId('req_550e8400-e29b-41d4-a716-446655440000');
|
|
57
|
+
* // '550e8400-e29b-41d4-a716-446655440000'
|
|
58
|
+
*
|
|
59
|
+
* const baseId = extractBaseId('GET:/api/users:550e8400-e29b-41d4-a716-446655440000');
|
|
60
|
+
* // '550e8400-e29b-41d4-a716-446655440000'
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function extractBaseId(id: string, options?: {
|
|
64
|
+
separator?: string;
|
|
65
|
+
extractLast?: boolean;
|
|
66
|
+
}): string;
|
|
67
|
+
/**
|
|
68
|
+
* Validate ID format
|
|
69
|
+
* Checks if string matches expected ID patterns
|
|
70
|
+
*
|
|
71
|
+
* @param id - String to validate
|
|
72
|
+
* @param options - Validation options
|
|
73
|
+
* @returns True if valid ID format
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* isValidId('550e8400-e29b-41d4-a716-446655440000'); // true (UUID)
|
|
78
|
+
* isValidId('req_123456'); // true (prefixed)
|
|
79
|
+
* isValidId('net_1a2b3c_4d5e6f'); // true (timestamp)
|
|
80
|
+
* isValidId('invalid'); // false
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function isValidId(id: string, options?: {
|
|
84
|
+
allowUuid?: boolean;
|
|
85
|
+
allowTimestamp?: boolean;
|
|
86
|
+
allowPrefix?: boolean;
|
|
87
|
+
minLength?: number;
|
|
88
|
+
}): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Parse an ID to extract its components
|
|
91
|
+
*
|
|
92
|
+
* @param id - ID to parse
|
|
93
|
+
* @param options - Parsing options
|
|
94
|
+
* @returns Parsed components
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const parts = parseId('req_123_abc');
|
|
99
|
+
* // { prefix: 'req', core: '123', suffix: 'abc' }
|
|
100
|
+
*
|
|
101
|
+
* const parts = parseId('GET:/api/users:550e8400');
|
|
102
|
+
* // { context: 'GET:/api/users', core: '550e8400' }
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare function parseId(id: string, options?: {
|
|
106
|
+
separator?: string;
|
|
107
|
+
}): {
|
|
108
|
+
prefix?: string;
|
|
109
|
+
core: string;
|
|
110
|
+
suffix?: string;
|
|
111
|
+
context?: string;
|
|
112
|
+
full: string;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Create a custom ID generator with preset options
|
|
116
|
+
*
|
|
117
|
+
* @param defaultOptions - Default options for the generator
|
|
118
|
+
* @returns Custom ID generator function
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const generateRequestId = createIdGenerator({ prefix: 'req' });
|
|
123
|
+
* const generateCorrelationId = createIdGenerator({
|
|
124
|
+
* prefix: 'corr',
|
|
125
|
+
* useTimestamp: true
|
|
126
|
+
* });
|
|
127
|
+
*
|
|
128
|
+
* const reqId = generateRequestId(); // 'req_550e8400-...'
|
|
129
|
+
* const corrId = generateCorrelationId(); // 'corr_1a2b3c_4d5e6f'
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export declare function createIdGenerator(defaultOptions?: IdGenerationOptions): (options?: IdGenerationOptions) => string;
|
|
133
|
+
//# sourceMappingURL=id-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-generator.d.ts","sourceRoot":"","sources":["../../../../src/api/utils/generation/id-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA4B5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAoCxE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EACpD,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAgBR;AAwDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1D,MAAM,CAQR;AAmGD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAST;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAoCA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,GAAE,mBAAwB,GACvC,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAI3C"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request ID Generation Utilities
|
|
3
|
+
* Provides request-specific ID generation using the base ID generator
|
|
4
|
+
*/
|
|
5
|
+
import type { IdGenerationOptions } from '@plyaz/types/api';
|
|
6
|
+
/**
|
|
7
|
+
* Generate a unique request ID
|
|
8
|
+
* Uses UUID format with 'req' prefix for guaranteed uniqueness
|
|
9
|
+
*
|
|
10
|
+
* @param options - Optional ID generation options to override defaults
|
|
11
|
+
* @returns Unique request identifier
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const requestId = generateRequestId();
|
|
16
|
+
* // 'req_550e8400-e29b-41d4-a716-446655440000'
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateRequestId(options?: IdGenerationOptions): string;
|
|
20
|
+
/**
|
|
21
|
+
* Generate a request ID with context
|
|
22
|
+
* Includes method and URL information for debugging
|
|
23
|
+
*
|
|
24
|
+
* @param method - HTTP method
|
|
25
|
+
* @param url - Request URL
|
|
26
|
+
* @param options - Optional ID generation options
|
|
27
|
+
* @returns Contextualized request ID
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const requestId = generateContextualRequestId('GET', '/api/users');
|
|
32
|
+
* // 'GET:/api/users:req_550e8400-e29b-41d4-a716-446655440000'
|
|
33
|
+
*
|
|
34
|
+
* const requestId = generateContextualRequestId('POST', '/api/data', {
|
|
35
|
+
* useTimestamp: true
|
|
36
|
+
* });
|
|
37
|
+
* // 'POST:/api/data:req_1a2b3c4d_5e6f7g8h'
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function generateContextualRequestId(method?: string, url?: string, options?: IdGenerationOptions): string;
|
|
41
|
+
/**
|
|
42
|
+
* Extract base request ID from contextual request ID
|
|
43
|
+
* Removes context and prefix to get the core ID
|
|
44
|
+
*
|
|
45
|
+
* @param contextualId - Contextual request ID
|
|
46
|
+
* @returns Base request ID
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const baseId = extractBaseRequestId('GET:/api/users:req_550e8400-e29b-41d4-a716-446655440000');
|
|
51
|
+
* // '550e8400-e29b-41d4-a716-446655440000'
|
|
52
|
+
*
|
|
53
|
+
* const baseId = extractBaseRequestId('req_550e8400-e29b-41d4-a716-446655440000');
|
|
54
|
+
* // '550e8400-e29b-41d4-a716-446655440000'
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function extractBaseRequestId(contextualId: string): string;
|
|
58
|
+
/**
|
|
59
|
+
* Check if a string is a valid request ID format
|
|
60
|
+
*
|
|
61
|
+
* @param id - String to check
|
|
62
|
+
* @returns True if valid request ID format
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* isValidRequestId('req_550e8400-e29b-41d4-a716-446655440000'); // true
|
|
67
|
+
* isValidRequestId('GET:/api:req_550e8400-e29b-41d4-a716-446655440000'); // true
|
|
68
|
+
* isValidRequestId('550e8400-e29b-41d4-a716-446655440000'); // true (UUID)
|
|
69
|
+
* isValidRequestId('invalid'); // false
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare function isValidRequestId(id: string): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Generate a short request ID for logging
|
|
75
|
+
* Useful when you need a shorter identifier
|
|
76
|
+
*
|
|
77
|
+
* @param options - Optional ID generation options
|
|
78
|
+
* @returns Short request identifier
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const shortId = generateShortRequestId();
|
|
83
|
+
* // 'req_1a2b3c4d_5e6f7g8h'
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function generateShortRequestId(options?: IdGenerationOptions): string;
|
|
87
|
+
/**
|
|
88
|
+
* Create a request ID generator with custom options
|
|
89
|
+
* Useful for creating specialized request ID generators
|
|
90
|
+
*
|
|
91
|
+
* @param defaultOptions - Default options for the generator
|
|
92
|
+
* @returns Custom request ID generator
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* const generateApiRequestId = createRequestIdGenerator({
|
|
97
|
+
* prefix: 'api-req',
|
|
98
|
+
* useTimestamp: true
|
|
99
|
+
* });
|
|
100
|
+
*
|
|
101
|
+
* const id = generateApiRequestId();
|
|
102
|
+
* // 'api-req_1a2b3c4d_5e6f7g8h'
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare function createRequestIdGenerator(defaultOptions?: IdGenerationOptions): (options?: IdGenerationOptions) => string;
|
|
106
|
+
//# sourceMappingURL=request-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-id.d.ts","sourceRoot":"","sources":["../../../../src/api/utils/generation/request-id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAiB5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAEvE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,mBAAmB,GAC5B,MAAM,CAYR;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAUjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAM5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,GAAE,mBAAwB,GACvC,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAK3C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Utilities
|
|
3
|
+
* Collection of utility functions for API operations
|
|
4
|
+
*/
|
|
5
|
+
export * from './time';
|
|
6
|
+
export * from './environment';
|
|
7
|
+
export * from './generation/id-generator';
|
|
8
|
+
export * from './generation/request-id';
|
|
9
|
+
export * from './generation/correlation-id';
|
|
10
|
+
export * from './object-merge';
|
|
11
|
+
export * from './async-control';
|
|
12
|
+
export * from './interval-manager';
|
|
13
|
+
export * from './type-guards';
|
|
14
|
+
export * from './math';
|
|
15
|
+
export * from './object';
|
|
16
|
+
export * from './json';
|
|
17
|
+
export * from './validation';
|
|
18
|
+
export * from './string';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,cAAc,QAAQ,CAAC;AAGvB,cAAc,eAAe,CAAC;AAG9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAG5C,cAAc,gBAAgB,CAAC;AAG/B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,eAAe,CAAC;AAG9B,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interval Management Utilities
|
|
3
|
+
* Utilities for managing setInterval/clearInterval operations with cleanup
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Interval manager for tracking and cleaning up intervals
|
|
7
|
+
*/
|
|
8
|
+
export declare class IntervalManager {
|
|
9
|
+
private intervals;
|
|
10
|
+
/**
|
|
11
|
+
* Create and track a new interval
|
|
12
|
+
*
|
|
13
|
+
* @param callback - Function to execute
|
|
14
|
+
* @param delay - Delay between executions
|
|
15
|
+
* @returns Interval ID
|
|
16
|
+
*/
|
|
17
|
+
setInterval(callback: () => void, delay: number): ReturnType<typeof setInterval>;
|
|
18
|
+
/**
|
|
19
|
+
* Clear a specific interval
|
|
20
|
+
*
|
|
21
|
+
* @param id - Interval ID to clear
|
|
22
|
+
*/
|
|
23
|
+
clearInterval(id: ReturnType<typeof setInterval>): void;
|
|
24
|
+
/**
|
|
25
|
+
* Clear all managed intervals
|
|
26
|
+
*/
|
|
27
|
+
clearAll(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Get count of active intervals
|
|
30
|
+
*/
|
|
31
|
+
get count(): number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Create a managed interval that auto-cleans up
|
|
35
|
+
*
|
|
36
|
+
* @param callback - Function to execute
|
|
37
|
+
* @param delay - Delay between executions
|
|
38
|
+
* @returns Object with clear method
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const timer = createManagedInterval(() => {
|
|
43
|
+
* console.log('tick');
|
|
44
|
+
* }, 1000);
|
|
45
|
+
*
|
|
46
|
+
* // Later: clean up
|
|
47
|
+
* timer.clear();
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function createManagedInterval(callback: () => void, delay: number): {
|
|
51
|
+
clear: () => void;
|
|
52
|
+
id: ReturnType<typeof setInterval>;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Create an interval that automatically stops after a maximum number of executions
|
|
56
|
+
*
|
|
57
|
+
* @param callback - Function to execute
|
|
58
|
+
* @param delay - Delay between executions
|
|
59
|
+
* @param maxExecutions - Maximum number of times to execute
|
|
60
|
+
* @returns Object with clear method
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const timer = createLimitedInterval(() => {
|
|
65
|
+
* console.log('tick');
|
|
66
|
+
* }, 1000, 5); // Will execute 5 times then stop
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function createLimitedInterval(callback: () => void, delay: number, maxExecutions: number): {
|
|
70
|
+
clear: () => void;
|
|
71
|
+
id: ReturnType<typeof setInterval>;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Create an interval that stops when a condition becomes true
|
|
75
|
+
*
|
|
76
|
+
* @param callback - Function to execute
|
|
77
|
+
* @param delay - Delay between executions
|
|
78
|
+
* @param stopCondition - Function that returns true when interval should stop
|
|
79
|
+
* @returns Object with clear method
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* let counter = 0;
|
|
84
|
+
* const timer = createConditionalInterval(() => {
|
|
85
|
+
* counter++;
|
|
86
|
+
* console.log(`Count: ${counter}`);
|
|
87
|
+
* }, 1000, () => counter >= 10); // Stops when counter reaches 10
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare function createConditionalInterval(callback: () => void, delay: number, stopCondition: () => boolean): {
|
|
91
|
+
clear: () => void;
|
|
92
|
+
id: ReturnType<typeof setInterval>;
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=interval-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-manager.d.ts","sourceRoot":"","sources":["../../../src/api/utils/interval-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAA6C;IAE9D;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC;IAMhF;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI;IAOvD;;OAEG;IACH,QAAQ,IAAI,IAAI;IAKhB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,IAAI,EACpB,KAAK,EAAE,MAAM,GACZ;IACD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,EAAE,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;CACpC,CAOA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,IAAI,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB;IACD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,EAAE,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;CACpC,CAsCA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,IAAI,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,OAAO,GAC3B;IACD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,EAAE,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;CACpC,CAiBA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON Utilities
|
|
3
|
+
* Safe JSON operations with error handling and type support
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Safely parse JSON with error handling
|
|
7
|
+
*
|
|
8
|
+
* @param json - JSON string to parse
|
|
9
|
+
* @param fallback - Fallback value if parsing fails
|
|
10
|
+
* @returns Parsed object or fallback
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const data = safeParseJSON('{"name": "test"}', {});
|
|
15
|
+
* const invalid = safeParseJSON('invalid', null); // Returns null
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function safeParseJSON<T = unknown>(json: string, fallback: T): T;
|
|
19
|
+
/**
|
|
20
|
+
* Safely stringify object with error handling
|
|
21
|
+
*
|
|
22
|
+
* @param value - Value to stringify
|
|
23
|
+
* @param fallback - Fallback string if stringify fails
|
|
24
|
+
* @returns JSON string or fallback
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const str = safeStringify({ name: 'test' }, '{}');
|
|
29
|
+
* const circular = safeStringify(circularObj, 'null'); // Returns 'null'
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function safeStringify<T>(value: T, fallback?: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Pretty print JSON with indentation
|
|
35
|
+
*
|
|
36
|
+
* @param value - Value to stringify
|
|
37
|
+
* @param space - Number of spaces for indentation
|
|
38
|
+
* @returns Formatted JSON string
|
|
39
|
+
*/
|
|
40
|
+
export declare function prettyStringify<T>(value: T, space?: number): string;
|
|
41
|
+
/**
|
|
42
|
+
* Deep clone object using JSON (simple objects only)
|
|
43
|
+
*
|
|
44
|
+
* @param value - Value to clone
|
|
45
|
+
* @returns Cloned value
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const original = { name: 'test', data: [1, 2, 3] };
|
|
50
|
+
* const clone = jsonClone(original);
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function jsonClone<T>(value: T): T;
|
|
54
|
+
/**
|
|
55
|
+
* Check if string is valid JSON
|
|
56
|
+
*
|
|
57
|
+
* @param json - String to validate
|
|
58
|
+
* @returns True if valid JSON
|
|
59
|
+
*/
|
|
60
|
+
export declare function isValidJSON(json: string): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Get JSON string size in bytes
|
|
63
|
+
*
|
|
64
|
+
* @param value - Value to measure
|
|
65
|
+
* @returns Size in bytes
|
|
66
|
+
*/
|
|
67
|
+
export declare function getJSONSize<T>(value: T): number;
|
|
68
|
+
/**
|
|
69
|
+
* Truncate JSON string to maximum length
|
|
70
|
+
*
|
|
71
|
+
* @param value - Value to stringify and truncate
|
|
72
|
+
* @param maxLength - Maximum length of resulting string
|
|
73
|
+
* @param suffix - Suffix to add when truncated
|
|
74
|
+
* @returns Truncated JSON string
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const data = { name: 'very long name', data: [...] };
|
|
79
|
+
* const short = truncateJSON(data, 50, '...[truncated]');
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function truncateJSON<T>(value: T, maxLength: number, suffix?: string): string;
|
|
83
|
+
/**
|
|
84
|
+
* Compare two values by their JSON representation
|
|
85
|
+
*
|
|
86
|
+
* @param a - First value
|
|
87
|
+
* @param b - Second value
|
|
88
|
+
* @returns True if JSON representations are equal
|
|
89
|
+
*/
|
|
90
|
+
export declare function jsonEquals<T>(a: T, b: T): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Remove circular references from object before JSON serialization
|
|
93
|
+
*
|
|
94
|
+
* @param obj - Object to clean
|
|
95
|
+
* @returns Object safe for JSON.stringify
|
|
96
|
+
*/
|
|
97
|
+
export declare function removeCircularReferences<T>(obj: T): T;
|
|
98
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/api/utils/json.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAMvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,SAAS,GAAG,MAAM,CAMpE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,SAAI,GAAG,MAAM,CAM9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAOxC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAM/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAmB,GAAG,MAAM,CAU9F;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAMjD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAkBrD"}
|