Проверьте строки шаблона перед объединением - PullRequest
0 голосов
/ 22 мая 2019

Я генерирую сообщения об ошибках вроде так:

throw `Do not recognize eventType '${eventType}', recognized events are ${recognizedEvents}.`;

проблема распознана. Событие - это объект, но он просто будет toString'ed ... В любом случае, я мог бы сделать это:

throw `Do not recognize eventType '${eventType}', recognized events are ${util.inspect(recognizedEvents)}.`;

проблема не только в том, что она более многословна - иногда я просто забываю вызвать util.inspect (). Даже TypeScript позволяет мне компилировать литералы шаблона, если объект передается напрямую. Какова хорошая техника, позволяющая убедиться, что объекты проверены на достаточную глубину в журналах?

1 Ответ

0 голосов
/ 22 мая 2019

Скорее всего, вы не забудете использовать помеченный шаблон вместо util.inspect в каждой строке шаблона?

function err(strings, eventType, recognizedEvents) {

  return `${strings[0]}${eventType}${strings[1]}${util.inspect(recognizedEvents)}`;
}

throw err`Do not recognize eventType '${eventType}', recognized events are ${recognizedEvents}.`;

В сочетании с предложением @ JackBashford об использовании JSON.stringify вместо util.inspect вы можете получить объект как можно более глубоким.

...