Skip to content

Commit 5055370

Browse files
committed
fix: 🐛 issue when process.stdin could be not an interactive
1 parent 7ccfa88 commit 5055370

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/kittik-deck/src/Deck.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Canvas } from 'terminal-canvas';
22
import { DeckDeclaration } from './DeckDeclaration';
33
import { Slide } from 'kittik-slide';
44
import readline from 'readline';
5+
import tty from 'tty';
56

67
export { DeckDeclaration } from './DeckDeclaration';
78

@@ -32,9 +33,12 @@ export class Deck {
3233
}
3334

3435
private initKeyboard (): void {
36+
if (process.stdin instanceof tty.ReadStream) {
37+
process.stdin.setRawMode(true);
38+
process.stdin.setEncoding('utf8');
39+
}
40+
3541
readline.emitKeypressEvents(process.stdin);
36-
process.stdin.setRawMode(true);
37-
process.stdin.setEncoding('utf8');
3842
process.stdin.on('keypress', this.onKeyPress.bind(this));
3943
}
4044

0 commit comments

Comments
 (0)