UNPKG

@smooai/utils

Version:

A collection of shared utilities and tools used across SmooAI projects. This package provides common functionality to standardize and simplify development across all SmooAI repositories.

1 lines 2.15 kB
{"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"}