diff options
Diffstat (limited to 'helpers.go')
| -rw-r--r-- | helpers.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/helpers.go b/helpers.go new file mode 100644 index 0000000..93d0a73 --- /dev/null +++ b/helpers.go @@ -0,0 +1,32 @@ +package zoopb + +// functions to import and export the protobuf +// data to and from config files + +import ( + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/encoding/prototext" + // "google.golang.org/protobuf/proto" +) + +// human readable JSON +func (p *Packages) FormatJSON() string { + return protojson.Format(p) +} + +// apparently this isn't supposed to be used? +// https://protobuf.dev/reference/go/faq/#unstable-text +// this is a shame because this is much nicer output than JSON Format() +func (p *Packages) FormatTEXT() string { + return prototext.Format(p) +} + +// marshal +func (p *Packages) MarshalJSON() ([]byte, error) { + return protojson.Marshal(p) +} + +// unmarshal +func (p *Packages) UnmarshalJSON(data []byte) error { + return protojson.Unmarshal(data, p) +} |
