@dbs-portal/core-api
Version:
HTTP client and API utilities for DBS Portal
58 lines • 2.71 kB
TypeScript
/**
* MSW handler factory functions
*/
import { type RequestHandler } from 'msw';
import type { MockHandlerOptions, MockRequest, MockResponseFactory } from '../types';
/**
* Create a single MSW handler
*/
export declare function createHandler<T = any>(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, options: MockHandlerOptions<T>): RequestHandler;
/**
* Create multiple handlers from configuration
*/
export declare function createHandlers(handlerConfigs: Array<{
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
path: string;
options: MockHandlerOptions;
}>): RequestHandler[];
/**
* Create a GET handler
*/
export declare function createGetHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
* Create a POST handler
*/
export declare function createPostHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
* Create a PUT handler
*/
export declare function createPutHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
* Create a PATCH handler
*/
export declare function createPatchHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
* Create a DELETE handler
*/
export declare function createDeleteHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
* Create a simple success response handler
*/
export declare function createSuccessHandler<T = any>(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, data: T | ((request: MockRequest) => T | Promise<T>), options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
* Create an error response handler
*/
export declare function createErrorHandler(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, error: {
status: number;
code: string;
message: string;
details?: any;
}, options?: Omit<MockHandlerOptions, 'response'>): RequestHandler;
/**
* Create a handler that returns different responses based on conditions
*/
export declare function createConditionalHandler<T = any>(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, conditions: Array<{
condition: (request: MockRequest) => boolean | Promise<boolean>;
response: MockResponseFactory<T>;
}>, fallbackResponse: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
//# sourceMappingURL=factory.d.ts.map