github.com/anthropics/anthropic-sdk-go@v1.70.1/packages/param/null.go (about) 1 package param 2 3 import "github.com/anthropics/anthropic-sdk-go/internal/encoding/json/sentinel" 4 5 // NullMap returns a non-nil map with a length of 0. 6 // When used with [MarshalObject] or [MarshalUnion], it will be marshaled as null. 7 // 8 // It is unspecified behavior to mutate the map returned by [NullMap]. 9 func NullMap[MapT ~map[string]T, T any]() MapT { 10 return sentinel.NewNullSentinel(func() MapT { return make(MapT, 1) }) 11 } 12 13 // NullSlice returns a non-nil slice with a length of 0. 14 // When used with [MarshalObject] or [MarshalUnion], it will be marshaled as null. 15 // 16 // It is unspecified behavior to mutate the slice returned by [NullSlice]. 17 func NullSlice[SliceT ~[]T, T any]() SliceT { 18 return sentinel.NewNullSentinel(func() SliceT { return make(SliceT, 0, 1) }) 19 }