Fix js int to dart

This commit is contained in:
2025-01-21 15:34:54 +08:00
parent 6daeb70da0
commit 598d50572a

View File

@@ -142,10 +142,12 @@ Pointer<JSValue> _dartToJs(Pointer<JSContext> ctx, dynamic val,
dynamic _jsToDart(Pointer<JSContext> ctx, Pointer<JSValue> val, dynamic _jsToDart(Pointer<JSContext> ctx, Pointer<JSValue> val,
{Map<int, dynamic>? cache}) { {Map<int, dynamic>? cache}) {
if (cache == null) cache = Map(); cache ??= {};
final tag = jsValueGetTag(val); final tag = jsValueGetTag(val);
if (jsTagIsFloat64(tag) != 0) { if (jsTagIsFloat64(tag) != 0) {
return jsToFloat64(ctx, val); var res = jsToFloat64(ctx, val);
if (res.ceil() == res) return res.toInt();
return res;
} }
switch (tag) { switch (tag) {
case JSTag.BOOL: case JSTag.BOOL: