InputSecureValue.deserialize constructor

InputSecureValue.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory InputSecureValue.deserialize(BinaryReader reader) {
  // Read [InputSecureValue] fields.
  final flags = reader.readInt32();
  final type = reader.readObject() as SecureValueTypeBase;
  final hasDataField = (flags & 1) != 0;
  final data = hasDataField ? reader.readObject() as SecureDataBase : null;
  final hasFrontSideField = (flags & 2) != 0;
  final frontSide =
      hasFrontSideField ? reader.readObject() as InputSecureFileBase : null;
  final hasReverseSideField = (flags & 4) != 0;
  final reverseSide =
      hasReverseSideField ? reader.readObject() as InputSecureFileBase : null;
  final hasSelfieField = (flags & 8) != 0;
  final selfie =
      hasSelfieField ? reader.readObject() as InputSecureFileBase : null;
  final hasTranslationField = (flags & 64) != 0;
  final translation = hasTranslationField
      ? reader.readVectorObject<InputSecureFileBase>()
      : null;
  final hasFilesField = (flags & 16) != 0;
  final files =
      hasFilesField ? reader.readVectorObject<InputSecureFileBase>() : null;
  final hasPlainDataField = (flags & 32) != 0;
  final plainData =
      hasPlainDataField ? reader.readObject() as SecurePlainDataBase : null;

  // Construct [InputSecureValue] object.
  final returnValue = InputSecureValue(
    type: type,
    data: data,
    frontSide: frontSide,
    reverseSide: reverseSide,
    selfie: selfie,
    translation: translation,
    files: files,
    plainData: plainData,
  );

  // Now return the deserialized [InputSecureValue].
  return returnValue;
}