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.