diff options
Diffstat (limited to 'find.go')
| -rw-r--r-- | find.go | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -0,0 +1,25 @@ +package zoopb + +import ( + "errors" +) + +func (m *Machine) FindByPackageName(name string) (*Package, error) { + return m.Packages.FindByPackageName(name) +} + +// used when you want to inforce the protobuf only has one package per name +func (all *Packages) FindByPackageName(name string) (*Package, error) { + var found *Package + for p := range all.IterByPackage() { + if name == p.Package { + if found != nil { + return found, errors.New("duplicate package names in protobuf") + } + found = p + } + } + + // log.Info("package name not found", name) + return found, nil +} |
