UNPKG

nuqs

Version:

Type-safe search params state manager for Next.js - Like React.useState, but stored in the URL query string

17 lines (14 loc) 1.47 kB
import { a as ParserBuilder, o as inferParserType } from './serializer-BZD8Ur_m.js'; export { P as Parser, e as createParser, d as createSerializer, c as parseAsArrayOf, j as parseAsBoolean, i as parseAsFloat, h as parseAsHex, g as parseAsInteger, l as parseAsIsoDateTime, b as parseAsJson, n as parseAsNumberLiteral, f as parseAsString, p as parseAsStringEnum, m as parseAsStringLiteral, k as parseAsTimestamp } from './serializer-BZD8Ur_m.js'; import 'react'; type SearchParams = Record<string, string | string[] | undefined>; declare function createSearchParamsCache<Parsers extends Record<string, ParserBuilder<any>>>(parsers: Parsers): { parse: { (searchParams: SearchParams): keyof Parsers extends infer T extends keyof Parsers ? { readonly [K in T]: inferParserType<Parsers[K]>; } : never; (searchParams: Promise<any>): Promise<keyof Parsers extends infer T extends keyof Parsers ? { readonly [K in T]: inferParserType<Parsers[K]>; } : never>; }; get: <Key extends keyof Parsers>(key: Key) => (keyof Parsers extends infer T extends keyof Parsers ? { readonly [K in T]: inferParserType<Parsers[K]>; } : never)[Key]; all: () => keyof Parsers extends infer T extends keyof Parsers ? { readonly [K in T]: inferParserType<Parsers[K]>; } : never; }; declare function compareSearchParams(a: SearchParams, b: SearchParams): boolean; export { ParserBuilder, type SearchParams, compareSearchParams, createSearchParamsCache, inferParserType };