@parcel/utils
Version:
Blazing fast, zero configuration web application bundler
21 lines (17 loc) • 449 B
JavaScript
// @flow
// Based on _.escape https://github.com/lodash/lodash/blob/master/escape.js
const reUnescapedHtml = /[&<>"']/g;
const reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
const htmlEscapes = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
};
export function escapeHTML(s: string): string {
if (reHasUnescapedHtml.test(s)) {
return s.replace(reUnescapedHtml, c => htmlEscapes[c]);
}
return s;
}