/**
 * 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 "NativeCameraKitSpecJSI.h"

namespace facebook::react {

static jsi::Value __hostFunction_NativeCameraKitModuleCxxSpecJSI_capture(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeCameraKitModuleCxxSpecJSI *>(&turboModule)->capture(
    rt,
    count <= 0 || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asObject(rt)),
    count <= 1 || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asNumber())
  );
}
static jsi::Value __hostFunction_NativeCameraKitModuleCxxSpecJSI_requestDeviceCameraAuthorization(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeCameraKitModuleCxxSpecJSI *>(&turboModule)->requestDeviceCameraAuthorization(
    rt
  );
}
static jsi::Value __hostFunction_NativeCameraKitModuleCxxSpecJSI_checkDeviceCameraAuthorizationStatus(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeCameraKitModuleCxxSpecJSI *>(&turboModule)->checkDeviceCameraAuthorizationStatus(
    rt
  );
}

NativeCameraKitModuleCxxSpecJSI::NativeCameraKitModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
  : TurboModule("RNCameraKitModule", jsInvoker) {
  methodMap_["capture"] = MethodMetadata {2, __hostFunction_NativeCameraKitModuleCxxSpecJSI_capture};
  methodMap_["requestDeviceCameraAuthorization"] = MethodMetadata {0, __hostFunction_NativeCameraKitModuleCxxSpecJSI_requestDeviceCameraAuthorization};
  methodMap_["checkDeviceCameraAuthorizationStatus"] = MethodMetadata {0, __hostFunction_NativeCameraKitModuleCxxSpecJSI_checkDeviceCameraAuthorizationStatus};
}


} // namespace facebook::react
