Handle empty files in readFirstLine

This commit is contained in:
Cohee
2025-03-16 22:16:53 +02:00
parent 8bd17de2f3
commit fa641e9946

View File

@@ -302,12 +302,26 @@ function readFirstLine(filePath) {
const stream = fs.createReadStream(filePath, { encoding: 'utf8' });
const rl = readline.createInterface({ input: stream });
return new Promise((resolve, reject) => {
let resolved = false;
rl.on('line', line => {
resolved = true;
rl.close();
stream.close();
resolve(line);
});
rl.on('error', reject);
rl.on('error', error => {
resolved = true;
reject(error);
});
// Handle empty files
stream.on('end', () => {
if (!resolved) {
resolved = true;
resolve('');
}
});
});
}