@@ -2,6 +2,7 @@ var simpleHTMLTokenizer = require('simple-html-tokenizer');
2
2
var tokenize = simpleHTMLTokenizer . tokenize ;
3
3
var generate = simpleHTMLTokenizer . generate ;
4
4
var loaderUtils = require ( 'loader-utils' ) ;
5
+ var assign = require ( 'object-assign' ) ;
5
6
6
7
var conditions = require ( './lib/conditions' ) ;
7
8
var transformer = require ( './lib/transformer' ) ;
@@ -20,15 +21,20 @@ var regexSequences = [
20
21
] ;
21
22
22
23
function getExtractedSVG ( svgStr , query ) {
24
+ var config ;
23
25
// 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
+ }
28
33
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
+ }
32
38
}
33
39
34
40
// Clean-up XML crusts like comments and doctype, etc.
@@ -47,7 +53,7 @@ function getExtractedSVG(svgStr, query) {
47
53
}
48
54
49
55
// 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 ) ) ;
51
57
}
52
58
53
59
function SVGInlineLoader ( content ) {
0 commit comments