UNPKG

@snail-js/api

Version:

Http Request with Decorators Api, build on axios

15 lines (14 loc) 623 B
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>; }