Template Literal Parsing

TypeScript 🔴 Senior

Définition

Technique de parsing de chaînés 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 paramètrès de route, parser des DSL ou valider des formats de chaînés a la compilation.

#advanced#pattern#type-system

← → au clavier pour passer d'une fiche à l'autre