all repos — searchix @ 9015baf955c94a806c01b3dcd5648c8e68ad2685

Search engine for NixOS, nix-darwin, home-manager and NUR users

refactor: ensure errors have stack traces

Alan Pearce
commit

9015baf955c94a806c01b3dcd5648c8e68ad2685

parent

7bb77ff5729cc9434afee895a470fd3b4c12e6d1

1 file changed, 6 insertions(+), 7 deletions(-)

changed files
M internal/importer/package.gointernal/importer/package.go
@@ -14,7 +14,7 @@ "go.alanpearce.eu/x/log"
"github.com/bcicen/jstream" "github.com/mitchellh/mapstructure" - "github.com/pkg/errors" + "gitlab.com/tozd/go/errors" ) type packageJSON struct {
@@ -69,7 +69,7 @@ infile io.ReadCloser,
source *config.Source, log *log.Logger, programsDB *programs.DB, -) (*PackageIngester, error) { +) (*PackageIngester, errors.E) { i := &PackageIngester{ dec: jstream.NewDecoder(infile, 2).EmitKV(), log: log,
@@ -116,9 +116,9 @@
return l } -func (i *PackageIngester) Process(ctx context.Context) (<-chan nix.Importable, <-chan error) { +func (i *PackageIngester) Process(ctx context.Context) (<-chan nix.Importable, <-chan errors.E) { results := make(chan nix.Importable) - errs := make(chan error) + errs := make(chan errors.E) if i.programs != nil { err := i.programs.Open()
@@ -135,7 +135,7 @@ defer close(errs)
outer: for mv := range i.dec.Stream() { - var err error + var err errors.E var programs []string select { case <-ctx.Done():
@@ -222,8 +222,7 @@ }
} i.pkg = packageJSON{} - err = i.ms.Decode(x) // stores in i.pkg - if err != nil { + if err := i.ms.Decode(x); err != nil { // stores in i.pkg errs <- errors.WithMessagef(err, "failed to decode package %#v", x) continue