@risemaxi/api-client
Version:
Client Library for Rise
49 lines • 5.85 kB
TypeScript
import { FetchQueryOptions, InfiniteData, MutationKey, QueryClient, QueryFunctionContext, QueryKey, UseInfiniteQueryOptions, UseInfiniteQueryResult, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
import type { EndpointMethodMap, EndpointInputParameters, EndpointOutputResponse, Fetcher, HttpMethod, MaybeOptionalArg, MaybeOptionalOptions } from "./client.types.js";
import type { DeleteEndpoints, GetEndpoints, PatchEndpoints, PostEndpoints, PutEndpoints } from "./contract.js";
export declare class RiseApiClient {
#private;
fetcher: Fetcher;
constructor(fetcher: Fetcher);
setBaseUrl(baseUrl: string): this;
setEnableParsing(enable: boolean): this;
get<Path extends keyof GetEndpoints>(path: Path, ...params: MaybeOptionalArg<GetEndpoints[Path]["parameters"]>): Promise<GetEndpoints[Path]["response"]>;
post<Path extends keyof PostEndpoints>(path: Path, ...params: MaybeOptionalArg<PostEndpoints[Path]["parameters"]>): Promise<PostEndpoints[Path]["response"]>;
patch<Path extends keyof PatchEndpoints>(path: Path, ...params: MaybeOptionalArg<PatchEndpoints[Path]["parameters"]>): Promise<PatchEndpoints[Path]["response"]>;
delete<Path extends keyof DeleteEndpoints>(path: Path, ...params: MaybeOptionalArg<DeleteEndpoints[Path]["parameters"]>): Promise<DeleteEndpoints[Path]["response"]>;
put<Path extends keyof PutEndpoints>(path: Path, ...params: MaybeOptionalArg<PutEndpoints[Path]["parameters"]>): Promise<PutEndpoints[Path]["response"]>;
}
export declare function createRiseApiClient(fetcher: Fetcher): RiseApiClient;
export declare class RiseApiHooks {
#private;
constructor(client: RiseApiClient);
getCacheKey<Method extends HttpMethod, Path extends keyof EndpointMethodMap[Method]>(method: Method, path: Path, ...params: MaybeOptionalArg<EndpointInputParameters<EndpointMethodMap[Method][Path]>>): readonly [string, ...unknown[]];
setCachedData<Method extends HttpMethod, Path extends keyof EndpointMethodMap[Method]>(queryClient: QueryClient, method: Method, path: Path, ...options: MaybeOptionalOptions<EndpointOutputResponse<EndpointMethodMap[Method][Path]>, EndpointInputParameters<EndpointMethodMap[Method][Path]>>): void;
useSetCachedData<Method extends HttpMethod, Path extends keyof EndpointMethodMap[Method]>(method: Method, path: Path, ...options: MaybeOptionalOptions<EndpointOutputResponse<EndpointMethodMap[Method][Path]>, EndpointInputParameters<EndpointMethodMap[Method][Path]>>): void;
getCachedData<Method extends HttpMethod, Path extends keyof EndpointMethodMap[Method]>(queryClient: QueryClient, method: Method, path: Path, ...params: MaybeOptionalArg<EndpointInputParameters<EndpointMethodMap[Method][Path]>>): EndpointOutputResponse<EndpointMethodMap[Method][Path]> | undefined;
useGetCachedData<Method extends HttpMethod, Path extends keyof EndpointMethodMap[Method]>(method: Method, path: Path, ...params: MaybeOptionalArg<EndpointInputParameters<EndpointMethodMap[Method][Path]>>): EndpointOutputResponse<EndpointMethodMap[Method][Path]> | undefined;
prefetchData<Path extends keyof GetEndpoints>(queryClient: QueryClient, path: Path, ...rest: MaybeOptionalOptions<GetEndpoints[Path]["parameters"], FetchQueryOptions>): void;
usePrefetchData<Path extends keyof GetEndpoints>(path: Path, ...rest: MaybeOptionalOptions<GetEndpoints[Path]["parameters"], FetchQueryOptions>): void;
useGet<Path extends keyof GetEndpoints, TQueryFnData extends GetEndpoints[Path]["response"], TError = unknown, TData = TQueryFnData>(path: Path, ...rest: MaybeOptionalOptions<GetEndpoints[Path]["parameters"], Omit<UseQueryOptions<TQueryFnData, TError, TData>, "queryKey" | "queryFn">>): UseQueryResult<TData, TError> & {
invalidate: () => Promise<void>;
queryKey: QueryKey;
};
useInfiniteGet<Path extends keyof GetEndpoints, TData extends GetEndpoints[Path]["response"], TError = Error>(path: Path, configMapper: (context: QueryFunctionContext<QueryKey>) => GetEndpoints[Path]["parameters"], options: Omit<UseInfiniteQueryOptions<TData, TError>, "queryKey" | "queryFn">): UseInfiniteQueryResult<InfiniteData<TData>, TError> & {
invalidate: () => Promise<void>;
queryKey: QueryKey;
};
usePost<Path extends keyof PostEndpoints, TVariables extends PostEndpoints[Path]["parameters"], TData extends PostEndpoints[Path]["response"], TError = unknown>(path: Path, options?: Omit<UseMutationOptions<TData, TError, TVariables>, "mutationKey" | "mutationFn">): UseMutationResult<TData, TError, TVariables> & {
mutationKey: MutationKey;
};
usePatch<Path extends keyof PatchEndpoints, TVariables extends PatchEndpoints[Path]["parameters"], TData extends PatchEndpoints[Path]["response"], TError = unknown>(path: Path, options?: Omit<UseMutationOptions<TData, TError, TVariables>, "mutationKey" | "mutationFn">): UseMutationResult<TData, TError, TVariables> & {
mutationKey: MutationKey;
};
useDelete<Path extends keyof DeleteEndpoints, TVariables extends DeleteEndpoints[Path]["parameters"], TData extends DeleteEndpoints[Path]["response"], TError = unknown>(path: Path, options?: Omit<UseMutationOptions<TData, TError, TVariables>, "mutationKey" | "mutationFn">): UseMutationResult<TData, TError, TVariables> & {
mutationKey: MutationKey;
};
usePut<Path extends keyof PutEndpoints, TVariables extends PutEndpoints[Path]["parameters"], TData extends PutEndpoints[Path]["response"], TError = unknown>(path: Path, options?: Omit<UseMutationOptions<TData, TError, TVariables>, "mutationKey" | "mutationFn">): UseMutationResult<TData, TError, TVariables> & {
mutationKey: MutationKey;
};
}
export declare function createRiseApiHooks(client: RiseApiClient): RiseApiHooks;
//# sourceMappingURL=client.d.ts.map