Merge branch 'master' into kd-live

This commit is contained in:
2023-06-27 10:53:27 +09:00
2 changed files with 11 additions and 0 deletions

View File

@ -15,6 +15,7 @@ import (
"reflect"
"sort"
"strconv"
"strings"
"sync"
"sync/atomic"
"syscall"
@ -129,6 +130,9 @@ func unmarshal[T any](val *T, src map[string]string) {
if argval.Elem().Field(i).CanInt() {
num, _ := strconv.ParseInt(arg, 10, 0)
argval.Elem().Field(i).SetInt(num)
} else if argval.Elem().Field(i).Kind() == reflect.Array || argval.Elem().Field(i).Kind() == reflect.Slice {
conv := strings.Split(arg, "\n")
argval.Elem().Field(i).Set(reflect.ValueOf(conv))
} else {
argval.Elem().Field(i).SetString(arg)
}

View File

@ -4,6 +4,7 @@ import (
"context"
"fmt"
"reflect"
"strings"
"sync"
"repositories.action2quare.com/ayo/houston/shared"
@ -150,6 +151,12 @@ func marshal(argval reflect.Value, output map[string]string) map[string]string {
marshal(argval.Field(i), output)
} else if argval.Field(i).CanInt() {
output[argval.Type().Field(i).Name] = fmt.Sprintf("%d", argval.Field(i).Int())
} else if argval.Field(i).Kind() == reflect.Array || argval.Field(i).Kind() == reflect.Slice {
var conv []string
for i := 0; i < argval.Field(i).Len(); i++ {
conv = append(conv, argval.Field(i).Index(i).String())
}
output[argval.Type().Field(i).Name] = strings.Join(conv, "\n")
} else {
output[argval.Type().Field(i).Name] = argval.Field(i).String()
}