summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/src/main/scala/scala/js/resource/Plugin.scala2
-rw-r--r--runtime/src/main/scala/scala/js/Resource.scala20
2 files changed, 19 insertions, 3 deletions
diff --git a/plugin/src/main/scala/scala/js/resource/Plugin.scala b/plugin/src/main/scala/scala/js/resource/Plugin.scala
index 69da094..933756d 100644
--- a/plugin/src/main/scala/scala/js/resource/Plugin.scala
+++ b/plugin/src/main/scala/scala/js/resource/Plugin.scala
@@ -24,7 +24,7 @@ object Plugin extends sbt.Plugin {
val bundle = crossTarget.value / "resources.js"
val fileLines = for((path, data) <- fileData) yield {
- " \"" + path + "\": ScalaJS.modules.scala_js_Resource().create(\"" + data + "\")"
+ " \"" + path + "\": \"" + data + "\""
}
IO.write(bundle, "\nScalaJS.resources = {\n" + fileLines.mkString(",\n") + "\n}" )
diff --git a/runtime/src/main/scala/scala/js/Resource.scala b/runtime/src/main/scala/scala/js/Resource.scala
index 4cb2aac..8cc3a49 100644
--- a/runtime/src/main/scala/scala/js/Resource.scala
+++ b/runtime/src/main/scala/scala/js/Resource.scala
@@ -2,12 +2,28 @@ package scala.js
object Resource {
+ println("Resource")
+ val fileDict = {
+ val fileDict = Dynamic.global.ScalaJS.resources.asInstanceOf[js.Object]
+ for(key <- Object.keys(fileDict)){
+ val data = fileDict.asInstanceOf[js.Dictionary](key).asInstanceOf[String]
+ fileDict.asInstanceOf[js.Dictionary](key) = new Resource(data).asInstanceOf[js.Any]
+ }
+ fileDict
+ }
+
+ println("Resource Initialized")
def apply(path: String) = {
- Dynamic.global.ScalaJS.resources.asInstanceOf[js.Dictionary].apply(path)
+ Dynamic.global
+ .ScalaJS
+ .resources
+ .asInstanceOf[js.Dictionary]
+ .apply(path)
+ .asInstanceOf[scala.js.Resource]
}
def create(value: String) = new Resource(value)
}
class Resource(base64: String){
- lazy val string = Dynamic.global.atob(base64)
+ lazy val string = Dynamic.global.atob(base64).asInstanceOf[js.String]
} \ No newline at end of file