package store
import (
"fmt"
"github.com/gobuffalo/packr/v2/jam/parser"
)
var _ Store = &FnStore{}
type FnStore struct {
FileNamesFn func(*parser.Box) ([]string, error)
FilesFn func(*parser.Box) ([]*parser.File, error)
PackFn func(*parser.Box) error
CleanFn func(*parser.Box) error
}
func (f *FnStore) FileNames(box *parser.Box) ([]string, error) {
if f.FileNamesFn == nil {
return []string{}, fmt.Errorf("FileNames not implemented")
}
return f.FileNames(box)
}
func (f *FnStore) Files(box *parser.Box) ([]*parser.File, error) {
if f.FilesFn == nil {
return []*parser.File{}, fmt.Errorf("Files not implemented")
}
return f.FilesFn(box)
}
func (f *FnStore) Pack(box *parser.Box) error {
if f.PackFn == nil {
return fmt.Errorf("Pack not implemented")
}
return f.PackFn(box)
}
func (f *FnStore) Clean(box *parser.Box) error {
if f.CleanFn == nil {
return fmt.Errorf("Clean not implemented")
}
return f.Clean(box)
}