Note — Bun provides a browser- and Node.js-compatible console global. This page only documents Bun-native APIs.
In Bun, the console
object can be used as an AsyncIterable
to sequentially read lines from process.stdin
.
for await (const line of console) {
console.log(line);
}
This is useful for implementing interactive programs, like the following addition calculator.
console.log(`Let's add some numbers!`);
console.write(`Count: 0\n> `);
let count = 0;
for await (const line of console) {
count += Number(line);
console.write(`Count: ${count}\n> `);
}
To run the file:
bun adder.ts
Let's add some numbers!
Count: 0
5
Count: 5
5
Count: 10
5
Count: 15