UNPKG

bknd

Version:

Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.

42 lines (41 loc) 2.08 kB
import type { Api } from "../../../Api"; import { FetchPromise, type ModuleApi, type ResponseObject } from "../../../modules/ModuleApi"; import { type SWRConfiguration, type Middleware } from "swr"; export declare const useApiQuery: <Data, RefineFn extends (data: ResponseObject<Data>) => unknown = (data: ResponseObject<Data>) => Data>(fn: (api: Api) => FetchPromise<Data>, options?: SWRConfiguration & { enabled?: boolean; refine?: RefineFn; }) => { promise: FetchPromise<Data>; key: string; api: Api; data: (RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data) | undefined; error: any; mutate: import("swr").KeyedMutator<RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data>; isValidating: boolean; isLoading: import("swr/_internal").IsLoadingResponse<Data_1, Config>; }; /** @attention: highly experimental, use with caution! */ export declare const useApiInfiniteQuery: <Data, RefineFn extends (data: ResponseObject<Data>) => unknown = (data: ResponseObject<Data>) => Data>(fn: (api: Api, page: number) => FetchPromise<Data>, options?: SWRConfiguration & { refine?: RefineFn; pageSize?: number; }) => { _data: (RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data)[] | undefined; data: never[]; endReached: boolean; promise: FetchPromise<Data>; key: string; api: Api; size: number; setSize: (size: number | ((_size: number) => number)) => Promise<(RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data)[] | undefined>; mutate: import("swr/infinite").SWRInfiniteKeyedMutator<(RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data)[]>; error: any; isValidating: boolean; isLoading: import("swr/_internal").IsLoadingResponse<Data_1, Config>; }; export declare const useInvalidate: (options?: { exact?: boolean; }) => (arg?: string | ((api: Api) => FetchPromise<any> | ModuleApi<any>)) => Promise<any>; /** * Simple middleware to only load on first mount. */ export declare const mountOnce: Middleware;