Typescript ругается на свойство response от error в функции createAsyncThunk от redux-toolkit

Что нужно сделать, что бы не было ругани на свойство? Вроде ж кагбэ такого быть не должно, но есть...

ESLint: Unsafe member access .response on an any value.(@typescript-eslint/no-unsafe-member-access)

введите сюда описание изображения

export const actionFetchDataUser = createAsyncThunk(
  'data/user',
  async (formVal: TformVal, { rejectWithValue }) => {
    try {
      const GoogleAuth = window.gapi.auth2.getAuthInstance();
      const profileMail = await GoogleAuth.signIn({
        scope: 'profile email',
      });
      const googleEmail = profileMail.getBasicProfile().getEmail();
      if (googleEmail !== formVal.email) {
        throw Error('There is NO email');
      }
      return {
        name: profileMail.getBasicProfile().getName(),
        ava: profileMail.getBasicProfile().getImageUrl(),
      };
    } catch (err) {
     // Here is problem
      if (!err.response) {
        throw err;
      }
      return rejectWithValue(err);
    }
  },
);

Ответы (2 шт):

Автор решения: Руслан

Один хороший человек порекомендовал такой способ решения

catch (err) {
      const hasErrResponse = (err as { response: { [key: string]: string } }).response;
      if (!hasErrResponse) {
        throw err;
      }
      return rejectWithValue(hasErrResponse);
    }
→ Ссылка
Автор решения: Igor Inozemtsev

Если я правильно понимаю, линтер сигнализирует о том, что свойство response может отсутствовать в err. В таком случае можно использовать оператор опциональной последовательности. if (!err?.response) {. Если у err не будет свойства response, то вернётся undefined.

Второй вариант - расширить тип для err таким образом, чтобы он определял наличие свойства response.

→ Ссылка