in packages/amplify_auth_cognito/ios/Classes/Utils/UserAttributeDeserialization.swift [24:64]
func createAuthUserAttributeKey(keyName: String) -> AuthUserAttributeKey {
switch keyName {
case "address":
return AuthUserAttributeKey.address
case "birthdate":
return AuthUserAttributeKey.birthDate
case "email":
return AuthUserAttributeKey.email
case "family_name":
return AuthUserAttributeKey.familyName
case "gender":
return AuthUserAttributeKey.gender
case "given_name":
return AuthUserAttributeKey.givenName
case "locale":
return AuthUserAttributeKey.locale
case "middle_name":
return AuthUserAttributeKey.middleName
case "name":
return AuthUserAttributeKey.name
case "nickname":
return AuthUserAttributeKey.nickname
case "phone_number":
return AuthUserAttributeKey.phoneNumber
case "picture":
return AuthUserAttributeKey.picture
case "preferred_username":
return AuthUserAttributeKey.preferredUsername
default:
// amplify-ios does not currently include enums for these keyNames
let unknownKeys = ["profile", "updated_at", "website", "zoneinfo"]
if (unknownKeys.contains(keyName)) {
return AuthUserAttributeKey.unknown(keyName)
} else {
// amplify-ios prepends 'custom:' to custom keys
let customKeyPrefix = "custom:"
let customKeyName = keyName.starts(with: customKeyPrefix) ? String(keyName.dropFirst(customKeyPrefix.count)) : keyName
return AuthUserAttributeKey.custom(customKeyName)
}
}
}