| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #import "BTThreeDSecurePostalAddress_Internal.h"
- @implementation BTThreeDSecurePostalAddress
- // Property names follow the `Braintree_Address` convention as documented at:
- // https://developer.paypal.com/braintree/docs/reference/request/address/create
- - (id)copyWithZone:(__unused NSZone *)zone {
- BTThreeDSecurePostalAddress *address = [[BTThreeDSecurePostalAddress alloc] init];
- address.givenName = self.givenName;
- address.surname = self.surname;
- address.streetAddress = self.streetAddress;
- address.extendedAddress = self.extendedAddress;
- address.line3 = self.line3;
- address.locality = self.locality;
- address.region = self.region;
- address.postalCode = self.postalCode;
- address.countryCodeAlpha2 = self.countryCodeAlpha2;
- address.phoneNumber = self.phoneNumber;
- return address;
- }
- - (NSString *)prependPrefix:(NSString *)prefix toKey:(NSString *)key {
- if (prefix.length) {
- // Uppercase the first character in the key
- key = [key stringByReplacingCharactersInRange:NSMakeRange(0, 1)
- withString:[[key substringToIndex:1] uppercaseString]];
- return [NSString stringWithFormat:@"%@%@", prefix, key];
- }
- else {
- return key;
- }
- }
- - (NSDictionary *)asParametersWithPrefix:(NSString *)prefix {
- NSMutableDictionary *parameters = [@{} mutableCopy];
- if (self.givenName) {
- parameters[[self prependPrefix:prefix toKey:@"givenName"]] = self.givenName;
- }
- if (self.surname) {
- parameters[[self prependPrefix:prefix toKey:@"surname"]] = self.surname;
- }
- if (self.streetAddress) {
- parameters[[self prependPrefix:prefix toKey:@"line1"]] = self.streetAddress;
- }
- if (self.extendedAddress) {
- parameters[[self prependPrefix:prefix toKey:@"line2"]] = self.extendedAddress;
- }
- if (self.line3) {
- parameters[[self prependPrefix:prefix toKey:@"line3"]] = self.line3;
- }
- if (self.locality) {
- parameters[[self prependPrefix:prefix toKey:@"city"]] = self.locality;
- }
- if (self.region) {
- parameters[[self prependPrefix:prefix toKey:@"state"]] = self.region;
- }
- if (self.postalCode) {
- parameters[[self prependPrefix:prefix toKey:@"postalCode"]] = self.postalCode;
- }
- if (self.countryCodeAlpha2) {
- parameters[[self prependPrefix:prefix toKey:@"countryCode"]] = self.countryCodeAlpha2;
- }
- if (self.phoneNumber) {
- NSString *key = @"phoneNumber";
- if ([prefix isEqualToString:@"shipping"]) {
- key = @"phone";
- }
- parameters[[self prependPrefix:prefix toKey:key]] = self.phoneNumber;
- }
- return [parameters copy];
- }
- - (NSDictionary *)asParameters {
- return [self asParametersWithPrefix:@""];
- }
- - (NSString *)debugDescription {
- return [NSString stringWithFormat:@"<%@:%p \"%@\" %@, %@, %@, %@, %@, %@, %@, %@ %@ %@>", NSStringFromClass([self class]), self, [self description], self.givenName, self.surname, self.phoneNumber, self.streetAddress, self.extendedAddress, self.line3, self.locality, self.region, self.postalCode, self.countryCodeAlpha2];
- }
- @end
|