20 lines
687 B
JavaScript
20 lines
687 B
JavaScript
const { generateSpritePlaceholder, stringify } = require('../../lib/utils');
|
|
|
|
module.exports = function runtimeGenerator({ symbol, loaderContext }) {
|
|
// this will be replaced with real symbol url, e.g. sprite.svg#twitter-usage
|
|
const publicPath = loaderContext._compiler.options.output.publicPath;
|
|
const spritePlaceholder = generateSpritePlaceholder(symbol.request.file);
|
|
const viewBoxParts = symbol.viewBox.split(' ');
|
|
const width = parseInt(viewBoxParts[2], 10);
|
|
const height = parseInt(viewBoxParts[3], 10);
|
|
|
|
const data = {
|
|
width,
|
|
height,
|
|
viewBox: symbol.viewBox,
|
|
url: publicPath + spritePlaceholder
|
|
};
|
|
|
|
return `export default ${stringify(data)}`;
|
|
};
|