Arxi,
function createError(code, message = '', detail) {
if (Array.isArray(message)) {
detail = message;
message = ''
};
return Array.isArray(detail) ? {
code,
message,
detail
} : {
code,
message
}
}
console.log(createError(404));
// вернёт объект { code: 404, message: '' }
console.log(createError(400, 'Неправильный запрос'));
// вернёт объект { code: 400, message: 'Неправильный запрос' }
console.log(createError(400, ['page не указано', 'limit должен быть в диапазоне от 1 до 20']));
// вернёт объект { code: 400, message: '', detail: ['page не указано', 'limit должен быть в диапазоне от 1 до 20'] }
console.log(createError(400, 'Неправильный запрос', ['page не указано', 'limit должен быть в диапазоне от 1 до 20']));
// вернёт объект { code: 400, message: 'Неправильный запрос', detail: ['page не указано', 'limit должен быть в диапазоне от 1 до 20'] }