From 14ac7c96ab1a1f9efe74c9c99f2e8e6c7b8773e7 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 16 Dec 2024 00:36:27 -0600 Subject: [PATCH] Notes added by 'git notes append' --- 6f43f9a96c55af2fc1111d82dafb6e44196f87f6 | 58 ++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/6f43f9a96c55af2fc1111d82dafb6e44196f87f6 b/6f43f9a96c55af2fc1111d82dafb6e44196f87f6 index b4d3048..4299f62 100644 --- a/6f43f9a96c55af2fc1111d82dafb6e44196f87f6 +++ b/6f43f9a96c55af2fc1111d82dafb6e44196f87f6 @@ -1942,3 +1942,61 @@ func file_experiments_proto_init() { } // `autogen:hypervisor.marshal.pb.go` + +package virtbuf + +// This file was autogenerated with autogenpb. +// go install go.wit.com/apps/autogenpb@latest +// +// You can use it on simple protobuf files +// The .proto file must have a singular and plural form of a message +// (for those of you that know ruby on rails, it's like that) +// +// You can mark which repos you want to auto generate sort.pb.go and marshal.pb.go files for +// +// For an example, +// go-clone go.wit.com/lib/protobuf/gitpb +// + +import ( + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/encoding/prototext" + "google.golang.org/protobuf/proto" +) + +// human readable JSON +func (v *Hypervisors) FormatJSON() string { + return protojson.Format(v) +} + +// marshal json +func (v *Hypervisors) MarshalJSON() ([]byte, error) { + return protojson.Marshal(v) +} + +// unmarshal json +func (v *Hypervisors) UnmarshalJSON(data []byte) error { + return protojson.Unmarshal(data, v) +} + +// apparently this isn't stable, but it's awesomely better +// https://protobuf.dev/reference/go/faq/#unstable-text +// it's so great for config files, I'm using it by default to try to fix the problems with it +func (v *Hypervisors) FormatTEXT() string { + return prototext.Format(v) +} + +// unmarshalTEXT. This reads the .text config file back in after the user edits it +func (v *Hypervisors) UnmarshalTEXT(data []byte) error { + return prototext.Unmarshal(data, v) +} + +// marshal to wire. This is called winning. +func (v *Hypervisors) Marshal() ([]byte, error) { + return proto.Marshal(v) +} + +// unmarshal from wire. You have won. +func (v *Hypervisors) Unmarshal(data []byte) error { + return proto.Unmarshal(data, v) +}