feat(scripting/interfaces): new thread function

This commit is contained in:
rhunk
2024-08-21 11:40:34 +02:00
parent 4bd7328ac4
commit 7d06d1cc72

View File

@@ -6,6 +6,7 @@ import me.rhunk.snapenhance.common.scripting.ktx.contextScope
import me.rhunk.snapenhance.common.scripting.ktx.putFunction
import me.rhunk.snapenhance.common.scripting.ktx.scriptableObject
import java.lang.reflect.Proxy
import kotlin.concurrent.thread
class JavaInterfaces : AbstractBinding("java-interfaces", BindingSide.COMMON) {
override fun getObject() = scriptableObject {
@@ -41,5 +42,20 @@ class JavaInterfaces : AbstractBinding("java-interfaces", BindingSide.COMMON) {
}
}
}
putFunction("thread") { arguments ->
val function = arguments?.get(0) as? org.mozilla.javascript.Function ?: return@putFunction null
thread(start = false) {
contextScope {
function.call(
this,
this@scriptableObject,
this@scriptableObject,
emptyArray()
)
}
}
}
}
}