example from the the Akka HTTP docucumentation показывает, что вы можете использовать метод map
на Directives
, чтобы преобразовать их значение так, как вы ожидаете.Почему «карта» в директиве иногда обертывает результат в кортеж?
val textParam: Directive1[String] =
parameter("text".as[String])
val lengthDirective: Directive1[Int] =
textParam.map(text => text.length)
Однако, когда я пытаюсь использовать это с моими собственными примерами, я получаю директиву Tuple1
ожидаемого типа, а не директивы самого ожидаемого типа. Например:
val stringOpsDirective: Directive[Tuple1[StringOps]] =
textParam.map(text => augmentString(text))
Я вижу, что map
принимает неявный параметр Tupler
но ищет реализации может найти признак, я не вижу, как все не обернут в Tuple
.