/* * 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. */ #include "State.h" #include #include #include #include #include #include #ifdef ANDROID #include #endif namespace facebook { namespace react { State::State(State const &state) : stateCoordinator_(state.stateCoordinator_){}; State::State(StateCoordinator::Shared const &stateCoordinator) : stateCoordinator_(stateCoordinator){}; void State::commit(std::shared_ptr const &shadowNode) const { stateCoordinator_->setTarget(StateTarget{shadowNode}); } State::Shared State::getMostRecentState() const { auto target = stateCoordinator_->getTarget(); return target ? target.getShadowNode().getState() : ShadowNodeFragment::statePlaceholder(); } } // namespace react } // namespace facebook