Setu-TS
    Preparing search index...

    Type Alias OutboxTransition

    OutboxTransition:
        | { outcome: "applied" }
        | { outcome: "missing" }
        | { outcome: "not-pending"; status: Exclude<OutboxStatus, "pending"> }
        | { outcome: "claim-lost" }
        | { outcome: "not-failed"; status: Exclude<OutboxStatus, "failed"> }

    The answer to a conditional claim or status transition (IOutboxStore.markSent, IOutboxStore.markFailure, IOutboxStore.release).

    Only applied wrote anything. Every other outcome reports why nothing was written, so a late failure can never regress a sent row.

    Type Declaration

    • { outcome: "applied" }
      • Readonlyoutcome: "applied"

        The row had the expected status and was written.

    • { outcome: "missing" }
      • Readonlyoutcome: "missing"

        No outbox row with that id exists (a row of another kind counts as missing).

    • { outcome: "not-pending"; status: Exclude<OutboxStatus, "pending"> }
      • Readonlyoutcome: "not-pending"

        markSent / markFailure: the row was not pending; nothing written.

      • Readonlystatus: Exclude<OutboxStatus, "pending">

        The row's actual status.

    • { outcome: "claim-lost" }
      • Readonlyoutcome: "claim-lost"

        The pending row has another claim version; nothing written.

        0.9.0

    • { outcome: "not-failed"; status: Exclude<OutboxStatus, "failed"> }
      • Readonlyoutcome: "not-failed"

        release: the row was not failed; nothing written.

      • Readonlystatus: Exclude<OutboxStatus, "failed">

        The row's actual status.

    0.9.0