class_docstr: This class represents a hyperparameter.
class_docstr_tok: ["This","class","represents","a","hyperparameter","."]
code: def createHyperparameterConfigForHyperoptDomain(domain):
      if domain.name is None:
          data = {"type": "object", "properties": {}}
  
          for key in domain.params:
              data["properties"][
                  key
              ] = Hyperparameter.createHyperparameterConfigForHyperoptDomain(
                  domain.params[key]
              )
  
              if "name" not in data["properties"][key]:
                  data["properties"][key]["name"] = key
  
          return data
      elif domain.name == "dict":
          data = {"type": "object", "properties": {}}
  
          for item in domain.named_args:
              data["properties"][
                  item[0]
              ] = Hyperparameter.createHyperparameterConfigForHyperoptDomain(
                  item[1]
              )
  
          return data
      elif domain.name == "switch":
          data = {"oneOf": []}
          data["name"] = domain.pos_args[0].pos_args
  
          for item in domain.pos_args[1:]:
              data["oneOf"].append(
                  Hyperparameter.createHyperparameterConfigForHyperoptDomain(
                      item
                  )
              )
          return data
      elif domain.name == "hyperopt_param":
          data = Hyperparameter.createHyperparameterConfigForHyperoptDomain(
              domain.pos_args[1]
          )
          data["name"] = domain.pos_args[0]._obj
          return data
      elif domain.name == "uniform":
          data = {"type": "number"}
          data["scaling"] = "linear"
          data["mode"] = "uniform"
          data["min"] = domain.pos_args[0]._obj
          data["max"] = domain.pos_args[1]._obj
          return data
      elif domain.name == "quniform":
          data = {"type": "number"}
          data["scaling"] = "linear"
          data["mode"] = "uniform"
          data["min"] = domain.pos_args[0]._obj
          data["max"] = domain.pos_args[1]._obj
          data["rounding"] = domain.pos_args[2]._obj
          return data
      elif domain.name == "loguniform":
          data = {"type": "number"}
          data["scaling"] = "logarithmic"
          data["mode"] = "uniform"
          data["min"] = math.exp(domain.pos_args[0]._obj)
          data["max"] = math.exp(domain.pos_args[1]._obj)
          return data
      elif domain.name == "qloguniform":
          data = {"type": "number"}
          data["scaling"] = "logarithmic"
          data["mode"] = "uniform"
          data["min"] = math.exp(domain.pos_args[0]._obj)
          data["max"] = math.exp(domain.pos_args[1]._obj)
          data["rounding"] = domain.pos_args[2]._obj
          return data
      elif domain.name == "normal":
          data = {"type": "number"}
          data["scaling"] = "linear"
          data["mode"] = "normal"
          data["mean"] = domain.pos_args[0]._obj
          data["stddev"] = domain.pos_args[1]._obj
          return data
      elif domain.name == "qnormal":
          data = {"type": "number"}
          data["scaling"] = "linear"
          data["mode"] = "normal"
          data["mean"] = domain.pos_args[0]._obj
          data["stddev"] = domain.pos_args[1]._obj
          data["rounding"] = domain.pos_args[2]._obj
          return data
      elif domain.name == "lognormal":
          data = {"type": "number"}
          data["scaling"] = "logarithmic"
          data["mode"] = "normal"
          data["mean"] = math.exp(domain.pos_args[0]._obj)
          data["stddev"] = math.exp(domain.pos_args[1]._obj)
          return data
      elif domain.name == "qlognormal":
          data = {"type": "number"}
          data["scaling"] = "logarithmic"
          data["mode"] = "normal"
          data["mean"] = math.exp(domain.pos_args[0]._obj)
          data["stddev"] = math.exp(domain.pos_args[1]._obj)
          data["rounding"] = domain.pos_args[2]._obj
          return data
      elif domain.name == "literal":
          data = {"type": "string", "constant": domain._obj}
          return data
      elif domain.name == "randint":
          data = {"type": "number"}
          low = domain.pos_args[0]._obj
          high = (
              domain.pos_args[1]._obj
              if len(domain.pos_args) > 1
              else None
          )
          data["min"] = 0 if high is None else low
          data["max"] = high or low
          data["mode"] = "randint"
          return data
      else:
          raise ValueError(
              "Unsupported hyperopt domain type " + str(domain)
          )
  
imports: from hyperopt import hp
  from contextlib import contextmanager
  import re
  import functools
  import random
  import numpy
  import numpy.random
  import pkg_resources
  import tempfile
  import scipy.stats
  import os
  import math
  import hyperopt
  import datetime
  import json
  import copy
label_desc: Use image node_id 8 for calling the Hyperparameter obj's underlying member method code with example usage: obj.createHyperparameterConfigForHyperoptDomain(domain) and returns: data, data, data, data, data, data, data, data, data, data, data, data, data, data