nameOf function

String? nameOf(
  1. dynamic o
)

Implementation

String? nameOf(dynamic o) {
  if (o == null) return "null";

  try {
    if (o is List) {
      var first = o.length > 0 ? o[0] : null;
      if (first != null) {
        var elementType = nameOf(first)!;
        Log.debug("nameOf: List<$elementType>");
        if (!isMinified(elementType)) return "List<$elementType>";
      }
    } else {
      Function? getTypeName = o.getTypeName;
      if (getTypeName != null) return getTypeName();
    }
  } catch (e) {
    Log.debug(
        "ignored nameOf error: $e, falling back to o.runtimeType: ${o.runtimeType}");
  }

  return o.runtimeType.toString();
}