deepEqualsList function
Returns true if JSON Lists are deeply equal
Implementation
bool deepEqualsList(List<dynamic> la, List<dynamic> lb) {
if (identical(la, lb)) return true;
final length = la.length;
if (length != lb.length) return false;
for (var i = 0; i < length; i++) {
final va = la[i];
final vb = lb[i];
// Common case first: equal primitives. Also short-circuits identical
// Map/List instances, since their == is identity.
if (va == vb) continue;
if (va is Map<String, dynamic>) {
if (vb is! Map<String, dynamic> || !deeplEquals(va, vb)) return false;
} else if (va is List) {
if (vb is! List || !deepEqualsList(va, vb)) return false;
} else {
return false;
}
}
return true;
}