É possível impor que um registro respeite algumas invariantes?
Suponha que eu queira criar um tipo de registro que represente limites min / max aceitáveis:
type Bounds = { Min: float; Max: float }
Existe uma maneira de impor que Min <Max? É fácil escrever uma função validateBounds, só queria saber se havia uma maneira melhor de fazer isso.
Edit: Eu percebi que, para este exemplo específico, eu provavelmente poderia me safar com a exposição de duas propriedades e reordenar os argumentos, então vamos dizer que estávamos tentando fazer
type Person = { Name: string }
e Nome precisa ter pelo menos um caractere.