跳到主要内容

UpdateDataCache<T>

Defined in: packages/rxdb/src/query/merge-update.utils.ts:69

更新数据的缓存管理器 用于缓存序列化后的实体数据,避免重复序列化

Type Parameters​

Type Parameter
T extends EntityType

Constructors​

Constructor​

new UpdateDataCache<T>(data, serialize): UpdateDataCache<T>;

Defined in: packages/rxdb/src/query/merge-update.utils.ts:74

Parameters​

ParameterType
dataRxDBEntityLocalUpdatedEventData<T>[]
serialize(event) => InstanceType<T>

Returns​

UpdateDataCache<T>

Methods​

getData()​

getData(id):
| RxDBEntityLocalUpdatedEventData<T>
| undefined;

Defined in: packages/rxdb/src/query/merge-update.utils.ts:117

获取原始更新数据

Parameters​

ParameterType
idRxDBEntityId

Returns​

| RxDBEntityLocalUpdatedEventData<T> | undefined


getSerializedBefore()​

getSerializedBefore(id, inversePatch): InstanceType<T> | undefined;

Defined in: packages/rxdb/src/query/merge-update.utils.ts:104

获取序列化后的更新前数据

inversePatch 只含被改字段的旧值,单独重建会丢失所有未变字段,导致复合 where 判定错误。这里以"完整更新后实体"为底,叠加 inversePatch 还原出 完整的更新前态。返回的是全新的普通对象,不会改写共享的实体缓存实例。

Parameters​

ParameterType
idRxDBEntityId
inversePatchReadonly<Partial<InstanceType<T>>>

Returns​

InstanceType<T> | undefined


getSerializedUpdate()​

getSerializedUpdate(id): InstanceType<T> | undefined;

Defined in: packages/rxdb/src/query/merge-update.utils.ts:84

获取序列化后的更新数据

Parameters​

ParameterType
idRxDBEntityId

Returns​

InstanceType<T> | undefined