source/tools/log.js
function generate_log_message(parameters)
{
	// преобразовать все аргументы функции в текстовый вид
	return parameters.map(argument =>
	{
		// преобразование объектов в строку
		if (typeof argument === 'object')
		{
			// для ошибок - распечатывать стек вызовов
			if (argument instanceof Error)
			{
				return argument.stack
			}
			// для остальных объектов вызывать JSON.stringify()
			return JSON.stringify(argument, null, 2)
		}
		// если undefined
		if (typeof argument === 'undefined')
		{
			return '[undefined]'
		}
		// прочие переменные - просто .toString()
		return argument.toString()
	})
	// собрать всё это в одну строку через пробел
	.reduce((message, argument) =>
	{
		if (message.length > 0)
		{
			message += ' '
		}
		return message + argument
	},
	'')
}
function generate_log_message(parameters)
{
	// преобразовать все аргументы функции в текстовый вид
	return parameters.map(argument =>
	{
		// преобразование объектов в строку
		if (typeof argument === 'object')
		{
			// для ошибок - распечатывать стек вызовов
			if (argument instanceof Error)
			{
				return argument.stack
			}
			// для остальных объектов вызывать JSON.stringify()
			return JSON.stringify(argument, null, 2)
		}
		// если undefined
		if (typeof argument === 'undefined')
		{
			return '[undefined]'
		}
		// прочие переменные - просто .toString()
		return argument.toString()
	})
	// собрать всё это в одну строку через пробел
	.reduce((message, argument) =>
	{
		if (message.length > 0)
		{
			message += ' '
		}
		return message + argument
	},
	'')
}
function generate_log_message ( parameters ) { // преобразовать все аргументы функции в текстовый вид return parameters . map ( argument => { // преобразование объектов в строку if ( typeof argument === 'object' ) { // для ошибок - распечатывать стек вызовов if ( argument instanceof Error ) { return argument . stack } // для остальных объектов вызывать JSON.stringify() return JSON . stringify ( argument , null , 2 ) } // если undefined if ( typeof argument === 'undefined' ) { return '[undefined]' } // прочие переменные - просто .toString() return argument . toString ( ) } ) // собрать всё это в одну строку через пробел . reduce ( ( message , argument ) => { if ( message . length > 0 ) { message += ' ' } return message + argument } , '' ) }
transforms arguments to text
transforms arguments to text