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

public extension StateOfMindAssociation {
  /**
   * Get a StateOfMindAssociation for the given String value, or
   * return `nil` if the given value was invalid/unknown.
   */
  init?(fromString string: String) {
    switch string {
      case "community":
        self = .community
      case "currentEvents":
        self = .currentevents
      case "dating":
        self = .dating
      case "education":
        self = .education
      case "family":
        self = .family
      case "fitness":
        self = .fitness
      case "friends":
        self = .friends
      case "health":
        self = .health
      case "hobbies":
        self = .hobbies
      case "identity":
        self = .identity
      case "money":
        self = .money
      case "partner":
        self = .partner
      case "selfCare":
        self = .selfcare
      case "spirituality":
        self = .spirituality
      case "tasks":
        self = .tasks
      case "travel":
        self = .travel
      case "work":
        self = .work
      case "weather":
        self = .weather
      default:
        return nil
    }
  }

  /**
   * Get the String value this StateOfMindAssociation represents.
   */
  var stringValue: String {
    switch self {
      case .community:
        return "community"
      case .currentevents:
        return "currentEvents"
      case .dating:
        return "dating"
      case .education:
        return "education"
      case .family:
        return "family"
      case .fitness:
        return "fitness"
      case .friends:
        return "friends"
      case .health:
        return "health"
      case .hobbies:
        return "hobbies"
      case .identity:
        return "identity"
      case .money:
        return "money"
      case .partner:
        return "partner"
      case .selfcare:
        return "selfCare"
      case .spirituality:
        return "spirituality"
      case .tasks:
        return "tasks"
      case .travel:
        return "travel"
      case .work:
        return "work"
      case .weather:
        return "weather"
    }
  }
}
