module.exports = function()

in packages/svg-transform-loader/lib/loader.js [18:54]


module.exports = function (content, map) {
  if (this.version === 1 && this.cacheable) {
    this.cacheable();
  }

  const callback = this.async();

  const {
    raw,
    transformQuery,
    ...transformPluginCfg
  } = merge(defaultConfig, getOptions(this) || {});

  const query = this.resourceQuery ? parseQuery(this.resourceQuery) : null;

  if (!query || isEmpty(query)) {
    return callback(null, generateLoaderResult(content, raw), map);
  }

  if (typeof transformQuery === 'function') {
    transformQuery(query);
  }

  Object.keys(query).forEach(param => {
    query[param] = decodeURIComponent(query[param]);
  });

  postsvg()
    .use(transformPlugin(stringifyQuery(query), transformPluginCfg))
    .process(content)
    .then(res => {
      callback(null, generateLoaderResult(res.svg, raw), map, {
        ast: res.tree
      });
    })
    .catch(callback);
};