AccountPassword.deserialize constructor
AccountPassword.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory AccountPassword.deserialize(BinaryReader reader) {
// Read [AccountPassword] fields.
final flags = reader.readInt32();
final hasRecovery = (flags & 1) != 0;
final hasSecureValues = (flags & 2) != 0;
final hasPassword = (flags & 4) != 0;
final hasCurrentAlgoField = (flags & 4) != 0;
final currentAlgo =
hasCurrentAlgoField ? reader.readObject() as PasswordKdfAlgoBase : null;
final hasSrpBField = (flags & 4) != 0;
final srpB = hasSrpBField ? reader.readBytes() : null;
final hasSrpIdField = (flags & 4) != 0;
final srpId = hasSrpIdField ? reader.readInt64() : null;
final hasHintField = (flags & 8) != 0;
final hint = hasHintField ? reader.readString() : null;
final hasEmailUnconfirmedPatternField = (flags & 16) != 0;
final emailUnconfirmedPattern =
hasEmailUnconfirmedPatternField ? reader.readString() : null;
final newAlgo = reader.readObject() as PasswordKdfAlgoBase;
final newSecureAlgo = reader.readObject() as SecurePasswordKdfAlgoBase;
final secureRandom = reader.readBytes();
final hasPendingResetDateField = (flags & 32) != 0;
final pendingResetDate =
hasPendingResetDateField ? reader.readDateTime() : null;
final hasLoginEmailPatternField = (flags & 64) != 0;
final loginEmailPattern =
hasLoginEmailPatternField ? reader.readString() : null;
// Construct [AccountPassword] object.
final returnValue = AccountPassword(
hasRecovery: hasRecovery,
hasSecureValues: hasSecureValues,
hasPassword: hasPassword,
currentAlgo: currentAlgo,
srpB: srpB,
srpId: srpId,
hint: hint,
emailUnconfirmedPattern: emailUnconfirmedPattern,
newAlgo: newAlgo,
newSecureAlgo: newSecureAlgo,
secureRandom: secureRandom,
pendingResetDate: pendingResetDate,
loginEmailPattern: loginEmailPattern,
);
// Now return the deserialized [AccountPassword].
return returnValue;
}