Skip to content

NOTE

Bun предоставляет совместимый с браузером и Node.js [console](https://developer.mozilla.org/en-US/docs/Web/API/console) глобальный объект. На этой странице документированы только API, специфичные для Bun.

Глубина проверки объектов

Bun позволяет настроить, насколько глубоко вложенные объекты отображаются в выводе console.log():

  • Флаг CLI: Используйте --console-depth <число> для установки глубины для одного запуска
  • Конфигурация: Установите console.depth в вашем bunfig.toml для постоянной конфигурации
  • По умолчанию: Объекты проверяются на глубину 2 уровня
js
const nested = { a: { b: { c: { d: "deep" } } } };
console.log(nested);
// По умолчанию (глубина 2): { a: { b: [Object] } }
// С глубиной 4: { a: { b: { c: { d: 'deep' } } } }

Флаг CLI имеет приоритет над настройкой файла конфигурации.


Чтение из stdin

В Bun объект console может использоваться как AsyncIterable для последовательного чтения строк из process.stdin.

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

Это полезно для реализации интерактивных программ, таких как следующий калькулятор сложения.

ts
console.log(`Давайте сложим некоторые числа!`);
console.write(`Сумма: 0\n> `);

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

Для запуска файла:

bash
bun adder.ts
Давайте сложим некоторые числа!
Сумма: 0
> 5
Сумма: 5
> 5
Сумма: 10
> 5
Сумма: 15

Bun от www.bunjs.com.cn