From f153eedd3ee39a3920c572d3624306d698a05a86 Mon Sep 17 00:00:00 2001 From: Dimple Jethani Date: Mon, 29 Oct 2018 12:02:17 -0700 Subject: [PATCH] add xhp tags on nt primitives Summary: Adding xhp tags of <:nt:object> to reduction trace elements Reviewed By: priteshrnandgaonkar Differential Revision: D12818285 fbshipit-source-id: 4729ecc84dd1c31242c48fc6195ba05cdbb58e59 --- .../SKComponentLayoutDescriptor.mm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutDescriptor.mm b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutDescriptor.mm index 28c46d934..87c9d5ed7 100644 --- a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutDescriptor.mm +++ b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutDescriptor.mm @@ -98,20 +98,30 @@ } #if !defined(FLIPPER_OSS) -- (NSString *) getNTMetaDataForChild:(CKFlexboxComponentChild)child +- (NSDictionary *) getNTMetaDataForChild:(CKFlexboxComponentChild)child qualifier:(NSString *) qualifier { NSString *str = @"{\"stackTrace\":{\"Content\":\":nt:flexbox :nt:text :nt:flexbox\"},\"unminifiedData\":{\"Content\":\"text\"}, \"graphQLCalls\":{\"Content\":\"text\"}}"; NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; if ([qualifier isEqualToString:@"Stack Trace"]) { - return [json objectForKey:@"stackTrace"]; + NSDictionary *trace = [json objectForKey:@"stackTrace"]; + NSString *traceString = [[trace objectForKey:@"Content"] stringByReplacingOccurrencesOfString:@" " withString:@""]; + NSArray *listItems = [traceString componentsSeparatedByString:@":nt:"]; + NSMutableArray *xhpComponents = [NSMutableArray array];; + for (NSString *s in listItems) { + if (![s isEqualToString:@""]) { + NSString *xhpString = [NSString stringWithFormat:@"%@%@%@", @""]; + [xhpComponents addObject:xhpString]; + } + } + return @{@"Content": [xhpComponents componentsJoinedByString:@" "]}; } else if ([qualifier isEqualToString:@"Unminified Payload"]) { return [json objectForKey:@"unminifiedData"]; } else if ([qualifier isEqualToString:@"GraphQL Calls"]) { return [json objectForKey:@"graphQLCalls"]; } - return @""; + return @{}; } #endif