UNPKG

@apparently/query

Version:

Simple and small data fetching library for SolidJS. Inspired by SWR.

23 lines (22 loc) 926 B
import { InitializedResource } from "solid-js"; import type { ParentComponent, Accessor } from "solid-js"; import { ReactiveMap } from "@solid-primitives/map"; declare type Fetcher = (...args: any[]) => Promise<any>; interface QueryConfig { fetcher: Fetcher; } interface QueryData { fetcher: Fetcher; cache: ReactiveMapWithStableHash<string, unknown>; } declare class ReactiveMapWithStableHash<K, V> extends ReactiveMap<K, V> { set(key: K, value: V): this; } export declare function useQueryContext(): QueryData; export declare const QueryConfig: ParentComponent<QueryConfig>; export declare function useCache(): ReactiveMapWithStableHash<string, unknown>; export declare function useMutate<T>(): (key: string, data?: T) => Promise<void>; export declare function useQuery<T>(getKey: Accessor<string | null>, initialValue?: T): [InitializedResource<T>, { mutate: (data?: T) => Promise<void>; }]; export {};