ComponentKit/Core/ComponentTree/CKBuildComponentTreeParams.h (22 lines of code) (raw):

/* * Copyright (c) 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ #import <Foundation/Foundation.h> #import <ComponentKit/CKDefines.h> #import <ComponentKit/CKBuildTrigger.h> #import <ComponentKit/CKComponentScopeTypes.h> #import <ComponentKit/CKTreeNodeTypes.h> #import <ComponentKit/RCComponentCoalescingMode.h> NS_ASSUME_NONNULL_BEGIN @class CKComponentScopeRoot; @protocol CKSystraceListener; #if CK_NOT_SWIFT /** Params struct for the `buildComponentTree:` method. **/ struct CKBuildComponentTreeParams { // Weak reference to the scope root of the new generation. __weak CKComponentScopeRoot *scopeRoot; // Weak reference to the scope root of the previous generation. __weak CKComponentScopeRoot *previousScopeRoot; // A map of state updates const CKComponentStateUpdateMap &stateUpdates; // Colleciton of nodes that are marked as dirty. // @discussion "Dirty nodes" are used to implement optimizations as faster state updates and faster props updates. const CKTreeNodeDirtyIds &treeNodeDirtyIds; // The trigger for initiating a new generation CKBuildTrigger buildTrigger; // The current systrace listener. Can be nil if systrace is not enabled. id<CKSystraceListener> _Nullable systraceListener; // Collect tree node information for logging. BOOL shouldCollectTreeNodeCreationInformation; // The current coalescing mode. RCComponentCoalescingMode coalescingMode = RCComponentCoalescingModeRender; }; #endif NS_ASSUME_NONNULL_END