diff --git a/package-lock.json b/package-lock.json index 81b763ed..cdf4f844 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "css-what", - "version": "6.0.0", + "version": "6.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "css-what", - "version": "6.0.0", + "version": "6.0.1", "license": "BSD-2-Clause", "devDependencies": { "@types/jest": "^27.0.3", - "@types/node": "^17.0.4", + "@types/node": "^17.0.5", "@typescript-eslint/eslint-plugin": "^5.8.0", "@typescript-eslint/parser": "^5.8.0", "eslint": "^8.5.0", @@ -1139,9 +1139,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.4.tgz", - "integrity": "sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==", + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.5.tgz", + "integrity": "sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw==", "dev": true }, "node_modules/@types/prettier": { @@ -6343,9 +6343,9 @@ "dev": true }, "@types/node": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.4.tgz", - "integrity": "sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==", + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.5.tgz", + "integrity": "sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw==", "dev": true }, "@types/prettier": { diff --git a/package.json b/package.json index 14c01469..b0fb2bec 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Felix Böhm (http://feedic.com)", "name": "css-what", "description": "a CSS selector parser", - "version": "6.0.0", + "version": "6.0.1", "funding": { "url": "https://github.com/sponsors/fb55" }, @@ -32,7 +32,7 @@ }, "devDependencies": { "@types/jest": "^27.0.3", - "@types/node": "^17.0.4", + "@types/node": "^17.0.5", "@typescript-eslint/eslint-plugin": "^5.8.0", "@typescript-eslint/parser": "^5.8.0", "eslint": "^8.5.0", diff --git a/src/__fixtures__/tests.ts b/src/__fixtures__/tests.ts index 388fdc5e..ec788647 100644 --- a/src/__fixtures__/tests.ts +++ b/src/__fixtures__/tests.ts @@ -972,4 +972,25 @@ export const tests: [ ], "column combinator", ], + [ + "foo||bar", + [ + [ + { + name: "foo", + namespace: null, + type: SelectorType.Tag, + }, + { + type: SelectorType.ColumnCombinator, + }, + { + name: "bar", + namespace: null, + type: SelectorType.Tag, + }, + ], + ], + "column combinator without whitespace", + ], ]; diff --git a/src/parse.ts b/src/parse.ts index 03534374..6161152b 100644 --- a/src/parse.ts +++ b/src/parse.ts @@ -564,7 +564,10 @@ function parseSelector( break loop; } - if (selector.charCodeAt(selectorIndex) === CharCode.Pipe) { + if ( + selector.charCodeAt(selectorIndex) === CharCode.Pipe && + selector.charCodeAt(selectorIndex + 1) !== CharCode.Pipe + ) { namespace = name; if ( selector.charCodeAt(selectorIndex + 1) ===