File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change 1+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
2+ type AxiosError = any ;
3+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
4+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
5+ type AxiosResponse < T > = any ;
6+ type ErrorMessage = string ;
7+
8+ /**
9+ * Extracts message from axios error
10+ *
11+ * @param err Axios error
12+ * @returns Extracted error message from axios error
13+ */
14+ export function extractMessageFromError ( err : AxiosError ) : ErrorMessage {
15+ let errMsg : string ;
16+ const error : AxiosError = err as AxiosError ;
17+
18+ const isServerError = ! ! error . response ;
19+ const serverUnavailable = ! ! error . request ;
20+
21+ if ( isServerError ) {
22+ errMsg = ( error . response as AxiosResponse < { error : string } > ) . data . error ;
23+ } else if ( serverUnavailable ) {
24+ errMsg = 'Server not available' ;
25+ } else {
26+ errMsg = error . message ;
27+ }
28+
29+ return errMsg ;
30+ }
You can’t perform that action at this time.
0 commit comments