* Read a file * @param {string} filename * @param {string} encoding * @returns {Promise}
(filename)
| 91 | * @returns {Promise} |
| 92 | */ |
| 93 | readFile(filename) { |
| 94 | return new Promise((resolve, reject) => { |
| 95 | reject = setMessage(reject); |
| 96 | window.resolveLocalFileSystemURL( |
| 97 | filename, |
| 98 | (fileEntry) => { |
| 99 | (async () => { |
| 100 | const url = fileEntry.toInternalURL(); |
| 101 | try { |
| 102 | const data = await ajax({ |
| 103 | url: url, |
| 104 | responseType: "arraybuffer", |
| 105 | }); |
| 106 | |
| 107 | resolve({ data }); |
| 108 | } catch (error) { |
| 109 | fileEntry.file((file) => { |
| 110 | const fileReader = new FileReader(); |
| 111 | fileReader.onerror = reject; |
| 112 | fileReader.readAsArrayBuffer(file); |
| 113 | fileReader.onloadend = () => { |
| 114 | resolve({ data: fileReader.result }); |
| 115 | }; |
| 116 | }, reject); |
| 117 | } |
| 118 | })(); |
| 119 | }, |
| 120 | reject, |
| 121 | ); |
| 122 | }); |
| 123 | }, |
| 124 | |
| 125 | /** |
| 126 | * Rename a file or directory |
nothing calls this directly
no test coverage detected