From 6766f62848d0c5266e484844719b7e67dd40d970 Mon Sep 17 00:00:00 2001 From: Benny Neugebauer Date: Tue, 14 Mar 2023 11:50:25 +0100 Subject: [PATCH] Replace type assertion with built-in error detection (#10) * refactor(api.ts): use built-in axios error detection --- src/api.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/api.ts b/src/api.ts index 4223bd4..72dcece 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,5 +1,5 @@ import { intro, outro } from '@clack/prompts'; -import { AxiosError } from 'axios'; +import axios from 'axios'; import chalk from 'chalk'; import { ChatCompletionRequestMessage, @@ -50,15 +50,11 @@ class OpenAi { const message = data.choices[0].message; return message?.content; - } catch (error: any) { + } catch (error: unknown) { outro(`${chalk.red('✖')} ${error}`); - if (error.isAxiosError && error.response?.status === 401) { - const err = error as AxiosError; - - const openAiError = ( - err.response?.data as { error?: { message: string } } - ).error; + if (axios.isAxiosError<{ error?: { message: string } }>(error) && error.response?.status === 401) { + const openAiError = error.response.data.error; if (openAiError?.message) outro(openAiError.message); outro(