From e676c213b16cf997ad43bea23229eb4878ab5b16 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 10 Jan 2025 12:19:22 -0600 Subject: maybe a function I can use with patchsets.proto --- sortFunc.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'sortFunc.go') diff --git a/sortFunc.go b/sortFunc.go index 869a2ab..df52114 100644 --- a/sortFunc.go +++ b/sortFunc.go @@ -193,6 +193,25 @@ func (pf *File) appendUnique(w io.Writer) { fmt.Fprintln(w, "") } +func appendUniqueBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR, FruitLock string) { + fmt.Fprintln(w, "// TESTING") + fmt.Fprintln(w, "// enforces "+APPLE+"."+COLOR+" is unique in "+FRUIT+"."+APPLES) + fmt.Fprintln(w, "func (x *"+FRUIT+") AppendUniqueBy"+COLOR+"(newP *"+APPLE+") bool {") + fmt.Fprintln(w, " "+FruitLock+".Lock()") + fmt.Fprintln(w, " defer "+FruitLock+".Unlock()") + fmt.Fprintln(w, "") + fmt.Fprintln(w, " for _, p := range x."+APPLES+" {") + fmt.Fprintln(w, " if p."+COLOR+" == newP."+COLOR+" {") + fmt.Fprintln(w, " return false") + fmt.Fprintln(w, " }") + fmt.Fprintln(w, " }") + fmt.Fprintln(w, "") + fmt.Fprintln(w, " x."+APPLES+" = append(x."+APPLES+", newP)") + fmt.Fprintln(w, " return true") + fmt.Fprintln(w, "}") + fmt.Fprintln(w, "") +} + func (pf *File) replaceFunc(w io.Writer) { var MSG string = pf.Bases.Name var BASE string = pf.Base.Name -- cgit v1.2.3