frontend/.pnpm-store/v3/files/b2/808e81d4f6312265f75d12dfd7daba7a0597bd1e0d7855658f93a0d8480cccc0a08687949c0cd9c948b5846b6d3ec87f97b2bb54fe678e52f4ed13d96c4586

34 lines
659 B
Plaintext

'use strict';
module.exports = stream => {
if (stream.listenerCount('error') !== 0) {
return stream;
}
stream.__destroy = stream._destroy;
stream._destroy = (...args) => {
const callback = args.pop();
stream.__destroy(...args, async error => {
await Promise.resolve();
callback(error);
});
};
const onError = error => {
// eslint-disable-next-line promise/prefer-await-to-then
Promise.resolve().then(() => {
stream.emit('error', error);
});
};
stream.once('error', onError);
// eslint-disable-next-line promise/prefer-await-to-then
Promise.resolve().then(() => {
stream.off('error', onError);
});
return stream;
};