deepCompare static method
int
deepCompare(
- dynamic lhs,
- dynamic rhs
)
Implementation
static int deepCompare(dynamic lhs, dynamic rhs) {
if(lhs is int) lhs = intToUnsignedInt(lhs);
if(rhs is int) rhs = intToUnsignedInt(rhs);
if(lhs is Tuple2) lhs = [lhs.item1, lhs.item2];
if(rhs is Tuple2) rhs = [rhs.item1, rhs.item2];
if (!(lhs is List) && !(lhs is Uint8List) && !(lhs is Tuple2)) {
if (lhs == rhs) return 0;
return lhs > rhs ? 1 : -1;
}
if (lhs.length != rhs.length) return lhs.length > rhs.length ? 1 : -1;
for (var i = 0; i < lhs.length; ++i) {
final compareResult = deepCompare(lhs[i], rhs[i]);
if (0 != compareResult) return compareResult;
}
return 0;
}