WorkingTreeResource
Defined in: use-working-tree.ts:58
useWorkingTree 的返回值。
Remarks
十二个状态字段与核心的 WorkingTreeAsyncStates 一一对应,只是每一项各自装进 Signal:
模板只读了 statusState 时,一次 diff() 的相位变化不会让它重新求值。十二个方法的签名
与插件包 WorkingTreeManager(switchBranch 那一个是 VersionManager)上的同名方法完全
一致 —— 入参与返回值用的都是 @aiao/rxdb-plugin-working-tree 那一份类型,
本包不重定义(tri-framework-api.md §1)。
三端等价实现:React useWorkingTree()(渲染快照)、Vue useWorkingTree()
(ComputedRef),字段名、方法名与语义完全一致,只是容器形态不同。
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:99
提交工作树里的全部未提交单元;CAS 落败走返回值,不是异常。
Parameters
| Parameter | Type |
|---|---|
message | string |
options | CommitOptions |
Returns
Promise<CommitResult>
commitChanges
readonly commitChanges: (commitId) => Promise<CommitChangeSetPage>;
Defined in: use-working-tree.ts:97
读一个 commit 的全部变更单元。
Parameters
| Parameter | Type |
|---|---|
commitId | string |
Returns
Promise<CommitChangeSetPage>
commitChangesState
readonly commitChangesState: Signal<WorkingTreeQueryState<CommitChangeSetPage>>;
Defined in: use-working-tree.ts:72
单个 commit 变更集的相位;零变更单元(基线节点)是 empty
commitState
readonly commitState: Signal<WorkingTreeCommandState<CommitResult>>;
Defined in: use-working-tree.ts:74
上一次 commit() 的相位;没有 empty —— 零未提交变更是 empty_commit 错误
diff
readonly diff: (options?) => Promise<WorkingTreeDiff>;
Defined in: use-working-tree.ts:93
读当前分支相对 HEAD 的未提交改动。
Parameters
| Parameter | Type |
|---|---|
options? | WorkingTreeDiffOptions |
Returns
Promise<WorkingTreeDiff>
diffState
readonly diffState: Signal<WorkingTreeQueryState<WorkingTreeDiff>>;
Defined in: use-working-tree.ts:68
未提交改动的相位;零条目是 empty
discard
readonly discard: (options) => Promise<WorkingTreeDiscardResult>;
Defined in: use-working-tree.ts:101
把工作树整体退回 HEAD;成功后自动重读一次 status。
Parameters
| Parameter | Type |
|---|---|
options | WorkingTreeCredentials |
Returns
Promise<WorkingTreeDiscardResult>
discardState
readonly discardState: Signal<WorkingTreeCommandState<WorkingTreeDiscardResult>>;
Defined in: use-working-tree.ts:76
上一次 discard() 的相位;没有 empty —— discardedCount: 0 是成功的 no-op
enable
readonly enable: () => Promise<CommitCapabilityInfo>;
Defined in: use-working-tree.ts:87
启用提交能力;成功后自动重读一次 status。
Returns
Promise<CommitCapabilityInfo>
enableIfEmpty
readonly enableIfEmpty: () => Promise<WorkingTreeEnableIfEmptyResult>;
Defined in: use-working-tree.ts:89
库为空时自动启用、有内容时跳过;三种结局后都自动重读一次 status。
Returns
Promise<WorkingTreeEnableIfEmptyResult>
enableIfEmptyState
readonly enableIfEmptyState: Signal<WorkingTreeCommandState<WorkingTreeEnableIfEmptyResult>>;
Defined in: use-working-tree.ts:64
上一次 enableIfEmpty() 的相位;没有 empty —— not_empty 是结果,不是「没有内容」
enableState
readonly enableState: Signal<WorkingTreeCommandState<CommitCapabilityInfo>>;
Defined in: use-working-tree.ts:62
上一次 enable() 的相位
isEnabled
readonly isEnabled: () => Promise<boolean>;
Defined in: use-working-tree.ts:85
读取这个库启没启用提交能力。
Returns
Promise<boolean>
isEnabledState
readonly isEnabledState: Signal<WorkingTreeCommandState<boolean>>;
Defined in: use-working-tree.ts:60
这个库启没启用提交能力;boolean 没有空形态,因此没有 empty 相位
listCommits
readonly listCommits: (options?) => Promise<CommitLogPage>;
Defined in: use-working-tree.ts:95
读当前分支的可达提交历史。
Parameters
| Parameter | Type |
|---|---|
options? | CommitLogOptions |
Returns
Promise<CommitLogPage>
listCommitsState
readonly listCommitsState: Signal<WorkingTreeQueryState<CommitLogPage>>;
Defined in: use-working-tree.ts:70
提交历史的相位;空历史是 empty
restore
readonly restore: (target, options) => Promise<WorkingTreeRestoreResult>;
Defined in: use-working-tree.ts:103
把一个可达历史 commit 的内容写回工作树;被拒走返回值,不是异常。成功与否都重读 status。
Parameters
| Parameter | Type |
|---|---|
target | WorkingTreeRestoreTarget |
options | WorkingTreeCredentials |
Returns
Promise<WorkingTreeRestoreResult>
restoreSession
readonly restoreSession: () => Promise<
| WorkingTreeRestoreSessionInfo
| null>;
Defined in: use-working-tree.ts:108
读当前分支那个未结束的恢复会话;没有就是 null。
Returns
Promise<
| WorkingTreeRestoreSessionInfo
| null>
restoreSessionState
readonly restoreSessionState: Signal<WorkingTreeQueryState<
| WorkingTreeRestoreSessionInfo
| null>>;
Defined in: use-working-tree.ts:80
未结束恢复会话的相位;没有会话是 empty,带着那个 null
restoreState
readonly restoreState: Signal<WorkingTreeCommandState<WorkingTreeRestoreResult>>;
Defined in: use-working-tree.ts:78
上一次 restore() 的相位;没有 empty —— 四个被拒成因与 restoredCount: 0 都是结果
status
readonly status: () => Promise<WorkingTreeStatus>;
Defined in: use-working-tree.ts:91
读当前分支的工作树摘要。
Returns
Promise<WorkingTreeStatus>
statusState
readonly statusState: Signal<WorkingTreeQueryState<WorkingTreeStatus>>;
Defined in: use-working-tree.ts:66
工作树摘要的相位;干净工作树是 empty,带着那份 status
switchBranch
readonly switchBranch: (branchId, options?) => Promise<void>;
Defined in: use-working-tree.ts:110
切到另一条分支;被 requireClean 拒掉时抛 WorkingTreeDirtyError。成功后自动重读一次 status。
Parameters
| Parameter | Type |
|---|---|
branchId | string |
options? | RxDBBranchSwitchPreconditions |
Returns
Promise<void>
switchBranchState
readonly switchBranchState: Signal<WorkingTreeCommandState<void>>;
Defined in: use-working-tree.ts:82
上一次 switchBranch() 的相位;没有 empty —— 切到当前分支是成功的 no-op