Capture assignment
authorDuncan Beevers <duncan@dweebd.com>
Sat, 26 Jul 2014 22:35:07 +0000 (17:35 -0500)
committerDuncan Beevers <duncan@dweebd.com>
Sat, 26 Jul 2014 22:35:07 +0000 (17:35 -0500)
src/htmlparser.js

index 70895b4..e33368f 100644 (file)
     var singleAttr = new RegExp(
       singleAttrIdentifier.source
       + '(?:\\s*'
+      + '('
       + singleAttrAssign.source
+      + ')'
       + '\\s*'
       + '(?:'
       + singleAttrValues.join('|')
         var attrs = [];
 
         rest.replace(attr, function () {
-          var name, value, fallbackValue, customOpen, customClose;
+          var name, value, fallbackValue, customOpen, customClose, customAssign;
+          var ncp = 7; // number of captured parts, scalar
 
           name = arguments[1];
           if ( name ) {
-            fallbackValue = arguments[2];
-            value = fallbackValue || arguments[3] || arguments[4];
+            customAssign = arguments[2];
+            fallbackValue = arguments[3];
+            value = fallbackValue || arguments[4] || arguments[5];
           }
           else if ( handler.customAttrSurround ) {
             for ( var i = handler.customAttrSurround.length - 1; i >= 0; i-- ) {
-              name = arguments[i * 6 + 6];
+              name = arguments[i * ncp + 7];
+              customAssign = arguments[i * ncp + 8];
               if ( name ) {
-                fallbackValue = arguments[i * 6 + 7];
+                fallbackValue = arguments[i * ncp + 9];
                 value = fallbackValue
-                  || arguments[i * 6 + 8]
-                  || arguments[i * 6 + 9];
-                customOpen = arguments[i * 6 + 5];
-                customClose = arguments[i * 6 + 10];
+                  || arguments[i * ncp + 10]
+                  || arguments[i * ncp + 11];
+                customOpen = arguments[i * ncp + 6];
+                customClose = arguments[i * ncp + 12];
                 break;
               }
             }