Skip to content

createEnum

La fonction createEnum() crée un enum string immuable et typé. L’objet retourné expose les clés/valeurs, la méthode has et toTuple.

Exemple interactif

Syntaxe

typescript
type Enum<
	GenericInputs extends [string, ...string[]]
> = {
	[Prop in GenericInputs[number]]: Prop;
} & {
	toTuple(): GenericInputs;
	has(value: string): value is GenericInputs[number];
};

function createEnum<
	GenericInput extends string,
	GenericInputs extends [GenericInput, ...GenericInput[]]
>(
	values: GenericInputs
): Enum<GenericInputs>;

type GetEnumValue<
	GenericEnum extends Enum<any>
> = ReturnType<GenericEnum["toTuple"]>[number];

Paramètres

  • values : Tuple non vide de chaînes (les membres de l’enum).

Valeur de retour

Un objet enum immuable avec :

  • Les propriétés nommées (clé/valeur identiques).
  • toTuple() pour récupérer le tuple typé.
  • has(value) pour tester une valeur runtime avec type guard.

Voir aussi

  • kind - Tags runtime/type

Diffusé sous licence MIT.