///
/// BLEState.swift
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © Marc Rousavy @ Margelo
///

/**
 * Represents the JS enum `BLEState`, backed by a C++ enum.
 */
public typealias BLEState = margelo.nitro.co.zyke.ble.BLEState

public extension BLEState {
  /**
   * Get a BLEState for the given String value, or
   * return `nil` if the given value was invalid/unknown.
   */
  init?(fromString string: String) {
    switch string {
      case "Unknown":
        self = .unknown
      case "Resetting":
        self = .resetting
      case "Unsupported":
        self = .unsupported
      case "Unauthorized":
        self = .unauthorized
      case "PoweredOff":
        self = .poweredoff
      case "PoweredOn":
        self = .poweredon
      default:
        return nil
    }
  }

  /**
   * Get the String value this BLEState represents.
   */
  var stringValue: String {
    switch self {
      case .unknown:
        return "Unknown"
      case .resetting:
        return "Resetting"
      case .unsupported:
        return "Unsupported"
      case .unauthorized:
        return "Unauthorized"
      case .poweredoff:
        return "PoweredOff"
      case .poweredon:
        return "PoweredOn"
    }
  }
}
