fix: store only data from current entity in index
1 file changed, 4 insertions(+), 3 deletions(-)
changed files
M internal/importer/package.go → internal/importer/package.go
@@ -39,7 +39,7 @@ type PackageIngester struct { dec *jstream.Decoder ms *mapstructure.Decoder - pkg *packageJSON + pkg packageJSON infile io.ReadCloser source *config.Source }@@ -62,14 +62,14 @@ func NewPackageProcessor(infile io.ReadCloser, source *config.Source) (*PackageIngester, error) { i := &PackageIngester{ dec: jstream.NewDecoder(infile, 2).EmitKV(), - pkg: &packageJSON{}, + pkg: packageJSON{}, infile: infile, source: source, } ms, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{ ZeroFields: true, - Result: i.pkg, + Result: &i.pkg, Squash: true, DecodeHook: mapstructure.TextUnmarshallerHookFunc(), })@@ -203,6 +203,7 @@ ) } } + i.pkg = packageJSON{} err = i.ms.Decode(x) // stores in i.pkg if err != nil { errs <- errors.WithMessagef(err, "failed to decode package %#v", x)