withMaxElements
La fonction withMaxElements() ajoute une contrainte MaxElements à un tuple fini, sans le revérifier à l'exécution. Elle est utile quand le tuple est déjà connu à la compilation et doit respecter un contrat d'API comme MaxElements<5>.
Exemple interactif
Syntaxe
Longueur courante du tuple
typescript
function withMaxElements<
GenericArray extends AnyTuple<unknown>
>(
array: GenericArray
): GenericArray & MaxElements<GenericArray["length"]>Longueur max explicite
typescript
function withMaxElements<
GenericArray extends AnyTuple<unknown>,
GenericLength extends number
>(
array: GenericArray,
length: GenericLength
): GenericArray & MaxElements<GenericLength>Paramètres
array: Tuple dont la longueur est connue par TypeScript.length: Maximum littéral optionnel. Il doit être supérieur ou égal à la longueur du tuple.
Valeur de retour
La même référence de tuple, avec un marqueur de type MaxElements<length>.
Quand length est omis, TypeScript peut inférer le maximum depuis la longueur du tuple ou depuis un contrat contextuel :
typescript
const roles = A.withMaxElements(["admin"]) satisfies A.MaxElements<5>;La fonction ne valide pas les tableaux dynamiques à l'exécution. Utilisez maxElements pour les vérifications runtime, et castMaxElements pour élargir une contrainte MaxElements existante.
Voir aussi
maxElements- Vérifie et crée une contrainteMaxElementsà l'exécutioncastMaxElements- Réadapte une contrainteMaxElementsexistantetoTuple- Convertit des valeurs en tuple strictement typé
