You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							34 lines
						
					
					
						
							971 B
						
					
					
				
			
		
		
	
	
							34 lines
						
					
					
						
							971 B
						
					
					
				| /** | |
|  * @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)};`; | |
|         } | |
|     }); | |
| };
 | |
| 
 |