Generate diagnostics without a leading comma, retain old spaces (#17534)

* Generate diagnostics without a leading comma, reatain space

* Add small assertion that we generate valid json
This commit is contained in:
Wesley Wigham 2017-07-31 12:51:25 -07:00 коммит произвёл GitHub
Родитель f945b26b54
Коммит 32d9292a83
1 изменённых файлов: 6 добавлений и 10 удалений

Просмотреть файл

@ -76,20 +76,16 @@ function buildInfoFileOutput(messageTable: InputDiagnosticMessageTable): string
function buildDiagnosticMessageOutput(messageTable: InputDiagnosticMessageTable): string {
let result = '{';
let first = true;
messageTable.forEach(({ code }, name) => {
if (!first) {
first = false;
}
else {
result += ',';
}
const propName = convertPropertyName(name);
result += `\r\n "${createKey(propName, code)}": "${name.replace(/[\"]/g, '\\"')}"`;
result += `\r\n "${createKey(propName, code)}" : "${name.replace(/[\"]/g, '\\"')}",`;
});
result += '\r\n}';
// Shave trailing comma, then add newline and ending brace
result = result.slice(0, result.length - 1) + '\r\n}';
// Assert that we generated valid JSON
JSON.parse(result);
return result;
}