buildSpans function

List<InlineSpan> buildSpans(
  1. Element? parentNode,
  2. TextStyle? parentStyle
)

Implementation

List<InlineSpan> buildSpans(m.Element? parentNode, TextStyle? parentStyle) {
  if (parentNode == null) return [];
  List<m.Node>? nodes = parentNode.children;
  if (nodes == null || nodes.isEmpty) return [];
  return List.generate(nodes.length, (index) {
    final node = nodes[index];
    if (node is m.Text) {
      bool shouldParseHtml = needParseHtml(parentNode);
      return buildTextSpan(node, parentStyle, shouldParseHtml);
    } else if (node is m.Element) {
      return getBlockSpan(node.children, node, parentStyle);
    } else {
      print('node: $node can\'t be parse');
      return TextSpan();
    }
  });
}