@dbs-portal/tool-mock
Version:
API mocking toolkit using MSW for DBS Portal development workflows
69 lines • 2.19 kB
TypeScript
/**
* 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