Int, name: Option[String])
на самом деле опшон полей гораздо больше, но это не суть.
Приходит EntityDraft, хочется его провалидировать по сложной бизнес логике, где так же есть проверка, что эти поля не None,
и если cats.Validated вернул, что все ок, то вернуть не EntityDraft а Entity.
Как бы вы это сделали?
Я сделяль trait Entity[F[_]] { def id: Int, def name: F[String] }
и в одном случае F - Option, в другом Id
но терзают сомнения
HList?
можно и case class Entity[F]
Обсуждают сегодня