| /** |
| * @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 |
| switch (c) { |
| case "<": |
| return "<"; |
| case ">": |
| return ">"; |
| case "&": |
| return "&"; |
| case "\"": |
| return """; |
| case "'": |
| return "'"; |
| default: |
| return `&#${c.charCodeAt(0)};`; |
| } |
| }); |
| }; |