difference top-level property
dynamic
difference
final
Implementation
final difference = VarargsFunction((arguments) {
List subList = flatten(arguments.sublist(1));
return arguments[0].where((e) {
if (e is List) {
return subList
.whereType<List>()
.where((l) => listEquals(e, l))
.toList()
.isEmpty;
}
if (e is Map) {
return subList
.whereType<Map>()
.where((m) => e.toString() == m.toString())
.toList()
.isEmpty;
}
return !subList.contains(e);
}).toList();
}) as dynamic;