跳到主要内容

WorkingTreeResource

Defined in: use-working-tree.ts:52

useWorkingTree 的返回值。

Remarks​

十二个状态字段与核心的 WorkingTreeAsyncStates 一一对应,只是每一项各自装进 ComputedRef:成员可以安全解构,模板只读了 statusState 时,一次 diff() 的相位变化 不会让它重新求值。十二个方法的签名与插件包 WorkingTreeManager(switchBranch 那一个是 VersionManager)上的同名方法完全一致 —— 入参与返回值用的都是 @aiao/rxdb-plugin-working-tree 那一份类型,本包不重定义(tri-framework-api.md §1)。

三端等价实现:Angular useWorkingTree()(Signal)、React useWorkingTree() (渲染快照),字段名、方法名与语义完全一致,只是容器形态不同。

restore() 的四个被拒成因走返回值而不是异常,restoreState 因此也没有 empty: 「被拒」与「一条都没恢复」都是结果,不是「没有结果」。restoreSessionState 的空则只有一个 含义 —— 当前分支没有未结束的恢复会话;conflicted 的会话照样不是空,它仍占着唯一索引、 仍拦着下一次恢复。

switchBranch(branchId, options?) 的 WorkingTreeSwitchBranchOptions 由 T123 接进来: 不传第二参时与今天逐字节一致(无条件切换),{ requireClean: true } 在工作树非空时抛 WorkingTreeDirtyError —— 被拒不是返回值,因为那一刻分支根本没切。

Properties​

commit​

readonly commit: (message, options) => Promise<CommitResult>;

Defined in: use-working-tree.ts:93

提交工作树里的全部未提交单元;CAS 落败走返回值,不是异常。

Parameters​

ParameterType
messagestring
optionsCommitOptions

Returns​

Promise<CommitResult>


commitChanges​

readonly commitChanges: (commitId) => Promise<CommitChangeSetPage>;

Defined in: use-working-tree.ts:91

读一个 commit 的全部变更单元。

Parameters​

ParameterType
commitIdstring

Returns​

Promise<CommitChangeSetPage>


commitChangesState​

readonly commitChangesState: ComputedRef<WorkingTreeQueryState<CommitChangeSetPage>>;

Defined in: use-working-tree.ts:66

单个 commit 变更集的相位;零变更单元(基线节点)是 empty


commitState​

readonly commitState: ComputedRef<WorkingTreeCommandState<CommitResult>>;

Defined in: use-working-tree.ts:68

上一次 commit() 的相位;没有 empty —— 零未提交变更是 empty_commit 错误


diff​

readonly diff: (options?) => Promise<WorkingTreeDiff>;

Defined in: use-working-tree.ts:87

读当前分支相对 HEAD 的未提交改动。

Parameters​

ParameterType
options?WorkingTreeDiffOptions

Returns​

Promise<WorkingTreeDiff>


diffState​

readonly diffState: ComputedRef<WorkingTreeQueryState<WorkingTreeDiff>>;

Defined in: use-working-tree.ts:62

未提交改动的相位;零条目是 empty


discard​

readonly discard: (options) => Promise<WorkingTreeDiscardResult>;

Defined in: use-working-tree.ts:95

把工作树整体退回 HEAD;成功后自动重读一次 status。

Parameters​

ParameterType
optionsWorkingTreeCredentials

Returns​

Promise<WorkingTreeDiscardResult>


discardState​

readonly discardState: ComputedRef<WorkingTreeCommandState<WorkingTreeDiscardResult>>;

Defined in: use-working-tree.ts:70

上一次 discard() 的相位;没有 empty —— discardedCount: 0 是成功的 no-op


enable​

readonly enable: () => Promise<CommitCapabilityInfo>;

Defined in: use-working-tree.ts:81

启用提交能力;成功后自动重读一次 status。

Returns​

Promise<CommitCapabilityInfo>


enableIfEmpty​

readonly enableIfEmpty: () => Promise<WorkingTreeEnableIfEmptyResult>;

