diff options
Diffstat (limited to 'vanilla/node_modules/css-tree/lib/syntax/node/Feature.js')
| -rw-r--r-- | vanilla/node_modules/css-tree/lib/syntax/node/Feature.js | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/vanilla/node_modules/css-tree/lib/syntax/node/Feature.js b/vanilla/node_modules/css-tree/lib/syntax/node/Feature.js deleted file mode 100644 index 2f2dc3d..0000000 --- a/vanilla/node_modules/css-tree/lib/syntax/node/Feature.js +++ /dev/null @@ -1,103 +0,0 @@ -import { - Ident, - Number, - Dimension, - Function as FunctionToken, - LeftParenthesis, - RightParenthesis, - Colon, - Delim -} from '../../tokenizer/index.js'; - -const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) - -export const name = 'Feature'; -export const structure = { - kind: String, - name: String, - value: ['Identifier', 'Number', 'Dimension', 'Ratio', 'Function', null] -}; - -export function parse(kind) { - const start = this.tokenStart; - let name; - let value = null; - - this.eat(LeftParenthesis); - this.skipSC(); - - name = this.consume(Ident); - this.skipSC(); - - if (this.tokenType !== RightParenthesis) { - this.eat(Colon); - this.skipSC(); - - switch (this.tokenType) { - case Number: - if (this.lookupNonWSType(1) === Delim) { - value = this.Ratio(); - } else { - value = this.Number(); - } - - break; - - case Dimension: - value = this.Dimension(); - break; - - case Ident: - value = this.Identifier(); - break; - - case FunctionToken: - value = this.parseWithFallback( - () => { - const res = this.Function(this.readSequence, this.scope.Value); - - this.skipSC(); - - if (this.isDelim(SOLIDUS)) { - this.error(); - } - - return res; - }, - () => { - return this.Ratio(); - } - ); - break; - - default: - this.error('Number, dimension, ratio or identifier is expected'); - } - - this.skipSC(); - } - - if (!this.eof) { - this.eat(RightParenthesis); - } - - return { - type: 'Feature', - loc: this.getLocation(start, this.tokenStart), - kind, - name, - value - }; -} - -export function generate(node) { - this.token(LeftParenthesis, '('); - this.token(Ident, node.name); - - if (node.value !== null) { - this.token(Colon, ':'); - this.node(node.value); - } - - this.token(RightParenthesis, ')'); -} |
