All files IAjaxUtils.ts

0% Statements 0/1
100% Branches 0/0
100% Functions 0/0
0% Lines 0/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37                                                                         
import { AjaxError, JsonWebToken } from "@hypernetlabs/objects";
import { AxiosRequestConfig } from "axios";
import { ResultAsync } from "neverthrow";
 
/**
 * AjaxUtils are just a wrapper around Axios for purposes of testing.
 */
export interface IAjaxUtils {
  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 IAjaxUtilsType = Symbol.for("IAjaxUtils");