@prismicio/client
Version:
The official JavaScript + TypeScript client library for Prismic
39 lines (38 loc) • 870 B
JavaScript
//#region src/lib/escapeHTML.ts
const matchHtmlRegExp = /["'&<>]/;
const escapeHTML = (string) => {
const str = "" + string;
const match = matchHtmlRegExp.exec(str);
if (!match) return str;
let escape;
let html = "";
let index = 0;
let lastIndex = 0;
for (index = match.index; index < str.length; index++) {
switch (str.charCodeAt(index)) {
case 34:
escape = """;
break;
case 38:
escape = "&";
break;
case 39:
escape = "'";
break;
case 60:
escape = "<";
break;
case 62:
escape = ">";
break;
default: continue;
}
if (lastIndex !== index) html += str.substring(lastIndex, index);
lastIndex = index + 1;
html += escape;
}
return lastIndex !== index ? html + str.substring(lastIndex, index) : html;
};
//#endregion
export { escapeHTML };
//# sourceMappingURL=escapeHTML.js.map