source: imaps-frontend/node_modules/css-tree/lib/syntax/function/var.js@ d565449

main
Last change on this file since d565449 was d565449, checked in by stefan toskovski <stefantoska84@…>, 4 weeks ago

Update repo after prototype presentation

  • Property mode set to 100644
File size: 1.3 KB
Line 
1var TYPE = require('../../tokenizer').TYPE;
2var rawMode = require('../node/Raw').mode;
3
4var COMMA = TYPE.Comma;
5var WHITESPACE = TYPE.WhiteSpace;
6
7// var( <ident> , <value>? )
8module.exports = function() {
9 var children = this.createList();
10
11 this.scanner.skipSC();
12
13 // NOTE: Don't check more than a first argument is an ident, rest checks are for lexer
14 children.push(this.Identifier());
15
16 this.scanner.skipSC();
17
18 if (this.scanner.tokenType === COMMA) {
19 children.push(this.Operator());
20
21 const startIndex = this.scanner.tokenIndex;
22 const value = this.parseCustomProperty
23 ? this.Value(null)
24 : this.Raw(this.scanner.tokenIndex, rawMode.exclamationMarkOrSemicolon, false);
25
26 if (value.type === 'Value' && value.children.isEmpty()) {
27 for (let offset = startIndex - this.scanner.tokenIndex; offset <= 0; offset++) {
28 if (this.scanner.lookupType(offset) === WHITESPACE) {
29 value.children.appendData({
30 type: 'WhiteSpace',
31 loc: null,
32 value: ' '
33 });
34 break;
35 }
36 }
37 }
38
39 children.push(value);
40 }
41
42 return children;
43};
Note: See TracBrowser for help on using the repository browser.