@@ -236,40 +236,46 @@ export class CssParser {
236236
237237 var block : CssBlockAst ;
238238 var type = this . _resolveBlockType ( token ) ;
239+ var span : ParseSourceSpan ;
240+ var tokens : CssToken [ ] ;
241+ var endToken : CssToken ;
242+ var end : number ;
243+ var strValue : string ;
244+ var query : CssAtRulePredicateAst ;
239245 switch ( type ) {
240246 case BlockType . Charset :
241247 case BlockType . Namespace :
242248 case BlockType . Import :
243- var value = this . _parseValue ( delimiters ) ;
249+ let value = this . _parseValue ( delimiters ) ;
244250 this . _scanner . setMode ( CssLexerMode . BLOCK ) ;
245251 this . _scanner . consumeEmptyStatements ( ) ;
246- var span = this . _generateSourceSpan ( startToken , value ) ;
252+ span = this . _generateSourceSpan ( startToken , value ) ;
247253 return new CssInlineRuleAst ( span , type , value ) ;
248254
249255 case BlockType . Viewport :
250256 case BlockType . FontFace :
251257 block = this . _parseStyleBlock ( delimiters ) ;
252- var span = this . _generateSourceSpan ( startToken , block ) ;
258+ span = this . _generateSourceSpan ( startToken , block ) ;
253259 return new CssBlockRuleAst ( span , type , block ) ;
254260
255261 case BlockType . Keyframes :
256- var tokens = this . _collectUntilDelim ( delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG ) ;
262+ tokens = this . _collectUntilDelim ( delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG ) ;
257263 // keyframes only have one identifier name
258- var name = tokens [ 0 ] ;
259- var block = this . _parseKeyframeBlock ( delimiters ) ;
260- var span = this . _generateSourceSpan ( startToken , block ) ;
264+ let name = tokens [ 0 ] ;
265+ block = this . _parseKeyframeBlock ( delimiters ) ;
266+ span = this . _generateSourceSpan ( startToken , block ) ;
261267 return new CssKeyframeRuleAst ( span , name , block ) ;
262268
263269 case BlockType . MediaQuery :
264270 this . _scanner . setMode ( CssLexerMode . MEDIA_QUERY ) ;
265- var tokens = this . _collectUntilDelim ( delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG ) ;
266- var endToken = tokens [ tokens . length - 1 ] ;
271+ tokens = this . _collectUntilDelim ( delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG ) ;
272+ endToken = tokens [ tokens . length - 1 ] ;
267273 // we do not track the whitespace after the mediaQuery predicate ends
268274 // so we have to calculate the end string value on our own
269- var end = endToken . index + endToken . strValue . length - 1 ;
270- var strValue = this . _extractSourceContent ( start , end ) ;
271- var span = this . _generateSourceSpan ( startToken , endToken ) ;
272- var query = new CssAtRulePredicateAst ( span , strValue , tokens ) ;
275+ end = endToken . index + endToken . strValue . length - 1 ;
276+ strValue = this . _extractSourceContent ( start , end ) ;
277+ span = this . _generateSourceSpan ( startToken , endToken ) ;
278+ query = new CssAtRulePredicateAst ( span , strValue , tokens ) ;
273279 block = this . _parseBlock ( delimiters ) ;
274280 strValue = this . _extractSourceContent ( start , this . _getScannerIndex ( ) - 1 ) ;
275281 span = this . _generateSourceSpan ( startToken , block ) ;
@@ -279,23 +285,23 @@ export class CssParser {
279285 case BlockType . Supports :
280286 case BlockType . Page :
281287 this . _scanner . setMode ( CssLexerMode . AT_RULE_QUERY ) ;
282- var tokens = this . _collectUntilDelim ( delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG ) ;
283- var endToken = tokens [ tokens . length - 1 ] ;
288+ tokens = this . _collectUntilDelim ( delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG ) ;
289+ endToken = tokens [ tokens . length - 1 ] ;
284290 // we do not track the whitespace after this block rule predicate ends
285291 // so we have to calculate the end string value on our own
286- var end = endToken . index + endToken . strValue . length - 1 ;
287- var strValue = this . _extractSourceContent ( start , end ) ;
288- var span = this . _generateSourceSpan ( startToken , tokens [ tokens . length - 1 ] ) ;
289- var query = new CssAtRulePredicateAst ( span , strValue , tokens ) ;
292+ end = endToken . index + endToken . strValue . length - 1 ;
293+ strValue = this . _extractSourceContent ( start , end ) ;
294+ span = this . _generateSourceSpan ( startToken , tokens [ tokens . length - 1 ] ) ;
295+ query = new CssAtRulePredicateAst ( span , strValue , tokens ) ;
290296 block = this . _parseBlock ( delimiters ) ;
291297 strValue = this . _extractSourceContent ( start , block . end . offset ) ;
292298 span = this . _generateSourceSpan ( startToken , block ) ;
293299 return new CssBlockDefinitionRuleAst ( span , strValue , type , query , block ) ;
294300
295301 // if a custom @rule { ... } is used it should still tokenize the insides
296302 default :
297- var listOfTokens : CssToken [ ] = [ ] ;
298- var tokenName = token . strValue ;
303+ let listOfTokens : CssToken [ ] = [ ] ;
304+ let tokenName = token . strValue ;
299305 this . _scanner . setMode ( CssLexerMode . ALL ) ;
300306 this . _error (
301307 generateErrorMessage (
@@ -312,8 +318,8 @@ export class CssParser {
312318 . forEach ( ( token ) => { listOfTokens . push ( token ) ; } ) ;
313319 listOfTokens . push ( this . _consume ( CssTokenType . Character , '}' ) ) ;
314320 }
315- var endToken = listOfTokens [ listOfTokens . length - 1 ] ;
316- var span = this . _generateSourceSpan ( startToken , endToken ) ;
321+ endToken = listOfTokens [ listOfTokens . length - 1 ] ;
322+ span = this . _generateSourceSpan ( startToken , endToken ) ;
317323 return new CssUnknownRuleAst ( span , tokenName , listOfTokens ) ;
318324 }
319325 }
0 commit comments