Skip to content

hasKinds

La fonction hasKinds() vérifie qu'une valeur possède tous les kinds demandés et agit comme type guard vers leur intersection.

Exemple interactif

Syntaxe

Signature classique

typescript
function hasKinds<
	GenericInput extends unknown,
	GenericKindHandler extends KindHandler,
>(
	input: GenericInput,
	kinds: [GenericKindHandler, ...GenericKindHandler[]]
): input is Extract<
	GenericInput,
	UnionToIntersection<
		GenericKindHandler extends any
			? Kind<GenericKindHandler["definition"]>
			: never
	>
>;

Signature currifiée

typescript
function hasKinds<
	GenericInput extends unknown,
	GenericKindHandler extends KindHandler,
>(
	kinds: [GenericKindHandler, ...GenericKindHandler[]]
): (input: GenericInput) => input is Extract<
	GenericInput,
	UnionToIntersection<
		GenericKindHandler extends any
			? Kind<GenericKindHandler["definition"]>
			: never
	>
>;

Paramètres

  • kinds : Tableau non vide de handlers de kind à vérifier.
  • input (surcharge directe) : Valeur testée.

Valeur de retour

Un type guard qui est vrai si input possède tous les kinds listés.

Voir aussi

  • kind - Créer et manipuler des kinds
  • instanceOf - Type guard basé sur instanceof

Diffusé sous licence MIT.