forgepb/helpers.go

56 lines
1.2 KiB
Go

package forgepb
// TODO: autogen this
// 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"
// "google.golang.org/protobuf/proto"
)
// human readable JSON
func (p *Repos) 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()
// TODO: fix things so this is the default
func (p *Repos) FormatTEXT() string {
return prototext.Format(p)
}
// marshal json
func (p *Repos) MarshalJSON() ([]byte, error) {
return protojson.Marshal(p)
}
// unmarshal
func (p *Repos) UnmarshalJSON(data []byte) error {
return protojson.Unmarshal(data, p)
}
// marshal to wire
func (m *Repo) Marshal() ([]byte, error) {
return proto.Marshal(m)
}
// unmarshal from wire
func (m *Repo) Unmarshal(data []byte) error {
return proto.Unmarshal(data, m)
}
// marshal to wire
func (m *Repos) Marshal() ([]byte, error) {
return proto.Marshal(m)
}
// unmarshal from wire
func (m *Repos) Unmarshal(data []byte) error {
return proto.Unmarshal(data, m)
}