UNPKG

@snail-js/api

Version:

Http Request with Decorators Api, build on axios

9 lines (8 loc) 555 B
import { SpecialResponseData, StandardResponseData, ResponseJsonData } from "./response.data"; import { MethodProxy } from "./snail.method"; export type StandardResponseWithoutData = Omit<StandardResponseData, "data">; export type ApiProxy<T extends object, RT extends StandardResponseWithoutData | ResponseJsonData, DK extends string = "data"> = { [K in keyof T]: T[K] extends (...args: infer A) => any ? <RD = unknown>() => MethodProxy<RD extends SpecialResponseData ? RD : RT & { [KK in DK]: RD; }, A extends any[] ? A : []> : T[K]; };