syft/imgbom/scope/file_resolver.go
2020-06-16 11:37:37 -04:00

26 lines
631 B
Go

package scope
import (
"fmt"
"github.com/anchore/imgbom/imgbom/scope/resolvers"
"github.com/anchore/stereoscope/pkg/file"
"github.com/anchore/stereoscope/pkg/image"
)
type FileResolver interface {
FilesByPath(paths ...file.Path) ([]file.Reference, error)
FilesByGlob(patterns ...string) ([]file.Reference, error)
}
func getFileResolver(img *image.Image, option Option) (FileResolver, error) {
switch option {
case SquashedScope:
return resolvers.NewImageSquashResolver(img)
case AllLayersScope:
return resolvers.NewAllLayersResolver(img)
default:
return nil, fmt.Errorf("bad option provided: %+v", option)
}
}