From f8f77e88a18e9f08f923eac024e391232fcc04c0 Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Tue, 19 Aug 2025 22:18:24 +0700 Subject: [PATCH] feat(modules/NativeBridgeModule): map `Unit` return to `null` --- .../github/revenge/xposed/modules/NativeBridgeModule.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/io/github/revenge/xposed/modules/NativeBridgeModule.kt b/app/src/main/kotlin/io/github/revenge/xposed/modules/NativeBridgeModule.kt index 42da8b7..0568f08 100644 --- a/app/src/main/kotlin/io/github/revenge/xposed/modules/NativeBridgeModule.kt +++ b/app/src/main/kotlin/io/github/revenge/xposed/modules/NativeBridgeModule.kt @@ -7,6 +7,8 @@ import java.lang.reflect.Method /** * See for possible return types: * https://github.com/facebook/react-native/blob/c23e84ae9/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt#L19 + * + * You may return a [Unit] and the resulting value will be `null`. */ typealias BridgeMethodCallback = (args: BridgeMethodArgs) -> Any? @@ -47,9 +49,11 @@ class NativeBridgeModule : Module() { } } - private fun Any?.toNativeObject(): Any? = - argumentsMakeNativeObject.invoke(null, this) + argumentsMakeNativeObject.invoke(null, when (this) { + Unit -> null + else -> this + }) override fun onInit(packageParam: XC_LoadPackage.LoadPackageParam) = with(packageParam) { this@NativeBridgeModule.packageParam = packageParam