extractText static method

String extractText(
  1. List<LatexNode> nodes
)

Extracts plain text from a list of nodes.

Implementation

static String extractText(List<LatexNode> nodes) {
  return nodes
      .map((node) {
        if (node is TextNode) {
          return node.content;
        } else if (node is GroupNode) {
          return extractText(node.childrenNodes);
        } else if (node is SpaceNode) {
          return " ";
        } else if (node is SymbolNode) {
          return node.symbol == "prime" ? "'" : node.unicode;
        } else if (node is SuperscriptNode) {
          final primes = _primeCount(node.exponent);
          if (primes == null) return "";
          return extractText([node.base]) + ("'" * primes);
        }
        return "";
      })
      .join("");
}