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/UnicodeRange.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/UnicodeRange.js')
| -rw-r--r-- | vanilla/node_modules/css-tree/lib/syntax/node/UnicodeRange.js | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/vanilla/node_modules/css-tree/lib/syntax/node/UnicodeRange.js b/vanilla/node_modules/css-tree/lib/syntax/node/UnicodeRange.js deleted file mode 100644 index 95ee8b9..0000000 --- a/vanilla/node_modules/css-tree/lib/syntax/node/UnicodeRange.js +++ /dev/null @@ -1,156 +0,0 @@ -import { - isHexDigit, - Ident, - Number, - Dimension -} from '../../tokenizer/index.js'; - -const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) -const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) -const QUESTIONMARK = 0x003F; // U+003F QUESTION MARK (?) - -function eatHexSequence(offset, allowDash) { - let len = 0; - - for (let pos = this.tokenStart + offset; pos < this.tokenEnd; pos++) { - const code = this.charCodeAt(pos); - - if (code === HYPHENMINUS && allowDash && len !== 0) { - eatHexSequence.call(this, offset + len + 1, false); - return -1; - } - - if (!isHexDigit(code)) { - this.error( - allowDash && len !== 0 - ? 'Hyphen minus' + (len < 6 ? ' or hex digit' : '') + ' is expected' - : (len < 6 ? 'Hex digit is expected' : 'Unexpected input'), - pos - ); - } - - if (++len > 6) { - this.error('Too many hex digits', pos); - }; - } - - this.next(); - return len; -} - -function eatQuestionMarkSequence(max) { - let count = 0; - - while (this.isDelim(QUESTIONMARK)) { - if (++count > max) { - this.error('Too many question marks'); - } - - this.next(); - } -} - -function startsWith(code) { - if (this.charCodeAt(this.tokenStart) !== code) { - this.error((code === PLUSSIGN ? 'Plus sign' : 'Hyphen minus') + ' is expected'); - } -} - -// https://drafts.csswg.org/css-syntax/#urange -// Informally, the <urange> production has three forms: -// U+0001 -// Defines a range consisting of a single code point, in this case the code point "1". -// U+0001-00ff -// Defines a range of codepoints between the first and the second value, in this case -// the range between "1" and "ff" (255 in decimal) inclusive. -// U+00?? -// Defines a range of codepoints where the "?" characters range over all hex digits, -// in this case defining the same as the value U+0000-00ff. -// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit). -// -// <urange> = -// u '+' <ident-token> '?'* | -// u <dimension-token> '?'* | -// u <number-token> '?'* | -// u <number-token> <dimension-token> | -// u <number-token> <number-token> | -// u '+' '?'+ -function scanUnicodeRange() { - let hexLength = 0; - - switch (this.tokenType) { - case Number: - // u <number-token> '?'* - // u <number-token> <dimension-token> - // u <number-token> <number-token> - hexLength = eatHexSequence.call(this, 1, true); - - if (this.isDelim(QUESTIONMARK)) { - eatQuestionMarkSequence.call(this, 6 - hexLength); - break; - } - - if (this.tokenType === Dimension || - this.tokenType === Number) { - startsWith.call(this, HYPHENMINUS); - eatHexSequence.call(this, 1, false); - break; - } - - break; - - case Dimension: - // u <dimension-token> '?'* - hexLength = eatHexSequence.call(this, 1, true); - - if (hexLength > 0) { - eatQuestionMarkSequence.call(this, 6 - hexLength); - } - - break; - - default: - // u '+' <ident-token> '?'* - // u '+' '?'+ - this.eatDelim(PLUSSIGN); - - if (this.tokenType === Ident) { - hexLength = eatHexSequence.call(this, 0, true); - if (hexLength > 0) { - eatQuestionMarkSequence.call(this, 6 - hexLength); - } - break; - } - - if (this.isDelim(QUESTIONMARK)) { - this.next(); - eatQuestionMarkSequence.call(this, 5); - break; - } - - this.error('Hex digit or question mark is expected'); - } -} - -export const name = 'UnicodeRange'; -export const structure = { - value: String -}; - -export function parse() { - const start = this.tokenStart; - - // U or u - this.eatIdent('u'); - scanUnicodeRange.call(this); - - return { - type: 'UnicodeRange', - loc: this.getLocation(start, this.tokenStart), - value: this.substrToCursor(start) - }; -} - -export function generate(node) { - this.tokenize(node.value); -} |
