Files
hereconnect/apps/frontend/src/utils/images/svg/optimizeSvg.ts
T

26 lines
684 B
TypeScript
Raw Normal View History

2024-11-19 21:26:29 +02:00
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
}