3
3
Author Tobias Koppers @sokra
4
4
*/
5
5
// css base code, injected by the css-loader
6
+ // eslint-disable-next-line func-names
6
7
module . exports = function ( useSourceMap ) {
7
- var list = [ ] ;
8
+ const list = [ ] ;
8
9
9
10
// return the list of modules as css string
10
11
list . toString = function toString ( ) {
11
- return this . map ( function ( item ) {
12
- var content = cssWithMappingToString ( item , useSourceMap ) ;
12
+ return this . map ( ( item ) => {
13
+ const content = cssWithMappingToString ( item , useSourceMap ) ;
14
+
13
15
if ( item [ 2 ] ) {
14
- return '@media ' + item [ 2 ] + '{' + content + '}' ;
15
- } else {
16
- return content ;
16
+ return `@media ${ item [ 2 ] } {${ content } }` ;
17
17
}
18
+
19
+ return content ;
18
20
} ) . join ( '' ) ;
19
21
} ;
20
22
21
23
// import a list of modules into the list
24
+ // eslint-disable-next-line func-names
22
25
list . i = function ( modules , mediaQuery ) {
23
26
if ( typeof modules === 'string' ) {
27
+ // eslint-disable-next-line no-param-reassign
24
28
modules = [ [ null , modules , '' ] ] ;
25
29
}
26
- var alreadyImportedModules = { } ;
27
- for ( var i = 0 ; i < this . length ; i ++ ) {
28
- var id = this [ i ] [ 0 ] ;
30
+
31
+ const alreadyImportedModules = { } ;
32
+
33
+ for ( let i = 0 ; i < this . length ; i ++ ) {
34
+ // eslint-disable-next-line prefer-destructuring
35
+ const id = this [ i ] [ 0 ] ;
36
+
29
37
if ( id != null ) {
30
38
alreadyImportedModules [ id ] = true ;
31
39
}
32
40
}
33
- for ( i = 0 ; i < modules . length ; i ++ ) {
34
- var item = modules [ i ] ;
41
+
42
+ for ( let i = 0 ; i < modules . length ; i ++ ) {
43
+ const item = modules [ i ] ;
44
+
35
45
// skip already imported module
36
46
// this implementation is not 100% perfect for weird media query combinations
37
47
// when a module is imported multiple times with different media queries.
@@ -40,27 +50,31 @@ module.exports = function(useSourceMap) {
40
50
if ( mediaQuery && ! item [ 2 ] ) {
41
51
item [ 2 ] = mediaQuery ;
42
52
} else if ( mediaQuery ) {
43
- item [ 2 ] = '(' + item [ 2 ] + ' ) and (' + mediaQuery + ')' ;
53
+ item [ 2 ] = `( ${ item [ 2 ] } ) and (${ mediaQuery } )` ;
44
54
}
55
+
45
56
list . push ( item ) ;
46
57
}
47
58
}
48
59
} ;
60
+
49
61
return list ;
50
62
} ;
51
63
52
64
function cssWithMappingToString ( item , useSourceMap ) {
53
- var content = item [ 1 ] || '' ;
54
- var cssMapping = item [ 3 ] ;
65
+ const content = item [ 1 ] || '' ;
66
+ // eslint-disable-next-line prefer-destructuring
67
+ const cssMapping = item [ 3 ] ;
68
+
55
69
if ( ! cssMapping ) {
56
70
return content ;
57
71
}
58
72
59
73
if ( useSourceMap && typeof btoa === 'function' ) {
60
- var sourceMapping = toComment ( cssMapping ) ;
61
- var sourceURLs = cssMapping . sources . map ( function ( source ) {
62
- return ' /*# sourceURL=' + cssMapping . sourceRoot + source + ' */' ;
63
- } ) ;
74
+ const sourceMapping = toComment ( cssMapping ) ;
75
+ const sourceURLs = cssMapping . sources . map (
76
+ ( source ) => ` /*# sourceURL=${ cssMapping . sourceRoot } ${ source } */`
77
+ ) ;
64
78
65
79
return [ content ]
66
80
. concat ( sourceURLs )
@@ -74,9 +88,8 @@ function cssWithMappingToString(item, useSourceMap) {
74
88
// Adapted from convert-source-map (MIT)
75
89
function toComment ( sourceMap ) {
76
90
// eslint-disable-next-line no-undef
77
- var base64 = btoa ( unescape ( encodeURIComponent ( JSON . stringify ( sourceMap ) ) ) ) ;
78
- var data =
79
- 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64 ;
91
+ const base64 = btoa ( unescape ( encodeURIComponent ( JSON . stringify ( sourceMap ) ) ) ) ;
92
+ const data = `sourceMappingURL=data:application/json;charset=utf-8;base64,${ base64 } ` ;
80
93
81
- return ' /*# ' + data + ' */' ;
94
+ return ` /*# ${ data } */` ;
82
95
}
0 commit comments