Rewrite error handling logic

This commit is contained in:
2023-12-17 16:55:13 -08:00
parent ba23bf512c
commit 01047706b6
12 changed files with 468 additions and 431 deletions
+4 -3
View File
@@ -19,6 +19,7 @@
package salix
import (
"fmt"
"reflect"
"strings"
)
@@ -38,12 +39,12 @@ var globalVars = map[string]any{
"join": strings.Join,
}
func tmplLen(v any) int {
func tmplLen(v any) (int, error) {
val := reflect.ValueOf(v)
switch val.Kind() {
case reflect.Array, reflect.Slice, reflect.String, reflect.Map:
return val.Len()
return val.Len(), nil
default:
return -1
return 0, fmt.Errorf("cannot get length of %T", v)
}
}