summaryrefslogtreecommitdiff
path: root/cli/rt/02_console.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/rt/02_console.js')
-rw-r--r--cli/rt/02_console.js15
1 files changed, 14 insertions, 1 deletions
diff --git a/cli/rt/02_console.js b/cli/rt/02_console.js
index 1dd69efef..5de0bfa60 100644
--- a/cli/rt/02_console.js
+++ b/cli/rt/02_console.js
@@ -481,6 +481,19 @@
return quoteString(string);
}
+ // Surround a symbol's description in quotes when it is required (e.g the description has non printable characters).
+ function maybeQuoteSymbol(symbol) {
+ if (symbol.description === undefined) {
+ return symbol.toString();
+ }
+
+ if (/^[a-zA-Z_][a-zA-Z_.0-9]*$/.test(symbol.description)) {
+ return symbol.toString();
+ }
+
+ return `Symbol(${quoteString(symbol.description)})`;
+ }
+
// Print strings when they are inside of arrays or objects with quotes
function inspectValueWithQuotes(
value,
@@ -734,7 +747,7 @@
}
for (const key of symbolKeys) {
entries.push(
- `${replaceEscapeSequences(key.toString())}: ${
+ `${maybeQuoteSymbol(key)}: ${
inspectValueWithQuotes(
value[key],
ctx,