@assassinonz/exzodus-client
Version:
Axios wrapper with end to end type safety
21 lines • 1.58 kB
TypeScript
import * as axios from "axios";
import type { Api, ResponseCode, MethodByPath, Path, PathByMethod, ResponseBody, DefaultResponseBody } from "../core/index.js";
import type { ConfigParam } from "../core/client.js";
export { axios };
export declare class ExZodusClient<A extends Api> {
readonly axios: axios.AxiosInstance;
constructor(_apiDef: A, baseURL: string);
get<P extends PathByMethod<A, "get">>(path: P, ...[config]: ConfigParam<A, "get", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "get", P>, any>>;
post<P extends PathByMethod<A, "post">>(path: P, ...[config]: ConfigParam<A, "post", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "post", P>, any>>;
put<P extends PathByMethod<A, "put">>(path: P, ...[config]: ConfigParam<A, "put", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "put", P>, any>>;
patch<P extends PathByMethod<A, "patch">>(path: P, ...[config]: ConfigParam<A, "patch", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "patch", P>, any>>;
delete<P extends PathByMethod<A, "delete">>(path: P, ...[config]: ConfigParam<A, "delete", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "delete", P>, any>>;
isErrorOf<M extends MethodByPath<A, P>, P extends Path<A>, C extends ResponseCode<A, M, P>>(err: unknown, method: M, path: P, code: C): err is axios.AxiosError<ResponseBody<A, M, P, C>> & {
response: {
data: ResponseBody<A, M, P, C>;
};
};
private static replacePathParams;
private static buildAxiosConfig;
}
//# sourceMappingURL=index.d.ts.map