deno/cli/tests/raw_mode.ts
2020-02-26 01:01:24 -05:00

18 lines
541 B
TypeScript

Deno.setRaw(0, true);
Deno.setRaw(0, true); // Can be called multiple times
Deno.stdout.writeSync(new TextEncoder().encode("S"));
const buf = new Uint8Array(3);
for (let i = 0; i < 3; i++) {
const nread = await Deno.stdin.read(buf);
if (nread === Deno.EOF) {
break;
} else {
const data = new TextDecoder().decode(buf.subarray(0, nread));
Deno.stdout.writeSync(new TextEncoder().encode(data.toUpperCase()));
}
}
Deno.setRaw(0, false); // restores old mode.
Deno.setRaw(0, false); // Can be safely called multiple times