Files
flipper/iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutPlugin/SKSearchResultNode.m
Daniel Büchele fbbf8cf16b Initial commit 🎉
fbshipit-source-id: b6fc29740c6875d2e78953b8a7123890a67930f2
Co-authored-by: Sebastian McKenzie <sebmck@fb.com>
Co-authored-by: John Knox <jknox@fb.com>
Co-authored-by: Emil Sjölander <emilsj@fb.com>
Co-authored-by: Pritesh Nandgaonkar <prit91@fb.com>
2018-06-01 11:03:58 +01:00

51 lines
1.2 KiB
Objective-C

// Copyright 2004-present Facebook. All Rights Reserved.
#import "SKSearchResultNode.h"
@implementation SKSearchResultNode {
NSString *_nodeId;
BOOL _isMatch;
NSDictionary *_element;
NSArray<SKSearchResultNode *> *_children;
}
- (instancetype)initWithNode:(NSString *)nodeId
asMatch:(BOOL)isMatch
withElement:(NSDictionary *)element
andChildren:(NSArray<SKSearchResultNode *> *)children {
self = [super init];
if (self) {
_nodeId = nodeId;
_isMatch = isMatch;
_element = element;
_children = children;
}
return self;
}
- (NSDictionary *)toNSDictionary {
if (_element == nil) {
return nil;
}
NSMutableArray<NSDictionary *> *childArray;
if (_children) {
childArray = [NSMutableArray new];
for (SKSearchResultNode *child in _children) {
NSDictionary *childDict = [child toNSDictionary];
if (childDict) {
[childArray addObject:childDict];
}
}
} else {
childArray = nil;
}
return @{
@"id": _nodeId,
@"isMatch": @(_isMatch),
@"element": _element,
@"children": childArray ?: [NSNull null]
};
}
@end