jsToDart function

dynamic jsToDart(
  1. dynamic jsObject
)

Converts a javascript object to a dart type.

Implementation

dynamic jsToDart(final dynamic jsObject) {

  if (_isBasicType(jsObject)) {
    return jsObject;
  }

  if (jsObject is ByteBuffer) {
    return jsObject.asUint8List();
  }

  if (jsObject is Iterable) {
    return List.from(jsObject);
  }

  final keys = objectKeys(jsObject);
  final result = <String, dynamic>{};
  for (final String key in keys) {
    result[key] = jsToDart(getProperty(jsObject, key));
  }
  return result;
}