Navaron Bracke

fix casts

... ... @@ -9,14 +9,16 @@ Size toSize(Map data) {
return Size(width, height);
}
List<Offset>? toCorners(List? data) {
if (data != null) {
return List.unmodifiable(
data.map((e) => Offset((e as Map)['x'] as double, e['y'] as double)),
);
} else {
List<Offset>? toCorners(List<Map<String, Object?>>? data) {
if (data == null) {
return null;
}
return List.unmodifiable(
data.map((Map<String, Object?> e) {
return Offset(e['x']! as double, e['y']! as double);
}),
);
}
BarcodeFormat toFormat(int value) {
... ...
... ... @@ -92,7 +92,8 @@ class Barcode {
/// Create a [Barcode] from native data.
Barcode.fromNative(Map data)
: corners = toCorners(data['corners'] as List?),
: corners =
toCorners((data['corners'] as List?)?.cast<Map<String, Object?>>()),
format = toFormat(data['format'] as int),
rawBytes = data['rawBytes'] as Uint8List?,
rawValue = data['rawValue'] as String?,
... ... @@ -201,18 +202,20 @@ class ContactInfo {
/// Create a [ContactInfo] from native data.
ContactInfo.fromNative(Map data)
: addresses = List.unmodifiable(
(data['addresses'] as List).map((e) => Address.fromNative(e as Map)),
(data['addresses'] as List? ?? [])
.cast<Map>()
.map(Address.fromNative),
),
emails = List.unmodifiable(
(data['emails'] as List).map((e) => Email.fromNative(e as Map)),
(data['emails'] as List? ?? []).cast<Map>().map(Email.fromNative),
),
name = toName(data['name'] as Map?),
organization = data['organization'] as String?,
phones = List.unmodifiable(
(data['phones'] as List).map((e) => Phone.fromNative(e as Map)),
(data['phones'] as List? ?? []).cast<Map>().map(Phone.fromNative),
),
title = data['title'] as String?,
urls = List.unmodifiable(data['urls'] as List);
urls = List.unmodifiable((data['urls'] as List? ?? []).cast<String>());
}
/// An address.
... ... @@ -227,7 +230,9 @@ class Address {
/// Create a [Address] from native data.
Address.fromNative(Map data)
: addressLines = List.unmodifiable(data['addressLines'] as List),
: addressLines = List.unmodifiable(
(data['addressLines'] as List? ?? []).cast<String>(),
),
type = AddressType.values[data['type'] as int];
}
... ...