Skip to content

Commit 585c097

Browse files
committed
fix: address PR feedback
1 parent ced66d6 commit 585c097

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

ios/RNMParticle/RNMParticle.mm

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -661,13 +661,9 @@ - (MPIdentityApiRequest *)MPIdentityApiRequestFromDict:(NSDictionary *)dict {
661661
request.email = (NSString *)value;
662662
} else if ([key isEqualToString:@"customerId"]) {
663663
request.customerId = (NSString *)value;
664-
} else {
665-
NSCharacterSet *numericSet = [NSCharacterSet decimalDigitCharacterSet];
666-
NSCharacterSet *keyCharacterSet = [NSCharacterSet characterSetWithCharactersInString:key];
667-
if ([numericSet isSupersetOfSet:keyCharacterSet]) {
668-
MPIdentity identityType = (MPIdentity)[key integerValue];
669-
[request setIdentity:(NSString *)value identityType:identityType];
670-
}
664+
} else if ([RNMParticle isNumericIdentityKey:key]) {
665+
MPIdentity identityType = (MPIdentity)[key integerValue];
666+
[request setIdentity:(NSString *)value identityType:identityType];
671667
}
672668
}
673669
return request;
@@ -729,6 +725,17 @@ - (void)performIdentityRequest:(NSDictionary *)identityRequest callback:(RCTResp
729725
}
730726
#endif
731727

728+
+ (BOOL)isNumericIdentityKey:(NSString *)key {
729+
static NSCharacterSet *numericSet = nil;
730+
static dispatch_once_t onceToken;
731+
dispatch_once(&onceToken, ^{
732+
numericSet = [NSCharacterSet decimalDigitCharacterSet];
733+
});
734+
735+
NSCharacterSet *keyCharacterSet = [NSCharacterSet characterSetWithCharactersInString:key];
736+
return [numericSet isSupersetOfSet:keyCharacterSet];
737+
}
738+
732739
@end
733740

734741
// RCTConvert category methods for mParticle types
@@ -1089,6 +1096,7 @@ + (MPCommerceEventAction)MPCommerceEventAction:(NSNumber *)json {
10891096
return action;
10901097
}
10911098

1099+
10921100
+ (MPIdentityApiRequest *)MPIdentityApiRequest:(id)json {
10931101
NSDictionary *dict = json;
10941102
MPIdentityApiRequest *request = [MPIdentityApiRequest requestWithEmptyUser];
@@ -1103,13 +1111,9 @@ + (MPIdentityApiRequest *)MPIdentityApiRequest:(id)json {
11031111
request.email = (NSString *)value;
11041112
} else if ([key isEqualToString:@"customerId"]) {
11051113
request.customerId = (NSString *)value;
1106-
} else {
1107-
NSCharacterSet *numericSet = [NSCharacterSet decimalDigitCharacterSet];
1108-
NSCharacterSet *keyCharacterSet = [NSCharacterSet characterSetWithCharactersInString:key];
1109-
if ([numericSet isSupersetOfSet:keyCharacterSet]) {
1110-
MPIdentity identityType = (MPIdentity)[key integerValue];
1111-
[request setIdentity:(NSString *)value identityType:identityType];
1112-
}
1114+
} else if ([RNMParticle isNumericIdentityKey:key]) {
1115+
MPIdentity identityType = (MPIdentity)[key integerValue];
1116+
[request setIdentity:(NSString *)value identityType:identityType];
11131117
}
11141118
}
11151119

0 commit comments

Comments
 (0)