whole_func_string: function parseWxSwanEventName(name, element, tplOpts, opts) {
      let eventAttrName = name.replace(EVENT_REGEXP, '');
      let [eventType, ...eventModifiers] = eventAttrName.split('.');
      let eventMode = 'bind';
  
      eventType = transformMiniProgramEventType(element, eventType, opts);
  
      const includesStop = eventModifiers.includes('stop');
      const includesCapture = eventModifiers.includes('capture');
      if (includesCapture) {
          eventMode = includesStop ? 'capture-catch:' : 'capture-bind:';
      }
      else if (includesStop) {
          eventMode = 'catch';
      }
  
      eventAttrName = eventMode + eventType;
  
      return {
          eventType,
          eventAttrName,
          eventModifiers
      };
  }
func_code_string: function parseWxSwanEventName(name, element, tplOpts, opts) {
      let eventAttrName = name.replace(EVENT_REGEXP, '');
      let [eventType, ...eventModifiers] = eventAttrName.split('.');
      let eventMode = 'bind';
  
      eventType = transformMiniProgramEventType(element, eventType, opts);
  
      const includesStop = eventModifiers.includes('stop');
      const includesCapture = eventModifiers.includes('capture');
      if (includesCapture) {
          eventMode = includesStop ? 'capture-catch:' : 'capture-bind:';
      }
      else if (includesStop) {
          eventMode = 'catch';
      }
  
      eventAttrName = eventMode + eventType;
  
      return {
          eventType,
          eventAttrName,
          eventModifiers
      };
  }
func_documentation_string: parse event name
  eg:
  `@click` -> bindtap
  `@click.stop` -> catchtap
  `@click.capture` -> capture-bindtap
  `@click.capture.stop` -> capture-catchtap
  
  @param {string} name  the event attribute
  @param {Object} element the element to transform
  @param {Object} tplOpts the template transformation options
  @param {Object} opts the transform plugin options
  @return {Object} event type, new attribute name, event modifier