code: func (h *Haikunator) buildToken() string {
  	var chars []rune
  
  	if h.TokenHex {
  		chars = []rune(hex)
  	} else {
  		chars = []rune(h.TokenChars)
  	}
  
  	size := len(chars)
  
  	if size <= 0 {
  		return ""
  	}
  
  	var buffer bytes.Buffer
  
  	for i := 0; i < h.TokenLength; i++ {
  		index := h.Random.Intn(size)
  		buffer.WriteRune(chars[index])
  	}
  
  	return buffer.String()
  }
docs: // buildToken creates and builds random token