强制pureconfig为案例类生成ConfigReader

时间:2018-07-01 13:49:21

标签: scala scala-macros pureconfig

我有一个隐式类,它包装了一个类型安全的Config类,以从中解析信息。 此类使用pureconfig解析数据。之所以使用它,是因为我更喜欢config.as[String]("foo")而不是loadConfig[String](config, "foo")。但是由于我使用此HoconConfigUtil作为适配器 我尝试解析的所有case类均失败,因为未直接在这些类上调用loadConfig方法 案例类。因此,我收到如下所示的错误。处理此问题的最佳方法是什么?

错误消息

could not find implicit value for evidence parameter of type pureconfig.ConfigReader[com.example.config.Parallelism]

隐式适配器类

implicit class HoconConfigUtil(config: Config) {
    def as[T](path: String)(implicit derivation: Derivation[ConfigReader[T]]): T = {
      pureconfig.loadConfig[T](config, path) match {
        case Right(x: T @unchecked) => x
        case Left(th: ConfigReaderFailures) => throw makeException(th)
      }
    }
}    

0 个答案:

没有答案