compareByCausality()

Performs pairwise causal comparison without inventing evidence.

Signature

function compareByCausality<T>(
  a: EventEnvelope<T>,
  b: EventEnvelope<T>,
): CausalOrdering

Use this for pairwise causal comparison when you need a relation answer without emitting a full ordered batch.

Usage

import { compareByCausality } from "causal-order"

const relation = compareByCausality(eventA, eventB)

if (relation === "before") {
  console.log("A is before B")
} else if (relation === "unknown") {
  console.log("The library cannot justify the pairwise relationship")
}

Details

  • Possible results are before, after, equal, and unknown.
  • The current exported pairwise contract does not promote unsupported cross-node cases into a first-class concurrent result.
  • Supported evidence includes parentEventId, dependencyEventIds, and same-node monotonic sequence.