diff --git a/lib/src/wrapper.dart b/lib/src/wrapper.dart index a5ba8bf..400714f 100644 --- a/lib/src/wrapper.dart +++ b/lib/src/wrapper.dart @@ -142,10 +142,12 @@ Pointer _dartToJs(Pointer ctx, dynamic val, dynamic _jsToDart(Pointer ctx, Pointer val, {Map? cache}) { - if (cache == null) cache = Map(); + cache ??= {}; final tag = jsValueGetTag(val); if (jsTagIsFloat64(tag) != 0) { - return jsToFloat64(ctx, val); + var res = jsToFloat64(ctx, val); + if (res.ceil() == res) return res.toInt(); + return res; } switch (tag) { case JSTag.BOOL: