
/**
 * 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: GenerateModuleJniCpp.js
 */

#include "RNZstdSpec.h"

namespace facebook::react {

static facebook::jsi::Value __hostFunction_NativeZstdSpecJSI_compress(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, ArrayKind, "compress", "(Ljava/lang/String;D)Lcom/facebook/react/bridge/WritableArray;", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeZstdSpecJSI_decompress(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, StringKind, "decompress", "(Lcom/facebook/react/bridge/ReadableArray;)Ljava/lang/String;", args, count, cachedMethodId);
}

NativeZstdSpecJSI::NativeZstdSpecJSI(const JavaTurboModule::InitParams &params)
  : JavaTurboModule(params) {
  methodMap_["compress"] = MethodMetadata {2, __hostFunction_NativeZstdSpecJSI_compress};
  methodMap_["decompress"] = MethodMetadata {1, __hostFunction_NativeZstdSpecJSI_decompress};
}

std::shared_ptr<TurboModule> RNZstdSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params) {
  if (moduleName == "Zstd") {
    return std::make_shared<NativeZstdSpecJSI>(params);
  }
  return nullptr;
}

} // namespace facebook::react
