diff options
Diffstat (limited to 'sort.go')
| -rw-r--r-- | sort.go | 21 |
1 files changed, 15 insertions, 6 deletions
@@ -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 } |
