import Foundation
import React

@objc(ToneListenReactNativeModule)
class ToneListenReactNativeModule: NSObject {
  private let eventEmitterName = "ToneListenReactNative"

  @objc static func requiresMainQueueSetup() -> Bool { return false }

  @objc(openUrl:resolver:rejecter:)
  func openUrl(_ url: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
    guard let u = URL(string: url) else {
      rejecter("E_URL", "Invalid URL", nil)
      return
    }
    #if os(iOS)
    UIApplication.shared.open(u, options: [:]) { ok in
      if ok { resolver(true) } else { rejecter("E_OPEN", "Failed to open", nil) }
    }
    #else
    resolver(false)
    #endif
  }
}
