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)}`;
};