19 lines
408 B
JavaScript
19 lines
408 B
JavaScript
'use strict';
|
|
const isSvg = require('is-svg');
|
|
const SVGO = require('svgo');
|
|
|
|
module.exports = options => buffer => {
|
|
options = Object.assign({multipass: true}, options);
|
|
|
|
if (!isSvg(buffer)) {
|
|
return Promise.resolve(buffer);
|
|
}
|
|
|
|
if (Buffer.isBuffer(buffer)) {
|
|
buffer = buffer.toString();
|
|
}
|
|
|
|
const svgo = new SVGO(options);
|
|
return svgo.optimize(buffer).then(result => Buffer.from(result.data));
|
|
};
|