/* * 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. */ #pragma once #include #include #include #include #include #include #include namespace facebook { namespace react { class JSDeltaBundleClient { public: void patch(const folly::dynamic &delta); JSModulesUnbundle::Module getModule(uint32_t moduleId) const; std::unique_ptr getStartupCode() const; void clear(); private: std::unordered_map modules_; std::string startupCode_; void patchModules(const folly::dynamic *delta); }; class JSDeltaBundleClientRAMBundle : public JSModulesUnbundle { public: JSDeltaBundleClientRAMBundle( std::shared_ptr client) : client_(client) {} Module getModule(uint32_t moduleId) const override { return client_->getModule(moduleId); } private: const std::shared_ptr client_; }; } // namespace react } // namespace facebook