meru-stablecoin-lib
Version:
A comprehensive TypeScript library for stablecoin operations including encryption utilities, error handling, and validation tools
69 lines • 3.64 kB
TypeScript
/**
* Detailed error information interface
*/
export interface ErrorDetails {
code: string;
message: string;
details?: string | undefined;
timestamp: string;
path?: string | undefined;
suggestion?: string | undefined;
}
/**
* Standard error response interface
*/
export interface ErrorResponse {
status: "error";
statusCode: number;
error: ErrorDetails;
requestId?: string;
documentation_url?: string;
}
/**
* Standard success response interface
*/
export interface SuccessResponse<T = any> {
status: "success";
statusCode: number;
data: T;
message: string;
timestamp?: string;
}
/**
* Send a standardized error response
* @param res - Express response object
* @param statusCode - HTTP status code
* @param errorCode - Error code (e.g., "RESOURCE_NOT_FOUND")
* @param message - Error message
* @param details - Optional detailed error description
* @param path - Optional request path for debugging
* @param suggestion - Optional suggestion for resolving the error
* @param requestId - Optional request ID for tracking
* @param documentation_url - Optional documentation URL
*/
export declare function sendErrorResponse(res: any, statusCode: number, errorCode: string, message: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string): void;
/**
* Send a standardized success response
* @param res - Express response object
* @param data - Response data
* @param message - Success message
* @param statusCode - HTTP status code (defaults to 200)
*/
export declare function sendSuccessResponse<T>(res: any, data: T, message?: string, statusCode?: number): void;
/**
* Common error response functions for frequently used status codes
*/
export declare const ErrorResponses: {
badRequest: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
unauthorized: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
forbidden: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
notFound: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
conflict: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
unprocessableEntity: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
tooManyRequests: (res: any, message?: string, details?: string, path?: string, suggestion?: string, retryAfter?: number, requestId?: string, documentation_url?: string) => void;
internalServerError: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
badGateway: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
serviceUnavailable: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
gatewayTimeout: (res: any, message?: string, details?: string, path?: string, suggestion?: string, requestId?: string, documentation_url?: string) => void;
};
//# sourceMappingURL=error-response.util.d.ts.map