commit 440c35e4230efd610ba19d9a38e098f75b799b7d
parent 35016b589f7c9dd957aae18d94a8eb98bae76f12
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date:   Tue,  5 Dec 2023 18:43:41 +0100

feat(scripting): module.onBeforeApplicationLoad

Diffstat:
Mcommon/src/main/kotlin/me/rhunk/snapenhance/common/scripting/JSModule.kt | 6+++++-
Mcore/src/main/kotlin/me/rhunk/snapenhance/core/SnapEnhance.kt | 1+
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/common/src/main/kotlin/me/rhunk/snapenhance/common/scripting/JSModule.kt b/common/src/main/kotlin/me/rhunk/snapenhance/common/scripting/JSModule.kt @@ -135,7 +135,11 @@ class JSModule( obj.get(key, obj) as? ScriptableObject ?: return@contextScope }.get(split.last(), moduleObject) as? Function ?: return@contextScope - function.call(this, moduleObject, moduleObject, args) + runCatching { + function.call(this, moduleObject, moduleObject, args) + }.onFailure { + scriptRuntime.logger.error("Error while calling function $name", it) + } } } } diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/SnapEnhance.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/SnapEnhance.kt @@ -142,6 +142,7 @@ class SnapEnhance { bridgeClient.registerMessagingBridge(messagingBridge) features.init() scriptRuntime.connect(bridgeClient.getScriptingInterface()) + scriptRuntime.eachModule { callFunction("module.onBeforeApplicationLoad", androidContext) } syncRemote() } }