branchMaterializationPageFingerprint()
function branchMaterializationPageFingerprint(payload): string;
Defined in: packages/rxdb/src/sync-contract/branch-materialization-source.ts:230
算一页快照 payload 的指纹——这是分页指纹的公开口径(FR-044)。
Parameters
| Parameter | Type | Description |
|---|---|---|
payload | Record<string, unknown> | 该页原样落库的那份 payload |
Returns
string
十六进制 SHA-256
Remarks
来源方交页时算一次,屏障投影之前拿存下来的 payload 复算一次再比;口径只存在于某一侧的话, 另一侧只能靠试出来,试出来的那一份会在本函数改版那天静默失配。
只吃 payload,不掺页号、attempt id 或目标分支:掺进去之后,同一页内容在续用一份旧 attempt 时会因为页号错位而"变了内容",而页号是否错位由屏障的密集性检查单独回答。 两件事合进一个值,报出来的成因就永远只有一个。
Example
const payload = { repository: 'public:todo', changes: [] };
const page = { payload, fingerprint: branchMaterializationPageFingerprint(payload) };