import { Context } from 'hono' import { z } from '@hono/zod-openapi' import { HTTPException } from 'hono/http-exception' export const ErrorSchema = z.object({ code: z.number().openapi({ example: 400, }), message: z.string().openapi({ example: 'Bad Request', }), }) export const errorHandler = async (err: Error, c: Context) => { if (err instanceof HTTPException) { const details = err.cause ? { details: err.cause instanceof Error ? err.cause.message : err.cause } : {} return c.json( { code: err.status, message: err.message, ...details }, err.status ) } return c.json( { code: 500, message: err.message || 'Internal Server Error' }, 500 ) }