MCPcopy Index your code
hub / github.com/ThatGuySam/doesitarm / unzipFile

Method unzipFile

helpers/app-files-scanner.js:152–218  ·  view source on GitHub ↗
( file )

Source from the content-addressed store, hash-verified

150 // }
151
152 async unzipFile ( file ) {
153 if ( !this.zip ) throw new Error('Zip module not loaded')
154
155 const fileReader = new this.zip.BlobReader( file.instance )//new FileReader()
156
157 fileReader.onload = function() {
158
159 // do something on FileReader onload
160 console.log('File Read')
161
162 file.statusMessage = '📖 Reading file'
163 }
164
165 fileReader.onerror = error => {
166
167 // do something on FileReader onload
168 console.error('File Read Error', error)
169
170 throw new Error('File Read Error', error)
171 }
172
173 fileReader.onprogress = (data) => {
174 if (data.lengthComputable) {
175 const progress = parseInt( ((data.loaded / data.total) * 100), 10 );
176 console.log('Read progress', progress)
177
178 file.statusMessage = `📖 Reading file. ${ progress }% read`
179 }
180 }
181
182 // console.log('fileReader', fileReader)
183
184 // https://gildas-lormeau.github.io/zip.js/core-api.html#zip-reading
185 const zipReader = new this.zip.ZipReader( fileReader )
186
187 // zipReader.onprogress = console.log
188
189 // zipReader.onerror = console.log
190
191 const entries = await zipReader.getEntries()
192 .then( entries => entries.map( entry => {
193 return entry
194
195 // return {
196 // filename: entry.filename,
197 // directory: entry.directory
198 // }
199 }) )
200 .catch( error => {
201 // console.warn('Unzip Error', error)
202
203 return error
204 })
205
206 // console.log('entries', entries)
207
208 if ( !Array.isArray(entries) ) {
209 file.statusMessage = '❔ Could not decompress file. Try extracting the app or using a different app file. '

Callers 1

scanFileMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected