dartToJsValue function
dynamic
dartToJsValue(
- JsScript script,
- dynamic data, [
- Map? cache
])
Implementation
dynamic dartToJsValue(JsScript script, dynamic data, [Map? cache]) {
if (cache == null) cache = {};
var ret = cache[data];
if (ret != null) return ret;
if (data is Map) {
JsValue value = script.newObject();
cache[data] = value;
for (var key in data.keys) {
value[key] = dartToJsValue(script, data[key], cache);
}
return value;
} else if (data is List) {
JsValue value = script.newArray();
cache[data] = value;
for (int i = 0, t = data.length; i < t; ++i) {
value[i] = dartToJsValue(script, data[i], cache);
}
return value;
} else {
return data;
}
}