跳到主要内容

WriteEntranceDecision

type WriteEntranceDecision =
| {
kind: "capture";
origin: WriteEntryOrigin;
pushableChange: boolean;
revisionBump: true;
}
| {
kind: "no_capture";
reason: NoCaptureReason;
revisionBump: false;
}
| {
code: typeof commit_capability_mismatch;
kind: "reject";
revisionBump: false;
};

Defined in: packages/rxdb-plugin-working-tree/src/working-tree/write-entry-matrix.ts:125

classifyWriteEntrance 的结论。

Union Members​

Type Literal​

{
kind: "capture";
origin: WriteEntryOrigin;
pushableChange: boolean;
revisionBump: true;
}

kind​

readonly kind: "capture";

这次写要落成一个工作树单元

origin​

readonly origin: WriteEntryOrigin;

单元的作者是本地用户还是同步机制

pushableChange​

readonly pushableChange: boolean;

这个单元推得回远端吗;remote_sync 的单元推回去就是 push echo

revisionBump​

readonly revisionBump: true;

恒为 true:落单元与递增 revision 同生同死


Type Literal​

{
kind: "no_capture";
reason: NoCaptureReason;
revisionBump: false;
}

kind​

readonly kind: "no_capture";

这次写照常发生,但不产生单元

reason​

readonly reason: NoCaptureReason;

为什么不产生

revisionBump​

readonly revisionBump: false;

恒为 false


Type Literal​

{
code: typeof commit_capability_mismatch;
kind: "reject";
revisionBump: false;
}

code​

readonly code: typeof commit_capability_mismatch;

epic-006 的稳定错误码

kind​

readonly kind: "reject";

这次写根本不许发生;调用方必须在语句下发前抛

revisionBump​

readonly revisionBump: false;

恒为 false