Size: a a a

Scala User Group

2020 May 25

AS

Aλeχander Semenov in Scala User Group
Oleg ℕizhnik
в данном случае не сработает, потому что там вэлью от первого сохраняется
да, заменил все поля на "user" :)
источник

AS

Aλeχander Semenov in Scala User Group
Oleg ℕizhnik
ну массив сгенерирует
    UserId.loggable.contramap[User](_.id) +
     Email.loggable.contramap(_.email) +
     UserRole.loggable.contramap(_.roles)


вот здесь roles это Set, как сделать, чтобы скомпилилось?
источник

λ

λoλdog in Scala User Group
ну ты бы хоть сказал, что за ошибка
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ну Loggable[Set[UserRole]].contramap(_.roles)
источник

AS

Aλeχander Semenov in Scala User Group
Oleg ℕizhnik
Ну Loggable[Set[UserRole]].contramap(_.roles)
компилится, но ничего не выводится 🤷‍♂️ userId, email - есть, ролей - нету
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну named забыл
источник

AS

Aλeχander Semenov in Scala User Group
Oleg ℕizhnik
ну named забыл
🙏🏻 да, завелось
источник

AS

Aλeχander Semenov in Scala User Group
А вы сами оборачиваете через Mid для логгинга? Или это утопия? Как выше пример был
источник

Oℕ

Oleg ℕizhnik in Scala User Group
композим с мид для логгинга, да
источник

Oℕ

Oleg ℕizhnik in Scala User Group
удобно
источник

AS

Aλeχander Semenov in Scala User Group
ок, значит оставлю так )
источник

AS

Aλeχander Semenov in Scala User Group
Oleg ℕizhnik
в данном случае не сработает, потому что там вэлью от первого сохраняется
а это как обойти? Один момент остался )
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну написать какой-то свой комбинатор
источник

Oℕ

Oleg ℕizhnik in Scala User Group
чтобы дикт кидал
источник

Oℕ

Oleg ℕizhnik in Scala User Group
и в тофу законтрибутить
источник

Oℕ

Oleg ℕizhnik in Scala User Group
анти-макросники нечасто встречаются
источник

AS

Aλeχander Semenov in Scala User Group
я не анти, просто мне из 10 полей 7 придется аннотацией мазать ))
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну взял бы руками инстанс написал
источник

AS

Aλeχander Semenov in Scala User Group
Oleg ℕizhnik
ну взял бы руками инстанс написал
хочется красиво, вот это уже близко )
Loggable[UserId].contramap[User](_.id) +
 Loggable[Email].contramap(_.email) +
 Loggable[Set[UserRole]].named("userRoles").contramap(_.roles)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
или сделал бы нормально кейс-класс
источник