diff options
Diffstat (limited to 'Timeline/ClientApp/src/app/data/common.ts')
-rw-r--r-- | Timeline/ClientApp/src/app/data/common.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Timeline/ClientApp/src/app/data/common.ts b/Timeline/ClientApp/src/app/data/common.ts new file mode 100644 index 00000000..1cdf93f1 --- /dev/null +++ b/Timeline/ClientApp/src/app/data/common.ts @@ -0,0 +1,25 @@ +import { AxiosError } from 'axios'; + +export function extractStatusCode(error: AxiosError): number | null { + const code = error.response && error.response.status; + if (typeof code === 'number') { + return code; + } else { + return null; + } +} + +export interface CommonErrorResponse { + code: number; + message: string; +} + +export function extractErrorCode(error: AxiosError): number | null { + const { response } = error as AxiosError<CommonErrorResponse>; + const code = response && response.data && response.data.code; + if (typeof code === 'number') { + return code; + } else { + return null; + } +} |