261 lines
26 KiB
Go
261 lines
26 KiB
Go
|
// Code generated by go-bindata.
|
||
|
// sources:
|
||
|
// dist-fetch/bundle.js
|
||
|
// dist-fetch/bundle.js.map
|
||
|
// DO NOT EDIT!
|
||
|
|
||
|
package fetch
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"compress/gzip"
|
||
|
"fmt"
|
||
|
"io"
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
"strings"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
func bindataRead(data []byte, name string) ([]byte, error) {
|
||
|
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
||
|
if err != nil {
|
||
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
||
|
}
|
||
|
|
||
|
var buf bytes.Buffer
|
||
|
_, err = io.Copy(&buf, gz)
|
||
|
clErr := gz.Close()
|
||
|
|
||
|
if err != nil {
|
||
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
||
|
}
|
||
|
if clErr != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
return buf.Bytes(), nil
|
||
|
}
|
||
|
|
||
|
type asset struct {
|
||
|
bytes []byte
|
||
|
info os.FileInfo
|
||
|
}
|
||
|
|
||
|
type bindataFileInfo struct {
|
||
|
name string
|
||
|
size int64
|
||
|
mode os.FileMode
|
||
|
modTime time.Time
|
||
|
}
|
||
|
|
||
|
func (fi bindataFileInfo) Name() string {
|
||
|
return fi.name
|
||
|
}
|
||
|
func (fi bindataFileInfo) Size() int64 {
|
||
|
return fi.size
|
||
|
}
|
||
|
func (fi bindataFileInfo) Mode() os.FileMode {
|
||
|
return fi.mode
|
||
|
}
|
||
|
func (fi bindataFileInfo) ModTime() time.Time {
|
||
|
return fi.modTime
|
||
|
}
|
||
|
func (fi bindataFileInfo) IsDir() bool {
|
||
|
return false
|
||
|
}
|
||
|
func (fi bindataFileInfo) Sys() interface{} {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
var _distFetchBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\xeb\x73\xdb\xb8\x11\xff\x6c\xfd\x15\xeb\xb4\x13\x92\x3e\x1d\xe9\x24\xf7\x1a\x33\xec\x4d\xce\xe3\x36\xb9\xcb\x25\x99\xd4\xd7\x7e\xd0\x79\x38\x30\x09\x49\x8c\x29\x92\x01\x40\x3f\x46\x51\xff\xf6\x0e\x5e\x24\x40\x52\xf4\x23\xf6\x34\xd7\x39\x7d\x11\x85\x7d\xfd\x76\x17\x58\x2c\x40\x05\x7b\xe2\x13\x80\x3b\xaf\x8b\x84\x65\x65\xe1\xae\xca\xb4\xce\x31\xf5\x60\x0d\x41\x00\x17\xf8\xb4\x42\xc9\xd9\x4f\x65\xc9\x28\x23\xa8\x9a\x34\x12\x3b\x41\x00\xc7\x4b\x0c\x92\x1f\x12\x94\x2c\xb1\x41\x3d\x47\x04\xb2\x82\x32\x94\xe7\x38\xfd\x55\xea\x84\x08\xd6\x9b\xb0\x61\xea\xeb\x22\xf8\x63\x9d\x11\x0c\x1a\x8c\xc1\xa1\x87\x20\x8e\x15\xa6\x58\x71\xc7\xb1\xc2\xfc\x2a\xf5\x60\x3d\xa4\x9d\xab\x3f\x5c\xe2\xe4\x0c\xb2\xb9\xc6\x9b\x51\xc8\x8a\x1e\xea\x9d\x6c\xee\x76\x51\xcf\xb4\xf6\x13\xcf\xe4\xdc\x21\x98\xd5\xa4\xe8\x39\xd9\xb2\xfb\xf8\xb2\x2a\x09\xa3\x83\x1e\x0b\x4c\x04\x23\x86\x01\x41\x81\x2f\x34\x2e\x17\x15\x29\x54\x35\x83\x8c\x41\x56\xb0\x12\xd8\x52\x05\xd7\xb2\xce\xc3\xab\x24\xa2\x11\x08\x3c\xe2\x16\x68\x05\xe9\x00\xd6\x9b\xa9\x45\xc8\xd2\x03\xd0\x62\x36\x25\x2f\x51\x8a\xd3\x03\x98\xa3\x9c\x5a\xb1\x1a\x4e\x25\x77\xec\xe8\x12\x27\x35\xc3\x02\xbb\x42\x39\x90\xd2\x9d\x55\x2f\x62\x09\xca\x73\x95\x4d\x1d\xbd\xa9\xd2\xa0\xbf\xdb\xf1\x81\x99\xe0\x6d\x85\xf4\xf7\x1c\x2d\x4c\x3c\x88\x82\x74\xac\x0f\xc8\x97\x04\x88\x80\x91\x1a\x6f\xd5\xf8\x5e\xe6\x9f\xeb\x54\x90\xa0\x9c\x1b\x26\x4c\x76\x35\x57\x6c\x0f\x42\x83\x63\xd3\xb7\x62\x2f\x0f\x2e\x43\xcd\x88\x52\x28\x4f\x3f\xe0\x84\x81\xdb\xc6\x41\x51\xe2\xd8\x9c\x2b\x03\x61\xf2\x57\x10\x69\x35\xdb\xd6\x63\xcf\x60\x6f\xb1\x0c\x29\x4e\x06\xa6\xe3\x36\x0b\xad\x7c\x55\x9f\xe6\x59\x12\x57\x88\x2d\xe3\xf8\x1a\x0b\x15\x44\xf0\xe8\xd1\x36\x9d\xaf\x4b\x94\x02\x2e\x18\xb9\x6a\x12\x5d\xa4\xa0\xc2\xaf\xe2\x6e\x48\x28\xc2\x50\x4d\xd9\x37\xe6\x12\x6c\x9a\x80\x7e\xfe\xc7\x40\xec\xce\x26\xc1\x1e\xec\x83\x18\xdb\xed\xb3\xee\xee\xfd\x3e\x01\xe0\x04\xf0\x83\xac\x48\xf1\xa5\xff\x81\x02\x27\x4c\x00\x7e\xdf\xa6\x3a\x80\x4e\x31\x9f\xc2\xe8\x9a\x81\xf5\x64\xb2\xe3\xd4\x14\x03\x65\x24\x4b\x98\x13\x4e\x76\x26\x43\xb1\x77\x83\xbd\x5d\x35\x2f\x7e\x9c\x63\x96\x2c\x77\xfd\x40\x7c\xc3\x5e\x00\x4f\xbc\xf0\x5a\xa1\x97\x18\xa5\x98\xd0\x5d\x3f\x58\xca\x27\x2e\xf8\xdd\x0d\x04\xdf\xe3\x8f\x35\xa6\x6c\xd7\x0f\x88\x7c\xe2\x82\xdf\xdf\x48\x90\x56\x65\x41\xb1\x90\x94\x8f\x5c\xf4\x07\x2f\x9c\xa8\x58\x89\x3a\x08\x4f\xb6\xe6\x60\xdb\xc7\xca\xcd\x7f\x02\x69\xef\x6b\x51\x3a\x88\x1d\x9d\xf1\x9c\x8d\x4f\x93\x3b\xe5\x32\xd8\x83\x7f\x1f\xfd\xf4\xee\xc5\xe1\x2f\xf0\xaf\x17\xef\xe1\xd5\x9b\x9f\x8f\x0e\x8f\x5f\xbd\x7d\x03\x7b\x41\xbb\xcf\x2f\xf2\xf2\x14\xe5\x1e\xac\xed\xa2\x04\x11\x48\xca\xec\x91\x00\xff\x88\xef\x21\xdb\x82\xfc\xf5\x2e\x77\xfd\x14\x9d\xe2\x5c\x7b\x4e\x19\x5a\xe0\x68\xdf\xf2\x3d\x80\xa7\x3c\x55\x23\xb0\x36\xb2\xf2\x37\xae\xb5\x30\x79\x1f\x42\x74\xa5\xcd\x68\x08\x1b\xd7\xf3\x3c\xcf\xce\xde\xd3\x5b\x67\xaf\x9b\xbe\x6b\x7d\xb8\x75\xfe\xee\x75\x31\xbe\x15\xa5\xde\x4f\xf1\x3c\x2b\xf0\x3b\x52\x56\x98\xb0\xab\x36\x5c\x4e\x1c\x63\x2a\xab\xad\x33\x85\xf5\x64\x07\xe0\x1c\xe5\x35\x3e\x10\x3b\xd8\x64\x67\xc3\xc3\xaf\xb8\x67\x4e\x8a\xe7\xa8\xce\x99\xc3\x33\x2b\x1c\x0c\x27\xa2\x9f\x50\x8b\x6c\x24\xdf\xd6\xf2\x7b\xe6\x35\x72\x6a\x61\x8d\x0b\xb6\xab\xef\x5b\x4f\x38\xd5\xb4\x74\x02\x84\x9b\x15\x55\xcd\xa6\x90\x15\x19\xf3\xb4\x0f\x84\xb7\x84\x10\x89\x06\x49\xc1\xb3\xf8\xc2\x96\x8d\x36\x6c\xd2\x90\x2b\x8d\x80\x9e\x3d\x9c\xf6\x8e\x94\xab\x8c\xe2\x66\x76\x81\x4b\x30\x2d\xf3\x73\x3c\x05\x82\x79\x84\x95\xe1\x46\x28\x8e\x2b\x92\x9d\x23\x86\xe3\x58\x80\x8c\xb1\xec\x6c\x5c\x82\x3f\x72\x19\x3a\x85\x56\x17\x26\xa4\x91\x07\xde\x6a\x76\x46\x1a\xad\xd2\x96\xa0\x86\x9a\xb8\x91\x60\x2d\x2e\x01\x8d\x43\xd4\x6c\x1b\xf9\x20\xbe\x84\x40\x6f\xed\xf6\x93\xdc\x29\x74\xcf\x6e\xbf\x54\x6e\xba\x58\xd4\xdc\xb8\xe3\x72\xf9\xf2\x16\x8c\x31\x43\xe3\x24\x47\x94\x1e\xa2\x3c\x17\xe7\x08\x79\x46\x28\x12\x3c\x85\xc3\xb2\xa0\x8c\xd4\x09\x2b\x79\xaa\x45\xd6\x77\x1b\x32\xe8\x87\x72\x6e\x31\x72\x4e\xb6\x24\xe5\x85\x98\x95\xc7\x57\x15\x3e\x22\xa4\x24\xae\x73\x88\x8a\xa2\x64\xc0\x8b\x21\x20\x10\x46\x79\xa7\x8a\x9a\x98\x38\x5e\x08\x
|
||
|
|
||
|
func distFetchBundleJsBytes() ([]byte, error) {
|
||
|
return bindataRead(
|
||
|
_distFetchBundleJs,
|
||
|
"dist-fetch/bundle.js",
|
||
|
)
|
||
|
}
|
||
|
|
||
|
func distFetchBundleJs() (*asset, error) {
|
||
|
bytes, err := distFetchBundleJsBytes()
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
info := bindataFileInfo{name: "dist-fetch/bundle.js", size: 11231, mode: os.FileMode(420), modTime: time.Unix(1505683992, 0)}
|
||
|
a := &asset{bytes: bytes, info: info}
|
||
|
return a, nil
|
||
|
}
|
||
|
|
||
|
var _distFetchBundleJsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x5a\x7d\x57\xdb\xb6\x1a\xff\x2a\xc2\x7f\x8c\xc0\xf5\xe2\xac\x69\xcb\x8a\x6f\xd6\x23\x9b\x40\x03\x65\x29\xb4\x8c\x71\x09\x27\xc7\xd8\x4a\x62\x70\xec\xd4\x52\x80\x96\xe5\x7e\xf6\x7b\xf4\x2e\x39\x4e\x4a\x37\xee\x1f\xcd\xce\x21\x8a\xf4\xbc\xfe\x9e\x17\x3d\xf6\xfa\xe8\xdc\xa1\x12\xa7\x45\xee\xec\xb6\x5d\x07\x17\xf3\x32\x46\xd8\xd9\xbd\x74\xee\xd1\xf5\x2c\x8a\x6f\x77\x3d\xcf\x13\x4b\xef\xba\x28\x08\x26\x65\x34\x03\xad\x57\xed\x17\x3b\xed\x76\x3b\x79\xfd\xe6\xe5\xab\xa4\xdd\x7a\xf5\xeb\xcb\xd7\x8e\x6b\xf2\x34\xbd\x34\x4f\xd0\x43\xf3\x06\x57\xf7\x47\x88\xc4\x93\xe6\x0d\x7e\xfb\x3a\xbe\x6e\xaf\x3a\xac\xee\x97\xe8\xf3\x1c\x61\x52\x73\x32\x41\x51\x82\x4a\x5c\xcb\x83\x67\x45\x8e\xd1\x5a\xa6\xb7\x6f\x76\x46\x2f\x57\x6b\x7b\xfb\xe2\xcd\xe8\x7a\x8d\xe0\xb7\xaf\x63\xf4\xc2\xb9\x72\x9d\x3c\x9a\x32\xdc\xae\x5c\x67\x1a\xcd\x66\x69\x3e\xc6\xce\xae\xe3\x43\x08\xa1\x0f\x61\x08\x7d\x1f\xc2\xee\xf2\xb2\xee\xb7\x3b\x0f\x20\x44\x74\x39\xaa\x27\x5a\x27\xca\x87\xf0\xe0\xa9\x1c\xc6\x07\x86\x24\x84\x6e\x11\x40\xd8\x77\x43\x08\x43\xf7\x75\x00\x21\x0e\xf8\x9a\xfe\xa1\x1c\x93\xd0\xa4\x48\x43\x08\x5b\x15\x8a\xd9\x77\x52\x4c\x43\x08\x5f\x4a\x0a\xc3\x98\x77\x65\xe8\xe2\x43\xdf\xfe\xe0\x20\x3c\xb8\x0f\xdc\x23\x08\x8f\x7c\x08\xdf\xed\xb0\xe5\xb1\xdb\xa7\xd2\x0e\x20\x3c\x70\xa7\x5a\xf0\x6d\x00\xe1\xb9\xad\xb9\x0c\x39\xfd\x09\x84\x27\x4b\xf4\x74\x79\x61\xd0\x53\x94\x1e\x02\xf7\x0c\xc2\x8f\x4c\x21\x3f\x62\xab\x2e\x84\x5d\xb7\x07\x61\x8f\xad\xa8\xe4\xaf\x21\x35\xe2\x98\x0b\x65\x7f\xd8\x71\x5f\x49\xaf\xf0\x55\xcd\xaa\x63\x66\x56\x32\x16\x65\x4f\x9b\xd9\xd3\xaf\x0a\x3f\xa3\x7f\xd8\x4f\x46\x7e\x4c\x85\x75\x39\x46\x21\x09\xdd\x0b\x7a\x72\x1f\x40\x78\x2f\x70\x66\x3a\x18\xa9\x5e\x45\x62\xd5\xa3\x4c\x5e\xe8\x9e\x53\x15\xea\x98\x6e\x7e\x70\xc7\x0c\x2d\x26\x5e\xcb\xd1\xae\x9c\xc0\x70\x16\x30\x3b\xf7\xdc\x98\x52\x6a\x0b\x2b\x94\xc7\x30\x2c\xcd\xac\xe8\xc1\xf0\xd0\xf8\xd9\x85\x61\x35\xf2\x3c\x29\x26\xc1\xde\x77\x44\xdc\x3f\x82\xdd\x49\x20\x69\xc3\x91\xfb\x11\xee\x9d\x48\xa3\xc2\x44\xc5\xe4\x3e\xf4\x8b\x2e\x84\x87\xdc\x53\xbf\x0f\x61\x1e\x72\x2f\x4f\x20\xfc\x9d\xad\xe8\x66\x97\xb3\x9e\x40\xf8\x81\xad\xf8\x1e\x8b\xd2\x09\x84\xa7\x6c\xc5\xf7\x64\xf8\x0e\xd9\xca\xf7\xbf\x04\x70\x6f\xc2\x23\x24\xd3\xaa\xaf\xb2\xe0\x58\x85\x5e\x65\x19\xab\x12\x93\x46\xbb\x5b\x89\xbc\x4a\x0f\xc5\xe7\x99\x7c\x3a\xd1\xd9\x4a\xd2\x7c\x35\x69\x7a\x2a\xd0\x2a\x33\x99\x91\x37\x82\x88\x59\x75\x41\x6b\x43\x65\x18\x95\xf1\x2a\x70\x3f\x2a\x19\x3a\x73\x75\xa5\xa8\x90\xb3\x14\x37\xa9\x6b\x3c\xd6\x49\x45\xa9\xdb\x26\xf5\x4a\xdf\x35\xb3\xde\x93\x12\x7e\x09\x0d\x09\x1a\x05\xcd\xa2\xf1\xe8\xb1\xae\xc6\x82\x0c\x61\xf8\x7e\xbd\x57\x94\x3a\x93\x39\xce\xe0\x91\xc5\xc6\x40\xf9\xa3\xd6\x4b\xed\x5b\x0f\x86\xc4\xe2\xb6\x20\xfd\xf3\x29\x5e\x57\x7c\xed\xd1\xf6\x61\x4a\x54\x5d\x83\x4a\xfc\x4f\x2d\x0a\x96\xef\xbf\x58\xf6\x58\x4d\xed\xd4\xe0\xae\xcb\x12\x8e\x45\x17\x86\xfb\xb4\x33\x43\x2f\xb8\x0d\x44\x8e\x2f\x7f\x8e\xc2\x7d\x51\x35\x10\x1e\x8c\xdc\x0b\xf8\x4e\x55\xe2\x41\x62\xa8\xf5\xfd\x17\x01\x7c\x27\x6b\xe5\x8c\xda\x67\x58\xce\x49\x20\x3c\x10\x50\x31\xbe\xe5\xdc\x6c\x07\x46\xfb\xea\xd9\x08\xc8\xfe\xa3\xe2\xf0\x51\xe1\xdb\x53\xe9\xce\x28\x7b\x4a\x03\xdb\xb3\xa0\xd9\x61\x5d\xf5\xc8\x10\xde\x5b\x82\x2f\x0b\x68\x53\x35\x73\xc9\x6e\xfd\x95\x9b\xd5\xa4\x5e\x95\xda\xba\xe8\x45\x51\x5d\x2c\x37\x57\x43\xec\x19\x0c\x3f\x09\x2f\xcf\xd4\x89\x96\x78\x4e\x69\x68\xd3\x64\x59\x7c\x64\x34\xf6\xba\xde\x72\x06\x21\xb4\x9b\x7d\xce\x80\xdc\xa7\x79\xb0\xef\xfb\xe3\x00\x66\x3a\x03\x2e\x60\x11\xcc\x02\x76\x63\x84\x1a\x16\x7d\x0d\x0a\x80\xce\xa9\xca\x18\xc2\x98\x3b\xa1\x6d\x8b\x20\x8c\x0c\x60\xed\x6b\x39\xdf\xe3\xf1\xb5\x3b\x07\x97\x53\xe1\xa9\x44\x9f\x19\xa1\xe9\xa4\x25\x6f\xf6\x0c\xf0\x55\x9a\x18\x84\xfa\x9e\x54\x37\x9d\xac\xba\xf3\xb5\x8c\x15\x23\x74\x60\x65\x1e\xb6\xe9\xd0\x73\x01\xbb\x47\x6e\x6a\x63\xc5\x3b\x42\xac\x12\xb3\xa2\xe2\xdb\x50\x29\x15\xf9\x1e\x57\xc1\x2e\xf9\xb0\x5a\xe3\xff\x2c\x04\x75\xa6\x2d\xe3\x7b\x13\x8a\xd9\x61\x3d\x79\x5d\x0e\x9f\xd0\xe1\x8a\xe7\x99\xc0\x69\xfc\xdc\x38\xe9\xf4\x94\x88\x7d\xfd\xff\x20\xc6\x8c\xac\xab\xed\x27\xc2\xc2\xe6\xa6\x1
|
||
|
|
||
|
func distFetchBundleJsMapBytes() ([]byte, error) {
|
||
|
return bindataRead(
|
||
|
_distFetchBundleJsMap,
|
||
|
"dist-fetch/bundle.js.map",
|
||
|
)
|
||
|
}
|
||
|
|
||
|
func distFetchBundleJsMap() (*asset, error) {
|
||
|
bytes, err := distFetchBundleJsMapBytes()
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
info := bindataFileInfo{name: "dist-fetch/bundle.js.map", size: 10661, mode: os.FileMode(420), modTime: time.Unix(1505683992, 0)}
|
||
|
a := &asset{bytes: bytes, info: info}
|
||
|
return a, nil
|
||
|
}
|
||
|
|
||
|
// Asset loads and returns the asset for the given name.
|
||
|
// It returns an error if the asset could not be found or
|
||
|
// could not be loaded.
|
||
|
func Asset(name string) ([]byte, error) {
|
||
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
||
|
if f, ok := _bindata[cannonicalName]; ok {
|
||
|
a, err := f()
|
||
|
if err != nil {
|
||
|
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
|
||
|
}
|
||
|
return a.bytes, nil
|
||
|
}
|
||
|
return nil, fmt.Errorf("Asset %s not found", name)
|
||
|
}
|
||
|
|
||
|
// MustAsset is like Asset but panics when Asset would return an error.
|
||
|
// It simplifies safe initialization of global variables.
|
||
|
func MustAsset(name string) []byte {
|
||
|
a, err := Asset(name)
|
||
|
if err != nil {
|
||
|
panic("asset: Asset(" + name + "): " + err.Error())
|
||
|
}
|
||
|
|
||
|
return a
|
||
|
}
|
||
|
|
||
|
// AssetInfo loads and returns the asset info for the given name.
|
||
|
// It returns an error if the asset could not be found or
|
||
|
// could not be loaded.
|
||
|
func AssetInfo(name string) (os.FileInfo, error) {
|
||
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
||
|
if f, ok := _bindata[cannonicalName]; ok {
|
||
|
a, err := f()
|
||
|
if err != nil {
|
||
|
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
|
||
|
}
|
||
|
return a.info, nil
|
||
|
}
|
||
|
return nil, fmt.Errorf("AssetInfo %s not found", name)
|
||
|
}
|
||
|
|
||
|
// AssetNames returns the names of the assets.
|
||
|
func AssetNames() []string {
|
||
|
names := make([]string, 0, len(_bindata))
|
||
|
for name := range _bindata {
|
||
|
names = append(names, name)
|
||
|
}
|
||
|
return names
|
||
|
}
|
||
|
|
||
|
// _bindata is a table, holding each asset generator, mapped to its name.
|
||
|
var _bindata = map[string]func() (*asset, error){
|
||
|
"dist-fetch/bundle.js": distFetchBundleJs,
|
||
|
"dist-fetch/bundle.js.map": distFetchBundleJsMap,
|
||
|
}
|
||
|
|
||
|
// AssetDir returns the file names below a certain
|
||
|
// directory embedded in the file by go-bindata.
|
||
|
// For example if you run go-bindata on data/... and data contains the
|
||
|
// following hierarchy:
|
||
|
// data/
|
||
|
// foo.txt
|
||
|
// img/
|
||
|
// a.png
|
||
|
// b.png
|
||
|
// then AssetDir("data") would return []string{"foo.txt", "img"}
|
||
|
// AssetDir("data/img") would return []string{"a.png", "b.png"}
|
||
|
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
|
||
|
// AssetDir("") will return []string{"data"}.
|
||
|
func AssetDir(name string) ([]string, error) {
|
||
|
node := _bintree
|
||
|
if len(name) != 0 {
|
||
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
||
|
pathList := strings.Split(cannonicalName, "/")
|
||
|
for _, p := range pathList {
|
||
|
node = node.Children[p]
|
||
|
if node == nil {
|
||
|
return nil, fmt.Errorf("Asset %s not found", name)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if node.Func != nil {
|
||
|
return nil, fmt.Errorf("Asset %s not found", name)
|
||
|
}
|
||
|
rv := make([]string, 0, len(node.Children))
|
||
|
for childName := range node.Children {
|
||
|
rv = append(rv, childName)
|
||
|
}
|
||
|
return rv, nil
|
||
|
}
|
||
|
|
||
|
type bintree struct {
|
||
|
Func func() (*asset, error)
|
||
|
Children map[string]*bintree
|
||
|
}
|
||
|
|
||
|
var _bintree = &bintree{nil, map[string]*bintree{
|
||
|
"dist-fetch": {nil, map[string]*bintree{
|
||
|
"bundle.js": {distFetchBundleJs, map[string]*bintree{}},
|
||
|
"bundle.js.map": {distFetchBundleJsMap, map[string]*bintree{}},
|
||
|
}},
|
||
|
}}
|
||
|
|
||
|
// RestoreAsset restores an asset under the given directory
|
||
|
func RestoreAsset(dir, name string) error {
|
||
|
data, err := Asset(name)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
info, err := AssetInfo(name)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// RestoreAssets restores an asset under the given directory recursively
|
||
|
func RestoreAssets(dir, name string) error {
|
||
|
children, err := AssetDir(name)
|
||
|
// File
|
||
|
if err != nil {
|
||
|
return RestoreAsset(dir, name)
|
||
|
}
|
||
|
// Dir
|
||
|
for _, child := range children {
|
||
|
err = RestoreAssets(dir, filepath.Join(name, child))
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func _filePath(dir, name string) string {
|
||
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
||
|
return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
|
||
|
}
|