/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
private/react-native-fantom/tester/src/FantomImageLoader.cpp
61 строка
2 KB
Andrew Datsenko
Add static methods tests (#53087)
08 авг 2025, 16:00
08 авг 2025, 16:00
8363a4c
Код
Авторство
О чём код?
/* * 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 "FantomImageLoader.h" #include <utility> namespace facebook::react { void FantomImageLoader::setImageResponse( const std::string& uri, ImageResponse imageResponse) { images_[uri] = std::move(imageResponse); } void FantomImageLoader::clearImage(const std::string& uri) { images_.erase(uri); } void FantomImageLoader::clearAllImages() { images_.clear(); } void FantomImageLoader::loadImage( const std::string& uri, const IImageLoaderOnLoadCallback&& onLoad) { if (images_.contains(uri)) { onLoad( images_[uri].width, images_[uri].height, images_[uri].errorMessage.has_value() ? images_[uri].errorMessage.value().c_str() : nullptr); return; } onLoad(0, 0, "image not loaded"); } IImageLoader::CacheStatus FantomImageLoader::getCacheStatus( const std::string& uri) { if (images_.contains(uri) && images_[uri].cacheStatus.has_value()) { std::string cacheStatus = images_[uri].cacheStatus.value(); if (cacheStatus == "disk") { return IImageLoader::CacheStatus::Disk; } else if (cacheStatus == "memory") { return IImageLoader::CacheStatus::Memory; } else if (cacheStatus == "disk/memory") { return static_cast<IImageLoader::CacheStatus>( static_cast<int>(IImageLoader::CacheStatus::Disk) | static_cast<int>(IImageLoader::CacheStatus::Memory)); } } return IImageLoader::CacheStatus::None; } } // namespace facebook::react