UNPKG

@snickerdoodlelabs/common-utils

Version:
38 lines (33 loc) 1.02 kB
import { AjaxError, JsonWebToken } from "@snickerdoodlelabs/objects"; import { AxiosRequestConfig } from "axios"; import { ResultAsync } from "neverthrow"; /** * AjaxUtils are just a wrapper around Axios for purposes of testing. */ export interface IAxiosAjaxUtils { get<T>(url: URL, config?: IRequestConfig): ResultAsync<T, AjaxError>; post<T>( url: URL, data?: | string | Record<string, unknown> | ArrayBuffer | ArrayBufferView | URLSearchParams, config?: IRequestConfig, ): ResultAsync<T, AjaxError>; put<T>( url: URL, data: | string | Record<string, unknown> | ArrayBuffer | ArrayBufferView | URLSearchParams, config?: IRequestConfig, ): ResultAsync<T, AjaxError>; delete<T>(url: URL, config?: IRequestConfig): ResultAsync<T, AjaxError>; setDefaultToken(token: JsonWebToken): void; } export interface IRequestConfig extends AxiosRequestConfig {} export const IAxiosAjaxUtilsType = Symbol.for("IAxiosAjaxUtils");