code: func nsToTaskName(v string) string {
  	// Escape single underscores in the namespace name.
  	v = strings.Replace(v, "_", "__", -1)
  
  	// Replace any invalid task queue name characters with underscore.
  	return strings.Map(func(r rune) rune {
  		switch {
  		case (r >= 'a' && r <= 'z'),
  			(r >= 'A' && r <= 'Z'),
  			r == '_', r == '-':
  			return r
  		default:
  			return '_'
  		}
  	}, v)
  }
docs: // nsToTaskName flattens a namespace into a string that can be part of a valid
  // task queue task name.