ballsoffline/errorhandling.go

47 lines
955 B
Go
Raw Permalink Normal View History

2024-04-22 23:42:00 +00:00
package main
import "fmt"
func check(Error error) {
2024-04-23 10:59:57 +00:00
if Error != nil {
panic(Error)
}
2024-04-22 23:42:00 +00:00
}
2024-04-23 22:43:22 +00:00
func checkLog(Error error) {
2024-04-23 22:12:56 +00:00
if Error != nil {
fmt.Println("error:", Error)
}
}
2024-04-22 23:42:00 +00:00
func checkValid(something any) bool {
2024-04-23 10:59:57 +00:00
if something == nil {
return false
}
2024-04-22 23:42:00 +00:00
return true
}
2024-04-23 22:12:56 +00:00
func setDefault(variable *map[string]interface{}, Type string) {
2024-04-23 14:33:05 +00:00
switch Type {
2024-04-23 14:28:54 +00:00
case "color": (*variable)[Type] = "000000"
2024-04-23 14:33:05 +00:00
default: panic(fmt.Sprint("\"", Type, "\" isn't a type!"))
}
2024-04-23 14:28:54 +00:00
}
2024-04-23 10:59:57 +00:00
func checkUserDataValid(userdata map[string]interface{}) {
2024-04-23 14:28:54 +00:00
//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"} {
2024-04-22 23:42:00 +00:00
if !checkValid(userdata[data]) {
2024-04-23 14:28:54 +00:00
fmt.Printf("WARNING: \"%s\" isn't defined in userdata:\n\t%s\n\tgonna use default variable for that\n", data, userdata)
2024-04-23 22:12:56 +00:00
setDefault(&userdata, data)
2024-04-22 23:42:00 +00:00
}
}
}