Urara-Blog/node_modules/.pnpm-store/v3/files/90/97bee16f56601fb298d5ac64e12a84e20aaa95038bf204c2b976372810274043b3cf8343a1310978c905a6dc0231fd9a33d473d6980be38d03d39cc9337ed3
2022-08-14 01:14:53 +08:00

26 lines
747 B
Text

import { Hash, Delim } from '../../tokenizer/index.js';
export const name = 'IdSelector';
export const structure = {
name: String
};
export function parse() {
const start = this.tokenStart;
// TODO: check value is an ident
this.eat(Hash);
return {
type: 'IdSelector',
loc: this.getLocation(start, this.tokenStart),
name: this.substrToCursor(start + 1)
};
}
export function generate(node) {
// Using Delim instead of Hash is a hack to avoid for a whitespace between ident and id-selector
// in safe mode (e.g. "a#id"), because IE11 doesn't allow a sequence <ident-token> <hash-token>
// without a whitespace in values (e.g. "1px solid#000")
this.token(Delim, '#' + node.name);
}