replayWorkingTree()
function replayWorkingTree(head, entries): ColdReplaySnapshot;
Defined in: packages/rxdb-plugin-working-tree/src/working-tree/cold-replay.ts:198
用 HEAD 投影 + 全部工作树单元 重放出净状态
Parameters
| Parameter | Type | Description |
|---|---|---|
head | ColdReplaySnapshot | HEAD 的业务数据投影 |
entries | readonly WorkingTreeEntry[] | 该分支上全部未提交单元,顺序无关 |
Returns
重放出的净状态
Throws
WorkingTreeReplayCorruptionError 单元违反折叠不变量
Remarks
insert 的净状态只来自 patch,不掺 HEAD 的任何字段;update 把 patch 逐字段盖在 HEAD 行上,
未提及的字段原样保留;delete 让这一行消失,不是留一行空值。
不改入参:HEAD 快照与其中的 fields 对象都不会被就地修改。
Example
const replayed = replayWorkingTree(await projectHead(branch), await readEntries(branch));
expect(diffColdReplay(replayed, await readBusinessTables())).toEqual([]);