From 7785d3c50cc83c4b70e53cfb0793064fb79615df Mon Sep 17 00:00:00 2001 From: exoego Date: Tue, 9 Jun 2020 21:34:12 +0900 Subject: [PATCH] Context is now just an alias of js.Object, so any js.Object can be passed --- .../scala/io/scalajs/nodejs/vm/Script.scala | 4 ++-- .../io/scalajs/nodejs/vm/ScriptContext.scala | 9 --------- .../io/scalajs/nodejs/vm/SyntheticModule.scala | 17 +++++++++++++++++ .../main/scala/io/scalajs/nodejs/vm/VM.scala | 10 +++++----- .../scala/io/scalajs/nodejs/vm/package.scala | 9 +++++++++ .../nodejs/worker_threads/WorkerThreads.scala | 5 ++--- 6 files changed, 35 insertions(+), 19 deletions(-) delete mode 100644 app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/ScriptContext.scala create mode 100644 app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/SyntheticModule.scala create mode 100644 app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/package.scala diff --git a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/Script.scala b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/Script.scala index 13fa96ec3..ab88e00fd 100644 --- a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/Script.scala +++ b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/Script.scala @@ -26,8 +26,8 @@ class Script private[this] () extends js.Object { * @param options the optional options * @example script.runInContext(contextifiedSandbox[, options]) */ - def runInContext(contextifiedSandbox: ScriptContext, options: RunInContextOptions): js.Any = js.native - def runInContext(contextifiedSandbox: ScriptContext): js.Any = js.native + def runInContext(contextifiedSandbox: Context, options: RunInContextOptions): js.Any = js.native + def runInContext(contextifiedSandbox: Context): js.Any = js.native /** * First contextifies the given sandbox, runs the compiled code contained by the vm.Script object within the created diff --git a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/ScriptContext.scala b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/ScriptContext.scala deleted file mode 100644 index 7e250b159..000000000 --- a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/ScriptContext.scala +++ /dev/null @@ -1,9 +0,0 @@ -package io.scalajs.nodejs.vm - -import scala.scalajs.js - -/** - * Script Context - */ -@js.native -trait ScriptContext extends js.Object diff --git a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/SyntheticModule.scala b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/SyntheticModule.scala new file mode 100644 index 000000000..1df71a6f7 --- /dev/null +++ b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/SyntheticModule.scala @@ -0,0 +1,17 @@ +package io.scalajs.nodejs.vm + +import net.exoego.scalajs.types.util.Factory + +import scala.scalajs.js + +class SyntheticModule protected () extends js.Object { + def this(exportNames: js.Array[String], evaluateCallback: js.Function, options: SyntheticModuleOptions) = this() + def this(exportNames: js.Array[String], evaluateCallback: js.Function) = this() + +} + +@Factory +trait SyntheticModuleOptions extends js.Object { + var identifier: js.UndefOr[String] = js.undefined + var context: js.UndefOr[Context] = js.undefined +} diff --git a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/VM.scala b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/VM.scala index 2289e79d1..757addad9 100644 --- a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/VM.scala +++ b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/VM.scala @@ -33,9 +33,9 @@ trait VM extends js.Object { * @example vm.createContext([sandbox]) * @since 0.11.7 */ - def createContext(sandbox: js.Object, options: CreateContextOptions): ScriptContext = js.native - def createContext(sandbox: js.Object): ScriptContext = js.native - def createContext(): ScriptContext = js.native + def createContext(sandbox: js.Object, options: CreateContextOptions): Context = js.native + def createContext(sandbox: js.Object): Context = js.native + def createContext(): Context = js.native /** * Returns true if the given sandbox object has been contextified using vm.createContext(). @@ -52,8 +52,8 @@ trait VM extends js.Object { * @param options the optional options * @example script.runInContext(contextifiedSandbox[, options]) */ - def runInContext(code: String, contextifiedSandbox: ScriptContext, options: VMRunInContextOptions): js.Any = js.native - def runInContext(code: String, contextifiedSandbox: ScriptContext): js.Any = js.native + def runInContext(code: String, contextifiedSandbox: Context, options: VMRunInContextOptions): js.Any = js.native + def runInContext(code: String, contextifiedSandbox: Context): js.Any = js.native /** * First contextifies the given sandbox, runs the compiled code contained by the vm.Script object within the created diff --git a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/package.scala b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/package.scala new file mode 100644 index 000000000..6a52883b7 --- /dev/null +++ b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/vm/package.scala @@ -0,0 +1,9 @@ +package io.scalajs.nodejs + +import scala.scalajs.js + +package object vm { + type Context = js.Object + @deprecated("Use js.Object instead", "v0.12.0") + type ScriptContext = js.Object +} diff --git a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/worker_threads/WorkerThreads.scala b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/worker_threads/WorkerThreads.scala index 3922e5915..f9bf31b13 100644 --- a/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/worker_threads/WorkerThreads.scala +++ b/app/nodejs-v14/src/main/scala/io/scalajs/nodejs/worker_threads/WorkerThreads.scala @@ -18,9 +18,8 @@ trait WorkerThreads extends js.Object { def workerData: js.Any = js.native @enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs12) - def moveMessagePortToContext(port: MessagePort, - contextifiedSandbox: io.scalajs.nodejs.vm.ScriptContext - ): MessagePort = js.native + def moveMessagePortToContext(port: MessagePort, contextifiedSandbox: io.scalajs.nodejs.vm.Context): MessagePort = + js.native @enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs12) def receiveMessageOnPort(port: MessagePort): js.UndefOr[js.Object] = js.native