summaryrefslogtreecommitdiff
path: root/find.go
blob: 6f876c0c727bf81df8a089feff2f99ec494c7cff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
}