fromInterface static method
convert a ProfileSignupRequestInterface to a ProfileSignupRequest
Implementation
static ProfileSignupRequest fromInterface(
ProfileSignupRequestInterface profileSignupRequestInterface,
) {
final addresses = profileSignupRequestInterface.addresses
?.where((profileAddressInterface) => profileAddressInterface != null)
.cast<ProfileAddressInterface>()
.map(ProfileAddressConverter.fromInterface)
.toList();
final profileCustomFieldsInterface =
profileSignupRequestInterface.customFields;
final customFieldsInterface = profileCustomFieldsInterface != null
? Map<String?, Object?>.from(profileCustomFieldsInterface)
: null;
customFieldsInterface?.removeWhere((key, _) => key == null);
final customFields = customFieldsInterface?.cast<String, Object?>();
final profileConsentsInterface = profileSignupRequestInterface.consents;
final consentsInterface = profileConsentsInterface != null
? Map<String?, ConsentInterface?>.from(profileConsentsInterface)
: null;
consentsInterface
?.removeWhere((key, value) => key == null || value == null);
final consents = consentsInterface?.cast<String, ConsentInterface>().map(
(key, consentInterface) =>
MapEntry(key, ConsentConverter.fromInterface(consentInterface)),
);
return ProfileSignupRequest(
password: profileSignupRequestInterface.password,
email: profileSignupRequestInterface.email,
phoneNumber: profileSignupRequestInterface.phoneNumber,
givenName: profileSignupRequestInterface.givenName,
middleName: profileSignupRequestInterface.middleName,
familyName: profileSignupRequestInterface.familyName,
name: profileSignupRequestInterface.name,
nickname: profileSignupRequestInterface.nickname,
birthdate: profileSignupRequestInterface.birthdate,
profileURL: profileSignupRequestInterface.profileURL,
picture: profileSignupRequestInterface.picture,
username: profileSignupRequestInterface.username,
gender: profileSignupRequestInterface.gender,
company: profileSignupRequestInterface.company,
addresses: addresses,
locale: profileSignupRequestInterface.locale,
bio: profileSignupRequestInterface.bio,
customFields: customFields,
consents: consents,
liteOnly: profileSignupRequestInterface.liteOnly,
);
}