deserializeMap<K, V> function
Deserializes a Map by its respective key and value types
Implementation
Map<K, V?> deserializeMap<K, V>(Map<dynamic, dynamic> map) {
// ignore: null_check_on_nullable_type_parameter
return map.map((k, v) => MapEntry(
k is String
? deserializeValue<K>(k)!
: throw ArgumentError.value(k, 'key', 'Map keys must be strings for deserialization to type $K'),
deserializeValue<V>(v),
));
}