Skip to content

Doc impact text

doc_impact_text

DocImpactResult

Bases: TypedDict

Result shape returned by analyze_doc_impact.

Source code in packages/axm-ast/src/axm_ast/tools/doc_impact_text.py
Python
class DocImpactResult(TypedDict):
    """Result shape returned by ``analyze_doc_impact``."""

    doc_refs: dict[str, list[DocRefEntry]]
    undocumented: list[str]
    stale_signatures: list[StaleSignature]

DocRefEntry

Bases: TypedDict

Single documentation reference for a symbol.

Source code in packages/axm-ast/src/axm_ast/tools/doc_impact_text.py
Python
class DocRefEntry(TypedDict):
    """Single documentation reference for a symbol."""

    file: str
    line: int

StaleSignature

Bases: TypedDict

Stale documentation signature entry.

Source code in packages/axm-ast/src/axm_ast/tools/doc_impact_text.py
Python
class StaleSignature(TypedDict):
    """Stale documentation signature entry."""

    symbol: str
    file: str
    line: int
    doc_sig: str
    actual_sig: str

render_doc_impact_text(result)

Render doc impact result as compact text.

Source code in packages/axm-ast/src/axm_ast/tools/doc_impact_text.py
Python
def render_doc_impact_text(result: DocImpactResult) -> str:
    """Render doc impact result as compact text."""
    parts = [_header(result)]

    refs_text = _render_refs(result["doc_refs"])
    if refs_text:
        parts.append(refs_text)

    undocumented = result["undocumented"]
    if undocumented:
        parts.append(f"undocumented: {', '.join(undocumented)}")

    stale_text = _render_stale(result["stale_signatures"])
    if stale_text:
        parts.append(stale_text)

    return "\n\n".join(parts)