@@ -168,7 +168,7 @@ module.exports = function(css, options){
168
168
function selector ( ) {
169
169
var m = match ( / ^ ( [ ^ { ] + ) / ) ;
170
170
if ( ! m ) return ;
171
- return m [ 0 ] . replace ( / ^ \s + | \s + $ / g , '' ) . split ( / \s * , \s * / ) ;
171
+ return trim ( m [ 0 ] ) . split ( / \s * , \s * / ) ;
172
172
}
173
173
174
174
/**
@@ -181,7 +181,7 @@ module.exports = function(css, options){
181
181
// prop
182
182
var prop = match ( / ^ ( \* ? [ - \/ \* \w ] + ) \s * / ) ;
183
183
if ( ! prop ) return ;
184
- prop = prop [ 0 ] . replace ( / ^ \s + | \s + $ / g , '' ) ;
184
+ prop = trim ( prop [ 0 ] ) ;
185
185
186
186
// :
187
187
if ( ! match ( / ^ : \s * / ) ) return error ( "property missing ':'" ) ;
@@ -193,7 +193,7 @@ module.exports = function(css, options){
193
193
var ret = pos ( {
194
194
type : 'declaration' ,
195
195
property : prop ,
196
- value : val [ 0 ] . replace ( / ^ \s + | \s + $ / g , '' )
196
+ value : trim ( val [ 0 ] )
197
197
} ) ;
198
198
199
199
// ;
@@ -290,7 +290,7 @@ module.exports = function(css, options){
290
290
var m = match ( / ^ @ s u p p o r t s * ( [ ^ { ] + ) / ) ;
291
291
292
292
if ( ! m ) return ;
293
- var supports = m [ 1 ] . replace ( / ^ \s + | \s + $ / g , '' ) ;
293
+ var supports = trim ( m [ 1 ] ) ;
294
294
295
295
if ( ! open ( ) ) return error ( "@supports missing '{'" ) ;
296
296
@@ -314,7 +314,7 @@ module.exports = function(css, options){
314
314
var m = match ( / ^ @ m e d i a * ( [ ^ { ] + ) / ) ;
315
315
316
316
if ( ! m ) return ;
317
- var media = m [ 1 ] . replace ( / ^ \s + | \s + $ / g , '' ) ;
317
+ var media = trim ( m [ 1 ] ) ;
318
318
319
319
if ( ! open ( ) ) return error ( "@media missing '{'" ) ;
320
320
@@ -368,8 +368,8 @@ module.exports = function(css, options){
368
368
var m = match ( / ^ @ ( [ - \w ] + ) ? d o c u m e n t * ( [ ^ { ] + ) / ) ;
369
369
if ( ! m ) return ;
370
370
371
- var vendor = ( m [ 1 ] || '' ) . replace ( / ^ \s + | \s + $ / g , '' ) ;
372
- var doc = m [ 2 ] . replace ( / ^ \s + | \s + $ / g , '' ) ;
371
+ var vendor = trim ( m [ 1 ] ) ;
372
+ var doc = trim ( m [ 2 ] ) ;
373
373
374
374
if ( ! open ( ) ) return error ( "@document missing '{'" ) ;
375
375
@@ -418,7 +418,7 @@ module.exports = function(css, options){
418
418
var m = match ( new RegExp ( '^@' + name + ' *([^;\\n]+);' ) ) ;
419
419
if ( ! m ) return ;
420
420
var ret = { type : name } ;
421
- ret [ name ] = m [ 1 ] . replace ( / ^ \s + | \s + $ / g , '' ) ;
421
+ ret [ name ] = trim ( m [ 1 ] ) ;
422
422
return pos ( ret ) ;
423
423
}
424
424
@@ -458,3 +458,10 @@ module.exports = function(css, options){
458
458
return stylesheet ( ) ;
459
459
} ;
460
460
461
+ /**
462
+ * Trim `str`.
463
+ */
464
+
465
+ function trim ( str ) {
466
+ return ( str || '' ) . replace ( / ^ \s + | \s + $ / g, '' ) ;
467
+ }
0 commit comments