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" // "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 json func (p *Packages) MarshalJSON() ([]byte, error) { return protojson.Marshal(p) } // unmarshal func (p *Packages) UnmarshalJSON(data []byte) error { return protojson.Unmarshal(data, p) } // marshal to wire func (p *Packages) Marshal() ([]byte, error) { return proto.Marshal(p) } // unmarshal from wire func (p *Packages) Unmarshal(data []byte) error { return proto.Unmarshal(data, p) } // marshal to wire func (m *Machine) Marshal() ([]byte, error) { return proto.Marshal(m) } // unmarshal from wire func (m *Machine) Unmarshal(data []byte) error { return proto.Unmarshal(data, m) } // marshal to wire func (m *Machines) Marshal() ([]byte, error) { return proto.Marshal(m) } // unmarshal from wire func (m *Machines) Unmarshal(data []byte) error { return proto.Unmarshal(data, m) }