1234567891011121314151617181920212223242526 |
- 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, it’s fine.
- return '&' + characterReferences[value] + ';'
- }
- }
|