source.go 577 B

12345678910111213141516171819202122232425262728293031323334
  1. package query
  2. import (
  3. "context"
  4. "github.com/Jguer/aur"
  5. "github.com/hashicorp/go-multierror"
  6. )
  7. // queryAUR searches AUR and narrows based on subarguments.
  8. func queryAUR(ctx context.Context,
  9. aurClient aur.QueryClient,
  10. pkgS []string, searchBy string,
  11. ) ([]aur.Pkg, error) {
  12. var (
  13. err error
  14. by = getSearchBy(searchBy)
  15. )
  16. for _, word := range pkgS {
  17. r, errM := aurClient.Get(ctx, &aur.Query{
  18. Needles: []string{word},
  19. By: by,
  20. Contains: true,
  21. })
  22. if errM == nil {
  23. return r, nil
  24. }
  25. err = multierror.Append(err, errM)
  26. }
  27. return nil, err
  28. }