func nodesFunc(b *Brain, used, missing *dep.Set) func(...string) ([]*dep.Node, error) {
	return func(s ...string) ([]*dep.Node, error) {
		result := []*dep.Node{}

		d, err := dep.NewCatalogNodesQuery(strings.Join(s, ""))
		if err != nil {
			return nil, err
		}

		used.Add(d)

		if value, ok := b.Recall(d); ok {
			return value.([]*dep.Node), nil
		}

		missing.Add(d)

		return result, nil
	}
}
func nodesFunc(b *Brain, used, missing *dep.Set) func(...string) ([]*dep.Node, error) {
	return func(s ...string) ([]*dep.Node, error) {
		result := []*dep.Node{}

		d, err := dep.NewCatalogNodesQuery(strings.Join(s, ""))
		if err != nil {
			return nil, err
		}

		used.Add(d)

		if value, ok := b.Recall(d); ok {
			return value.([]*dep.Node), nil
		}

		missing.Add(d)

		return result, nil
	}
}
func nodesFunc ( b * Brain , used , missing * dep . Set ) func ( ... string ) ( [ ] * dep . Node , error ) { return func ( s ... string ) ( [ ] * dep . Node , error ) { result := [ ] * dep . Node { } d , err := dep . NewCatalogNodesQuery ( strings . Join ( s , " " ) ) if err != nil { return nil , err } used . Add ( d ) if value , ok := b . Recall ( d ) ; ok { return value . ( [ ] * dep . Node ) , nil } missing . Add ( d ) return result , nil } }
// nodesFunc returns or accumulates catalog node dependencies.
nodesFunc returns or accumulates catalog node dependencies .