/**
 * 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: GenerateModuleObjCpp
 *
 * We create an umbrella header (and corresponding implementation) here since
 * Cxx compilation in BUCK has a limitation: source-code producing genrule()s
 * must have a single output. More files => more genrule()s => slower builds.
 */

#import "RNFBFirestoreTurboModules.h"


@implementation NativeRNFBTurboFirestoreSpecBase


- (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper
{
  _eventEmitterCallback = std::move(eventEmitterCallbackWrapper->_eventEmitterCallback);
}
@end


namespace facebook::react {
  
    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_setLogLevel(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "setLogLevel", @selector(setLogLevel:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_loadBundle(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "loadBundle", @selector(loadBundle:databaseId:bundle:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_clearPersistence(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "clearPersistence", @selector(clearPersistence:databaseId:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_waitForPendingWrites(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "waitForPendingWrites", @selector(waitForPendingWrites:databaseId:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_disableNetwork(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "disableNetwork", @selector(disableNetwork:databaseId:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_enableNetwork(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "enableNetwork", @selector(enableNetwork:databaseId:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_useEmulator(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "useEmulator", @selector(useEmulator:databaseId:host:port:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_settings(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "settings", @selector(settings:databaseId:settings:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_terminate(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "terminate", @selector(terminate:databaseId:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_persistenceCacheIndexManager(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "persistenceCacheIndexManager", @selector(persistenceCacheIndexManager:databaseId:requestType:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_addSnapshotsInSync(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "addSnapshotsInSync", @selector(addSnapshotsInSync:databaseId:listenerId:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreSpecJSI_removeSnapshotsInSync(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "removeSnapshotsInSync", @selector(removeSnapshotsInSync:databaseId:listenerId:), args, count);
    }

  NativeRNFBTurboFirestoreSpecJSI::NativeRNFBTurboFirestoreSpecJSI(const ObjCTurboModule::InitParams &params)
    : ObjCTurboModule(params) {
      
        methodMap_["setLogLevel"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_setLogLevel};
        
        
        methodMap_["loadBundle"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_loadBundle};
        
        
        methodMap_["clearPersistence"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_clearPersistence};
        
        
        methodMap_["waitForPendingWrites"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_waitForPendingWrites};
        
        
        methodMap_["disableNetwork"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_disableNetwork};
        
        
        methodMap_["enableNetwork"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_enableNetwork};
        
        
        methodMap_["useEmulator"] = MethodMetadata {4, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_useEmulator};
        
        
        methodMap_["settings"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_settings};
        
        
        methodMap_["terminate"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_terminate};
        
        
        methodMap_["persistenceCacheIndexManager"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_persistenceCacheIndexManager};
        
        
        methodMap_["addSnapshotsInSync"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_addSnapshotsInSync};
        
        
        methodMap_["removeSnapshotsInSync"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreSpecJSI_removeSnapshotsInSync};
        
  }
} // namespace facebook::react

@implementation NativeRNFBTurboFirestoreCollectionSpecBase


- (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper
{
  _eventEmitterCallback = std::move(eventEmitterCallbackWrapper->_eventEmitterCallback);
}
@end


namespace facebook::react {
  
    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_namedQueryOnSnapshot(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "namedQueryOnSnapshot", @selector(namedQueryOnSnapshot:databaseId:queryName:type:filters:orders:options:listenerId:snapshotListenOptions:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_collectionOnSnapshot(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "collectionOnSnapshot", @selector(collectionOnSnapshot:databaseId:path:type:filters:orders:options:listenerId:snapshotListenOptions:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_collectionOffSnapshot(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "collectionOffSnapshot", @selector(collectionOffSnapshot:databaseId:listenerId:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_namedQueryGet(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "namedQueryGet", @selector(namedQueryGet:databaseId:queryName:type:filters:orders:options:getOptions:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_collectionGet(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "collectionGet", @selector(collectionGet:databaseId:path:type:filters:orders:options:getOptions:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_collectionCount(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "collectionCount", @selector(collectionCount:databaseId:path:type:filters:orders:options:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_aggregateQuery(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "aggregateQuery", @selector(aggregateQuery:databaseId:path:type:filters:orders:options:aggregateQueries:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_pipelineExecute(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "pipelineExecute", @selector(pipelineExecute:databaseId:pipeline:options:resolve:reject:), args, count);
    }

  NativeRNFBTurboFirestoreCollectionSpecJSI::NativeRNFBTurboFirestoreCollectionSpecJSI(const ObjCTurboModule::InitParams &params)
    : ObjCTurboModule(params) {
      
        methodMap_["namedQueryOnSnapshot"] = MethodMetadata {9, __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_namedQueryOnSnapshot};
        
        
        methodMap_["collectionOnSnapshot"] = MethodMetadata {9, __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_collectionOnSnapshot};
        
        
        methodMap_["collectionOffSnapshot"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_collectionOffSnapshot};
        
        
        methodMap_["namedQueryGet"] = MethodMetadata {8, __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_namedQueryGet};
        
        
        methodMap_["collectionGet"] = MethodMetadata {8, __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_collectionGet};
        
        
        methodMap_["collectionCount"] = MethodMetadata {7, __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_collectionCount};
        
        
        methodMap_["aggregateQuery"] = MethodMetadata {8, __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_aggregateQuery};
        
        
        methodMap_["pipelineExecute"] = MethodMetadata {4, __hostFunction_NativeRNFBTurboFirestoreCollectionSpecJSI_pipelineExecute};
        
  }
} // namespace facebook::react

@implementation NativeRNFBTurboFirestoreDocumentSpecBase


- (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper
{
  _eventEmitterCallback = std::move(eventEmitterCallbackWrapper->_eventEmitterCallback);
}
@end

@implementation RCTCxxConvert (NativeRNFBTurboFirestoreDocument_FirestoreSnapshotListenOptions)
+ (RCTManagedPointer *)JS_NativeRNFBTurboFirestoreDocument_FirestoreSnapshotListenOptions:(id)json
{
  return facebook::react::managedPointer<JS::NativeRNFBTurboFirestoreDocument::FirestoreSnapshotListenOptions>(json);
}
@end
@implementation RCTCxxConvert (NativeRNFBTurboFirestoreDocument_SpecDocumentGetGetOptions)
+ (RCTManagedPointer *)JS_NativeRNFBTurboFirestoreDocument_SpecDocumentGetGetOptions:(id)json
{
  return facebook::react::managedPointer<JS::NativeRNFBTurboFirestoreDocument::SpecDocumentGetGetOptions>(json);
}
@end
namespace facebook::react {
  
    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentOnSnapshot(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "documentOnSnapshot", @selector(documentOnSnapshot:databaseId:path:listenerId:snapshotListenOptions:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentOffSnapshot(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "documentOffSnapshot", @selector(documentOffSnapshot:databaseId:listenerId:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentGet(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "documentGet", @selector(documentGet:databaseId:path:getOptions:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentDelete(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "documentDelete", @selector(documentDelete:databaseId:path:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentSet(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "documentSet", @selector(documentSet:databaseId:path:data:options:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentUpdate(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "documentUpdate", @selector(documentUpdate:databaseId:path:data:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentBatch(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "documentBatch", @selector(documentBatch:databaseId:writes:resolve:reject:), args, count);
    }

  NativeRNFBTurboFirestoreDocumentSpecJSI::NativeRNFBTurboFirestoreDocumentSpecJSI(const ObjCTurboModule::InitParams &params)
    : ObjCTurboModule(params) {
      
        methodMap_["documentOnSnapshot"] = MethodMetadata {5, __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentOnSnapshot};
        setMethodArgConversionSelector(@"documentOnSnapshot", 4, @"JS_NativeRNFBTurboFirestoreDocument_FirestoreSnapshotListenOptions:");
        
        methodMap_["documentOffSnapshot"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentOffSnapshot};
        
        
        methodMap_["documentGet"] = MethodMetadata {4, __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentGet};
        setMethodArgConversionSelector(@"documentGet", 3, @"JS_NativeRNFBTurboFirestoreDocument_SpecDocumentGetGetOptions:");
        
        methodMap_["documentDelete"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentDelete};
        
        
        methodMap_["documentSet"] = MethodMetadata {5, __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentSet};
        
        
        methodMap_["documentUpdate"] = MethodMetadata {4, __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentUpdate};
        
        
        methodMap_["documentBatch"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreDocumentSpecJSI_documentBatch};
        
  }
} // namespace facebook::react

@implementation NativeRNFBTurboFirestoreTransactionSpecBase


- (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper
{
  _eventEmitterCallback = std::move(eventEmitterCallbackWrapper->_eventEmitterCallback);
}
@end


namespace facebook::react {
  
    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreTransactionSpecJSI_transactionBegin(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "transactionBegin", @selector(transactionBegin:databaseId:transactionId:maxAttempts:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreTransactionSpecJSI_transactionGetDocument(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "transactionGetDocument", @selector(transactionGetDocument:databaseId:transactionId:path:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreTransactionSpecJSI_transactionDispose(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "transactionDispose", @selector(transactionDispose:databaseId:transactionId:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeRNFBTurboFirestoreTransactionSpecJSI_transactionApplyBuffer(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "transactionApplyBuffer", @selector(transactionApplyBuffer:databaseId:transactionId:commandBuffer:), args, count);
    }

  NativeRNFBTurboFirestoreTransactionSpecJSI::NativeRNFBTurboFirestoreTransactionSpecJSI(const ObjCTurboModule::InitParams &params)
    : ObjCTurboModule(params) {
      
        methodMap_["transactionBegin"] = MethodMetadata {4, __hostFunction_NativeRNFBTurboFirestoreTransactionSpecJSI_transactionBegin};
        
        
        methodMap_["transactionGetDocument"] = MethodMetadata {4, __hostFunction_NativeRNFBTurboFirestoreTransactionSpecJSI_transactionGetDocument};
        
        
        methodMap_["transactionDispose"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboFirestoreTransactionSpecJSI_transactionDispose};
        
        
        methodMap_["transactionApplyBuffer"] = MethodMetadata {4, __hostFunction_NativeRNFBTurboFirestoreTransactionSpecJSI_transactionApplyBuffer};
        
  }
} // namespace facebook::react
