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