react-hooks-localstorage
Version:
Complete React hooks library for localStorage with TTL, encryption, caching, sync, and advanced utilities.
52 lines • 1.84 kB
TypeScript
import { LocalStorageOptions } from "./localStorage.types";
/**
* Hook for caching API responses or expensive computations in localStorage
*/
export declare function useLocalStorageCache<T>(key: string, fetcher: () => Promise<T>, options?: LocalStorageOptions<T | null> & {
staleTime?: number;
cacheTime?: number;
refetchOnMount?: boolean;
refetchOnReconnect?: boolean;
refetchOnWindowFocus?: boolean;
}): {
refreshValue: () => void;
isExpired: () => boolean;
getExpiresAt: () => number | null;
getRemainingTime: () => number | null;
data: T | null;
isLoading: boolean;
error: Error | null;
isStale: boolean;
invalidate: () => void;
refetch: () => Promise<void>;
};
/**
* Hook for localStorage with sync across multiple components
*/
export declare function useLocalStorageSync<T>(key: string, initialValue: T, options?: LocalStorageOptions<T>): {
removeValue: () => void;
refreshValue: () => void;
isExpired: () => boolean;
getCreatedAt: () => number | null;
getExpiresAt: () => number | null;
getRemainingTime: () => number | null;
value: T;
setValue: (newValue: T | ((prevValue: T) => T)) => void;
subscribe: (callback: (value: T) => void) => () => void;
};
/**
* Hook for localStorage with compression for large data
*/
export declare function useLocalStorageCompressed<T>(key: string, initialValue: T, options?: LocalStorageOptions<T>): import("./localStorage.types").UseLocalStorageReturn<T>;
/**
* Hook for localStorage with automatic cleanup of expired items
*/
export declare function useLocalStorageAutoCleanup(): {
cleanupStats: {
lastCleanup: number;
itemsRemoved: number;
totalRuns: number;
};
runCleanup: () => number | undefined;
};
//# sourceMappingURL=useLocalStorageSpecialized.d.ts.map