/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import "SKSearchResultNode.h" @implementation SKSearchResultNode { NSString *_nodeId; BOOL _isMatch; NSDictionary *_element; NSArray *_children; } - (instancetype)initWithNode:(NSString *)nodeId asMatch:(BOOL)isMatch withElement:(NSDictionary *)element andChildren:(NSArray *)children { self = [super init]; if (self) { _nodeId = nodeId; _isMatch = isMatch; _element = element; _children = children; } return self; } - (NSDictionary *)toNSDictionary { if (_element == nil) { return nil; } NSMutableArray *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