• File: index.js
  • Full Path: /var/www/nodejs/daily_store_reports_nodejs/node_modules/escape-goat/index.js
  • Date Modified: 02/04/2023 9:31 PM
  • File size: 797 bytes
  • MIME-type: text/plain
  • Charset: utf-8
'use strict';

exports.htmlEscape = string => string
	.replace(/&/g, '&')
	.replace(/"/g, '"')
	.replace(/'/g, ''')
	.replace(/</g, '&lt;')
	.replace(/>/g, '&gt;');

exports.htmlUnescape = htmlString => htmlString
	.replace(/&gt;/g, '>')
	.replace(/&lt;/g, '<')
	.replace(/&#0?39;/g, '\'')
	.replace(/&quot;/g, '"')
	.replace(/&amp;/g, '&');

exports.htmlEscapeTag = (strings, ...values) => {
	let output = strings[0];
	for (let i = 0; i < values.length; i++) {
		output = output + exports.htmlEscape(String(values[i])) + strings[i + 1];
	}

	return output;
};

exports.htmlUnescapeTag = (strings, ...values) => {
	let output = strings[0];
	for (let i = 0; i < values.length; i++) {
		output = output + exports.htmlUnescape(String(values[i])) + strings[i + 1];
	}

	return output;
};