mapsEqual function
Checks Maps a
and b
for equality.
Returns true
if a
and b
are both null, or they are the same length
and every key k
in a
exists in b
and the values a[k] == b[k]
.
Implementation
bool mapsEqual(Map a, Map b) {
if (a == b) return true;
if (a == null || b == null) return false;
if (a.length != b.length) return false;
for (var k in a.keys) {
var bValue = b[k];
if (bValue == null && !b.containsKey(k)) return false;
if (bValue != a[k]) return false;
}
return true;
}