Currently, if the spawned 7-zip process is killed before extraction is complete, the 'end' event is emitted and no errors are shown. Since the extraction actually failed in this case, an 'error' event should be emitted instead.
If there's some technical reason this shouldn't be fixed, please update documentation to suggest that people implement their own error handling for this corner-case. Something like:
extractStream.on('end', () => {
if (!extractStream.info.Compressed) {
return reject(new Error('7za Process Terminated Early'));
}
resolve();
});
extractStream.on('error', (error) => {
reject(error);
});