Skip to content

Commit b29fe9f

Browse files
committed
fix(cli): cleaning shell API
1 parent a94bf40 commit b29fe9f

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

packages/cli/src/index.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import fs from 'node:fs'
44
import path from 'node:path'
55
import process from 'node:process'
6+
import readline from 'node:readline'
67
import { appendFileHeaderMetaToBuffer, createGeneraterANSI } from '@qifi/generate'
78
import mime from 'mime'
89

@@ -33,14 +34,17 @@ async function generateQRCodes(filePath: string, sliceSize: number = 80, fps: nu
3334
})
3435

3536
// Clear console function
36-
const clearConsole = () => process.stdout.write('\x1Bc')
37+
const clearConsole = () => {
38+
readline.cursorTo(process.stdout, 0, 0)
39+
readline.clearScreenDown(process.stdout)
40+
}
3741

3842
// Display QR codes
3943
for (const blockQRCode of generator.fountain()) {
4044
clearConsole()
41-
console.log(blockQRCode)
42-
console.log(`${meta.filename} (${meta.contentType})`, '|', 'size:', data.length, 'bytes')
43-
await new Promise(resolve => setTimeout(resolve, 1000 / fps)) // Display each QR code for 1 second
45+
process.stdout.write(`${blockQRCode}\n`)
46+
process.stdout.write(`${meta.filename} (${meta.contentType}) | size: ${data.length} bytes`)
47+
await new Promise(resolve => setTimeout(resolve, 1000 / fps))
4448
}
4549
}
4650

0 commit comments

Comments
 (0)