1 // Copyright 2023-present 650 Industries. All rights reserved.
2 
3 #import <Foundation/Foundation.h>
4 #import <ExpoModulesCore/EXJavaScriptRuntime.h>
5 
6 #ifdef __cplusplus
7 #import <jsi/jsi.h>
8 
9 namespace jsi = facebook::jsi;
10 #endif // __cplusplus
11 
12 NS_SWIFT_NAME(RawJavaScriptFunction)
13 @interface EXRawJavaScriptFunction : NSObject
14 
15 #ifdef __cplusplus
16 - (nonnull instancetype)initWith:(std::shared_ptr<jsi::Function>)function
17                          runtime:(nonnull EXJavaScriptRuntime *)runtime;
18 #endif // __cplusplus
19 
20 - (nonnull EXJavaScriptValue *)callWithArguments:(nonnull NSArray<id> *)arguments
21                                       thisObject:(nullable EXJavaScriptObject *)thisObject
22                                    asConstructor:(BOOL)asConstructor;
23 
24 @end
25