ballsoffline/errorhandling.go

47 lines
955 B
Go

package main
import "fmt"
func check(Error error) {
if Error != nil {
panic(Error)
}
}
func checkLog(Error error) {
if Error != nil {
fmt.Println("error:", Error)
}
}
func checkValid(something any) bool {
if something == nil {
return false
}
return true
}
func setDefault(variable *map[string]interface{}, Type string) {
switch Type {
case "color": (*variable)[Type] = "000000"
default: panic(fmt.Sprint("\"", Type, "\" isn't a type!"))
}
}
func checkUserDataValid(userdata map[string]interface{}) {
//required
for _, data := range []string{"username"} {
if !checkValid(userdata[data]) {
panic(fmt.Sprint("\"", data, "\" isn't defined in userdata:\n\t", userdata))
}
}
//optional
for _, data := range []string{"color"} {
if !checkValid(userdata[data]) {
fmt.Printf("WARNING: \"%s\" isn't defined in userdata:\n\t%s\n\tgonna use default variable for that\n", data, userdata)
setDefault(&userdata, data)
}
}
}