import { interceptorRejected, interceptorsRequestResponse, interceptorsResponse, } from 'api'; import axios, { AxiosError, AxiosRequestConfig } from 'axios'; import { ENVIRONMENT } from 'constants/env'; // generated API Instance const generatedAPIAxiosInstance = axios.create({ baseURL: ENVIRONMENT.baseURL, }); export const GeneratedAPIInstance = ( config: AxiosRequestConfig, ): Promise => { return generatedAPIAxiosInstance({ ...config }).then(({ data }) => data); }; generatedAPIAxiosInstance.interceptors.request.use(interceptorsRequestResponse); generatedAPIAxiosInstance.interceptors.response.use( interceptorsResponse, interceptorRejected, ); export type ErrorType = AxiosError; export type BodyType = BodyData;