deserialize method
VKWebAppGetGeodataResult
deserialize(
- Serializers serializers,
- Iterable serialized, {
- FullType specifiedType = FullType.unspecified,
override
Deserializes serialized
.
serialized
is an Iterable that may contain booleans, integers,
doubles, Strings and/or Iterables.
Use serializers
as needed for nested deserialization. Information about
the type being deserialized is provided in specifiedType
.
Implementation
@override
VKWebAppGetGeodataResult deserialize(
Serializers serializers,
Iterable serialized, {
FullType specifiedType = FullType.unspecified,
}) {
final result = VKWebAppGetGeodataResultBuilder();
final iterator = serialized.iterator;
while (iterator.moveNext()) {
final key = iterator.current as String;
iterator.moveNext();
final Object value = iterator.current as Object;
switch (key) {
case 'available':
if (value is bool) {
result.available = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool?;
} else if (value is int) {
result.available = (serializers.deserialize(value,
specifiedType: const FullType(int)) as int?) ==
1;
} else {
throw StateError('Field available should be boolean');
}
break;
case 'lat':
result.lat = serializers.deserialize(value,
specifiedType: const FullType(double)) as double?;
break;
case 'long':
result.long = serializers.deserialize(value,
specifiedType: const FullType(double)) as double?;
break;
}
}
return result.build();
}