Skip to content

Commit

Permalink
some docs and explicitGenerics annot for HoconInput methods
Browse files Browse the repository at this point in the history
  • Loading branch information
ghik committed Oct 10, 2019
1 parent 42f6e04 commit 6a62638
Showing 1 changed file with 8 additions and 2 deletions.
Expand Up @@ -5,17 +5,18 @@ import java.time.temporal.TemporalAmount
import java.time.{Duration, Period}
import java.util.Base64

import com.avsystem.commons.annotation.explicitGenerics
import com.avsystem.commons.serialization.GenCodec.ReadFailure
import com.avsystem.commons.serialization._
import com.typesafe.config._

import scala.concurrent.duration.FiniteDuration

object HoconInput {
def read[T: GenCodec](value: ConfigValue): T =
@explicitGenerics def read[T: GenCodec](value: ConfigValue): T =
GenCodec.read[T](new HoconInput(value))

def read[T: GenCodec](config: Config): T =
@explicitGenerics def read[T: GenCodec](config: Config): T =
GenCodec.read[T](new HoconInput(config.root))
}

Expand All @@ -27,6 +28,11 @@ trait BaseHoconInput {
}
}

/**
* An [[com.avsystem.commons.serialization.Input Input]] implementation which allows deserialization from
* HOCON (represented as [[com.typesafe.config.Config Config]] or [[com.typesafe.config.ConfigValue ConfigValue]])
* using [[com.avsystem.commons.serialization.GenCodec GenCodec]].
*/
class HoconInput(value: ConfigValue) extends InputAndSimpleInput with BaseHoconInput {
// For wrapping ConfigValue into Config in order to use its rich API
// Why is this API not available directly on ConfigValue?
Expand Down

0 comments on commit 6a62638

Please sign in to comment.