@@ -36,25 +36,26 @@ function isClassAttribute(node, classRegex) {
3636 * Find out if node is `class`
3737 *
3838 * @param {ASTNode } node The AST node being checked
39+ * @param {String } classRegex Regex to test the attribute that is being checked against
3940 * @returns {Boolean }
4041 */
41- function isVueClassAttribute ( node ) {
42+ function isVueClassAttribute ( node , classRegex ) {
43+ const re = new RegExp ( classRegex ) ;
44+ let name = '' ;
4245 switch ( true ) {
43- case node . key && / ^ c l a s s $ / . test ( node . key . name ) :
46+ case node . key && node . key . name && re . test ( node . key . name ) :
4447 // class="vue-classes-as-litteral"
4548 return true ;
46- break ;
4749 case node . key &&
4850 node . key . name &&
4951 node . key . name . name &&
5052 node . key . argument &&
5153 node . key . argument . name &&
5254 / ^ b i n d $ / . test ( node . key . name . name ) &&
53- / ^ c l a s s $ / . test ( node . key . argument . name ) :
55+ re . test ( node . key . argument . name ) :
5456 // v-bind:class="vue-classes-as-bind"
5557 // :class="vue-classes-as-bind"
5658 return true ;
57- break ;
5859 default :
5960 return false ;
6061 }
@@ -154,10 +155,11 @@ function isValidJSXAttribute(node, classRegex) {
154155 * Find out if the node is a valid candidate for our rules
155156 *
156157 * @param {ASTNode } node The AST node being checked
158+ * @param {String } classRegex Regex to test the attribute that is being checked against
157159 * @returns {Boolean }
158160 */
159- function isValidVueAttribute ( node ) {
160- if ( ! isVueClassAttribute ( node ) ) {
161+ function isValidVueAttribute ( node , classRegex ) {
162+ if ( ! isVueClassAttribute ( node , classRegex ) ) {
161163 // Only run for class attributes
162164 return false ;
163165 }
0 commit comments