Promisify stream

This commit is contained in:
Mel O'Hagan 2022-08-30 13:55:55 +01:00
parent 36ebb30825
commit 33fa0b50b7
1 changed files with 9 additions and 16 deletions

View File

@ -123,29 +123,22 @@ module S3Module {
}
async readCsv(query: { bucket: string; key: string }) {
let streamErr: string | undefined = undefined
const stream = this.client
.getObject({
Bucket: query.bucket,
Key: query.key,
})
.createReadStream()
.on("error", (err: string) => {
//stream.destroy()
//
console.log("err ", err)
streamErr = "ERROR"
return new Promise((resolve, reject) => {
stream
.on("error", (err: Error) => {
reject(err)
})
.on("finish", async () => {
resolve(csv().fromStream(stream))
})
})
if (streamErr) {
throw new Error("ERROR")
}
try {
return await csv().fromStream(stream)
} catch (err) {
throw new Error("Failed to read CSV")
}
}
}