import { Axios } from "axios" import { AjaxConfig, ajaxConfigToReqSchema, ResponseSchema, } from "./abstracts" export const axios = () => require('axios') as typeof Axios.constructor export type Data = Record export async function sendAjax( ajaxConfig: AjaxConfig ): Promise { const axiosConfig = ajaxConfigToReqSchema(ajaxConfig) return axios()(axiosConfig) } export function sendAjaxSync( ajaxConfig: AjaxConfig, onResponse?: (res: ResponseSchema) => Promise, onRejected?: (e: any) => Promise ): void { let ax = sendAjax(ajaxConfig) if (onRejected) { ax.catch(onRejected) } if (onResponse) { ax.then(onResponse) } }