forked from didirus/AstralRinth
* refactor: migrate to common eslint+prettier configs * fix: prettier frontend * feat: config changes * fix: lint issues * fix: lint * fix: type imports * fix: cyclical import issue * fix: lockfile * fix: missing dep * fix: switch to tabs * fix: continue switch to tabs * fix: rustfmt parity * fix: moderation lint issue * fix: lint issues * fix: ui intl * fix: lint issues * Revert "fix: rustfmt parity" This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711. * feat: revert last rs
26 lines
593 B
TypeScript
26 lines
593 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')
|
|
}
|
|
}
|