Showing
2 changed files
with
19 additions
and
12 deletions
| @@ -9,14 +9,16 @@ Size toSize(Map data) { | @@ -9,14 +9,16 @@ Size toSize(Map data) { | ||
| 9 | return Size(width, height); | 9 | return Size(width, height); |
| 10 | } | 10 | } |
| 11 | 11 | ||
| 12 | -List<Offset>? toCorners(List? data) { | ||
| 13 | - if (data != null) { | ||
| 14 | - return List.unmodifiable( | ||
| 15 | - data.map((e) => Offset((e as Map)['x'] as double, e['y'] as double)), | ||
| 16 | - ); | ||
| 17 | - } else { | 12 | +List<Offset>? toCorners(List<Map<String, Object?>>? data) { |
| 13 | + if (data == null) { | ||
| 18 | return null; | 14 | return null; |
| 19 | } | 15 | } |
| 16 | + | ||
| 17 | + return List.unmodifiable( | ||
| 18 | + data.map((Map<String, Object?> e) { | ||
| 19 | + return Offset(e['x']! as double, e['y']! as double); | ||
| 20 | + }), | ||
| 21 | + ); | ||
| 20 | } | 22 | } |
| 21 | 23 | ||
| 22 | BarcodeFormat toFormat(int value) { | 24 | BarcodeFormat toFormat(int value) { |
| @@ -92,7 +92,8 @@ class Barcode { | @@ -92,7 +92,8 @@ class Barcode { | ||
| 92 | 92 | ||
| 93 | /// Create a [Barcode] from native data. | 93 | /// Create a [Barcode] from native data. |
| 94 | Barcode.fromNative(Map data) | 94 | Barcode.fromNative(Map data) |
| 95 | - : corners = toCorners(data['corners'] as List?), | 95 | + : corners = |
| 96 | + toCorners((data['corners'] as List?)?.cast<Map<String, Object?>>()), | ||
| 96 | format = toFormat(data['format'] as int), | 97 | format = toFormat(data['format'] as int), |
| 97 | rawBytes = data['rawBytes'] as Uint8List?, | 98 | rawBytes = data['rawBytes'] as Uint8List?, |
| 98 | rawValue = data['rawValue'] as String?, | 99 | rawValue = data['rawValue'] as String?, |
| @@ -201,18 +202,20 @@ class ContactInfo { | @@ -201,18 +202,20 @@ class ContactInfo { | ||
| 201 | /// Create a [ContactInfo] from native data. | 202 | /// Create a [ContactInfo] from native data. |
| 202 | ContactInfo.fromNative(Map data) | 203 | ContactInfo.fromNative(Map data) |
| 203 | : addresses = List.unmodifiable( | 204 | : addresses = List.unmodifiable( |
| 204 | - (data['addresses'] as List).map((e) => Address.fromNative(e as Map)), | 205 | + (data['addresses'] as List? ?? []) |
| 206 | + .cast<Map>() | ||
| 207 | + .map(Address.fromNative), | ||
| 205 | ), | 208 | ), |
| 206 | emails = List.unmodifiable( | 209 | emails = List.unmodifiable( |
| 207 | - (data['emails'] as List).map((e) => Email.fromNative(e as Map)), | 210 | + (data['emails'] as List? ?? []).cast<Map>().map(Email.fromNative), |
| 208 | ), | 211 | ), |
| 209 | name = toName(data['name'] as Map?), | 212 | name = toName(data['name'] as Map?), |
| 210 | organization = data['organization'] as String?, | 213 | organization = data['organization'] as String?, |
| 211 | phones = List.unmodifiable( | 214 | phones = List.unmodifiable( |
| 212 | - (data['phones'] as List).map((e) => Phone.fromNative(e as Map)), | 215 | + (data['phones'] as List? ?? []).cast<Map>().map(Phone.fromNative), |
| 213 | ), | 216 | ), |
| 214 | title = data['title'] as String?, | 217 | title = data['title'] as String?, |
| 215 | - urls = List.unmodifiable(data['urls'] as List); | 218 | + urls = List.unmodifiable((data['urls'] as List? ?? []).cast<String>()); |
| 216 | } | 219 | } |
| 217 | 220 | ||
| 218 | /// An address. | 221 | /// An address. |
| @@ -227,7 +230,9 @@ class Address { | @@ -227,7 +230,9 @@ class Address { | ||
| 227 | 230 | ||
| 228 | /// Create a [Address] from native data. | 231 | /// Create a [Address] from native data. |
| 229 | Address.fromNative(Map data) | 232 | Address.fromNative(Map data) |
| 230 | - : addressLines = List.unmodifiable(data['addressLines'] as List), | 233 | + : addressLines = List.unmodifiable( |
| 234 | + (data['addressLines'] as List? ?? []).cast<String>(), | ||
| 235 | + ), | ||
| 231 | type = AddressType.values[data['type'] as int]; | 236 | type = AddressType.values[data['type'] as int]; |
| 232 | } | 237 | } |
| 233 | 238 |
-
Please register or login to post a comment