summaryrefslogtreecommitdiff
path: root/examples/scala-js/tools/shared/src/main/scala/scala/scalajs/tools/json/JSONObjExtractor.scala
blob: e49f7e46f36a50bd9c04b89e71267a2e6a9d23a2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
package scala.scalajs.tools.json

import scala.collection.mutable

class JSONObjExtractor(rawData: JSON) {
  private val data = Impl.toMap(rawData)

  def fld[T : JSONDeserializer](name: String): T =
    fromJSON[T](data(name))

  def opt[T : JSONDeserializer](name: String): Option[T] =
    data.get(name).map(fromJSON[T] _)
}