// Code generated by "esc "; DO NOT EDIT. package js import ( "bytes" "compress/gzip" "encoding/base64" "io/ioutil" "net/http" "os" "path" "sync" "time" ) type _escLocalFS struct{} var _escLocal _escLocalFS type _escStaticFS struct{} var _escStatic _escStaticFS type _escDirectory struct { fs http.FileSystem name string } type _escFile struct { compressed string size int64 modtime int64 local string isDir bool once sync.Once data []byte name string } func (_escLocalFS) Open(name string) (http.File, error) { f, present := _escData[path.Clean(name)] if !present { return nil, os.ErrNotExist } return os.Open(f.local) } func (_escStaticFS) prepare(name string) (*_escFile, error) { f, present := _escData[path.Clean(name)] if !present { return nil, os.ErrNotExist } var err error f.once.Do(func() { f.name = path.Base(name) if f.size == 0 { return } var gr *gzip.Reader b64 := base64.NewDecoder(base64.StdEncoding, bytes.NewBufferString(f.compressed)) gr, err = gzip.NewReader(b64) if err != nil { return } f.data, err = ioutil.ReadAll(gr) }) if err != nil { return nil, err } return f, nil } func (fs _escStaticFS) Open(name string) (http.File, error) { f, err := fs.prepare(name) if err != nil { return nil, err } return f.File() } func (dir _escDirectory) Open(name string) (http.File, error) { return dir.fs.Open(dir.name + name) } func (f *_escFile) File() (http.File, error) { type httpFile struct { *bytes.Reader *_escFile } return &httpFile{ Reader: bytes.NewReader(f.data), _escFile: f, }, nil } func (f *_escFile) Close() error { return nil } func (f *_escFile) Readdir(count int) ([]os.FileInfo, error) { return nil, nil } func (f *_escFile) Stat() (os.FileInfo, error) { return f, nil } func (f *_escFile) Name() string { return f.name } func (f *_escFile) Size() int64 { return f.size } func (f *_escFile) Mode() os.FileMode { return 0 } func (f *_escFile) ModTime() time.Time { return time.Unix(f.modtime, 0) } func (f *_escFile) IsDir() bool { return f.isDir } func (f *_escFile) Sys() interface{} { return f } // _escFS returns a http.Filesystem for the embedded assets. If useLocal is true, // the filesystem's contents are instead used. func _escFS(useLocal bool) http.FileSystem { if useLocal { return _escLocal } return _escStatic } // _escDir returns a http.Filesystem for the embedded assets on a given prefix dir. // If useLocal is true, the filesystem's contents are instead used. func _escDir(useLocal bool, name string) http.FileSystem { if useLocal { return _escDirectory{fs: _escLocal, name: name} } return _escDirectory{fs: _escStatic, name: name} } // _escFSByte returns the named file from the embedded assets. If useLocal is // true, the filesystem's contents are instead used. func _escFSByte(useLocal bool, name string) ([]byte, error) { if useLocal { f, err := _escLocal.Open(name) if err != nil { return nil, err } b, err := ioutil.ReadAll(f) _ = f.Close() return b, err } f, err := _escStatic.prepare(name) if err != nil { return nil, err } return f.data, nil } // _escFSMustByte is the same as _escFSByte, but panics if name is not present. func _escFSMustByte(useLocal bool, name string) []byte { b, err := _escFSByte(useLocal, name) if err != nil { panic(err) } return b } // _escFSString is the string version of _escFSByte. func _escFSString(useLocal bool, name string) (string, error) { b, err := _escFSByte(useLocal, name) return string(b), err } // _escFSMustString is the string version of _escFSMustByte. func _escFSMustString(useLocal bool, name string) string { return string(_escFSMustByte(useLocal, name)) } var _escData = map[string]*_escFile{ "/helpers.js": { local: "pkg/js/helpers.js", size: 18327, modtime: 0, compressed: ` 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 E9whkYR1QP3j3ECy+P8BAAD//1ihD1KXRwAA `, }, "/": { isDir: true, local: "pkg/js", }, }