diff --git a/internal/expr.go b/internal/expr.go index e481268..a772bf1 100644 --- a/internal/expr.go +++ b/internal/expr.go @@ -454,10 +454,28 @@ func isTruthy(val any) bool { return v case int: return v != 0 + case int8: + return v != 0 + case int16: + return v != 0 + case int32: + return v != 0 case int64: return v != 0 + case uint: + return v != 0 + case uint8: + return v != 0 + case uint16: + return v != 0 + case uint32: + return v != 0 + case uint64: + return v != 0 case float64: return v != 0 + case float32: + return v != 0 case string: return v != "" case []any: @@ -558,6 +576,16 @@ func toFloat64(val any) (float64, bool) { return float64(v), true case int32: return float64(v), true + case int16: + return float64(v), true + case int8: + return float64(v), true + case uint32: + return float64(v), true + case uint16: + return float64(v), true + case uint8: + return float64(v), true default: return 0, false }