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:)
Около минуты
23 февраля 2025