mirror of https://github.com/tooot-app/app
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import chalk from 'chalk'
|
|
|
|
export const ctx = new chalk.Instance({ level: 3 })
|
|
|
|
const handleError = (error: any) => {
|
|
if (error?.response) {
|
|
// The request was made and the server responded with a status code
|
|
// that falls out of the range of 2xx
|
|
console.error(
|
|
ctx.bold(' API instance '),
|
|
ctx.bold('response'),
|
|
error.response.status,
|
|
error?.response.data?.error || error?.response.message || 'Unknown error'
|
|
)
|
|
return Promise.reject({
|
|
status: error?.response.status,
|
|
message:
|
|
error?.response.data?.error ||
|
|
error?.response.message ||
|
|
'Unknown error'
|
|
})
|
|
} else if (error?.request) {
|
|
// The request was made but no response was received
|
|
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
|
|
// http.ClientRequest in node.js
|
|
console.error(ctx.bold(' API instance '), ctx.bold('request'), error)
|
|
return Promise.reject()
|
|
} else {
|
|
console.error(
|
|
ctx.bold(' API instance '),
|
|
ctx.bold('internal'),
|
|
error?.message
|
|
)
|
|
return Promise.reject()
|
|
}
|
|
}
|
|
|
|
export default handleError
|