///
/// StateOfMindLabel.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 `StateOfMindLabel`, backed by a C++ enum.
 */
public typealias StateOfMindLabel = margelo.nitro.healthkit.StateOfMindLabel

public extension StateOfMindLabel {
  /**
   * Get a StateOfMindLabel for the given String value, or
   * return `nil` if the given value was invalid/unknown.
   */
  init?(fromString string: String) {
    switch string {
      case "amazed":
        self = .amazed
      case "amused":
        self = .amused
      case "angry":
        self = .angry
      case "anxious":
        self = .anxious
      case "ashamed":
        self = .ashamed
      case "brave":
        self = .brave
      case "calm":
        self = .calm
      case "content":
        self = .content
      case "disappointed":
        self = .disappointed
      case "discouraged":
        self = .discouraged
      case "disgusted":
        self = .disgusted
      case "embarrassed":
        self = .embarrassed
      case "excited":
        self = .excited
      case "frustrated":
        self = .frustrated
      case "grateful":
        self = .grateful
      case "guilty":
        self = .guilty
      case "happy":
        self = .happy
      case "hopeless":
        self = .hopeless
      case "irritated":
        self = .irritated
      case "jealous":
        self = .jealous
      case "joyful":
        self = .joyful
      case "lonely":
        self = .lonely
      case "passionate":
        self = .passionate
      case "peaceful":
        self = .peaceful
      case "proud":
        self = .proud
      case "relieved":
        self = .relieved
      case "sad":
        self = .sad
      case "scared":
        self = .scared
      case "stressed":
        self = .stressed
      case "surprised":
        self = .surprised
      case "worried":
        self = .worried
      case "annoyed":
        self = .annoyed
      case "confident":
        self = .confident
      case "drained":
        self = .drained
      case "hopeful":
        self = .hopeful
      case "indifferent":
        self = .indifferent
      case "overwhelmed":
        self = .overwhelmed
      case "satisfied":
        self = .satisfied
      default:
        return nil
    }
  }

  /**
   * Get the String value this StateOfMindLabel represents.
   */
  var stringValue: String {
    switch self {
      case .amazed:
        return "amazed"
      case .amused:
        return "amused"
      case .angry:
        return "angry"
      case .anxious:
        return "anxious"
      case .ashamed:
        return "ashamed"
      case .brave:
        return "brave"
      case .calm:
        return "calm"
      case .content:
        return "content"
      case .disappointed:
        return "disappointed"
      case .discouraged:
        return "discouraged"
      case .disgusted:
        return "disgusted"
      case .embarrassed:
        return "embarrassed"
      case .excited:
        return "excited"
      case .frustrated:
        return "frustrated"
      case .grateful:
        return "grateful"
      case .guilty:
        return "guilty"
      case .happy:
        return "happy"
      case .hopeless:
        return "hopeless"
      case .irritated:
        return "irritated"
      case .jealous:
        return "jealous"
      case .joyful:
        return "joyful"
      case .lonely:
        return "lonely"
      case .passionate:
        return "passionate"
      case .peaceful:
        return "peaceful"
      case .proud:
        return "proud"
      case .relieved:
        return "relieved"
      case .sad:
        return "sad"
      case .scared:
        return "scared"
      case .stressed:
        return "stressed"
      case .surprised:
        return "surprised"
      case .worried:
        return "worried"
      case .annoyed:
        return "annoyed"
      case .confident:
        return "confident"
      case .drained:
        return "drained"
      case .hopeful:
        return "hopeful"
      case .indifferent:
        return "indifferent"
      case .overwhelmed:
        return "overwhelmed"
      case .satisfied:
        return "satisfied"
    }
  }
}
