UNPKG

svelte-simple-query

Version:

A simple yet powerful, lightweight data query library for Svelte 5, providing full control with built-in functionalities. Built with TypeScript for easy usage and strong typing.

55 lines (54 loc) 1.81 kB
declare const defaultFetcher: (url: string) => Promise<any>; type QueryShape = { baseURI: string; baseInit: RequestInit; fetcher: typeof defaultFetcher; cacheTimeout: number; setup: (options: Omit<QueryOptions, 'setup'>) => void; bagHit: Record<string, number>; onError?: (query: StateQuery<any>, error: any) => void; onSuccess?: (query: StateQuery<any>) => void; loadingSlowTimeout?: number; onLoadingSlow?: (query: StateQuery<any>) => void; retryCount?: number; retryDelay?: number; shouldRetryWhenError?: boolean; clear: (endpoint?: string) => void; clearGroup: (group?: string) => void; group: (group: string) => StateQuery<any>[]; }; export declare const Query: QueryShape; type QueryOptions = Omit<{ [key in keyof QueryShape]?: QueryShape[key]; }, 'setup' | 'bagHit' | 'clear' | 'clearGroup' | 'group'>; type StateQuery<T> = { data: T | null; isError: boolean | string; isLoading: boolean; fetch: () => Promise<void>; refetch: (options?: { disableLoading: boolean; }) => Promise<void>; mutate: (options?: MutateOptions) => Promise<void>; clear: () => void; endpoint: string; group?: string; groups?: string[]; }; export declare const useQuery: <T>(endpoint: string, options?: QueryOptions & { group?: string; groups?: string[]; }) => StateQuery<T>; type MutateOptions = { populateCache?: (currentData: any) => any; data?: any; refetch?: boolean; }; export declare const useSingleQuery: <T>(endpointCallBack: (key: string) => string, options?: QueryOptions & { group?: string; groups?: string[]; }) => { [key: string]: ReturnType<typeof useQuery<T>>; }; export declare const mutate: (endpoint: string, options?: MutateOptions) => Promise<void>; export {};