blob: a60785b25b24093c1a0fc949d67ae466bc3dbd01 [file] [log] [blame]
/* @flow */
"use strict";
const hasInterpolation = require("../utils/hasInterpolation");
/**
* Check whether a selector is standard
*/
module.exports = function(selector /*: string*/) /*: boolean*/ {
// SCSS or Less interpolation
if (hasInterpolation(selector)) {
return false;
}
// SCSS placeholder selectors
if (selector.indexOf("%") === 0) {
return false;
}
// Less :extend()
if (/:extend(\(.*?\))?/.test(selector)) {
return false;
}
// Less mixin with resolved nested selectors (e.g. .foo().bar or .foo(@a, @b)[bar])
if (/\.[a-z0-9-_]+\(.*\).+/i.test(selector)) {
return false;
}
return true;
};