FLUJOS/BACK_BACK/node_modules/htmlnano/lib/modules/minifySvg.js
2025-11-07 00:06:12 +01:00

32 lines
No EOL
812 B
JavaScript
Executable file

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = minifySvg;
var _svgo = _interopRequireDefault(require("svgo"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** Minify SVG with SVGO */
function minifySvg(tree, options, svgoOptions = {}) {
let promises = [];
const svgo = new _svgo.default(svgoOptions);
tree.match({
tag: 'svg'
}, node => {
let svgStr = tree.render(node, {
closingSingleTag: 'slash',
quoteAllAttributes: true
});
let promise = svgo.optimize(svgStr).then(result => {
node.tag = false;
node.attrs = {};
node.content = result.data;
});
promises.push(promise);
return node;
});
return Promise.all(promises).then(() => tree);
}