Преобразование карты с внешней картой - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь добавить внешнюю карту к существующей карте, но все еще возвращаю то же самое из метода.

Вот как выглядит существующая карта:

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
    }
  }
}
...