ActivationError.ts
41 lines
| 1.0 KiB
| video/mp2t
|
TypeScriptLexer
|
|
r0 | export interface ActivationItem { | ||
| name: string; | ||||
| service: string; | ||||
| } | ||||
| export class ActivationError { | ||||
| activationStack: ActivationItem[]; | ||||
| service: string; | ||||
|
|
r1 | innerException: unknown; | ||
|
|
r0 | |||
| message: string; | ||||
|
|
r1 | constructor(service: string, activationStack: ActivationItem[], innerException: unknown) { | ||
|
|
r0 | this.message = "Failed to activate the service"; | ||
| this.activationStack = activationStack; | ||||
| this.service = service; | ||||
| this.innerException = innerException; | ||||
| } | ||||
| toString() { | ||||
| const parts = [this.message]; | ||||
| if (this.service) | ||||
|
|
r1 | parts.push(`when activating: ${String(this.service)}`); | ||
|
|
r0 | |||
| if (this.innerException) | ||||
|
|
r1 | parts.push(`caused by: ${String(this.innerException)}`); | ||
|
|
r0 | |||
| if (this.activationStack) { | ||||
| parts.push("at"); | ||||
|
|
r1 | parts.push.apply(null, | ||
| this.activationStack | ||||
| .map(({ name, service }) => ` ${name} ${service}`) | ||||
| ); | ||||
|
|
r0 | |||
| } | ||||
| return parts.join("\n"); | ||||
| } | ||||
| } | ||||
