29 lines
		
	
	
		
			437 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			437 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
const internals = {};
 | 
						|
 | 
						|
 | 
						|
module.exports = function (input) {
 | 
						|
 | 
						|
    if (!input) {
 | 
						|
        return '';
 | 
						|
    }
 | 
						|
 | 
						|
    return input.replace(/[<>&\u2028\u2029]/g, internals.escape);
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
internals.escape = function (char) {
 | 
						|
 | 
						|
    return internals.replacements.get(char);
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
internals.replacements = new Map([
 | 
						|
    ['<', '\\u003c'],
 | 
						|
    ['>', '\\u003e'],
 | 
						|
    ['&', '\\u0026'],
 | 
						|
    ['\u2028', '\\u2028'],
 | 
						|
    ['\u2029', '\\u2029']
 | 
						|
]);
 |