Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Чистый код , создание экземпляра axios (https://javascript.ru/forum/misc/82823-chistyjj-kod-sozdanie-ehkzemplyara-axios.html)

FlyTen 12.07.2021 20:47

Чистый код , создание экземпляра 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;
};

:help:

Rise 12.07.2021 21:05

FlyTen, это что за язык?

FlyTen 12.07.2021 21:09

Rise,
Typescript


Часовой пояс GMT +3, время: 05:25.