Files
hereconnect/apps/frontend/src/utils/images/svg/optimizeSvg.ts
T
ti 11bba7a275
Main daploy / deploy (push) Successful in 43s
move * to apps/frontend
2024-11-21 01:15:06 +02:00

26 lines
684 B
TypeScript

import { optimize } from 'svgo'
/**
* Оптимизация SVG с использованием SVGO.
* @param svgText string изображения SVG.
* @returns Строка оптимизированного SVG.
*/
export function optimizeSvg(svgText: string): string {
const optimizedSvg = optimize(svgText, {
plugins: [
{ name: 'removeDoctype' },
{ name: 'removeComments' },
{ name: 'removeDimensions' },
{ name: 'convertShapeToPath' },
{ name: 'convertPathData' },
{ name: 'mergePaths' },
],
})
if (!optimizedSvg.data) {
throw new Error('Ошибка оптимизации SVG')
}
return optimizedSvg.data
}