Можно ли добиться того, чтобы Запись уважала некоторые инварианты?
Предположим, я хотел создать тип записи, который представляет приемлемые минимальные / максимальные границы:
type Bounds = { Min: float; Max: float }
Есть ли способ обеспечить, чтобы Мин < Максимум? Легко написать функцию validateBounds, мне просто было интересно, есть ли лучший способ сделать это.
Редактировать: я понял, что для этого конкретного примера я мог бы, вероятно, сойти с выставлением двух свойств и изменить порядок аргументов, поэтому давайтеговорят, что мы пытались сделать
type Person = { Name: string }
Имя должно содержать хотя бы один символ.