windease API reference - v0.8.0
    Preparing search index...

    Interface PendingPublish

    A read-only snapshot of what is currently being withheld for one node, as returned by Store.getPending. Answers "why hasn't this published yet?" — a plain value derived from internal bookkeeping, not a live view of it.

    Every field describes the current pending episode — from the moment a clean node is marked dirty until it publishes. A node that publishes and goes dirty again reports fresh values; nothing here is cumulative.

    interface PendingPublish {
        bypass: boolean;
        coalesced: number;
        dwellMs: number;
        eligibleAt: number;
        machine: MachineName | null;
        since: number;
        touched: number;
    }
    Index

    Properties

    bypass: boolean

    Structural change (register/unregister/move); skips dwell entirely.

    coalesced: number

    Internal dirty-marks after the first one in this episode. Not a count of store operations — a single call like showNode marks the node more than once (the record swap and the FSM transition are separate marks), so read this as a churn indicator, not a change tally.

    dwellMs: number

    Largest dwell gating this node; 0 means it is not dwell-gated. Ignored while bypass is set — a bypassing entry can carry a non-zero dwellMs that gates nothing.

    eligibleAt: number

    Earliest the gate opens — not when the node will publish. notifyMs coalescing and stagger waves can both defer the actual flush past this moment. Expressed in the domain of the clock the store was constructed with (Date.now() unless one was injected).

    Which gate is binding, in precedence order: bypass releases the node immediately and outranks everything below it; otherwise, when eligibleAt is less than touched + dwellMs, the maxWaitMs starvation cap is what will release this node rather than the dwell debounce.

    machine: MachineName | null

    The machine that set the current dwellMs, or null when no dwell applies. Not necessarily the machine restarting the debounce — a shorter-dwell machine can be the one churning while a longer-dwell machine still governs the deadline. Like dwellMs, inert while bypass is set.

    since: number

    clock.now() when the node first went dirty and has stayed dirty.

    touched: number

    clock.now() of the most recent dwell-restarting change.