github.com/wawandco/ox@v0.13.6-0.20230809142027-913b3d837f2a/pkg/buffalotools/partialfeeder.go (about) 1 package buffalotools 2 3 import ( 4 "io" 5 "io/fs" 6 "strings" 7 ) 8 9 // NewPartialFeeder returns a partialFeeder that looks up for 10 // template files in the given FS and returns its contents as string. 11 func NewPartialFeeder(fs fs.FS) func(string) (string, error) { 12 return func(name string) (string, error) { 13 name = strings.TrimPrefix(name, "/") 14 15 f, err := fs.Open(name) 16 if err != nil { 17 return "", err 18 } 19 20 b, err := io.ReadAll(f) 21 if err != nil { 22 return "", err 23 } 24 25 return string(b), nil 26 } 27 }