unchunk
Version:
Unchunk readable stream into Promise
31 lines (25 loc) • 769 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.unchunkJson = exports.unchunkString = exports.unchunkBuffer = void 0;
const unchunkBuffer = emitter => {
let result = Buffer.alloc(0);
return new Promise((resolve, reject) => {
emitter.on('error', reject).on('data', chunk => {
result = Buffer.concat([result, chunk]);
}).on('end', () => {
resolve(result);
});
});
};
exports.unchunkBuffer = unchunkBuffer;
const unchunkString = async emitter => {
const buf = await unchunkBuffer(emitter);
return buf.toString('utf8');
};
exports.unchunkString = unchunkString;
const unchunkJson = async emitter => {
const str = await unchunkString(emitter);
return JSON.parse(str);
};
exports.unchunkJson = unchunkJson;