ManagedPropertyType propertyTypeForDartType(Type t)

Returns the corresponding ManagedPropertyType given a Dart type.

Source

static ManagedPropertyType propertyTypeForDartType(Type t) {
  if (t == int) {
    return ManagedPropertyType.integer;
  } else if (t == String) {
    return ManagedPropertyType.string;
  } else if (t == DateTime) {
    return ManagedPropertyType.datetime;
  } else if (t == bool) {
    return ManagedPropertyType.boolean;
  } else if (t == double) {
    return ManagedPropertyType.doublePrecision;
  }

  var mirror = reflectClass(t);
  if (mirror.isSubtypeOf(reflectType(Map))) {
    return ManagedPropertyType.transientMap;
  } else if (mirror.isSubtypeOf(reflectType(List))) {
    return ManagedPropertyType.transientList;
  } else if (mirror.isEnum) {
    return ManagedPropertyType.string;
  }

  return null;
}