interface RouteMethods<N> {
    delete: HasRequiredKeys<RouteQuery<N, "delete">> extends true
        ? (<T>(options: DeleteRequestOptions<RouteQuery<N, "delete">, "json">) => Promise<T>)
        : (<T>(options?: DeleteRequestOptions<RouteQuery<N, "delete">, "json">) => Promise<T>);
    get: HasRequiredKeys<RouteQuery<N, "get">> extends true
        ? (<T, RT, B>(options: GetRequestOptions<RouteQuery<N, "get">, RT, B>) => Promise<ToReturn<T, RT, B>>)
        : (<T, B, RT>(options?: GetRequestOptions<RouteQuery<N, "get">, RT, B>) => Promise<ToReturn<T, RT, B>>);
    patch: (<T, RT>(options: PatchRequestOptions<RouteQuery<N, "patch">, RT, "json">) => Promise<RT extends "blob"
        ? Blob
        : T>);
    post: (<T, RT>(options: PostRequestOptions<RouteQuery<N, "post">, RouteBody<N, "post">, RT>) => Promise<RT extends "blob"
        ? Blob
        : T>);
    put: (<T, RT>(options: PutRequestOptions<RouteQuery<N, "put">, RouteBody<N, "put">, RT>) => Promise<RT extends "blob"
        ? Blob
        : T>);
    url: HasRequiredKeys<RouteQuery<N, "get">> extends true
        ? ((options: Pick<GetRequestOptions<RouteQuery<N, "get">, "json", false>, "query">) => Promise<string>)
        : ((options?: Pick<GetRequestOptions<RouteQuery<N, "get">, "json", false>, "query">) => Promise<string>);
}

Type Parameters

Properties

Properties

delete: HasRequiredKeys<RouteQuery<N, "delete">> extends true
    ? (<T>(options: DeleteRequestOptions<RouteQuery<N, "delete">, "json">) => Promise<T>)
    : (<T>(options?: DeleteRequestOptions<RouteQuery<N, "delete">, "json">) => Promise<T>)
get: HasRequiredKeys<RouteQuery<N, "get">> extends true
    ? (<T, RT, B>(options: GetRequestOptions<RouteQuery<N, "get">, RT, B>) => Promise<ToReturn<T, RT, B>>)
    : (<T, B, RT>(options?: GetRequestOptions<RouteQuery<N, "get">, RT, B>) => Promise<ToReturn<T, RT, B>>)
patch: (<T, RT>(options: PatchRequestOptions<RouteQuery<N, "patch">, RT, "json">) => Promise<RT extends "blob"
    ? Blob
    : T>)
post: (<T, RT>(options: PostRequestOptions<RouteQuery<N, "post">, RouteBody<N, "post">, RT>) => Promise<RT extends "blob"
    ? Blob
    : T>)
put: (<T, RT>(options: PutRequestOptions<RouteQuery<N, "put">, RouteBody<N, "put">, RT>) => Promise<RT extends "blob"
    ? Blob
    : T>)
url: HasRequiredKeys<RouteQuery<N, "get">> extends true
    ? ((options: Pick<GetRequestOptions<RouteQuery<N, "get">, "json", false>, "query">) => Promise<string>)
    : ((options?: Pick<GetRequestOptions<RouteQuery<N, "get">, "json", false>, "query">) => Promise<string>)