UNPKG

react-router-typesafe-routes

Version:

Enhanced type safety via validation for all route params in React Router v7.

13 lines (12 loc) 741 B
interface Parser<T, THint extends string = never> { stringify: (value: T, context: ParserContext<THint>) => string; parse: (value: string, context: ParserContext<THint>) => unknown; } interface ParserContext<THint extends string = never> { hint?: THint; kind: "pathname" | "search" | "hash"; } type ParserHint = "string" | "number" | "boolean" | "date" | "unknown"; type ParserType<T extends ParserHint> = T extends "unknown" ? unknown : T extends "string" ? string : T extends "date" ? Date : T extends "number" ? number : T extends "boolean" ? boolean : never; declare function parser<T extends ParserHint = "unknown">(defaultHint?: T): Parser<ParserType<T>, ParserHint>; export { parser, Parser, ParserHint, ParserType };