Я пытаюсь добавить внешнюю карту к существующей карте, но все еще возвращаю то же самое из метода.
Вот как выглядит существующая карта:
def someMethod(checkType: String) : Flow[ByteString, MyClass[OtherClass], NotUsed] = {
someFlow
.map (s => SomeParser(s))
.collect {
case Right(ts) => ts
}
.map {t =>
val somedata = checkType match {
case "foo" => SomeClass.someMethod(t)
}
(one, two)
}
.map {x =>
x._2.leftMap(xs => {
someMethod(x._1, xs.toList)
}).toEither
}
}
Я пытаюсь добавить внешнюю карту, но все еще могу вернуть те же вещи, которые были возвращены с исходной карты ввышеуказанный метод.Я пробовал ниже, но при этом скала жалуется на несоответствие в обратном порядке.Для простоты идентификации я прокомментировал, какие строки ниже отличаются.
def someMethod(checkType: String) : Flow[ByteString, MyClass[OtherClass], NotUsed] = {
anotherFlow.map {l => //new
someFlow
.map (s => SomeParser(s))
.collect {
case Right(ts) => ts
}
.map {t =>
val myClass = MyCaseClass(t, l) //new
val somedata = checkType match {
case "foo" => SomeClass.someMethod(myClass.t) //modified
}
(one, two)
}
.map {x =>
x._2.leftMap(xs => {
someMethod(x._1, xs.toList)
}).toEither
}
}
}