       return .unknown
     }
   }
+
   static func getCurrentCellularInfo() -> [String : Any?] {
     let carrier = Self.currentCarrier()
     let generation = Self.currentCellularGeneration()

  public func definition() -> ModuleDefinition {
    name("ExpoCellular")
    constants {
      // FIXME: Carrier details shouldn't be constants.
      // Constants are returned to JS only once, but the carrier may change over time.
      let carrier = Self.currentCarrier()

      return Self.getCurrentCellularInfo()
    }
    method("getCellularGenerationAsync") { () -> Int in
      Self.currentCellularGeneration().rawValue
    }
    method("allowsVoipAsync") { () -> Bool? in
      Self.currentCarrier()?.allowsVoip
    }
    method("getIsoCountryCodeAsync") { () -> String? in
      Self.currentCarrier()?.isoCountryCode

    method("getMobileNetworkCodeAsync") { () -> String? in
      Self.currentCarrier()?.mobileNetworkCode
    }
  }

  // MARK: - internals
