Files
start-os/web/projects/shared/src/classes/rpc-error.ts
2023-11-13 15:59:16 -07:00

23 lines
573 B
TypeScript

import { RPCErrorDetails } from '../types/rpc.types'
export class RpcError {
constructor(private readonly error: RPCErrorDetails) {}
readonly code = this.error.code
readonly message = this.getMessage()
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}`
}
}