blob: 859d2d56a662ee8baea084d4778eee2ead36cf7c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package mill.scalajslib
import java.io.{FileReader, StringWriter}
import javax.script.{ScriptContext, ScriptEngineManager}
import ammonite.ops.Path
object ScalaJsUtils {
def runJS(path: Path): String = {
val engineManager = new ScriptEngineManager(null)
val engine = engineManager.getEngineByName("nashorn")
val console = new Console
val bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE)
bindings.put("console", console)
engine.eval(new FileReader(path.toIO))
console.out.toString
}
}
class Console {
val out = new StringWriter()
def log(s: String): Unit = out.append(s)
}
|