safeUnion function
Implementation
Map<String, dynamic> safeUnion(Iterable<Map<String, dynamic>?> items) {
var out = <String, dynamic>{};
for (var i in items) {
if (i == null) continue;
for (var k in out.keys.toSet().intersection(i.keys.toSet())) {
if (out[k] != i[k]) {
throw ArgumentError('Dublicate key `$k`');
}
}
out.addAll(i);
}
return out;
}