Files
spothole/webassets/js/utils.js
2026-06-19 21:36:11 +01:00

41 lines
1.0 KiB
JavaScript

//
// GENERAL UTILITY FUNCTIONS
// OBject, string manipulation etc.
//
// Utility function to escape HTML characters from a string.
function escapeHtml(str) {
if (typeof str !== 'string') {
return '';
}
const escapeCharacter = (match) => {
switch (match) {
case '&':
return '&';
case '<':
return '&lt;';
case '>':
return '&gt;';
case '"':
return '&quot;';
case '\'':
return '&#039;';
case '`':
return '&#096;';
default:
return match;
}
};
return str.replace(/[&<>"'`]/g, escapeCharacter);
}
// Converts an HTML hex colour to an array of [R, G, B] where each is 0-255.
function hexToRGB(hex) {
return hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i
, (m, r, g, b) => '#' + r + r + g + g + b + b)
.substring(1).match(/.{2}/g)
.map(x => parseInt(x, 16));
}