// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later package json import ( "encoding/json" "io" "github.com/spdx/tools-golang/spdx/common" ) type WriteOption func(*json.Encoder) func Indent(indent string) WriteOption { return func(e *json.Encoder) { e.SetIndent("", indent) } } func EscapeHTML(escape bool) WriteOption { return func(e *json.Encoder) { e.SetEscapeHTML(escape) } } // Write takes an SPDX Document and an io.Writer, and writes the document to the writer in JSON format. func Write(doc common.AnyDocument, w io.Writer, opts ...WriteOption) error { e := json.NewEncoder(w) for _, opt := range opts { opt(e) } return e.Encode(doc) }