Files
silo-server/internal/requests/arrclient/options.go
T

35 lines
640 B
Go
Raw Normal View History

package arrclient
import (
"strconv"
"strings"
)
func BoolOption(options map[string]any, key string, fallback bool) bool {
value, ok := options[key]
if !ok {
return fallback
}
switch typed := value.(type) {
case bool:
return typed
case string:
parsed, err := strconv.ParseBool(strings.TrimSpace(typed))
if err == nil {
return parsed
}
}
return fallback
}
func StringOption(options map[string]any, key, fallback string) string {
value, ok := options[key]
if !ok {
return fallback
}
if typed, ok := value.(string); ok && strings.TrimSpace(typed) != "" {
return strings.TrimSpace(typed)
}
return fallback
}