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.