function groupScan(node, attrStart, attrEnd) {
      var nodes = [];
      var depth = 0;
      if (attrStart && node.hasAttribute && node.hasAttribute(attrStart)) {
        do {
          if (!node) {
            throw $compileMinErr('uterdir',
                      'Unterminated attribute, found \'{0}\' but no matching \'{1}\' found.',
                      attrStart, attrEnd);
          }
          if (node.nodeType === NODE_TYPE_ELEMENT) {
            if (node.hasAttribute(attrStart)) depth++;
            if (node.hasAttribute(attrEnd)) depth--;
          }
          nodes.push(node);
          node = node.nextSibling;
        } while (depth > 0);
      } else {
        nodes.push(node);
      }

      return jqLite(nodes);
    }
function groupScan(node, attrStart, attrEnd) {
      var nodes = [];
      var depth = 0;
      if (attrStart && node.hasAttribute && node.hasAttribute(attrStart)) {
        do {
          if (!node) {
            throw $compileMinErr('uterdir',
                      'Unterminated attribute, found \'{0}\' but no matching \'{1}\' found.',
                      attrStart, attrEnd);
          }
          if (node.nodeType === NODE_TYPE_ELEMENT) {
            if (node.hasAttribute(attrStart)) depth++;
            if (node.hasAttribute(attrEnd)) depth--;
          }
          nodes.push(node);
          node = node.nextSibling;
        } while (depth > 0);
      } else {
        nodes.push(node);
      }

      return jqLite(nodes);
    }
function groupScan ( node , attrStart , attrEnd ) { var nodes = [ ] ; var depth = 0 ; if ( attrStart && node . hasAttribute && node . hasAttribute ( attrStart ) ) { do { if ( ! node ) { throw $compileMinErr ( 'uterdir' , 'Unterminated attribute, found \'{0}\' but no matching \'{1}\' found.' , attrStart , attrEnd ) ; } if ( node . nodeType === NODE_TYPE_ELEMENT ) { if ( node . hasAttribute ( attrStart ) ) depth ++ ; if ( node . hasAttribute ( attrEnd ) ) depth -- ; } nodes . push ( node ) ; node = node . nextSibling ; } while ( depth > 0 ) ; } else { nodes . push ( node ) ; } return jqLite ( nodes ) ; }
Given a node with a directive-start it collects all of the siblings until it finds
directive-end.
@param node
@param attrStart
@param attrEnd
@returns {*}
Given a node with a directive - start it collects all of the siblings until it finds directive - end .