xref: /aosp_15_r20/external/spdx-tools/tvsaver/tvsaver.go (revision ba677afa8f67bb56cbc794f4d0e378e0da058e16)
1// Package tvsaver is used to save tools-golang data structures
2// as SPDX tag-value documents.
3// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
4package tvsaver
5
6import (
7	"io"
8
9	"github.com/spdx/tools-golang/spdx/v2_1"
10	"github.com/spdx/tools-golang/spdx/v2_2"
11	"github.com/spdx/tools-golang/spdx/v2_3"
12	"github.com/spdx/tools-golang/tvsaver/saver2v1"
13	"github.com/spdx/tools-golang/tvsaver/saver2v2"
14	"github.com/spdx/tools-golang/tvsaver/saver2v3"
15)
16
17// Save2_1 takes an io.Writer and an SPDX Document (version 2.1),
18// and writes it to the writer in tag-value format. It returns error
19// if any error is encountered.
20func Save2_1(doc *v2_1.Document, w io.Writer) error {
21	return saver2v1.RenderDocument2_1(doc, w)
22}
23
24// Save2_2 takes an io.Writer and an SPDX Document (version 2.2),
25// and writes it to the writer in tag-value format. It returns error
26// if any error is encountered.
27func Save2_2(doc *v2_2.Document, w io.Writer) error {
28	return saver2v2.RenderDocument2_2(doc, w)
29}
30
31// Save2_3 takes an io.Writer and an SPDX Document (version 2.3),
32// and writes it to the writer in tag-value format. It returns error
33// if any error is encountered.
34func Save2_3(doc *v2_3.Document, w io.Writer) error {
35	return saver2v3.RenderDocument2_3(doc, w)
36}
37