123456789101112131415161718192021222324252627282930313233 |
- // 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)
- }
|