matchWithNumber
matchWithNumber() effectue un pattern matching exhaustif sur un nombre littéral ou une union de nombres littéraux. 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 matchWithNumber<Input extends number, Matcher>(
input: Input,
matcher: Matcher
): ReturnType<Matcher[keyof Matcher]>Signature currifiée
typescript
function matchWithNumber<Input extends number, Matcher>(
matcher: Matcher
): (input: Input) => ReturnType<Matcher[keyof Matcher]>Paramètres
input: un nombre littéral ou une union de nombres littéraux. Le type largenumberest 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
matchWithString- Équivalent pour les chaînes.match- Pattern matching généraliste.
