encodeRxDBChangePatch()
function encodeRxDBChangePatch(
metadata,
patch,
resolveEntityMetadata?
): Record<string, unknown> | null;
Defined in: packages/rxdb/src/system/change-codec.ts:298
把实体的字段变更包(patch)按列类型重新编码,让它在落盘 / 跨网络时仍是合法 JSON。
Parameters
| Parameter | Type | Description |
|---|---|---|
metadata | EntityMetadata | 实体元数据,用来查每个 key 的实际类型 |
patch | Readonly<Record<string, unknown>> | null | undefined | 字段级变更;null / undefined 直接透传为 null |
resolveEntityMetadata? | RxDBChangeEntityMetadataResolver | 当 key 是外键且元数据上没声明映射时,用它 反向查对端实体的 id 字段类型(比如多对多中间表只声明本侧外键) |
Returns
Record<string, unknown> | null
Remarks
只对 bigint / binary 类型做编码,加密列(encrypted: true)一律跳过
—— 加密包内已经是一段 ArrayBuffer,再包一层 envelope 会让接收方把它当
编码值再解一次,结果还是一坨字节流。
返回值是 patch 的浅拷贝,原对象不会被改动,方便在事务上下文里继续使用入参。