From 384f239a6eb9aa4bac5bbd547a4fc42ec96eeb7f Mon Sep 17 00:00:00 2001 From: Semenov Aleksandr Date: Mon, 28 Jul 2025 15:35:36 +0300 Subject: [PATCH] SerializerBase: fix runtimeType detection for enum by workaround Signed-off-by: Semenov Aleksandr --- interop/src/arkts/SerializerBase.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/interop/src/arkts/SerializerBase.ts b/interop/src/arkts/SerializerBase.ts index fba25295e..033a2bf48 100644 --- a/interop/src/arkts/SerializerBase.ts +++ b/interop/src/arkts/SerializerBase.ts @@ -79,10 +79,15 @@ export function runtimeType(value: T): int32 { if (value instanceof Function) return RuntimeType.FUNCTION - if (value instanceof Object) - return RuntimeType.OBJECT + // slow workaround for enum + const typeName = typeof value + if (typeName == "number") + return RuntimeType.NUMBER - throw new Error(`bug: ${value} is ${typeof value}`) + if (typeName == "string") + return RuntimeType.STRING + + return RuntimeType.OBJECT } export function toPeerPtr(value: object): pointer { -- Gitee