diff --git a/shells/dev/target/NativeTypes.vue b/shells/dev/target/NativeTypes.vue index d32900c40..0264b424f 100644 --- a/shells/dev/target/NativeTypes.vue +++ b/shells/dev/target/NativeTypes.vue @@ -64,7 +64,8 @@ export default { }, largeArray: [], i: new Set([1, 2, 3, 4, new Set([5, 6, 7, 8]), new Map([[1, 2], [3, 4], [5, new Map([[6, 7]])]])]), - j: new Map([[1, 2], [3, 4], [5, new Map([[6, 7]])], [8, new Set([1, 2, 3, 4, new Set([5, 6, 7, 8]), new Map([[1, 2], [3, 4], [5, new Map([[6, 7]])]])])]]) + j: new Map([[1, 2], [3, 4], [5, new Map([[6, 7]])], [8, new Set([1, 2, 3, 4, new Set([5, 6, 7, 8]), new Map([[1, 2], [3, 4], [5, new Map([[6, 7]])]])])]]), + html: 'Bold Italic' } }, computed: { diff --git a/src/devtools/components/DataField.vue b/src/devtools/components/DataField.vue index 6f185d2cd..d0ba821aa 100644 --- a/src/devtools/components/DataField.vue +++ b/src/devtools/components/DataField.vue @@ -157,7 +157,8 @@ import { NAN, isPlainObject, sortByKey, - openInEditor + openInEditor, + escape } from 'src/util' import DataFieldEdit from '../mixins/data-field-edit' @@ -285,7 +286,7 @@ export default { if (typeMatch) { return typeMatch[1] } else { - return `"${value}"` + return `"${escape(value)}"` } } else { return value diff --git a/src/util.js b/src/util.js index 79227b0fa..0b193c793 100644 --- a/src/util.js +++ b/src/util.js @@ -426,3 +426,18 @@ export function openInEditor (file) { eval(src) } } + +const ESC = { + '<': '<', + '>': '>', + '"': '"', + '&': '&' +} + +export function escape (s) { + return s.replace(/[<>"&]/g, escapeChar) +} + +function escapeChar (a) { + return ESC[a] || a +}