@@ -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