15 lines
393 B
JavaScript
15 lines
393 B
JavaScript
|
/**
|
||
|
* Configurable ways to encode characters as hexadecimal references.
|
||
|
*
|
||
|
* @param {number} code
|
||
|
* @param {number} next
|
||
|
* @param {boolean|undefined} omit
|
||
|
* @returns {string}
|
||
|
*/
|
||
|
export function toHexadecimal(code, next, omit) {
|
||
|
const value = '&#x' + code.toString(16).toUpperCase()
|
||
|
return omit && next && !/[\dA-Fa-f]/.test(String.fromCharCode(next))
|
||
|
? value
|
||
|
: value + ';'
|
||
|
}
|