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

/**
 * Represents the JS union `StatisticsOptions`, backed by a C++ enum.
 */
public typealias StatisticsOptions = margelo.nitro.healthkit.StatisticsOptions

public extension StatisticsOptions {
  /**
   * Get a StatisticsOptions for the given String value, or
   * return `nil` if the given value was invalid/unknown.
   */
  init?(fromString string: String) {
    switch string {
      case "cumulativeSum":
        self = .cumulativesum
      case "discreteAverage":
        self = .discreteaverage
      case "discreteMax":
        self = .discretemax
      case "discreteMin":
        self = .discretemin
      case "duration":
        self = .duration
      case "mostRecent":
        self = .mostrecent
      default:
        return nil
    }
  }

  /**
   * Get the String value this StatisticsOptions represents.
   */
  var stringValue: String {
    switch self {
      case .cumulativesum:
        return "cumulativeSum"
      case .discreteaverage:
        return "discreteAverage"
      case .discretemax:
        return "discreteMax"
      case .discretemin:
        return "discreteMin"
      case .duration:
        return "duration"
      case .mostrecent:
        return "mostRecent"
    }
  }
}
