quickchart / lib /svg.js
glutamatt's picture
glutamatt HF Staff
Initial deployment of QuickChart service
ecdd7f6 verified
raw
history blame contribute delete
575 Bytes
function generateRandomId(length) {
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let result = '';
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
// From https://blog.jim-nielsen.com/2022/multiple-inline-svgs/
function uniqueSvg(svg) {
const id = generateRandomId(10);
return svg
.replace(/id="clip/g, `id="${id}__clip`)
.replace(/clip-path="url\(#clip/g, `clip-path="url(#${id}__clip`);
}
module.exports = {
uniqueSvg,
};