Skip to content

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 large number est 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

Diffusé sous licence MIT.