JSZip.loadAsync(data) .then((zip) => { let foundCsv = false zip.forEach((relPath, file) => { if (!foundCsv && relPath.endsWith('.csv')) { foundCsv = true file.async('string').then((csvString) => { return done(null, csvString, csvString.length, options) }).catch(done) } }) if (!foundCsv) { console.error('No CSV file found in ZIP archive.') return done(new Error('no CSV file found')) } }).catch(done)
.then(zip => { return Promise.all([ zip.file('document.json').async('string'), zip.file('meta.json').async('string'), zip.file('user.json').async('string') ]).then(result => { return { return Promise.all( data.document.pages.map(page => { return data.repo.file(`${page._ref}.json`).async('string'); }) ).then(pages => {