interface ValidationErrors { [key: string]: { properties: { message: string } } } export class ValidationError extends Error { private errors: ValidationErrors constructor(errors: ValidationErrors) { super() if (Error.captureStackTrace) { Error.captureStackTrace(this, ValidationError) } this.name = this.constructor.name this.errors = errors } get message() { return Object.entries<{ properties: { message: string } }>(this.errors) .map(([_key, value]) => { return `${value?.properties?.message}` }) .join(',') } }