[go: up one dir, main page]

Skip to content

Commit

Permalink
add StructValue helper
Browse files Browse the repository at this point in the history
  • Loading branch information
pkieltyka committed Dec 4, 2023
1 parent 8c431e6 commit a414fec
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions helpers.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package httplog

import (
"encoding/json"
"log/slog"
"reflect"
)

// StructValue will convert a struct or slice of structs to a slog.Value
func StructValue(v interface{}) slog.Value {
var out interface{}

rv := reflect.ValueOf(v)
if rv.Kind() == reflect.Slice {
// assume slice of objects
out = []map[string]interface{}{}
} else {
// assume single object
out = map[string]interface{}{}
}

b, _ := json.Marshal(v)
json.Unmarshal(b, &out)

return slog.AnyValue(out)
}

0 comments on commit a414fec

Please sign in to comment.