12345678910111213141516171819202122232425262728293031323334 |
- 'use strict';
-
- /**
- * Check whether a combinator is standard
- *
- * @param {import('postcss-selector-parser').Combinator} node postcss-selector-parser node (of type combinator)
- * @return {boolean} If `true`, the combinator is standard
- */
- module.exports = function (node) {
- // if it's not a combinator, then it's not a standard combinator
- if (node.type !== 'combinator') {
- return false;
- }
-
- // Ignore reference combinators like `/deep/`
- if (node.value.startsWith('/') || node.value.endsWith('/')) {
- return false;
- }
-
- // ignore the combinators that are the first or last node in their container
- if (node.parent !== undefined && node.parent !== null) {
- const parent = node.parent;
-
- if (node === parent.first) {
- return false;
- }
-
- if (node === parent.last) {
- return false;
- }
- }
-
- return true;
- };
|