summaryrefslogtreecommitdiff
path: root/sort.go
diff options
context:
space:
mode:
Diffstat (limited to 'sort.go')
-rw-r--r--sort.go21
1 files changed, 15 insertions, 6 deletions
diff --git a/sort.go b/sort.go
index ad59978..e10f1b1 100644
--- a/sort.go
+++ b/sort.go
@@ -76,6 +76,11 @@ func (pf *File) addSortByMsg(parent *MsgName, find *MsgVar, wSort, wFind io.Writ
return fmt.Errorf("failed to find struct %s", find.VarType)
}
log.Printf("FOUND!: %s %s for %s\n", find.VarName, find.VarType, found.Name)
+ var COLORS []string
+ var FRUIT string = parent.Name
+ var APPLES string = cases.Title(language.English, cases.NoLower).String(find.VarName)
+ var APPLE string = find.VarType
+
for _, v := range found.Vars {
if v.HasSort {
// log.Printf("\tSort!: %s %s for %s\n", find.VarName, find.VarType, v.VarName)
@@ -83,20 +88,24 @@ func (pf *File) addSortByMsg(parent *MsgName, find *MsgVar, wSort, wFind io.Writ
log.Printf("\t(x %s) SortdBy%s() *%sIter\n", parent.Name, newS, find.VarType)
}
if v.HasUnique {
- // log.Printf("\tUniq!: %s %s for %s\n", find.VarName, find.VarType, v.VarName)
newS := cases.Title(language.English, cases.NoLower).String(v.VarName)
- log.Printf("\t(x %s) AppendUniqueBy%s(%s)\n", parent.Name, newS, find.VarType)
- var FRUIT string = parent.Name
- var APPLES string = cases.Title(language.English, cases.NoLower).String(find.VarName)
- var APPLE string = find.VarType
var COLOR string = newS
+ COLORS = append(COLORS, COLOR)
+
+ log.Printf("\t(x %s) AppendUniqueBy%s(%s)\n", parent.Name, newS, find.VarType)
parent.appendUniqueBy(wFind, FRUIT, APPLES, APPLE, COLOR)
- log.Printf("\t(x %s) FindBy%s(string) *%s\n", parent.Name, newS, find.VarType)
+
if v.VarType == "string" {
+ log.Printf("\t(x %s) FindBy%s(string) *%s\n", FRUIT, COLOR, APPLE)
+ parent.findBy(wFind, FRUIT, APPLES, APPLE, COLOR)
log.Printf("\t(x %s) DeleteBy%s(string) *%s\n", parent.Name, newS, find.VarType)
+ parent.deleteBy(wFind, FRUIT, APPLES, APPLE, COLOR)
}
}
}
+ if len(COLORS) > 0 {
+ parent.appendUnique(wFind, FRUIT, APPLES, APPLE, COLORS)
+ }
return nil
}