@@ -2,6 +2,7 @@ var simpleHTMLTokenizer = require('simple-html-tokenizer');
22var tokenize = simpleHTMLTokenizer . tokenize ;
33var generate = simpleHTMLTokenizer . generate ;
44var loaderUtils = require ( 'loader-utils' ) ;
5+ var assign = require ( 'object-assign' ) ;
56
67var conditions = require ( './lib/conditions' ) ;
78var transformer = require ( './lib/transformer' ) ;
@@ -20,15 +21,20 @@ var regexSequences = [
2021] ;
2122
2223function getExtractedSVG ( svgStr , query ) {
24+ var config ;
2325 // interpolate hashes in classPrefix
24- if ( ! ! query && ! ! query . classPrefix ) {
25- const name = query . classPrefix === true ? '__[hash:base64:7]__' : query . classPrefix ;
26- query . classPrefix = loaderUtils . interpolateName ( { } , name , { content : svgStr } ) ;
27- }
26+ if ( ! ! query ) {
27+ config = assign ( { } , query ) ;
28+
29+ if ( ! ! config . classPrefix ) {
30+ const name = config . classPrefix === true ? '__[hash:base64:7]__' : config . classPrefix ;
31+ config . classPrefix = loaderUtils . interpolateName ( { } , name , { content : svgStr } ) ;
32+ }
2833
29- if ( ! ! query && ! ! query . idPrefix ) {
30- const id_name = query . idPrefix === true ? '__[hash:base64:7]__' : query . idPrefix ;
31- query . idPrefix = loaderUtils . interpolateName ( { } , id_name , { content : svgStr } ) ;
34+ if ( ! ! config . idPrefix ) {
35+ const id_name = config . idPrefix === true ? '__[hash:base64:7]__' : config . idPrefix ;
36+ config . idPrefix = loaderUtils . interpolateName ( { } , id_name , { content : svgStr } ) ;
37+ }
3238 }
3339
3440 // Clean-up XML crusts like comments and doctype, etc.
@@ -47,7 +53,7 @@ function getExtractedSVG(svgStr, query) {
4753 }
4854
4955 // If the token is <svg> start-tag, then remove width and height attributes.
50- return generate ( transformer . runTransform ( tokens , query ) ) ;
56+ return generate ( transformer . runTransform ( tokens , config ) ) ;
5157}
5258
5359function SVGInlineLoader ( content ) {
0 commit comments