work related to autogenpb IterBy() functions

This commit is contained in:
Jeff Carr 2025-03-18 15:15:19 -05:00
parent dba126cfdf
commit 88d25c85c2
1 changed files with 44 additions and 0 deletions

View File

@ -2,6 +2,7 @@ package gitpb
import (
"fmt"
"iter"
"github.com/go-cmd/cmd"
"go.wit.com/log"
@ -91,3 +92,46 @@ func (r *Repo) MergeToMaster() (*cmd.Status, error) {
r.Reload() // rescan the repo
return result, nil
}
/*
func (x *Repos) All2() iter.Seq[*Repo] {
repoMu.RLock()
defer repoMu.RUnlock()
// Create a new slice to hold pointers to each Repo
var tmp []*Repo
tmp = make([]*Repo, len(x.Repos))
for i, p := range x.Repos {
tmp[i] = p // Copy pointers for safe iteration
}
// return x.Repos
return nil
}
*/
func (x *Repos) IterAll() iter.Seq[*Repo] {
items := x.selectAllRepos()
return func(yield func(*Repo) bool) {
for _, v := range items {
if !yield(v) {
return
}
}
}
}
/*
func (x *Repos) IterByFullPath() iter.Seq[*Repo] {
items := x.selectAllRepos()
sort.Sort(RepoFullPath(items))
log.Info("MAKING Iter.Seq[] with length", len(items))
return func(yield func(*Repo) bool) {
for _, v := range items {
if !yield(v) {
return
}
}
}
}
*/