UNPKG

react-hooks-localstorage

Version:

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

96 lines 3.88 kB
import { LocalStorageOptions } from "./localStorage.types"; /** * Hook for managing arrays in localStorage with array-specific methods */ export declare function useLocalStorageArray<T>(key: string, initialValue?: T[], options?: LocalStorageOptions<T[]>): { isExpired: () => boolean; getCreatedAt: () => number | null; getExpiresAt: () => number | null; getRemainingTime: () => number | null; array: T[]; setArray: (value: T[] | ((prevValue: T[]) => T[])) => void; addItem: (item: T) => void; removeItem: (index: number) => void; removeItemByValue: (item: T) => void; updateItem: (index: number, newItem: T) => void; insertItem: (index: number, item: T) => void; moveItem: (fromIndex: number, toIndex: number) => void; clearArray: () => void; findItem: (predicate: (item: T) => boolean) => T | undefined; findIndex: (predicate: (item: T) => boolean) => number; length: number; isEmpty: boolean; removeValue: () => void; refreshValue: () => void; }; /** * Hook for managing objects in localStorage with object-specific methods */ export declare function useLocalStorageObject<T extends Record<string, unknown>>(key: string, initialValue: T, options?: LocalStorageOptions<T>): { isExpired: () => boolean; getCreatedAt: () => number | null; getExpiresAt: () => number | null; getRemainingTime: () => number | null; object: T; setObject: (value: T | ((prevValue: T) => T)) => void; setProperty: <K extends keyof T>(property: K, value: T[K]) => void; removeProperty: <K extends keyof T>(property: K) => void; updateObject: (updates: Partial<T>) => void; resetObject: () => void; hasProperty: <K extends keyof T>(property: K) => boolean; getProperty: <K extends keyof T>(property: K) => T[K]; keys: Array<keyof T>; values: unknown[]; entries: Array<[keyof T, T[keyof T]]>; removeValue: () => void; refreshValue: () => void; }; /** * Hook for managing boolean states in localStorage (like toggles, flags) */ export declare function useLocalStorageBoolean(key: string, initialValue?: boolean, options?: LocalStorageOptions<boolean>): { isExpired: () => boolean; getCreatedAt: () => number | null; getExpiresAt: () => number | null; getRemainingTime: () => number | null; value: boolean; setValue: (value: boolean | ((prevValue: boolean) => boolean)) => void; toggle: () => void; setTrue: () => void; setFalse: () => void; removeValue: () => void; refreshValue: () => void; }; /** * Hook for managing numeric values in localStorage with numeric operations */ export declare function useLocalStorageNumber(key: string, initialValue?: number, options?: LocalStorageOptions<number>): { isExpired: () => boolean; getCreatedAt: () => number | null; getExpiresAt: () => number | null; getRemainingTime: () => number | null; value: number; setValue: (value: number | ((prevValue: number) => number)) => void; increment: (step?: number) => void; decrement: (step?: number) => void; multiply: (factor: number) => void; divide: (divisor: number) => void; reset: () => void; setMin: (min: number) => void; setMax: (max: number) => void; clamp: (min: number, max: number) => void; removeValue: () => void; refreshValue: () => void; }; /** * Hook for managing multiple localStorage keys as a single state */ export declare function useLocalStorageMultiple<T extends Record<string, unknown>>(keys: T, options?: LocalStorageOptions<unknown>): { values: T; setValue: <K extends keyof T>(key: K, value: T[K]) => void; setValues: (newValues: Partial<T>) => void; removeValue: <K extends keyof T>(key: K) => void; removeAll: () => void; refreshValues: () => void; }; //# sourceMappingURL=useLocalStorageAdvanced.d.ts.map