jsify static method
JSAny?
jsify(
- dynamic dartObject
)
Implementation
static JSAny? jsify(dynamic dartObject) {
// We do exhaustive types check here
// because `dartObject.jsify()` throws a "NoSuchMethodError: 'jsify'"
// without explicit cast.
if (dartObject == null) return null;
try {
if (dartObject is BigInt) return dartObject.toJS;
if (dartObject is Iterable) return dartObject.toJSArray;
if (dartObject is String) return dartObject.toJS;
if (dartObject is int) return dartObject.toJS;
if (dartObject is bool) return dartObject.toJS;
if (dartObject is double) return dartObject.toJS;
if (dartObject is num) return dartObject.toJS;
if (dartObject is Int8List) return dartObject.toJS;
if (dartObject is Uint8List) return dartObject.toJS;
if (dartObject is Int16List) return dartObject.toJS;
if (dartObject is Uint16List) return dartObject.toJS;
if (dartObject is Int32List) return dartObject.toJS;
if (dartObject is Uint32List) return dartObject.toJS;
if (dartObject is Float32List) return dartObject.toJS;
if (dartObject is Float64List) return dartObject.toJS;
if (dartObject is List) return dartObject.toJSArray;
if (dartObject is Map) {
return (dartObject as Map<String, dynamic>).toJSObject;
}
return dartObject.jsify();
} catch (e) {
// WASM fallback - if jsify fails, return null to prevent crashes
return null;
}
}