Como definir uma string específica em uma interface TypeScript (tipo literal)
Olá a todos! Comecei a estudar TypeScript recentemente e me deparei com um problema. Preciso criar uma interface para um objeto que tem um campo `status`. Esse campo deve aceitar valores estritamente definidos, como: `"active"`, `"inactive"` ou `"pending"`. Se tentar atribuir qualquer outra string, deve ocorrer um erro de compilação.
Tentei fazer assim:
```typescript
interface UserStatus {
status: string;
}
```
Mas isso não funciona, porque `string` permite qualquer string. Quero que o TS verifique se o valor do campo `status` é uma das três strings possíveis.
Tentei usar `enum`, mas me disseram que é possível fazer de forma mais simples — com tipos literais. Como descrever essa interface corretamente? E é possível fazer com que a IDE sugira as opções disponíveis durante a digitação?
Exemplo do que quero:
```typescript
const user1: User = { status: "active" }; // Ok
const user2: User = { status: "deleted" }; // Erro!
```
Por favor, me ajudem a implementar isso.
No answers yet.
Faça login para deixar uma resposta
Blogs