Пользовательские типы, использующие pureconfig? - PullRequest
0 голосов
/ 06 ноября 2018

Я использую PureConfig с уточненным. У меня есть следующий класс дела:

case class Config(port: ServerPort, interface: String)

ServerPort - это пользовательский тип, который я определил с помощью Refined. Я использую pureconfig для загрузки файла conf в класс case Config следующим образом:

import com.api.models.Config
import com.typesafe.config.ConfigFactory
import eu.timepit.refined.W
import eu.timepit.refined.api.Refined
import eu.timepit.refined.auto._
import eu.timepit.refined.numeric.Greater
import pureconfig.{ConfigReader, loadConfig}

object Configuration {

  type ServerPort = Int Refined Greater[W.`1024`.T]

  val port = 8080
  val interface = " 127.0.0.1"


  val config = ConfigFactory.load()

  val connection: Config = loadConfig[Config](config,"connection").getOrElse(Config(8080,"127.0.0.1"))

}

Однако всякий раз, когда я запускаю это, я получаю следующую ошибку:

Error:(21, 37) could not find a ConfigReader instance for type Config
  implicit val reader = ConfigReader[Config].map(item => new Config(item.port,item.interface))

Есть ли способ использовать pureconfig для чтения пользовательских типов?

...