@hyper-fetch/react
Version:
React hooks and utils for the hyper-fetch
29 lines • 2.06 kB
TypeScript
import { CacheValueType, NullableType, RequestInstance, ExtractResponseType, ExtractErrorType, ExtractAdapterResolvedType, Dispatcher, ExtractAdapterType, ResponseDetailsType } from '@hyper-fetch/core';
import { UseTrackedStateType } from '..';
/**
* Determines whether state should be cleared when the cache key changes.
*
* - `"clean"` — always clear
* - `"preserve"` — never clear
* - `"auto"` — clear when the resource identity changed (URL params), preserve when only query params changed
*/
export declare const getShouldClearState: (mode: "auto" | "preserve" | "clean", oldCacheKey: string, newCacheKey: string) => boolean;
export declare const getDetailsState: (state?: UseTrackedStateType<RequestInstance>, details?: Partial<ResponseDetailsType>) => ResponseDetailsType;
export declare const isStaleCacheData: (staleTime: number, staleTimestamp: NullableType<Date | number>) => boolean;
export declare const getValidCacheData: <T extends RequestInstance>(request: T, initialResponse: NullableType<Partial<ExtractAdapterResolvedType<T>>>, cacheData: NullableType<CacheValueType<ExtractResponseType<T>, ExtractErrorType<T>, ExtractAdapterType<T>>>) => CacheValueType<ExtractResponseType<T>, ExtractErrorType<T>, ExtractAdapterType<T>> | null;
export declare const getTimestamp: (timestamp?: NullableType<number | Date>) => Date | null;
export declare const getIsInitiallyLoading: <T extends RequestInstance>({ queryKey, dispatcher, hasState, revalidate, disabled, }: {
queryKey: string;
dispatcher: Dispatcher<ExtractAdapterType<T>>;
hasState: boolean;
revalidate?: boolean;
disabled?: boolean;
}) => boolean;
export declare const getInitialState: <T extends RequestInstance>({ initialResponse, dispatcher, request, disabled, revalidate, }: {
initialResponse: NullableType<Partial<ExtractAdapterResolvedType<T>>>;
dispatcher: Dispatcher<ExtractAdapterType<T>>;
request: T;
disabled?: boolean;
revalidate?: boolean;
}) => UseTrackedStateType<T>;
//# sourceMappingURL=use-tracked-state.utils.d.ts.map