code: function generateJsx(node) {
      if (isReactElement(node)) {
          var type = node.type;
  
          var name = type.name ? type.name : type;
          var props = node.props ? node.props : {};
  
          var children = props.children;
  
          var jsxStr = '<' + name + propsToString(props, type.defaultProps);
  
          if (children) {
              return jsxStr + '>' + generateJsx(children) + '</' + name + '>';
          }
  
          return jsxStr + '/>';
      } else if (isReactFragment(node)) {
          var _jsxStr = '';
  
          node.map(function (child) {
              _jsxStr += generateJsx(child);
          });
  
          return _jsxStr;
      } else if (isReactText(node)) {
          return String(node);
      } else if (isReactEmpty(node)) {
          return '';
      }
  
      try {
          return JSON.stringify(node);
      } catch (err) {
          console.error('stringify error:', err.message);
          return node;
      }
  }
docs: Builds a JSX string representation of a ReactNode
  or fall back to JSON.stringify()
  @param  {Object|Array|String} node - a ReactNode
  @return {String}