UNPKG

deepsource-mcp-server

Version:
41 lines (40 loc) 1.81 kB
/** * @fileoverview Base handler factory implementation for standardized handler creation * @packageDocumentation */ import { BaseHandlerDeps, HandlerFactory } from './handler.interface.js'; import { ApiResponse } from '../../models/common.js'; /** * Creates a base handler factory with common functionality * @template TParams - The handler parameters type * @template TResult - The handler result type * @param handlerName - The name of the handler for logging * @param handlerLogic - The actual handler implementation * @returns A handler factory function */ export declare function createBaseHandlerFactory<TParams = unknown, TResult = ApiResponse>(handlerName: string, handlerLogic: (deps: BaseHandlerDeps, params: TParams) => Promise<TResult>): HandlerFactory<BaseHandlerDeps, TParams, TResult>; /** * Creates default handler dependencies * @param overrides - Optional overrides for specific dependencies * @returns The complete handler dependencies */ export declare function createDefaultHandlerDeps(overrides?: Partial<BaseHandlerDeps>): BaseHandlerDeps; /** * Wraps a handler result in an ApiResponse format * @param data - The data to wrap * @returns An ApiResponse with the data as JSON text */ export declare function wrapInApiResponse<T>(data: T): ApiResponse; /** * Creates an error ApiResponse * @param error - The error to convert * @param defaultMessage - Default message if error parsing fails * @returns An ApiResponse with error information */ export declare function createErrorResponse(error: unknown, defaultMessage?: string): ApiResponse; /** * Type guard to check if a value is an ApiResponse * @param value - The value to check * @returns True if the value is an ApiResponse */ export declare function isApiResponse(value: unknown): value is ApiResponse;