github.com/buildpacks/pack@v0.33.3-0.20240516162812-884dd1837311/internal/builder/writer/json.go (about) 1 package writer 2 3 import ( 4 "bytes" 5 "encoding/json" 6 ) 7 8 type JSON struct { 9 StructuredFormat 10 } 11 12 func NewJSON() BuilderWriter { 13 return &JSON{ 14 StructuredFormat: StructuredFormat{ 15 MarshalFunc: func(i interface{}) ([]byte, error) { 16 buf, err := json.Marshal(i) 17 if err != nil { 18 return []byte{}, err 19 } 20 formattedBuf := bytes.NewBuffer(nil) 21 err = json.Indent(formattedBuf, buf, "", " ") 22 return formattedBuf.Bytes(), err 23 }, 24 }, 25 } 26 }