blob: 89c72551d304b1142617ce9d5e2354f37bab3f18 (
plain) (
tree)
|
|
package scala.scalajs.tools.json
import scala.scalajs.tools.io.IO
import scala.scalajs.js
import java.io.{Writer, Reader}
private[json] object Impl extends AbstractJSONImpl {
type Repr = js.Any
def fromString(x: String): Repr = x
def fromNumber(x: Number): Repr = x.doubleValue()
def fromBoolean(x: Boolean): Repr = x
def fromList(x: List[Repr]): Repr = js.Array(x: _*)
def fromMap(x: Map[String, Repr]): Repr = js.Dictionary(x.toSeq: _*)
def toString(x: Repr): String = x.asInstanceOf[String]
def toNumber(x: Repr): Number = x.asInstanceOf[Double]
def toBoolean(x: Repr): Boolean = x.asInstanceOf[Boolean]
def toList(x: Repr): List[Repr] = x.asInstanceOf[js.Array[Repr]].toList
def toMap(x: Repr): Map[String, Repr] =
x.asInstanceOf[js.Dictionary[Repr]].toMap
def serialize(x: Repr): String = js.JSON.stringify(x)
def serialize(x: Repr, writer: Writer): Unit =
writer.write(serialize(x))
def deserialize(str: String): Repr = js.JSON.parse(str)
def deserialize(reader: Reader): Repr =
deserialize(IO.readReaderToString(reader))
}
|