Skip to content

NOTE

O Bun fornece um [console](https://developer.mozilla.org/en-US/docs/Web/API/console) global compatível com navegador e Node.js. Esta página documenta apenas APIs nativas do Bun.

Profundidade de inspeção de objetos

O Bun permite configurar quão profundamente objetos aninhados são exibidos na saída do console.log():

  • Flag CLI: Use --console-depth <number> para definir a profundidade para uma única execução
  • Configuração: Defina console.depth no seu bunfig.toml para configuração persistente
  • Padrão: Objetos são inspecionados até uma profundidade de 2 níveis
js
const nested = { a: { b: { c: { d: "deep" } } } };
console.log(nested);
// Padrão (profundidade 2): { a: { b: [Object] } }
// Com profundidade 4: { a: { b: { c: { d: 'deep' } } } }

A flag CLI tem precedência sobre a configuração do arquivo.


Lendo de stdin

No Bun, o objeto console pode ser usado como um AsyncIterable para ler linhas sequencialmente de process.stdin.

ts
for await (const line of console) {
  console.log(line);
}

Isso é útil para implementar programas interativos, como a seguinte calculadora de adição.

ts
console.log(`Vamos somar alguns números!`);
console.write(`Contagem: 0\n> `);

let count = 0;
for await (const line of console) {
  count += Number(line);
  console.write(`Contagem: ${count}\n> `);
}

Para executar o arquivo:

bash
bun adder.ts
Vamos somar alguns números!
Contagem: 0
> 5
Contagem: 5
> 5
Contagem: 10
> 5
Contagem: 15

Bun by www.bunjs.com.cn edit