matchWithString
matchWithString() effectue un pattern matching exhaustif sur une chaîne littérale ou une union de chaînes littérales. Chaque valeur possible doit posséder exactement un handler, ce qui garantit qu’aucun cas ne reste sans traitement. Le callback sélectionné reçoit la valeur littérale correspondant à sa clé, correctement affinée par TypeScript.
Exemple interactif
Syntaxe
Signature classique
typescript
function matchWithString<Input extends string, Matcher>(
input: Input,
matcher: Matcher
): ReturnType<Matcher[keyof Matcher]>Signature currifiée
typescript
function matchWithString<Input extends string, Matcher>(
matcher: Matcher
): (input: Input) => ReturnType<Matcher[keyof Matcher]>Paramètres
input: une chaîne littérale ou une union de chaînes littérales. Le type largestringest refusé.matcher: un objet exhaustif dont les clés correspondent exactement aux littéraux d’entrée. Chaque handler reçoit son littéral correctement affiné.
Valeur de retour
Le résultat du handler sélectionné. Son type statique est l’union des retours de tous les handlers.
Voir aussi
matchWithNumber- Équivalent numérique.match- Pattern matching généraliste.
