decodeCommitChangeSetUnit()
function decodeCommitChangeSetUnit(context, row): CommitChangeUnitContent;
Defined in: packages/rxdb-plugin-working-tree/src/commit/commit-codec.ts:258
把一行 rxdb_commit_change_set 还原成变更单元内容。
Parameters
| Parameter | Type | Description |
|---|---|---|
context | WorkingTreePatchCodecContext | 元数据解析上下文;本函数不判定 at-rest,因此不需要判定器 |
row | CommitChangeSetRow | 落库行的九列 |
Returns
进摘要的那九列;patch / inversePatch 已过 codec 解码
Throws
TypeError 列里存的不是普通对象
Remarks
解码全部交给 decodeWorkingTreePatch,包括「目标实体未注册就原样返回」这一条—— 另一个 Tab / 另一个宿主可能只注册了部分实体,猜着解只会把值改坏。
加密列由底层 codec 跳过,因此保持落库形态:核心不解密。把密文解回明文是 US-307 恢复时在调用方的加密上下文里发生的事,放在这里等于让每一次读历史都把明文带进内存。
返回值不含 fingerprint / baseFingerprint:前者由 computeChangeUnitFingerprint
从内容算出,这里凭空造一个就等于多一份口径;后者压根没有落库(见 change-unit.ts)。