Size: a a a

Scala User Group

2020 September 22

Oℕ

Oleg ℕizhnik in Scala User Group
И для каждого пишешь заново набор инстансов?
источник

ᛒᚨᚱᛏᛟᛋᛋᛟ... in Scala User Group
Oleg ℕizhnik
Гораздо меньшая истерика, чем
от

@newtype
case class ProductId(value : UUID)

object ProductId{

 def make[F[_]: GenUUID] : F[ProductID] = makeUUIDId

 implicit val get: Get[ProductId] = deriving
implicit val put: Put[ProductId] = deriving
implicit val swagger: Swagger[ProductId] = deriving
implicit val codec: Codec[ProductId] = deriving
implicit val param: HttpParam[ProductId] = deriving
implicit val loggable: Loggable[ProductId] = derivingLoggable("productId")
}

?
это конечно может звучать глупо но иногда semi-auto кодеки могут быть полезны и их надо срочно удалить как пример
источник

ᛒᚨᚱᛏᛟᛋᛋᛟ... in Scala User Group
хотя конечно можно и через IDE все быстро сделать, но кто то предпочитает через ошибки компилятора все чинить
источник

ZM

ZLoyer Matveev in Scala User Group
Kirill Shelopugin
Идея вполне рада эстатико. Даже знает про deriving.
только заюзать то же дерево с этой шляпой уже не выйдет, так что бойлер плейт для кодеков все равно выползет
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Oleg ℕizhnik
Ты для каждого айдишника свой тег определяешь?
Для айдишников я просто тэги использую, не ньютайпы
источник

GP

Grigory Pomadchin in Scala User Group
Oleg ℕizhnik
И для каждого пишешь заново набор инстансов?
Можно тотже коершн определить
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ᛒᚨᚱᛏᛟᛋᛋᛟ
это конечно может звучать глупо но иногда semi-auto кодеки могут быть полезны и их надо срочно удалить как пример
Так у тебя в любом случае семиавтокодеки
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Юрий Бадальянц
Для айдишников я просто тэги использую, не ньютайпы
Ну а инстансы где
источник

ᛒᚨᚱᛏᛟᛋᛋᛟ... in Scala User Group
Oleg ℕizhnik
Так у тебя в любом случае семиавтокодеки
да, но в твоем случае я не могу удалить кодек для нужного мне тайпа
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ᛒᚨᚱᛏᛟᛋᛋᛟ
да, но в твоем случае я не могу удалить кодек для нужного мне тайпа
а зачем удалить?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
В каком случае полезно вообще не иметь инстанса
источник

ᛒᚨᚱᛏᛟᛋᛋᛟ... in Scala User Group
Oleg ℕizhnik
а зачем удалить?
ну вот внезапно передумали данный айдишник отдавать
источник

GP

Grigory Pomadchin in Scala User Group
ᛒᚨᚱᛏᛟᛋᛋᛟ
это конечно может звучать глупо но иногда semi-auto кодеки могут быть полезны и их надо срочно удалить как пример
в дотях нот есть; такая логика нужна?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ᛒᚨᚱᛏᛟᛋᛋᛟ
ну вот внезапно передумали данный айдишник отдавать
Ну делаешь две примеси, одна с инстансами для всего, кроме жсона, вторая наследует и иам жсон, меняешь примесь со второй на первую
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Oleg ℕizhnik
Ну а инстансы где
В компаньоне. Некоторые общие инстансы я вынес и примешиваю. Типа того:
object ActionId extends TaggedType[UUID] with codec
type ActionId = ActionId.Type
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Юрий Бадальянц
В компаньоне. Некоторые общие инстансы я вынес и примешиваю. Типа того:
object ActionId extends TaggedType[UUID] with codec
type ActionId = ActionId.Type
Ну в итоге та же примесь выходит
источник

ᛒᚨᚱᛏᛟᛋᛋᛟ... in Scala User Group
Grigory Pomadchin
в дотях нот есть; такая логика нужна?
честно говоря не до конца представляю как это в дотти будет выглядеть
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Oleg ℕizhnik
Ну в итоге та же примесь выходит
Ну да. Просто уже есть либа, которая часть на себя берёт, а я вот к чему.
источник

ᛒᚨᚱᛏᛟᛋᛋᛟ... in Scala User Group
Oleg ℕizhnik
Ну делаешь две примеси, одна с инстансами для всего, кроме жсона, вторая наследует и иам жсон, меняешь примесь со второй на первую
ну вот и получается что то в том же виде только с примесью
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ну и нужна ли тогда либа, если нужные две строчки ты можешь скопипастить в примесь
источник