astro-ghostcms/.pnpm-store/v3/files/2a/60e5aebd6b2c1307070d094cb9a...

27 lines
661 B
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
const characterReferences = {'"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'}
/**
* Encode only the dangerous HTML characters.
*
* This ensures that certain characters which have special meaning in HTML are
* dealt with.
* Technically, we can skip `>` and `"` in many cases, but CM includes them.
*
* @param {string} value
* Value to encode.
* @returns {string}
* Encoded value.
*/
export function encode(value) {
return value.replace(/["&<>]/g, replace)
/**
* @param {string} value
* @returns {string}
*/
function replace(value) {
// @ts-expect-error Hush, its fine.
return '&' + characterReferences[value] + ';'
}
}