mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-06 03:51:24 +08:00
This pulls in version 8, which covers numerous breaking changes. Most notably, the `CLIEngine` class has been removed, for which we should now use `ESLint`. R=jacktfranklin@chromium.org Bug: none Change-Id: I3b64600e690f073d4db19fb34539db7200f3b561 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3268298 Reviewed-by: Jack Franklin <jacktfranklin@chromium.org> Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
35 lines
971 B
JavaScript
35 lines
971 B
JavaScript
/**
|
|
* @fileoverview XML character escaper
|
|
* @author George Chung
|
|
*/
|
|
"use strict";
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Public Interface
|
|
//------------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Returns the escaped value for a character
|
|
* @param {string} s string to examine
|
|
* @returns {string} severity level
|
|
* @private
|
|
*/
|
|
module.exports = function(s) {
|
|
return (`${s}`).replace(/[<>&"'\x00-\x1F\x7F\u0080-\uFFFF]/gu, c => { // eslint-disable-line no-control-regex -- Converting controls to entities
|
|
switch (c) {
|
|
case "<":
|
|
return "<";
|
|
case ">":
|
|
return ">";
|
|
case "&":
|
|
return "&";
|
|
case "\"":
|
|
return """;
|
|
case "'":
|
|
return "'";
|
|
default:
|
|
return `&#${c.charCodeAt(0)};`;
|
|
}
|
|
});
|
|
};
|