47 lines
955 B
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)
|
|
}
|
|
}
|
|
}
|