1 #include "NativeReanimatedModuleSpec.h" 2 3 #include <utility> 4 5 #define SPEC_PREFIX(FN_NAME) __hostFunction_NativeReanimatedModuleSpec_##FN_NAME 6 7 namespace ABI48_0_0reanimated { 8 9 static jsi::Value SPEC_PREFIX(installCoreFunctions)( 10 jsi::Runtime &rt, 11 TurboModule &turboModule, 12 const jsi::Value *args, 13 size_t count) { 14 static_cast<NativeReanimatedModuleSpec *>(&turboModule) 15 ->installCoreFunctions(rt, std::move(args[0])); 16 return jsi::Value::undefined(); 17 } 18 19 // SharedValue 20 21 static jsi::Value SPEC_PREFIX(makeShareable)( 22 jsi::Runtime &rt, 23 TurboModule &turboModule, 24 const jsi::Value *args, 25 size_t count) { 26 return static_cast<NativeReanimatedModuleSpec *>(&turboModule) 27 ->makeShareable(rt, std::move(args[0])); 28 } 29 30 static jsi::Value SPEC_PREFIX(makeMutable)( 31 jsi::Runtime &rt, 32 TurboModule &turboModule, 33 const jsi::Value *args, 34 size_t count) { 35 return static_cast<NativeReanimatedModuleSpec *>(&turboModule) 36 ->makeMutable(rt, std::move(args[0])); 37 } 38 39 static jsi::Value SPEC_PREFIX(makeRemote)( 40 jsi::Runtime &rt, 41 TurboModule &turboModule, 42 const jsi::Value *args, 43 size_t count) { 44 return static_cast<NativeReanimatedModuleSpec *>(&turboModule) 45 ->makeRemote(rt, std::move(args[0])); 46 } 47 48 static jsi::Value SPEC_PREFIX(startMapper)( 49 jsi::Runtime &rt, 50 TurboModule &turboModule, 51 const jsi::Value *args, 52 size_t count) { 53 return static_cast<NativeReanimatedModuleSpec *>(&turboModule) 54 ->startMapper( 55 rt, 56 std::move(args[0]), 57 std::move(args[1]), 58 std::move(args[2]), 59 std::move(args[3]), 60 std::move(args[4])); 61 } 62 63 static jsi::Value SPEC_PREFIX(stopMapper)( 64 jsi::Runtime &rt, 65 TurboModule &turboModule, 66 const jsi::Value *args, 67 size_t count) { 68 static_cast<NativeReanimatedModuleSpec *>(&turboModule) 69 ->stopMapper(rt, std::move(args[0])); 70 return jsi::Value::undefined(); 71 } 72 73 static jsi::Value SPEC_PREFIX(registerEventHandler)( 74 jsi::Runtime &rt, 75 TurboModule &turboModule, 76 const jsi::Value *args, 77 size_t count) { 78 return static_cast<NativeReanimatedModuleSpec *>(&turboModule) 79 ->registerEventHandler(rt, std::move(args[0]), std::move(args[1])); 80 } 81 82 static jsi::Value SPEC_PREFIX(unregisterEventHandler)( 83 jsi::Runtime &rt, 84 TurboModule &turboModule, 85 const jsi::Value *args, 86 size_t count) { 87 static_cast<NativeReanimatedModuleSpec *>(&turboModule) 88 ->unregisterEventHandler(rt, std::move(args[0])); 89 return jsi::Value::undefined(); 90 } 91 92 static jsi::Value SPEC_PREFIX(getViewProp)( 93 jsi::Runtime &rt, 94 TurboModule &turboModule, 95 const jsi::Value *args, 96 size_t count) { 97 static_cast<NativeReanimatedModuleSpec *>(&turboModule) 98 ->getViewProp( 99 rt, std::move(args[0]), std::move(args[1]), std::move(args[2])); 100 return jsi::Value::undefined(); 101 } 102 103 static jsi::Value SPEC_PREFIX(enableLayoutAnimations)( 104 jsi::Runtime &rt, 105 TurboModule &turboModule, 106 const jsi::Value *args, 107 size_t count) { 108 static_cast<NativeReanimatedModuleSpec *>(&turboModule) 109 ->enableLayoutAnimations(rt, std::move(args[0])); 110 return jsi::Value::undefined(); 111 } 112 113 static jsi::Value SPEC_PREFIX(registerSensor)( 114 jsi::Runtime &rt, 115 TurboModule &turboModule, 116 const jsi::Value *args, 117 size_t count) { 118 return static_cast<NativeReanimatedModuleSpec *>(&turboModule) 119 ->registerSensor( 120 rt, std::move(args[0]), std::move(args[1]), std::move(args[2])); 121 } 122 123 static jsi::Value SPEC_PREFIX(unregisterSensor)( 124 jsi::Runtime &rt, 125 TurboModule &turboModule, 126 const jsi::Value *args, 127 size_t count) { 128 static_cast<NativeReanimatedModuleSpec *>(&turboModule) 129 ->unregisterSensor(rt, std::move(args[0])); 130 return jsi::Value::undefined(); 131 } 132 133 static jsi::Value SPEC_PREFIX(configureProps)( 134 jsi::Runtime &rt, 135 TurboModule &turboModule, 136 const jsi::Value *args, 137 size_t count) { 138 static_cast<NativeReanimatedModuleSpec *>(&turboModule) 139 ->configureProps(rt, std::move(args[0]), std::move(args[1])); 140 return jsi::Value::undefined(); 141 } 142 143 static jsi::Value SPEC_PREFIX(subscribeForKeyboardEvents)( 144 jsi::Runtime &rt, 145 TurboModule &turboModule, 146 const jsi::Value *args, 147 size_t count) { 148 return static_cast<NativeReanimatedModuleSpec *>(&turboModule) 149 ->subscribeForKeyboardEvents(rt, std::move(args[0])); 150 } 151 152 static jsi::Value SPEC_PREFIX(unsubscribeFromKeyboardEvents)( 153 jsi::Runtime &rt, 154 TurboModule &turboModule, 155 const jsi::Value *args, 156 size_t count) { 157 static_cast<NativeReanimatedModuleSpec *>(&turboModule) 158 ->unsubscribeFromKeyboardEvents(rt, std::move(args[0])); 159 return jsi::Value::undefined(); 160 } 161 162 NativeReanimatedModuleSpec::NativeReanimatedModuleSpec( 163 std::shared_ptr<CallInvoker> jsInvoker) 164 : TurboModule("NativeReanimated", jsInvoker) { 165 methodMap_["installCoreFunctions"] = 166 MethodMetadata{1, SPEC_PREFIX(installCoreFunctions)}; 167 168 methodMap_["makeShareable"] = MethodMetadata{1, SPEC_PREFIX(makeShareable)}; 169 methodMap_["makeMutable"] = MethodMetadata{1, SPEC_PREFIX(makeMutable)}; 170 methodMap_["makeRemote"] = MethodMetadata{1, SPEC_PREFIX(makeRemote)}; 171 172 methodMap_["startMapper"] = MethodMetadata{5, SPEC_PREFIX(startMapper)}; 173 methodMap_["stopMapper"] = MethodMetadata{1, SPEC_PREFIX(stopMapper)}; 174 175 methodMap_["registerEventHandler"] = 176 MethodMetadata{2, SPEC_PREFIX(registerEventHandler)}; 177 methodMap_["unregisterEventHandler"] = 178 MethodMetadata{1, SPEC_PREFIX(unregisterEventHandler)}; 179 180 methodMap_["getViewProp"] = MethodMetadata{3, SPEC_PREFIX(getViewProp)}; 181 methodMap_["enableLayoutAnimations"] = 182 MethodMetadata{2, SPEC_PREFIX(enableLayoutAnimations)}; 183 methodMap_["registerSensor"] = MethodMetadata{3, SPEC_PREFIX(registerSensor)}; 184 methodMap_["unregisterSensor"] = 185 MethodMetadata{1, SPEC_PREFIX(unregisterSensor)}; 186 methodMap_["configureProps"] = MethodMetadata{2, SPEC_PREFIX(configureProps)}; 187 methodMap_["subscribeForKeyboardEvents"] = 188 MethodMetadata{1, SPEC_PREFIX(subscribeForKeyboardEvents)}; 189 methodMap_["unsubscribeFromKeyboardEvents"] = 190 MethodMetadata{1, SPEC_PREFIX(unsubscribeFromKeyboardEvents)}; 191 } 192 } // namespace reanimated 193