From 797c1f166e028774c5469fe03459d8daccec9434 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 14 Dec 2024 22:38:24 -0600 Subject: [PATCH] Notes added by 'git notes append' --- 1ea7e72f27a75f041e104c262b5dff1b976c5865 | 58 ++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/1ea7e72f27a75f041e104c262b5dff1b976c5865 b/1ea7e72f27a75f041e104c262b5dff1b976c5865 index fde28cf..1e291af 100644 --- a/1ea7e72f27a75f041e104c262b5dff1b976c5865 +++ b/1ea7e72f27a75f041e104c262b5dff1b976c5865 @@ -1214,3 +1214,61 @@ func (all *Patchs) selectAllPatch() []*Patch { } // `autogen:uuid.marshal.pb.go` + +package forgepb + +// 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 *UuidConfigs) FormatJSON() string { + return protojson.Format(v) +} + +// marshal json +func (v *UuidConfigs) MarshalJSON() ([]byte, error) { + return protojson.Marshal(v) +} + +// unmarshal json +func (v *UuidConfigs) 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 *UuidConfigs) FormatTEXT() string { + return prototext.Format(v) +} + +// unmarshalTEXT. This reads the .text config file back in after the user edits it +func (v *UuidConfigs) UnmarshalTEXT(data []byte) error { + return prototext.Unmarshal(data, v) +} + +// marshal to wire. This is called winning. +func (v *UuidConfigs) Marshal() ([]byte, error) { + return proto.Marshal(v) +} + +// unmarshal from wire. You have won. +func (v *UuidConfigs) Unmarshal(data []byte) error { + return proto.Unmarshal(data, v) +}