taldir

Directory service to resolve wallet mailboxes by messenger addresses
Log | Files | Refs | Submodules | README | LICENSE

pqutil.go (673B)


      1 package pqutil
      2 
      3 import (
      4 	"strconv"
      5 	"strings"
      6 )
      7 
      8 // ParseBool is like strconv.ParseBool, but also accepts "yes"/"no" and
      9 // "on"/"off".
     10 func ParseBool(str string) (bool, error) {
     11 	switch str {
     12 	case "1", "t", "T", "true", "TRUE", "True", "yes", "on":
     13 		return true, nil
     14 	case "0", "f", "F", "false", "FALSE", "False", "no", "off":
     15 		return false, nil
     16 	}
     17 	return false, &strconv.NumError{Func: "ParseBool", Num: str, Err: strconv.ErrSyntax}
     18 }
     19 
     20 func Join[S ~[]E, E ~string](s S) string {
     21 	var b strings.Builder
     22 	for i := range s {
     23 		if i > 0 {
     24 			b.WriteString(", ")
     25 		}
     26 		if i == len(s)-1 {
     27 			b.WriteString("or ")
     28 		}
     29 		b.WriteString(string(s[i]))
     30 	}
     31 	return b.String()
     32 }