utils.go 489 B

12345678910111213141516171819202122232425262728293031
  1. package v2
  2. import "crypto/rand"
  3. func boolean(v bool) *bool {
  4. copy := v
  5. return &copy
  6. }
  7. func randomString(length uint, charset string) string {
  8. ll := len(charset)
  9. b := make([]byte, length)
  10. rand.Read(b) // generates len(b) random bytes
  11. for i := uint(0); i < length; i++ {
  12. b[i] = charset[int(b[i])%ll]
  13. }
  14. return string(b)
  15. }
  16. func oneOf[T string](elem T, vals ...T) bool {
  17. found := false
  18. for _, v := range vals {
  19. if v == elem {
  20. found = true
  21. break
  22. }
  23. }
  24. return found
  25. }