compareDynamics function

int compareDynamics(
  1. dynamic a,
  2. dynamic b
)

Implementation

int compareDynamics(dynamic a, dynamic b) {
  if (a == null && b == null) {
    return 0;
  }
  if (a == null) {
    return 1;
  }
  if (b == null) {
    return -1;
  }
  if (a is num && b is num) {
    return a.compareTo(b);
  }
  if (a is num && b is! num) {
    return 1;
  }
  if (a is! num && b is num) {
    return -1;
  }
  if (a is DateTime && b is DateTime) {
    return a.compareTo(b);
  }
  final aStr = a.toString();
  final bStr = b.toString();
  return aStr.compareTo(bStr);
}