@tikoci/centrs
    Preparing search index...

    Interface ExplainStructure

    interface ExplainStructure {
        blocks: ExplainBlock[];
        containsWrite: boolean | "unknown";
        ev: string;
        statementCount: number;
        statements: ExplainStatement[];
        subcommands: ExplainSubcommand[];
    }
    Index

    Properties

    blocks: ExplainBlock[]
    containsWrite: boolean | "unknown"

    The Q16 tristate. "unknown" is a real value, not a missing one: a write-shaped command outside the small version-stable write table (/disk format-drive) must never report false.

    ev: string
    statementCount: number

    statements.length, which counts BLOCK-BODY statements too — see ExplainStructure.statements. Not the number of top-level statements.

    statements: ExplainStatement[]

    Every statement the analyzer read, in discovery order.

    A do={…} body's statements are flattened in after their parent (which is what RouterOS IL does to them), so a body statement's span is CONTAINED by its parent's rather than following it, and spans may overlap. A consumer that wants only the top level filters on containment; one that wants "every command in this script" — the common case, and the reason to flatten — reads the list as it stands.

    subcommands: ExplainSubcommand[]