mirror of
https://github.com/penxio/penx.git
synced 2026-01-12 23:18:09 -05:00
30 lines
833 B
TypeScript
30 lines
833 B
TypeScript
export function extractErrorMessage(error: any) {
|
|
const userRejectedMessageRaw = `User rejected the request`
|
|
if (!error.shortMessage) {
|
|
return error.message || `Unknown error`
|
|
}
|
|
|
|
const shortMessage: string = error?.shortMessage || ''
|
|
|
|
if (shortMessage.includes(userRejectedMessageRaw)) {
|
|
return `User rejected the request`
|
|
}
|
|
|
|
if (shortMessage.includes('reverted with the following reason:')) {
|
|
return shortMessage.split('reverted with the following reason:')[1]
|
|
}
|
|
|
|
if (Array.isArray(error.metaMessages) && error.metaMessages.length > 0) {
|
|
let errorName: string = error.metaMessages[0] || ''
|
|
|
|
errorName = errorName
|
|
.replace(/^Error: /, '')
|
|
.replace(/\(.*\)$/, '')
|
|
.trim()
|
|
|
|
return errorName || `Unknown error`
|
|
}
|
|
|
|
return shortMessage || error.message || `Unknown error`
|
|
}
|