Files
start-os/frontend/projects/shared/src/classes/rpc-error.ts
2022-09-15 13:30:27 -06:00

23 lines
573 B
TypeScript

import { RPCErrorDetails } from '../types/rpc.types'
export class RpcError {
readonly code = this.error.code
readonly message = this.getMessage()
constructor(private readonly error: RPCErrorDetails) {}
private getMessage(): string {
let message: string
if (typeof this.error.data === 'string') {
message = `${this.error.message}\n\n${this.error.data}`
} else {
message = this.error.data?.details
? `${this.error.message}\n\n${this.error.data.details}`
: this.error.message
}
return `RPC ERROR: ${message}`
}
}