summaryrefslogtreecommitdiff
path: root/examples/scala-js/tools/js/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scala-js/tools/js/src/main')
-rw-r--r--examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/classpath/builder/NodeFileSystem.scala67
-rw-r--r--examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/io/NodeVirtualFiles.scala62
-rw-r--r--examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/json/Impl.scala36
3 files changed, 0 insertions, 165 deletions
diff --git a/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/classpath/builder/NodeFileSystem.scala b/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/classpath/builder/NodeFileSystem.scala
deleted file mode 100644
index d1eee10..0000000
--- a/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/classpath/builder/NodeFileSystem.scala
+++ /dev/null
@@ -1,67 +0,0 @@
-package scala.scalajs.tools.classpath.builder
-
-import scala.scalajs.tools.io._
-
-import scala.scalajs.js
-
-import scala.collection.immutable.Traversable
-
-import java.io._
-
-/** FileSystem implementation using Node.js */
-trait NodeFileSystem extends FileSystem {
-
- import NodeFileSystem.fs
-
- type File = String
-
- private def stats(f: String) = fs.statSync(f)
-
- val DummyVersion: String = "DUMMY_FILE"
-
- def isDirectory(f: String): Boolean =
- stats(f).isDirectory().asInstanceOf[Boolean]
-
- def isFile(f: String): Boolean =
- stats(f).isFile().asInstanceOf[Boolean]
-
- def isJSFile(f: String): Boolean =
- isFile(f) && f.endsWith(".js")
-
- def isIRFile(f: String): Boolean =
- isFile(f) && f.endsWith(".sjsir")
-
- def isJARFile(f: String): Boolean =
- isFile(f) && f.endsWith(".jar")
-
- def exists(f: String): Boolean =
- fs.existsSync(f).asInstanceOf[Boolean]
-
- def getName(f: String): String =
- VirtualFile.nameFromPath(f)
-
- def getAbsolutePath(f: String): String =
- fs.realpathSync(f).asInstanceOf[String]
-
- def getVersion(f: String): String =
- stats(f).mtime.asInstanceOf[js.Date].getTime.toString
-
- def listFiles(d: String): Traversable[String] = {
- require(isDirectory(d))
- val prefix = if (d.endsWith("/")) d else d + "/"
-
- fs.readdirSync(d).asInstanceOf[js.Array[String]].toList.map(prefix + _)
- }
-
- def toJSFile(f: String): VirtualJSFile = new NodeVirtualJSFile(f)
- def toIRFile(f: String): VirtualScalaJSIRFile = new NodeVirtualScalaJSIRFile(f)
- def toReader(f: String): Reader =
- new NodeVirtualTextFile(f).reader
- def toInputStream(f: String): InputStream =
- new NodeVirtualBinaryFile(f).inputStream
-
-}
-
-private object NodeFileSystem {
- private val fs = js.Dynamic.global.require("fs")
-}
diff --git a/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/io/NodeVirtualFiles.scala b/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/io/NodeVirtualFiles.scala
deleted file mode 100644
index 6a0c3ee..0000000
--- a/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/io/NodeVirtualFiles.scala
+++ /dev/null
@@ -1,62 +0,0 @@
-package scala.scalajs.tools.io
-
-import scala.scalajs.js
-import scala.scalajs.js.typedarray._
-
-import java.io._
-import java.net.URI
-
-class NodeVirtualFile(override val path: String) extends VirtualFile {
- import NodeFS.fs
-
- override def version: Option[String] = {
- val stat = fs.statSync(path)
- if (js.isUndefined(stat.mtime))
- None
- else
- Some(stat.mtime.asInstanceOf[js.Date].getTime.toString)
- }
-
- override def exists: Boolean =
- fs.existsSync(path).asInstanceOf[Boolean]
-
- override def toURI: URI = {
- val abspath = fs.realpathSync(path).asInstanceOf[String]
- new URI("file", abspath, null)
- }
-}
-
-class NodeVirtualTextFile(p: String) extends NodeVirtualFile(p)
- with VirtualTextFile {
- import NodeFS.fs
-
- override def content: String = {
- val options = js.Dynamic.literal(encoding = "UTF-8")
- fs.readFileSync(path, options).asInstanceOf[String]
- }
-}
-
-class NodeVirtualBinaryFile(p: String) extends NodeVirtualFile(p)
- with VirtualBinaryFile {
- import NodeFS.fs
-
- private def buf: ArrayBuffer =
- new Uint8Array(fs.readFileSync(path).asInstanceOf[js.Array[Int]]).buffer
-
- override def content: Array[Byte] = new Int8Array(buf).toArray
- override def inputStream: InputStream = new ArrayBufferInputStream(buf)
-}
-
-class NodeVirtualJSFile(p: String) extends NodeVirtualTextFile(p)
- with VirtualJSFile {
-
- /** Always returns None. We can't read them on JS anyway */
- override def sourceMap: Option[String] = None
-}
-
-class NodeVirtualScalaJSIRFile(p: String)
- extends NodeVirtualBinaryFile(p) with VirtualSerializedScalaJSIRFile
-
-private[io] object NodeFS {
- val fs = js.Dynamic.global.require("fs")
-}
diff --git a/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/json/Impl.scala b/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/json/Impl.scala
deleted file mode 100644
index 89c7255..0000000
--- a/examples/scala-js/tools/js/src/main/scala/scala/scalajs/tools/json/Impl.scala
+++ /dev/null
@@ -1,36 +0,0 @@
-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))
-
-}