@jimjam.dev/url-state
Version:
A url state manager for nextjs
25 lines • 1.09 kB
TypeScript
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