deserializeStruct function
Object?
deserializeStruct(
- Type self,
- SerialBuffer buffer, {
- SerializerState? state,
- bool? allowExtensions = true,
Implementation
Object? deserializeStruct(Type self, SerialBuffer buffer,
{SerializerState? state, bool? allowExtensions = true}) {
state ??= SerializerState();
try {
dynamic result;
if (self.base != null) {
result = self.base!.deserialize!(self.base, buffer, state: state, allowExtensions: allowExtensions);
} else {
result = {};
}
for (final field in self.fields!) {
if ((allowExtensions ?? false) && field.type!.extensionOf != null && !buffer.haveReadData()) {
state.skippedBinaryExtension = true;
} else {
result[field.name] =
field.type!.deserialize!(field.type, buffer, state: state, allowExtensions: allowExtensions);
}
}
return result;
} catch (e) {
rethrow;
}
}