s3-bucket-stream
Version:
Readable stream of the Body of every object in an S3 bucket.
27 lines (26 loc) • 858 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const awslib_1 = require("./awslib");
async function getBatch(Bucket, Keys) {
return new Promise((resolve, reject) => {
let result = [];
let i = 0;
// // console.log(`Getting batch of ${keys.length} objects from ${bucket}`)
for (const Key of Keys) {
awslib_1.get(Bucket, Key).then((obj) => {
result.push(obj);
}).catch((err) => {
reject(err);
}).finally(() => {
i++;
if (i === Keys.length) {
resolve(result);
}
else if (i > Keys.length) {
reject(new Error("Somehow exceeded keys.length"));
}
});
}
});
}
exports.getBatch = getBatch;