@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.
40 lines (38 loc) • 1.3 kB
JavaScript
import {
ApiError
} from "./chunk-FLBIVOHD.mjs";
import {
HumanReadableSchemaError
} from "./chunk-WKR62SAR.mjs";
// src/error/errorHandler.ts
import ServerLogger from "@smooai/logger/AwsLambdaLogger";
import { ZodError } from "zod";
import { fromZodError } from "zod-validation-error";
var logger = new ServerLogger();
async function errorHandler(handler, ...args) {
try {
return await handler(...args);
} catch (error) {
if (error instanceof ApiError) {
logger.error(error, `An API error occurred: Status: ${error.status} (${error.statusText}); Message: ${error.message}`);
throw error;
} else if (error instanceof HumanReadableSchemaError) {
logger.error(error, `A schema validation error occurred: ${error.message}`);
throw error;
} else if (error instanceof ZodError) {
const validationError = fromZodError(error);
logger.error(error, `A validation error occurred: ${validationError.toString()}`);
throw error;
} else if (error instanceof Error) {
logger.error(error, `An unexpected error occurred: ${error.message}`);
throw error;
} else {
logger.error(error, `An unexpected error occurred: ${error}`);
throw error;
}
}
}
export {
errorHandler
};
//# sourceMappingURL=chunk-J4AMGXE3.mjs.map