{"version":3,"sources":["../src/error/errorHandler.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ApiError } from '@/api/ApiError';\nimport { HumanReadableSchemaError } from '@/validation/standardSchema';\nimport ServerLogger from '@smooai/logger/AwsLambdaLogger';\nimport { ZodError } from 'zod';\nimport { fromZodError } from 'zod-validation-error';\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 validationError = fromZodError(error);\n            logger.error(error, `A validation error occurred: ${validationError.toString()}`);\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":";;;;;;;;AAGA,OAAO,kBAAkB;AACzB,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAE7B,IAAM,SAAS,IAAI,aAAa;AAEhC,eAAsB,aAClB,YACG,MACmC;AACtC,MAAI;AACA,WAAO,MAAM,QAAQ,GAAG,IAAI;AAAA,EAChC,SAAS,OAAO;AACZ,QAAI,iBAAiB,UAAU;AAC3B,aAAO,MAAM,OAAO,kCAAkC,MAAM,MAAM,KAAK,MAAM,UAAU,eAAe,MAAM,OAAO,EAAE;AACrH,YAAM;AAAA,IACV,WAAW,iBAAiB,0BAA0B;AAClD,aAAO,MAAM,OAAO,uCAAuC,MAAM,OAAO,EAAE;AAC1E,YAAM;AAAA,IACV,WAAW,iBAAiB,UAAU;AAClC,YAAM,kBAAkB,aAAa,KAAK;AAC1C,aAAO,MAAM,OAAO,gCAAgC,gBAAgB,SAAS,CAAC,EAAE;AAChF,YAAM;AAAA,IACV,WAAW,iBAAiB,OAAO;AAC/B,aAAO,MAAM,OAAO,iCAAiC,MAAM,OAAO,EAAE;AACpE,YAAM;AAAA,IACV,OAAO;AACH,aAAO,MAAM,OAAO,iCAAiC,KAAK,EAAE;AAC5D,YAAM;AAAA,IACV;AAAA,EACJ;AACJ;","names":[]}