1 // Copyright 2022-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <ExpoModulesCore/EXJavaScriptValue.h> 5 #import <ExpoModulesCore/EXJavaScriptRuntime.h> 6 7 #ifdef __cplusplus 8 #import <jsi/jsi.h> 9 10 namespace jsi = facebook::jsi; 11 #endif // __cplusplus 12 13 NS_SWIFT_NAME(JavaScriptWeakObject) 14 @interface EXJavaScriptWeakObject : NSObject 15 16 #ifdef __cplusplus 17 - (nonnull instancetype)initWith:(std::shared_ptr<jsi::Object>)jsObject 18 runtime:(nonnull EXJavaScriptRuntime *)runtime; 19 #endif // __cplusplus 20 21 - (nullable EXJavaScriptObject *)lock; 22 23 @end 24