Size: a a a

ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)

2020 May 08

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
только у меня это было
IMap[FooState.type with BarState.type]
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
короче злейер сделать на стейте
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
либо просто Ref, SyncIO
источник

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
короче злейер сделать на стейте
И кейкать типы стейтов в каждом сьюте?
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Nikita Vilunov
И кейкать типы стейтов в каждом сьюте?
да почему кейкать
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
вызвать наполнение мапки стартовыми элементами
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
мапка, Никита, не трейты
источник

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
object FooMock{
  val init: Has[FooState] = Has(FooState(....)))
}
class LolSuite{
  type State = Has[FooState] with Has[BarState] with Has[ProdQuux]
  type Err = FooErr :+: BarErr :+: Cnil
  type Eff[+A] =  ICalc[Any, State, Err, A]
  val init = FooMock.init ++ BarMock.init

 val focus: State Contains ProQuux = implicitly
 val instance = new BarInstance[Eff](CalcAtom[Any, State, Err].focused(focus))
...

 val (final,  res) = instance.quux(1, 2, 3).runUnit(init).
 
  final.get[ProdQuux].lol should== "lol"
  res should== Left(BarErr("fuck"))
```
источник

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
object FooMock{
  val init: Has[FooState] = Has(FooState(....)))
}
class LolSuite{
  type State = Has[FooState] with Has[BarState] with Has[ProdQuux]
  type Err = FooErr :+: BarErr :+: Cnil
  type Eff[+A] =  ICalc[Any, State, Err, A]
  val init = FooMock.init ++ BarMock.init

 val focus: State Contains ProQuux = implicitly
 val instance = new BarInstance[Eff](CalcAtom[Any, State, Err].focused(focus))
...

 val (final,  res) = instance.quux(1, 2, 3).runUnit(init).
 
  final.get[ProdQuux].lol should== "lol"
  res should== Left(BarErr("fuck"))
```
Has есть где-то кроме зио?
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
ну я упоминал свою бюджетную версию
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Nikita Vilunov
Has есть где-то кроме зио?
но в принципе тебе и не сильно нужно Has
источник

NV

Nikita Vilunov in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Ну то есть всё равно придётся делать case class State(foo: FooState, bar: BarState, prodQuux: ProdQuux)
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
в тестах достаточно будет
case class TestMap(map: Map[ClassTag[_], Any])

object TestMap{
 implicit def contains[A : ClassTag]: TestMap Contains A = new Contains{
  def get(testMap: TestMap) = testMap(classTag[A]).asInstanceOf[A]
  def put(testMap: TestMap, a: A) = testMap.updated(classTag[A], a)
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Но в принципе для теста несложно и
@ClassyOptics
case class State(...)
Сделать
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Nikita Vilunov
Ну то есть всё равно придётся делать case class State(foo: FooState, bar: BarState, prodQuux: ProdQuux)
нет моя бюджетная версия немного иная
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
но почему-то не вижу её в манатках
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
видимо, осталась в тест сорцах травела
источник

AT

Aλeksei Tereχin in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
ну скажем так для тебя и корейский наверное так же выглядит
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
сложно понять, ирония это или нет
источник