46 lines
786 B
Go
46 lines
786 B
Go
package runner
|
|
|
|
import (
|
|
"math"
|
|
"strings"
|
|
)
|
|
|
|
func stringFromMap(values map[string]any, key string) string {
|
|
value, _ := values[key].(string)
|
|
return strings.TrimSpace(value)
|
|
}
|
|
|
|
func stringFromAny(value any) string {
|
|
text, _ := value.(string)
|
|
return strings.TrimSpace(text)
|
|
}
|
|
|
|
func boolFromMap(values map[string]any, key string) bool {
|
|
value, _ := values[key].(bool)
|
|
return value
|
|
}
|
|
|
|
func intFromPolicy(values map[string]any, key string) int {
|
|
switch value := values[key].(type) {
|
|
case int:
|
|
return value
|
|
case float64:
|
|
return int(math.Round(value))
|
|
default:
|
|
return 0
|
|
}
|
|
}
|
|
|
|
func floatFromAny(value any) float64 {
|
|
switch typed := value.(type) {
|
|
case int:
|
|
return float64(typed)
|
|
case int64:
|
|
return float64(typed)
|
|
case float64:
|
|
return typed
|
|
default:
|
|
return 0
|
|
}
|
|
}
|