@snail-js/api
Version:
Http Request with Decorators Api, build on axios
15 lines (14 loc) • 623 B
TypeScript
import { AxiosRequestConfig, Method, AxiosResponse } from "axios";
import { ResponseData, ResponseJsonData, SpecialResponseData } from "./response.data";
import { SnailMethod } from "../core";
export interface MethodSendOptions {
name?: string;
adapter?: AxiosRequestConfig["adapter"];
}
export interface MethodOption extends MethodSendOptions {
method: Method;
path: string;
}
export interface MethodProxy<RD extends ResponseData = ResponseJsonData, ArgsType extends any[] = []> extends SnailMethod<RD> {
send: (...args: ArgsType) => Promise<RD extends SpecialResponseData ? AxiosResponse<RD> : RD>;
}