UNPKG

@jimjam.dev/url-state

Version:
25 lines 1.09 kB
import { ReadonlyURLSearchParams } from 'next/navigation'; export type Primitive = string | number | boolean | object | null; export type StateValue = Primitive | Primitive[] | Record<string, Primitive> | Date | Record<string, any> | Object | any; export type SearchParams = { [key: string]: string | string[] | undefined; }; /** * Fast serialization with caching and optimization for simple types */ export declare const serializeUrl: (value: StateValue) => string; export declare function deserializeUrl<T extends StateValue>(value: string): T; export declare function deserializeUrl<T extends Record<string, any> = SearchParams>(searchParams: ReadonlyURLSearchParams | SearchParams, uniqueKey?: string): T; /** * Clear caches (useful for testing or memory management) */ export declare function clearUrlStateCaches(): void; /** * Get cache statistics (useful for debugging) */ export declare function getCacheStats(): { serializationCacheSize: number; deserializationCacheSize: number; searchParamsCacheSize: string | number; }; //# sourceMappingURL=serializer.d.ts.map