@available(tvOS 14.0, *)
@objc(RCTNativeNetworkModuleSwift)
public class RCTNativeNetworkModuleSwift: NSObject {
    
    private var instance: NetworkModule!
    
    @objc
    override public init()
    {
        self.instance = NetworkModule()
    }
        
    @objc
    public func completeRequest(
        _ requestId: String,
        url: String?,
        headers: NSDictionary?,
        body: String?,
        resolve: @escaping () -> Void,
        reject: @escaping (String?) -> Void
    ) {
        
        self.instance.completeRequest(
            requestId,
            url: url,
            headers: headers,
            body: body,
            resolver: { result in resolve()},
            rejecter: { code, message, error in reject(message)})
    }
    
    @objc
    public func completeResponse(
        _ responseId: String,
        headers: NSDictionary?,
        body: String?,
        resolve: @escaping () -> Void,
        reject: @escaping (String?) -> Void
    ) {
        self.instance.completeResponse(
            responseId,
            headers: headers,
            body: body,
            resolver: { result in resolve()},
            rejecter: { code, message, error in reject(message)})
    }
}
