Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// Set a global floatPrecision across all the plugins.
const floatPrecision = 6;
for (const plugin of Object.values(pluginsData)) {
if (plugin.params && 'floatPrecision' in plugin.params) {
plugin.params.floatPrecision = floatPrecision;
}
}
// Tweak plugin params.
cleanupIDs.params.minify = false;
convertPathData.params.makeArcs = undefined;
convertPathData.params.transformPrecision = floatPrecision;
convertShapeToPath.params.convertArcs = true;
convertTransform.params.transformPrecision = floatPrecision;
inlineStyles.params.onlyMatchedOnce = false;
removeUselessStrokeAndFill.params.removeNone = true;
const optimizedPluginsData = (function() {
return Object.values(pluginsData)
.map(item => [item])
.reduce((arr, item) => {
const last = arr[arr.length - 1];
if (last && item[0].type === last[0].type) {
last.push(item[0]);
} else {
arr.push(item);
}
return arr;
}, []);
})();
export function optimizeSvg(svgText: string, pretty = true): Promise {
// Set a global floatPrecision across all the plugins.
const floatPrecision = 6;
for (const plugin of Object.values(pluginsData)) {
if (plugin.params && 'floatPrecision' in plugin.params) {
plugin.params.floatPrecision = floatPrecision;
}
}
// Tweak plugin params.
cleanupIDs.params.minify = false;
convertPathData.params.makeArcs = undefined;
convertPathData.params.transformPrecision = floatPrecision;
convertShapeToPath.params.convertArcs = true;
convertTransform.params.transformPrecision = floatPrecision;
inlineStyles.params.onlyMatchedOnce = false;
removeUselessStrokeAndFill.params.removeNone = true;
const optimizedPluginsData = (function () {
return Object.values(pluginsData)
.map(item => [item])
.reduce((arr, item) => {
const last = arr[arr.length - 1];
if (last && item[0].type === last[0].type) {
last.push(item[0]);
} else {
arr.push(item);
}
return arr;
}, []);
})();
export function optimizeSvg(svgText: string, pretty = true): Promise {