@dbs-portal/tool-mock
Version:
API mocking toolkit using MSW for DBS Portal development workflows
109 lines • 2.67 kB
TypeScript
/**
* Handler registry for managing MSW request handlers
*/
import type { RequestHandler } from 'msw';
import type { HandlerRegistry, HandlerMetadata, TaggedHandler } from './types';
/**
* Implementation of handler registry
*/
export declare class MockHandlerRegistry implements HandlerRegistry {
private handlers;
private taggedHandlers;
private handlerMetadata;
/**
* Register handlers
*/
register(...handlers: RequestHandler[]): void;
/**
* Unregister handlers
*/
unregister(...handlers: RequestHandler[]): void;
/**
* Get all registered handlers
*/
getHandlers(): RequestHandler[];
/**
* Clear all handlers
*/
clear(): void;
/**
* Get handlers by tag
*/
getByTag(tag: string): RequestHandler[];
/**
* Tag handlers
*/
tag(tag: string, ...handlers: RequestHandler[]): void;
/**
* Set metadata for a handler
*/
setMetadata(handler: RequestHandler, metadata: HandlerMetadata): void;
/**
* Get metadata for a handler
*/
getMetadata(handler: RequestHandler): HandlerMetadata | undefined;
/**
* Get all tags
*/
getTags(): string[];
/**
* Remove tag
*/
removeTag(tag: string): void;
/**
* Get handlers with metadata
*/
getTaggedHandlers(): TaggedHandler[];
/**
* Find handlers by criteria
*/
find(criteria: {
name?: string;
tags?: string[];
author?: string;
}): RequestHandler[];
/**
* Get registry statistics
*/
getStats(): {
totalHandlers: number;
totalTags: number;
tagStats: {
tag: string;
count: number;
}[];
};
}
/**
* Global handler registry instance
*/
export declare const globalHandlerRegistry: MockHandlerRegistry;
/**
* Register handlers globally
*/
export declare function registerHandlers(...handlers: RequestHandler[]): void;
/**
* Unregister handlers globally
*/
export declare function unregisterHandlers(...handlers: RequestHandler[]): void;
/**
* Get all registered handlers
*/
export declare function getRegisteredHandlers(): RequestHandler[];
/**
* Clear all registered handlers
*/
export declare function clearRegisteredHandlers(): void;
/**
* Tag handlers globally
*/
export declare function tagHandlers(tag: string, ...handlers: RequestHandler[]): void;
/**
* Get handlers by tag
*/
export declare function getHandlersByTag(tag: string): RequestHandler[];
/**
* Create a scoped registry
*/
export declare function createHandlerRegistry(): MockHandlerRegistry;
//# sourceMappingURL=registry.d.ts.map