/**
 * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
 *
 * Do not edit this file as changes may cause incorrect behavior and will be lost
 * once the code is regenerated.
 *
 * @generated by codegen project: GenerateModuleCpp.js
 */

#include "RNIbeaconSpecJSI.h"

namespace facebook::react {

static jsi::Value __hostFunction_NativeIbeaconCxxSpecJSI_multiply(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeIbeaconCxxSpecJSI *>(&turboModule)->multiply(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asNumber()
  );
}
static jsi::Value __hostFunction_NativeIbeaconCxxSpecJSI_startScan(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeIbeaconCxxSpecJSI *>(&turboModule)->startScan(
    rt,
    count <= 0 || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asObject(rt))
  );
}
static jsi::Value __hostFunction_NativeIbeaconCxxSpecJSI_stopScan(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeIbeaconCxxSpecJSI *>(&turboModule)->stopScan(
    rt
  );
}
static jsi::Value __hostFunction_NativeIbeaconCxxSpecJSI_checkPermissions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeIbeaconCxxSpecJSI *>(&turboModule)->checkPermissions(
    rt
  );
}
static jsi::Value __hostFunction_NativeIbeaconCxxSpecJSI_isBleSupported(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeIbeaconCxxSpecJSI *>(&turboModule)->isBleSupported(
    rt
  );
}

NativeIbeaconCxxSpecJSI::NativeIbeaconCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
  : TurboModule("Ibeacon", jsInvoker) {
  methodMap_["multiply"] = MethodMetadata {2, __hostFunction_NativeIbeaconCxxSpecJSI_multiply};
  methodMap_["startScan"] = MethodMetadata {1, __hostFunction_NativeIbeaconCxxSpecJSI_startScan};
  methodMap_["stopScan"] = MethodMetadata {0, __hostFunction_NativeIbeaconCxxSpecJSI_stopScan};
  methodMap_["checkPermissions"] = MethodMetadata {0, __hostFunction_NativeIbeaconCxxSpecJSI_checkPermissions};
  methodMap_["isBleSupported"] = MethodMetadata {0, __hostFunction_NativeIbeaconCxxSpecJSI_isBleSupported};
}


} // namespace facebook::react
