Skip to content

discriminate ​

La méthode discriminate() discrimine un objet par la valeur d'une propriété (type guard pour les unions).

Exemple interactif ​

Syntaxe ​

Signature classique ​

typescript
function discriminate<
	GenericInput extends object,
	GenericKey extends keyof GenericInput,
	GenericInput extends EligibleEqual
>(
	input: GenericInput,
	key: GenericKey,
	value: (MaybeArray<(GenericInput & Extract<GenericInput[GenericKey], EligibleEqual>)> | MaybeArray<Extract<GenericInput[GenericKey], EligibleEqual>>)
): input is Extract<GenericInput, {
	[Prop in GenericKey]: GenericInput;
}>

Signature currifiee ​

typescript
function discriminate<
	GenericInput extends object,
	GenericKey extends keyof GenericInput,
	GenericInput extends EligibleEqual
>(
	key: GenericKey,
	value: ...
): (input: GenericInput) => input is Extract<GenericInput, {
	[Prop in GenericKey]: GenericInput;
}>

Paramètres ​

  • input : L'objet à discriminer (souvent un type union).
  • key : La clé de la propriété discriminante.
  • input : La valeur (ou tableau de valeurs) attendue pour la discrimination.

Valeur de retour ​

Un booléen qui agit comme type guard pour affiner le type d'union.

Voir aussi ​

Diffusé sous licence MIT.