don't globally expose these internal sort things

This commit is contained in:
Jeff Carr 2025-03-19 07:04:53 -05:00
parent 3f296ee1d5
commit 63af32b843
2 changed files with 6 additions and 5 deletions

View File

@ -121,7 +121,7 @@ func (pb *Files) makeNewSortfile(pf *File) error {
// func newSortBy(w io.Writer, STRUCT, ITER, SORTNAME, SORTBY, SELECT string) string {
if PARENT == VARNAME {
sortby = "SortBy" + v.VarName
sortname := s.VarType + v.VarName
sortname := "sort" + s.VarType + v.VarName
selectName := "selectAll" + VARNAME
funcdef := pmsg.newSortBy(wSort, PARENT, s.VarType, sortname, sortby, selectName, v.VarName)
log.Printf("Adding %s\n", funcdef)

View File

@ -83,14 +83,15 @@ func newIter(w io.Writer, msg *MsgName) string {
// TODO; figure out what types this actually works on
// TODO; add timestamppb compare
func (msg *MsgName) newSortType(w io.Writer, STRUCT, VARNAME string) string {
SORTNAME := "sort" + STRUCT + VARNAME
// Can these be lower case? Should they be lower case? maybe sort.Sort() requires upper case?
fmt.Fprintln(w, "// sort struct by", VARNAME)
fmt.Fprintln(w, "type "+STRUCT+VARNAME+" []*"+STRUCT+"")
fmt.Fprintln(w, "type "+SORTNAME+" []*"+STRUCT+"")
fmt.Fprintln(w, "")
fmt.Fprintln(w, "func (a "+STRUCT+VARNAME+") Len() int { return len(a) }")
fmt.Fprintln(w, "func (a "+STRUCT+VARNAME+") Less(i, j int) bool { return a[i]."+VARNAME+" < a[j]."+VARNAME+" }")
fmt.Fprintln(w, "func (a "+STRUCT+VARNAME+") Swap(i, j int) { a[i], a[j] = a[j], a[i] }")
fmt.Fprintln(w, "func (a "+SORTNAME+") Len() int { return len(a) }")
fmt.Fprintln(w, "func (a "+SORTNAME+") Less(i, j int) bool { return a[i]."+VARNAME+" < a[j]."+VARNAME+" }")
fmt.Fprintln(w, "func (a "+SORTNAME+") Swap(i, j int) { a[i], a[j] = a[j], a[i] }")
fmt.Fprintln(w, "")
return "type " + STRUCT + VARNAME + " []*" + STRUCT + " // { return a[i]." + VARNAME + " < a[j]." + VARNAME + " }"