func (s *FilesSource) Init(fields []Field) error {
	files, err := loadFiles(s.globs, s.globFunc, s.openFunc)
	if err != nil {
		return err
	}
	s.ReadersSource = *NewReadersSource(files...)
	return s.ReadersSource.Init(fields)
}
Init tries to find files on the filesystem matching the supplied globs and reads them.
Afterwards the underlying ReadersSource is initialized.
package alligotor
import (
	"io"
	"io/fs"
	"os"
	"path/filepath"
)
type (
	globFunc = func(pattern string) ([]string, error)
	openFunc = func(path string) (io.Reader, error)
)
type FilesSource struct {
	globs []string
	globFunc globFunc
	openFunc openFunc
	ReadersSource
}