1*ab11e3c9SKudo Chien #pragma once 2*ab11e3c9SKudo Chien 3*ab11e3c9SKudo Chien #include <jsi/jsi.h> 4*ab11e3c9SKudo Chien #include <stdio.h> 5*ab11e3c9SKudo Chien #include <memory> 6*ab11e3c9SKudo Chien #include <unordered_map> 7*ab11e3c9SKudo Chien 8*ab11e3c9SKudo Chien namespace reanimated { 9*ab11e3c9SKudo Chien 10*ab11e3c9SKudo Chien using namespace facebook; 11*ab11e3c9SKudo Chien 12*ab11e3c9SKudo Chien class FrozenObject; 13*ab11e3c9SKudo Chien 14*ab11e3c9SKudo Chien class WorkletsCache { 15*ab11e3c9SKudo Chien private: 16*ab11e3c9SKudo Chien std::unordered_map<long long, std::shared_ptr<jsi::Function>> worklets; 17*ab11e3c9SKudo Chien 18*ab11e3c9SKudo Chien public: 19*ab11e3c9SKudo Chien std::shared_ptr<jsi::Function> getFunction( 20*ab11e3c9SKudo Chien jsi::Runtime &rt, 21*ab11e3c9SKudo Chien std::shared_ptr<reanimated::FrozenObject> frozenObj); 22*ab11e3c9SKudo Chien }; 23*ab11e3c9SKudo Chien 24*ab11e3c9SKudo Chien } // namespace reanimated 25