Показать сообщение отдельно
  #1 (permalink)  
Старый 12.07.2021, 20:47
Интересующийся
Отправить личное сообщение для FlyTen Посмотреть профиль Найти все сообщения от FlyTen
 
Регистрация: 02.03.2021
Сообщений: 17

Чистый код , создание экземпляра axios
Всем добрый вечер!

Нужна помощь в небольшом рефакторинге
Как я могу шерить интерфейсы из функции ?

Как можно на моем примере создать экземпляр axios и использовать его здесь?

Будет ли код чище , если не писать методы и хедеры в каждой функции?

const axios = require("axios");
interface AddressCheckResult {
  pickupLocation: {
    locationId: number;
    name: string;
      coordinates: {
        longitude: string;
        latitude: string;
      };
    };
  };
  deliveryAddress: {
    postcode: string;
    houseNumber: number;
  };
}
interface AddressCheckPayload {
  pickupAddress: {
    postcode: string;
    houseNumber: string;
  };
  deliveryAddress: {
    postcode: string;
  };
}
export const addressCheck = async (
  apiKey: string,
  payload: AddressCheckPayload,
  apiBaseUrl: string
): Promise<AddressCheckResult> => {
  let response = await axios({
    method: "post",
    url: `${apiBaseUrl}address-check`,
    data: payload,
    headers: {
      Authorization: `Bearer ${apiKey}`,
    },
  });
  return response.data as AddressCheckResult;
};

Ответить с цитированием