@message-queue-toolkit/sns
Version:
SNS adapter for message-queue-toolkit
32 lines • 1.12 kB
JavaScript
import { types } from 'node:util';
import { InternalError, isStandardizedError } from '@lokalise/node-core';
import { MessageInvalidFormatError, MessageValidationError } from '@message-queue-toolkit/core';
import { ZodError } from 'zod/v3';
export class SnsConsumerErrorResolver {
processError(error) {
if (types.isNativeError(error) && error?.name === 'SyntaxError') {
return new MessageInvalidFormatError({
message: error.message,
});
}
if (error instanceof ZodError) {
return new MessageValidationError({
message: error.message,
details: {
error: error.issues,
},
});
}
if (isStandardizedError(error)) {
return new InternalError({
message: error.message,
errorCode: error.code,
});
}
return new InternalError({
message: 'Error processing message',
errorCode: 'INTERNAL_ERROR',
});
}
}
//# sourceMappingURL=SnsConsumerErrorResolver.js.map