in internal/processor/processor.go [354:374]
func readAndProcessFile(res *Result, file fs.File, processFn processFunc) error {
s, err := file.Stat()
if err != nil {
return err
}
data := make([]byte, s.Size())
defer file.Close() // nolint: errcheck
if _, err := file.Read(data); err != nil {
return err
}
ext := filepath.Ext(s.Name())
// create a new unmarshaler
unmar := newUnmarshaler(data, ext)
// pass the data to the supplied process function
if err := processFn(res, unmar); err != nil {
return err
}
return nil
}