@wordpress/escape-html
Version:
37 lines (36 loc) • 1.03 kB
JavaScript
// packages/escape-html/src/index.ts
import __unstableEscapeGreaterThan from "./escape-greater.mjs";
var REGEXP_INVALID_ATTRIBUTE_NAME = /[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/;
function escapeAmpersand(value) {
return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, "&");
}
function escapeQuotationMark(value) {
return value.replace(/"/g, """);
}
function escapeLessThan(value) {
return value.replace(/</g, "<");
}
function escapeAttribute(value) {
return __unstableEscapeGreaterThan(
escapeLessThan(escapeQuotationMark(escapeAmpersand(value)))
);
}
function escapeHTML(value) {
return escapeLessThan(escapeAmpersand(value));
}
function escapeEditableHTML(value) {
return escapeLessThan(value.replace(/&/g, "&"));
}
function isValidAttributeName(name) {
return !REGEXP_INVALID_ATTRIBUTE_NAME.test(name);
}
export {
escapeAmpersand,
escapeAttribute,
escapeEditableHTML,
escapeHTML,
escapeLessThan,
escapeQuotationMark,
isValidAttributeName
};
//# sourceMappingURL=index.mjs.map