diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-14 14:46:37 -0800 |
|---|---|---|
| committer | Adam Mathes <adam@adammathes.com> | 2026-02-14 14:46:37 -0800 |
| commit | afa87af01c79a9baa539f2992d32154d2a4739bd (patch) | |
| tree | 92c7416db734270a2fee1d72ee9cc119379ff8e1 /vanilla/node_modules/css-tree/lib/syntax/node/AttributeSelector.js | |
| parent | 3b927e84d200402281f68181cd4253bc77e5528d (diff) | |
| download | neko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.gz neko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.bz2 neko-afa87af01c79a9baa539f2992d32154d2a4739bd.zip | |
task: delete vanilla js prototype\n\n- Removed vanilla/ directory and web/dist/vanilla directory\n- Updated Makefile, Dockerfile, and CI workflow to remove vanilla references\n- Cleaned up web/web.go to remove vanilla embed and routes\n- Verified build and tests pass\n\nCloses NK-2tcnmq
Diffstat (limited to 'vanilla/node_modules/css-tree/lib/syntax/node/AttributeSelector.js')
| -rw-r--r-- | vanilla/node_modules/css-tree/lib/syntax/node/AttributeSelector.js | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/vanilla/node_modules/css-tree/lib/syntax/node/AttributeSelector.js b/vanilla/node_modules/css-tree/lib/syntax/node/AttributeSelector.js deleted file mode 100644 index 8578dad..0000000 --- a/vanilla/node_modules/css-tree/lib/syntax/node/AttributeSelector.js +++ /dev/null @@ -1,147 +0,0 @@ -import { - Ident, - String as StringToken, - Delim, - LeftSquareBracket, - RightSquareBracket -} from '../../tokenizer/index.js'; - -const DOLLARSIGN = 0x0024; // U+0024 DOLLAR SIGN ($) -const ASTERISK = 0x002A; // U+002A ASTERISK (*) -const EQUALSSIGN = 0x003D; // U+003D EQUALS SIGN (=) -const CIRCUMFLEXACCENT = 0x005E; // U+005E (^) -const VERTICALLINE = 0x007C; // U+007C VERTICAL LINE (|) -const TILDE = 0x007E; // U+007E TILDE (~) - -function getAttributeName() { - if (this.eof) { - this.error('Unexpected end of input'); - } - - const start = this.tokenStart; - let expectIdent = false; - - if (this.isDelim(ASTERISK)) { - expectIdent = true; - this.next(); - } else if (!this.isDelim(VERTICALLINE)) { - this.eat(Ident); - } - - if (this.isDelim(VERTICALLINE)) { - if (this.charCodeAt(this.tokenStart + 1) !== EQUALSSIGN) { - this.next(); - this.eat(Ident); - } else if (expectIdent) { - this.error('Identifier is expected', this.tokenEnd); - } - } else if (expectIdent) { - this.error('Vertical line is expected'); - } - - return { - type: 'Identifier', - loc: this.getLocation(start, this.tokenStart), - name: this.substrToCursor(start) - }; -} - -function getOperator() { - const start = this.tokenStart; - const code = this.charCodeAt(start); - - if (code !== EQUALSSIGN && // = - code !== TILDE && // ~= - code !== CIRCUMFLEXACCENT && // ^= - code !== DOLLARSIGN && // $= - code !== ASTERISK && // *= - code !== VERTICALLINE // |= - ) { - this.error('Attribute selector (=, ~=, ^=, $=, *=, |=) is expected'); - } - - this.next(); - - if (code !== EQUALSSIGN) { - if (!this.isDelim(EQUALSSIGN)) { - this.error('Equal sign is expected'); - } - - this.next(); - } - - return this.substrToCursor(start); -} - -// '[' <wq-name> ']' -// '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']' -export const name = 'AttributeSelector'; -export const structure = { - name: 'Identifier', - matcher: [String, null], - value: ['String', 'Identifier', null], - flags: [String, null] -}; - -export function parse() { - const start = this.tokenStart; - let name; - let matcher = null; - let value = null; - let flags = null; - - this.eat(LeftSquareBracket); - this.skipSC(); - - name = getAttributeName.call(this); - this.skipSC(); - - if (this.tokenType !== RightSquareBracket) { - // avoid case `[name i]` - if (this.tokenType !== Ident) { - matcher = getOperator.call(this); - - this.skipSC(); - - value = this.tokenType === StringToken - ? this.String() - : this.Identifier(); - - this.skipSC(); - } - - // attribute flags - if (this.tokenType === Ident) { - flags = this.consume(Ident); - - this.skipSC(); - } - } - - this.eat(RightSquareBracket); - - return { - type: 'AttributeSelector', - loc: this.getLocation(start, this.tokenStart), - name, - matcher, - value, - flags - }; -} - -export function generate(node) { - this.token(Delim, '['); - this.node(node.name); - - if (node.matcher !== null) { - this.tokenize(node.matcher); - this.node(node.value); - } - - if (node.flags !== null) { - this.token(Ident, node.flags); - } - - this.token(Delim, ']'); -} |
