UNPKG

react-hooks-localstorage

Version:

Complete React hooks library for localStorage with TTL, encryption, caching, sync, and advanced utilities.

85 lines 2.22 kB
import { LocalStorageError, LocalStorageOptions } from "./localStorage.types"; /** * Utility class for advanced localStorage operations */ export declare class LocalStorageManager { private prefix; private version; private onError?; constructor(options?: { prefix?: string; version?: string; onError?: (error: LocalStorageError) => void; }); private getKey; private handleError; private defaultSerialize; private defaultDeserialize; private encrypt; private decrypt; /** * Set a value in localStorage with optional TTL */ setItem<T>(key: string, value: T, options: LocalStorageOptions<T>): boolean | "unavailable"; /** * Get a value from localStorage with expiration check */ getItem<T>(key: string, options?: LocalStorageOptions<T>): T | null; /** * Remove an item from localStorage */ removeItem(key: string): void; /** * Check if an item exists and is not expired */ hasItem(key: string): boolean; /** * Get metadata about a stored item */ getItemMetadata(key: string): { createdAt: number; expiresAt: number | null; version?: string; } | null; /** * Clear all items with the current prefix */ clear(): void; /** * Get all keys with the current prefix */ getAllKeys(): string[]; /** * Get localStorage usage information */ getStorageInfo(): { used: number; remaining: number; total: number; }; /** * Clean up expired items */ cleanupExpiredItems(): number; private dispatchStorageEvent; } export declare const localStorageManager: LocalStorageManager; export declare const localStorageUtils: { /** * Check if localStorage is available */ isAvailable(): boolean; /** * Get size of a specific item in bytes */ getItemSize(key: string): number; /** * Backup localStorage to a JSON string */ exportData(): string; /** * Restore localStorage from a JSON string */ importData(jsonData: string): boolean; }; //# sourceMappingURL=localStorage.utils.d.ts.map