lib/rules/selector-class-pattern/index.js
function hasInterpolatingAmpersand(selector) {
  for (let i = 0, l = selector.length; i < l; i++) {
    if (selector[i] !== "&") {
      continue;
    }

    if (!_.isUndefined(selector[i - 1]) && !isCombinator(selector[i - 1])) {
      return true;
    }

    if (!_.isUndefined(selector[i + 1]) && !isCombinator(selector[i + 1])) {
      return true;
    }
  }

  return false;
}
function hasInterpolatingAmpersand(selector) {
  for (let i = 0, l = selector.length; i < l; i++) {
    if (selector[i] !== "&") {
      continue;
    }

    if (!_.isUndefined(selector[i - 1]) && !isCombinator(selector[i - 1])) {
      return true;
    }

    if (!_.isUndefined(selector[i + 1]) && !isCombinator(selector[i + 1])) {
      return true;
    }
  }

  return false;
}
function hasInterpolatingAmpersand ( selector ) { for ( let i = 0 , l = selector . length ; i < l ; i ++ ) { if ( selector [ i ] !== "&" ) { continue ; } if ( ! _ . isUndefined ( selector [ i - 1 ] ) && ! isCombinator ( selector [ i - 1 ] ) ) { return true ; } if ( ! _ . isUndefined ( selector [ i + 1 ] ) && ! isCombinator ( selector [ i + 1 ] ) ) { return true ; } } return false ; }
An "interpolating ampersand" means an "&" used to interpolate within another simple selector, rather than an "&" that stands on its own as a simple selector
An interpolating ampersand means an & used to interpolate within another simple selector rather than an & that stands on its own as a simple selector