Найти в Дзене
7 подписчиков

Довелось почитать немного исходники популярных логеров...


const info = msg && msg.message && msg || { message: msg };

Это работает потому что в JS при выполнении булевых операторов возвращается не булевое значение true/false, а последнее truthy значение.

Я такое не одобряю. Лучше написать больше, но понятнее.

Следующая строка тоже радует.

info.level = info[LEVEL] = level;

В Pino логере тоже они забавно делают - непривычно на самом деле видеть что-то такое:

function transport(fullOptions) {
// ...
return buildStream(fixTarget(target), options, worker, sync)

function fixTarget (origin) {
// ...
}
}
Ребята в курсах про hoisting - это здорово, но вот нафиг оно, блин, надо было?

Как по мне - за такие хакерства в приличном обществе должны проходиться канделябрами по лицу, а не звёзды тысячами ставить на gh:)
Около минуты