1package file
2
3import (
4	"bytes"
5	"io"
6
7	"github.com/gobuffalo/packd"
8)
9
10// File represents a virtual, or physical, backing of
11// a file object in a Box
12type File = packd.File
13
14// FileMappable types are capable of returning a map of
15// path => File
16type FileMappable interface {
17	FileMap() map[string]File
18}
19
20// NewFile returns a virtual File implementation
21func NewFile(name string, b []byte) (File, error) {
22	return packd.NewFile(name, bytes.NewReader(b))
23}
24
25// NewDir returns a virtual dir implementation
26func NewDir(name string) (File, error) {
27	return packd.NewDir(name)
28}
29
30func NewFileR(name string, r io.Reader) (File, error) {
31	return packd.NewFile(name, r)
32}
33