Modrinth/packages/utils/servers/errors/modrinth-servers-multi-error.ts
2025-08-05 11:51:07 +01:00

26 lines
621 B
TypeScript

export class ModrinthServersMultiError extends Error {
public readonly errors: Map<string, Error> = new Map()
public readonly timestamp: number = Date.now()
constructor(message?: string) {
super(message || 'Multiple errors occurred')
this.name = 'MultipleErrors'
}
addError(module: string, error: Error) {
this.errors.set(module, error)
this.message = this.buildErrorMessage()
}
hasErrors() {
return this.errors.size > 0
}
private buildErrorMessage(): string {
return Array.from(this.errors.entries())
.map(([_module, error]) => error.message)
.join('\n')
}
}