code: function (node) {
      var parentTag = node.parentNode && jsxTagName(node.parentNode.tagName);
      if (parentTag === 'textarea' || parentTag === 'style') {
        // Ignore text content of textareas and styles, as it will have already been moved
        // to a "defaultValue" attribute and "dangerouslySetInnerHTML" attribute respectively.
        return;
      }
  
      var text = escapeSpecialChars(node.textContent);
  
      if (this._inPreTag) {
        // If this text is contained within a <pre>, we need to ensure the JSX
        // whitespace coalescing rules don't eat the whitespace. This means
        // wrapping newlines and sequences of two or more spaces in variables.
        text = text
          .replace(/\r/g, '')
          .replace(/( {2,}|\n|\t|\{|\})/g, function (whitespace) {
            return '{' + JSON.stringify(whitespace) + '}';
          });
      } else {
        // Handle any curly braces.
        text = text
          .replace(/(\{|\})/g, function (brace) {
            return '{\'' + brace + '\'}';
          });
        // If there's a newline in the text, adjust the indent level
        if (text.indexOf('\n') > -1) {
          text = text.replace(/\n\s*/g, this._getIndentedNewline());
        }
      }
      this.output += text;
    }
docs: Handles processing of the specified text node
  
  @param {TextNode} node