+/* @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;
+};