def merge_run_contents()

in src/simplify_docx/elements/paragraph.py [0:0]


def merge_run_contents(x: Sequence[Dict[str, Any]], options: Dict[str, str]):
    """
    Merge a series of run contents as appropriate
    """

    out: List[Dict[str, Any]] = []
    prev_data: Optional[Dict[str, Any]] = None
    for data in x:

        if (
            options.get("ignore-empty-text", True)
            and data["TYPE"] == "CT_Text"
            and not data["VALUE"]
        ):
            continue

        if not prev_data:
            prev_data = data
            out.append(data)
            continue

        if (
            prev_data["TYPE"] == "CT_Text"
            and data["TYPE"] == "CT_Text"
            and options.get("merge-consecutive-text", True)
        ):
            prev_data["VALUE"] += data["VALUE"]

        else:
            prev_data = data
            out.append(data)

    return out