Interface RevertResult
interface RevertResult {
operationId: string | null;
outcome: RevertOutcome;
instructions: Instructions;
}
operationId: string | null;
outcome: RevertOutcome;
instructions: Instructions;
}
Properties
ReadonlyoperationId
operationId: string | null
The operation id that was addressed.
Readonlyoutcome
What the revert actually removed.
Every outcome is a successful call: NOT_FOUND, EXPIRED and REFUSED
report a caller-visible state, not a service failure.
Readonlyinstructions
What the service asks the caller to do next.
What MemoryOperations.revertMemory returns.
Holding one of these means the call succeeded, so the thing that bites is reading the absence of an exception as success.
NOT_FOUND,EXPIREDandREFUSEDall arrive as an outcome on a call that did not throw.The outcome names the effect rather than what was asked for: undoing a single write can take its whole memory with it, when the insight it added was the last one that memory held.
Example