diff options
Diffstat (limited to 'iterByMode.go')
| -rw-r--r-- | iterByMode.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/iterByMode.go b/iterByMode.go new file mode 100644 index 0000000..37866ec --- /dev/null +++ b/iterByMode.go @@ -0,0 +1,25 @@ +package forgepb + +import ( + "iter" + "strings" + + "go.wit.com/lib/protobuf/gitpb" +) + +func (f *Forge) IterByMode() iter.Seq[*gitpb.Repo] { + if f == nil { + panic("forge is not initialized") + } + repos := gitpb.NewRepos() + if f.Config.Mode == ForgeMode_NORMAL { + for r := range f.Repos.IterAll() { + if !strings.HasPrefix(r.Namespace, "go.wit.com") { + continue + } + repos.Append(r) + } + return repos.IterByNamespace() + } + return f.Repos.IterAll() +} |
