Skip to content

Commit

Permalink
Export objectMarshalerPtr (#1171)
Browse files Browse the repository at this point in the history
We should export objectMarshalerPtr since it's exposed in a public
API - ObjectValues[T any, P objectMarshalerPtr[T]].
  • Loading branch information
sywhang authored Aug 30, 2022
1 parent 9abd14b commit 7681a0a
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions array_go118.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ func (os objects[T]) MarshalLogArray(arr zapcore.ArrayEncoder) error {
return nil
}

// objectMarshalerPtr is a constraint that specifies that the given type
// ObjectMarshalerPtr is a constraint that specifies that the given type
// implements zapcore.ObjectMarshaler on a pointer receiver.
type objectMarshalerPtr[T any] interface {
type ObjectMarshalerPtr[T any] interface {
*T
zapcore.ObjectMarshaler
}
Expand All @@ -105,11 +105,11 @@ type objectMarshalerPtr[T any] interface {
//
// var requests []*Request = ...
// logger.Info("sending requests", zap.Objects("requests", requests))
func ObjectValues[T any, P objectMarshalerPtr[T]](key string, values []T) Field {
func ObjectValues[T any, P ObjectMarshalerPtr[T]](key string, values []T) Field {
return Array(key, objectValues[T, P](values))
}

type objectValues[T any, P objectMarshalerPtr[T]] []T
type objectValues[T any, P ObjectMarshalerPtr[T]] []T

func (os objectValues[T, P]) MarshalLogArray(arr zapcore.ArrayEncoder) error {
for i := range os {
Expand Down

0 comments on commit 7681a0a

Please sign in to comment.