Defined in: use-working-tree.ts:83

库为空时自动启用、有内容时跳过;三种结局后都自动重读一次 status。

Returns​

Promise<WorkingTreeEnableIfEmptyResult>


enableIfEmptyState​

readonly enableIfEmptyState: ComputedRef<WorkingTreeCommandState<WorkingTreeEnableIfEmptyResult>>;

Defined in: use-working-tree.ts:58

上一次 enableIfEmpty() 的相位;没有 empty —— not_empty 是结果,不是「没有内容」


enableState​

readonly enableState: ComputedRef<WorkingTreeCommandState<CommitCapabilityInfo>>;

Defined in: use-working-tree.ts:56

上一次 enable() 的相位


isEnabled​

readonly isEnabled: () => Promise<boolean>;

Defined in: use-working-tree.ts:79

读取这个库启没启用提交能力。

Returns​

Promise<boolean>


isEnabledState​

readonly isEnabledState: ComputedRef<WorkingTreeCommandState<boolean>>;

Defined in: use-working-tree.ts:54

这个库启没启用提交能力;boolean 没有空形态,因此没有 empty 相位


listCommits​

readonly listCommits: (options?) => Promise<CommitLogPage>;

Defined in: use-working-tree.ts:89

读当前分支的可达提交历史。

Parameters​

ParameterType
options?CommitLogOptions

Returns​

Promise<CommitLogPage>


listCommitsState​

readonly listCommitsState: ComputedRef<WorkingTreeQueryState<CommitLogPage>>;

Defined in: use-working-tree.ts:64

提交历史的相位;空历史是 empty


restore​

readonly restore: (target, options) => Promise<WorkingTreeRestoreResult>;

Defined in: use-working-tree.ts:97

把一个可达历史 commit 的内容写回工作树;被拒走返回值,不是异常。成功与否都重读 status。

Parameters​

ParameterType
targetWorkingTreeRestoreTarget
optionsWorkingTreeCredentials

Returns​

Promise<WorkingTreeRestoreResult>


restoreSession​

readonly restoreSession: () => Promise<
| WorkingTreeRestoreSessionInfo
| null>;

Defined in: use-working-tree.ts:102

读当前分支那个未结束的恢复会话;没有就是 null。

Returns​

Promise< | WorkingTreeRestoreSessionInfo | null>


restoreSessionState​

readonly restoreSessionState: ComputedRef<WorkingTreeQueryState<
| WorkingTreeRestoreSessionInfo
| null>>;

Defined in: use-working-tree.ts:74

未结束恢复会话的相位;没有会话是 empty,带着那个 null


restoreState​

readonly restoreState: ComputedRef<WorkingTreeCommandState<WorkingTreeRestoreResult>>;

Defined in: use-working-tree.ts:72

上一次 restore() 的相位;没有 empty —— 四个被拒成因与 restoredCount: 0 都是结果


status​

readonly status: () => Promise<WorkingTreeStatus>;

Defined in: use-working-tree.ts:85

读当前分支的工作树摘要。

Returns​

Promise<WorkingTreeStatus>


statusState​

readonly statusState: ComputedRef<WorkingTreeQueryState<WorkingTreeStatus>>;

Defined in: use-working-tree.ts:60

工作树摘要的相位;干净工作树是 empty,带着那份 status


switchBranch​

readonly switchBranch: (branchId, options?) => Promise<void>;

Defined in: use-working-tree.ts:104

切到另一条分支;被 requireClean 拒掉时抛 WorkingTreeDirtyError。成功后自动重读一次 status。

Parameters​

ParameterType
branchIdstring
options?RxDBBranchSwitchPreconditions

Returns​

Promise<void>


switchBranchState​

readonly switchBranchState: ComputedRef<WorkingTreeCommandState<void>>;

Defined in: use-working-tree.ts:76

上一次 switchBranch() 的相位;没有 empty —— 切到当前分支是成功的 no-op