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
}
