У меня есть пользовательский псевдоним для более высокого типа в scala:
type FutureOfLastError = Future[LastError]
У меня также есть значение этого типа:
val myFuture: FutureOfLastError = ...
Чтобы написать читаемый код, я хотел бы определить (например) такой метод, как
def mapToString = { ... }
который сопоставляет экземпляр FutureOfLastError с Future[String] и вызывает его как
myFuture mapToString
Как я могу это сделать? Это вообще возможно? Я уже пробовал инкапсуляцию в case-классе, всевозможные неявные преобразования, которые приходили мне в голову.
Моим любимым выбором был бы объект-компаньон в псевдониме типа, но я не смог заставить его работать, потому что не могу вызывать методы типаж Future (например, карту и т. д.) из объекта-компаньона.