UNPKG

@dbs-portal/tool-mock

Version:

API mocking toolkit using MSW for DBS Portal development workflows

69 lines 2.19 kB
/** * Network and performance simulation utilities */ import type { NetworkSimulationOptions } from './types'; /** * Simulate network conditions */ export declare function simulateNetworkConditions(options: NetworkSimulationOptions): Promise<void>; /** * Simulate server load */ export declare function simulateServerLoad(loadFactor?: number, baseDelay?: number): Promise<void>; /** * Simulate database query time */ export declare function simulateDatabaseQuery(complexity?: 'simple' | 'medium' | 'complex', recordCount?: number): Promise<void>; /** * Simulate file processing time */ export declare function simulateFileProcessing(fileSize: number, // in bytes processingType?: 'upload' | 'download' | 'transform'): Promise<void>; /** * Simulate cache behavior */ export declare function simulateCache<T>(key: string, factory: () => T, ttl?: number): T; /** * Simulate authentication check delay */ export declare function simulateAuthCheck(tokenComplexity?: 'simple' | 'jwt' | 'oauth'): Promise<void>; /** * Simulate rate limiting */ export declare class RateLimiter { private limit; private windowMs; private requests; constructor(limit?: number, windowMs?: number); isAllowed(identifier: string): boolean; getRemainingRequests(identifier: string): number; getResetTime(identifier: string): number; } /** * Simulate circuit breaker pattern */ export declare class CircuitBreaker { private failureThreshold; private recoveryTimeMs; private failures; private lastFailureTime; private state; constructor(failureThreshold?: number, recoveryTimeMs?: number); execute<T>(operation: () => Promise<T>): Promise<T>; private onSuccess; private onFailure; getState(): 'closed' | 'open' | 'half-open'; } /** * Simulate progressive backoff */ export declare function simulateBackoff(attempt: number, baseDelay?: number, maxDelay?: number, factor?: number): Promise<void>; /** * Simulate health check */ export declare function simulateHealthCheck(): { status: 'healthy' | 'degraded' | 'unhealthy'; checks: Record<string, boolean>; timestamp: string; }; //# sourceMappingURL=simulation.d.ts.map