newsmemory-ios-sdk/Frameworks/RNReanimated.xcframework/ios-arm64/Headers/FrozenObject.h

37 lines
827 B
C
Raw Normal View History

2024-10-29 07:36:43 +00:00
#pragma once
#include <jsi/jsi.h>
#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
#include "RuntimeManager.h"
#include "SharedParent.h"
#include "WorkletsCache.h"
using namespace facebook;
namespace reanimated {
class FrozenObject : public jsi::HostObject {
friend WorkletsCache;
friend void extractMutables(
jsi::Runtime &rt,
std::shared_ptr<ShareableValue> sv,
std::vector<std::shared_ptr<MutableValue>> &res);
private:
std::unordered_map<std::string, std::shared_ptr<ShareableValue>> map;
std::vector<std::string> namesOrder;
public:
FrozenObject(
jsi::Runtime &rt,
const jsi::Object &object,
RuntimeManager *runtimeManager);
jsi::Object shallowClone(jsi::Runtime &rt);
bool containsHostFunction = false;
};
} // namespace reanimated