TypeScript · Senior · Pytanie 53 z 75

Jak wyciągnąć parametry trasy z typu stringa ścieżki?

type Params<P> = P extends `${string}:${infer K}/${infer R}`
  ? K | Params<R>
  : P extends `${string}:${infer K}` ? K : never;
type T = Params<'/users/:id/posts/:postId'>; // 'id' | 'postId'

Wyjaśnienie

Routery jak TanStack Router i typowane helpery dla Expressa używają tego, by params.id było bezpieczne typowo.

Do poczytania

Błąd w pytaniu

TypeScript · Senior · pytanie 53

Sprawdź się

Rozwiąż test TypeScript · Senior: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test