#pragma once #ifdef ABI49_0_0RCT_NEW_ARCH_ENABLED #include #include #include #include #include "NewestShadowNodesRegistry.h" using namespace ABI49_0_0facebook; using namespace ABI49_0_0React; namespace ABI49_0_0reanimated { class ShadowTreeCloner { public: ShadowTreeCloner( std::shared_ptr newestShadowNodesRegistry, std::shared_ptr uiManager, SurfaceId surfaceId); ~ShadowTreeCloner(); ShadowNode::Unshared cloneWithNewProps( const ShadowNode::Shared &oldRootNode, const ShadowNodeFamily &family, RawProps &&rawProps); void updateYogaChildren(); private: std::shared_ptr newestShadowNodesRegistry_; PropsParserContext propsParserContext_; std::set yogaChildrenUpdates_; }; } // namespace reanimated #endif // ABI49_0_0RCT_NEW_ARCH_ENABLED