aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/css-tree/cjs/syntax/pseudo
diff options
context:
space:
mode:
Diffstat (limited to 'vanilla/node_modules/css-tree/cjs/syntax/pseudo')
-rw-r--r--vanilla/node_modules/css-tree/cjs/syntax/pseudo/index.cjs60
-rw-r--r--vanilla/node_modules/css-tree/cjs/syntax/pseudo/lang.cjs37
2 files changed, 97 insertions, 0 deletions
diff --git a/vanilla/node_modules/css-tree/cjs/syntax/pseudo/index.cjs b/vanilla/node_modules/css-tree/cjs/syntax/pseudo/index.cjs
new file mode 100644
index 0000000..37ad6b8
--- /dev/null
+++ b/vanilla/node_modules/css-tree/cjs/syntax/pseudo/index.cjs
@@ -0,0 +1,60 @@
+'use strict';
+
+const lang = require('./lang.cjs');
+
+const selectorList = {
+ parse() {
+ return this.createSingleNodeList(
+ this.SelectorList()
+ );
+ }
+};
+
+const selector = {
+ parse() {
+ return this.createSingleNodeList(
+ this.Selector()
+ );
+ }
+};
+
+const identList = {
+ parse() {
+ return this.createSingleNodeList(
+ this.Identifier()
+ );
+ }
+};
+
+const langList = {
+ parse: lang.parseLanguageRangeList
+};
+
+const nth = {
+ parse() {
+ return this.createSingleNodeList(
+ this.Nth()
+ );
+ }
+};
+
+const pseudo = {
+ 'dir': identList,
+ 'has': selectorList,
+ 'lang': langList,
+ 'matches': selectorList,
+ 'is': selectorList,
+ '-moz-any': selectorList,
+ '-webkit-any': selectorList,
+ 'where': selectorList,
+ 'not': selectorList,
+ 'nth-child': nth,
+ 'nth-last-child': nth,
+ 'nth-last-of-type': nth,
+ 'nth-of-type': nth,
+ 'slotted': selector,
+ 'host': selector,
+ 'host-context': selector
+};
+
+module.exports = pseudo;
diff --git a/vanilla/node_modules/css-tree/cjs/syntax/pseudo/lang.cjs b/vanilla/node_modules/css-tree/cjs/syntax/pseudo/lang.cjs
new file mode 100644
index 0000000..6b80ee1
--- /dev/null
+++ b/vanilla/node_modules/css-tree/cjs/syntax/pseudo/lang.cjs
@@ -0,0 +1,37 @@
+'use strict';
+
+const types = require('../../tokenizer/types.cjs');
+
+function parseLanguageRangeList() {
+ const children = this.createList();
+
+ this.skipSC();
+
+ loop: while (!this.eof) {
+ switch (this.tokenType) {
+ case types.Ident:
+ children.push(this.Identifier());
+ break;
+
+ case types.String:
+ children.push(this.String());
+ break;
+
+ case types.Comma:
+ children.push(this.Operator());
+ break;
+
+ case types.RightParenthesis:
+ break loop;
+
+ default:
+ this.error('Identifier, string or comma is expected');
+ }
+
+ this.skipSC();
+ }
+
+ return children;
+}
+
+exports.parseLanguageRangeList = parseLanguageRangeList;