Executando verificação de segurança...
3

Geralmente esses enums nunca estão sozinhos, então eu gosto de fazer assim:

type AgentType = "client"|"supplier"|"employee"

e aí eu defino coisas relacionadas por exmeplo ao agent, e inclusive posso diferenciar por tipo de agente:

type AgentTypeConfig = {
    label: string,
    allowedIdentityTypes: IdentityType[]
    requiredIdentityTypes: IdentityType[]
}

aí eu defino:

const AGENT_TYPES: Record<AgentType, AgentTypeConfig> = {
    client: { label: "Consumidor Final", allowedIdentityTypes: ["CPF"], requiredIdentityTypes: ["CPF"] }
    // ...
}

Aí no codigo se eu precisar extrair a lista de AGENT_TYPES disponiveis, eu faço Object.keys(AGENT_TYPES) por exemplo (se for recorrente, ja deixo uma constante para isso no proprio arquivo que defino AGENT_TYPES.

Carregando publicação patrocinada...
1
1

Entendi, vc usa direto o Tipo e define o mapeamento.

Funciona bem também, e o VSCode e outras IDEs já entendem isso. Acho que o lance do enum é mais pra quando queremos ter a constante instanceada direto no código ao inves de usar as strings definidas no tipo.