1 #include "WeakRuntimeHolder.h" 2 #include "JavaScriptRuntime.h" 3 4 namespace expo { 5 WeakRuntimeHolder::WeakRuntimeHolder(std::weak_ptr<JavaScriptRuntime> runtime) 6 : std::weak_ptr<JavaScriptRuntime>(std::move(runtime)) {} 7 8 jsi::Runtime &WeakRuntimeHolder::getJSRuntime() { 9 auto runtime = lock(); 10 assert((runtime != nullptr) && "JS Runtime was used after deallocation"); 11 return runtime->get(); 12 } 13 14 void WeakRuntimeHolder::ensureRuntimeIsValid() { 15 assert((!expired()) && "JS Runtime was used after deallocation"); 16 } 17 } // namespace expo 18