Template Literal Parsing

TypeScript 🔴 Senior

Definition

Technique de parsing de chaines au niveau des types via template literals et infer. Permet d'extraire des parties de routes, selectors CSS ou patterns.

Analogie

Comme un scanner qui lit un code-barres et en extrait chaque segment d'information automatiquement.

Exemple de code

type ParseRoute<T> = T extends `/${infer Seg}/${infer Rest}`
  ? Seg | ParseRoute<`/${Rest}`>
  : T extends `/${infer Last}` ? Last : never;
type R = ParseRoute<"/users/123/posts">;
// "users" | "123" | "posts"

Cas d'usage

Extraire des parametres de route, parser des DSL ou valider des formats de chaines a la compilation.

#advanced#pattern#type-system