@dbs-portal/core-api
Version:
HTTP client and API utilities for DBS Portal
117 lines • 2.92 kB
TypeScript
/**
* MSW handler management system
*/
import type { RequestHandler } from 'msw';
import type { MockHandlerRegistry } from '../types';
/**
* Handler manager for organizing and managing MSW request handlers
*/
export declare class HandlerManager implements MockHandlerRegistry {
private handlers;
private groups;
/**
* Register a handler with optional ID and group
*/
register(handler: RequestHandler, id?: string, group?: string): void;
/**
* Unregister a handler by ID or instance
*/
unregister(handlerOrId: RequestHandler | string): void;
/**
* Get all handlers
*/
getHandlers(): RequestHandler[];
/**
* Get handlers by group
*/
getHandlersByGroup(group: string): RequestHandler[];
/**
* Get handler by ID
*/
getHandler(id: string): RequestHandler | undefined;
/**
* Check if handler exists
*/
hasHandler(handlerOrId: RequestHandler | string): boolean;
/**
* Clear all handlers
*/
clear(): void;
/**
* Clear handlers by group
*/
clearGroup(group: string): void;
/**
* Get all groups
*/
getGroups(): string[];
/**
* Get handler count
*/
getHandlerCount(): number;
/**
* Get group handler count
*/
getGroupHandlerCount(group: string): number;
/**
* Register multiple handlers
*/
registerMany(handlers: RequestHandler[], group?: string): void;
/**
* Create a scoped handler manager for a specific group
*/
createScope(group: string): ScopedHandlerManager;
/**
* Generate a unique handler ID
*/
private generateHandlerId;
/**
* Export handlers for MSW setup
*/
export(): RequestHandler[];
/**
* Import handlers from another manager
*/
import(other: HandlerManager, group?: string): void;
/**
* Clone the handler manager
*/
clone(): HandlerManager;
}
/**
* Scoped handler manager for working with specific groups
*/
export declare class ScopedHandlerManager {
private parent;
private group;
constructor(parent: HandlerManager, group: string);
/**
* Register handler in this scope
*/
register(handler: RequestHandler, id?: string): void;
/**
* Unregister handler from this scope
*/
unregister(handlerOrId: RequestHandler | string): void;
/**
* Get handlers in this scope
*/
getHandlers(): RequestHandler[];
/**
* Clear all handlers in this scope
*/
clear(): void;
/**
* Get handler count in this scope
*/
getHandlerCount(): number;
/**
* Register multiple handlers in this scope
*/
registerMany(handlers: RequestHandler[]): void;
}
/**
* Global handler manager instance
*/
export declare const globalHandlerManager: HandlerManager;
//# sourceMappingURL=handler-manager.d.ts.map