Quote a value for an error message, as JSON.stringify does, and also escape what it
leaves raw although a terminal acts on it: DEL, the C1 controls, every Unicode
format character (bidi overrides, zero-width characters) and the line and paragraph
separators U+2028/U+2029, which a viewer may break the line at. A road id or
identifier is echoed in messages, and it can come from a pipeline or from the API
(the did-you-mean road id); an override in it would reorder the rest of the line
("Trojan Source"). A value longer than MAX_MESSAGE_VALUE_LENGTH
characters is cut, and the "…" goes after the closing quote ("AAAA"…), so it does
not read as part of the value. The quoted part stays a valid JSON string.
Quote a value for an error message, as
JSON.stringifydoes, and also escape what it leaves raw although a terminal acts on it: DEL, the C1 controls, every Unicode format character (bidi overrides, zero-width characters) and the line and paragraph separators U+2028/U+2029, which a viewer may break the line at. A road id or identifier is echoed in messages, and it can come from a pipeline or from the API (the did-you-mean road id); an override in it would reorder the rest of the line ("Trojan Source"). A value longer than MAX_MESSAGE_VALUE_LENGTH characters is cut, and the "…" goes after the closing quote ("AAAA"…), so it does not read as part of the value. The quoted part stays a valid JSON string.