UNPKG

dr-svg-sprites

Version:

Create SVG sprites with PNG fallbacks at needed sizes

28 lines (20 loc) 732 B
var SVGO = require("svgo"); var util = require("./util"); var svgutil = require("./svgutil"); module.exports = function (sprite, callback) { // Items not found if (sprite.items.length === 0) { return ("function" === typeof callback) ? callback() : undefined; } var items = sprite.items.map(function (item) { return svgutil.transform(item.source, item.x, item.y); }); var attributes = {}; Object.assign(attributes, sprite.config.svgAttributes); Object.assign(attributes, sprite.namespaces); var source = svgutil.wrap(sprite.width, sprite.height, items, attributes); var svgo = new SVGO(sprite.config.svgo); svgo.optimize(source, function (result) { util.write(sprite.svgPath, result.data, callback); }); };