| 17 | func NewJSFS(fs js.Value, path string) *JSFS { return &JSFS{fs: fs, bp: path} } |
| 18 | |
| 19 | func (f *JSFS) Get(path string) (data []byte, err error) { |
| 20 | path = filepath.Join(f.bp, path) |
| 21 | defer func() { |
| 22 | if err1 := recover(); err1 != nil { |
| 23 | err = toError(err1) |
| 24 | } |
| 25 | }() |
| 26 | buf := f.fs.Call("readFileSync", path) |
| 27 | |
| 28 | a := js.Global().Get("Uint8Array").New(buf) |
| 29 | data = make([]byte, a.Get("length").Int()) |
| 30 | js.CopyBytesToGo(data, a) |
| 31 | return data, nil |
| 32 | } |
| 33 | |
| 34 | func (f *JSFS) Put(path string, data []byte) (err error) { |
| 35 | defer func() { |