PathParam<Path>: Path extends "*" | "/*"
    ? "*"
    : Path extends `${infer Rest}/*`
        ? "*" | _PathParam<Rest>
        : _PathParam<Path>

Examples: "/a/b/" -> "" ":a" -> "a" "/a/:b" -> "b" "/a/blahblahblah:b" -> "b" "/:a/:b" -> "a" | "b" "/:a/b/:c/" -> "a" | "c" | ""

Type Parameters

  • Path extends string