{"version":3,"file":"errorHandler.mjs","names":[],"sources":["../../src/error/errorHandler.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ApiError } from '@/api/ApiError';\nimport { HumanReadableSchemaError } from '@/validation/standardSchema';\nimport { z, ZodError } from 'zod';\nimport ServerLogger from '@smooai/logger/AwsServerLogger';\n\nconst logger = new ServerLogger();\n\nexport async function errorHandler<T extends any[] = any[], R = any>(\n    handler: (...args: T) => Promise<R | PromiseSettledResult<R>[]>,\n    ...args: T\n): Promise<R | PromiseSettledResult<R>[]> {\n    try {\n        return await handler(...args);\n    } catch (error) {\n        if (error instanceof ApiError) {\n            logger.error(error, `An API error occurred: Status: ${error.status} (${error.statusText}); Message: ${error.message}`);\n            throw error;\n        } else if (error instanceof HumanReadableSchemaError) {\n            logger.error(error, `A schema validation error occurred: ${error.message}`);\n            throw error;\n        } else if (error instanceof ZodError) {\n            const prettyError = z.prettifyError(error);\n            logger.error(error, `A validation error occurred: ${prettyError}`);\n            throw error;\n        } else if (error instanceof Error) {\n            logger.error(error, `An unexpected error occurred: ${error.message}`);\n            throw error;\n        } else {\n            logger.error(error, `An unexpected error occurred: ${error}`);\n            throw error;\n        }\n    }\n}\n"],"mappings":";;;;;AAMA,MAAM,SAAS,IAAI,aAAa;AAEhC,eAAsB,aAClB,SACA,GAAG,MACmC;CACtC,IAAI;EACA,OAAO,MAAM,QAAQ,GAAG,IAAI;CAChC,SAAS,OAAO;EACZ,IAAI,iBAAiB,UAAU;GAC3B,OAAO,MAAM,OAAO,kCAAkC,MAAM,OAAO,IAAI,MAAM,WAAW,cAAc,MAAM,SAAS;GACrH,MAAM;EACV,OAAO,IAAI,iBAAiB,0BAA0B;GAClD,OAAO,MAAM,OAAO,uCAAuC,MAAM,SAAS;GAC1E,MAAM;EACV,OAAO,IAAI,iBAAiB,UAAU;GAClC,MAAM,cAAc,EAAE,cAAc,KAAK;GACzC,OAAO,MAAM,OAAO,gCAAgC,aAAa;GACjE,MAAM;EACV,OAAO,IAAI,iBAAiB,OAAO;GAC/B,OAAO,MAAM,OAAO,iCAAiC,MAAM,SAAS;GACpE,MAAM;EACV,OAAO;GACH,OAAO,MAAM,OAAO,iCAAiC,OAAO;GAC5D,MAAM;EACV;CACJ;AACJ"}