def METHOD_NAME(value: Any, desc: descriptor.FieldDescriptor,
                      components: List[Text]) -> Dict[Text, List[Any]]:
  """Converts value to the object easier to work with or more representative.
  Args:
    value: Object to transform.
    desc: Field descriptor of a value.
    components: Prefixes for column names.
  Returns:
    Data dictionary representing the given value.
  """
  data = {}
  column_name = '.'.join(components + [desc.name])
  sem_type = semantic_pb2.sem_type
  if desc.label == desc.LABEL_REPEATED:
    data[column_name] = [from_sequence(value)]
  elif desc.type == desc.TYPE_ENUM:
    char_name = next(_.name for _ in desc.enum_type.values if _.number == value)
    data[column_name] = [char_name]
  elif desc.type == desc.TYPE_BYTES:
    data[column_name] = [value]
    data[column_name + '.pretty'] = [repr(value)]
  elif desc.GetOptions().Extensions[sem_type].type == 'RDFDatetime':
    data[column_name] = [value]
    pretty_value = datetime.datetime.utcfromtimestamp(value / (10**6))
    data[column_name + '.pretty'] = [pretty_value]
  elif desc.GetOptions().Extensions[sem_type].type == 'StatMode':
    data[column_name] = [value]
    data[column_name + '.pretty'] = [stat.filemode(value)]
  else:
    data[column_name] = [value]
  return data