/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/ReactCommon/react/renderer/mounting/MountingTransaction.cpp
57 строк
2 KB
Pieter De Baets
Split scheduler commit and flush delegate methods (#44188)
24 апр 2024, 13:54
24 апр 2024, 13:54
849da21
Код
Авторство
О чём код?
/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #include "MountingTransaction.h" namespace facebook::react { using Number = MountingTransaction::Number; MountingTransaction::MountingTransaction( SurfaceId surfaceId, Number number, ShadowViewMutationList&& mutations, TransactionTelemetry telemetry) : surfaceId_(surfaceId), number_(number), mutations_(std::move(mutations)), telemetry_(std::move(telemetry)) {} const ShadowViewMutationList& MountingTransaction::getMutations() const& { return mutations_; } ShadowViewMutationList MountingTransaction::getMutations() && { return std::move(mutations_); } TransactionTelemetry& MountingTransaction::getTelemetry() const { return telemetry_; } SurfaceId MountingTransaction::getSurfaceId() const { return surfaceId_; } Number MountingTransaction::getNumber() const { return number_; } void MountingTransaction::mergeWith(MountingTransaction&& transaction) { react_native_assert(transaction.getSurfaceId() == surfaceId_); number_ = transaction.getNumber(); mutations_.insert( mutations_.end(), std::make_move_iterator(transaction.mutations_.begin()), std::make_move_iterator(transaction.mutations_.end())); // TODO T186641819: Telemetry for merged transactions is not supported, use // the latest instance telemetry_ = std::move(transaction.telemetry_); } } // namespace facebook::react