NormalizeParam
Produces a Param
type from a supplied string literal type or Param
type. This utility type is a counterpart to the normalizeParam
function.
This type is useful for implementing custom parameters where one of the inputs
is another parameter that can also be expressed as a string. An example is the
optional
parameters implemented by @snout/router-path-extras
.
import { NormalizeParam, Param } from "@snout/router-path";
type ParamA = Param<"a", number>;
type NormalizedA = NormalizeParam<ParamA>; // NormalizedA is Param<"a", number>
type NormalizedB = NormalizeParam<"b">; // NormalizedB is Param<"b", string>